models

package
v0.6.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NOT_ASSIGNED = iota
	IN_PROGRESS
	COMPLETED
	TERMINATED
)
View Source
const (
	FIL_C2_CPU512 = 1
	FIL_C2_CPU32G = 2
	FIL_C2_GPU512 = 3
	FIL_C2_GPU32G = 4
)
View Source
const (
	TASK_RECEIVED_STATUS = iota + 1
	TASK_RUNNING_STATUS
	TASK_SUBMITTED_STATUS
	TASK_FAILED_STATUS
	TASK_VERIFIED_STATUS
	TASK_INVALID_STATUS
	TASK_VERIFYFAILED_STATUS
	TASK_REWARDED_STATUS
	TASK_TIMEOUT_STATUS
	TASK_REPEATED_STATUS
	TASK_NSC_STATUS
	TASK_UNKNOWN_STATUS
)
View Source
const (
	RESOURCE_TYPE_CPU = 0
	RESOURCE_TYPE_GPU = 1
)
View Source
const (
	All_FLAG         = -1
	UN_DELETEED_FLAG = 0
	DELETED_FLAG     = 1
)
View Source
const (
	POD_UNKNOWN_STATUS = 0
	POD_RUNNING_STATUS = 1
	POD_DELETE_STATUS  = 2
)
View Source
const (
	JOB_DEPLOY_STATUS     = 1
	JOB_RUNNING_STATUS    = 2
	JOB_TERMINATED_STATUS = 3
	JOB_COMPLETED_STATUS  = 4
)
View Source
const (
	DEPLOY_RECEIVE_JOB = iota + 1
	DEPLOY_DOWNLOAD_SOURCE
	DEPLOY_UPLOAD_RESULT
	DEPLOY_BUILD_IMAGE
	DEPLOY_PUSH_IMAGE
	DEPLOY_PULL_IMAGE
	DEPLOY_TO_K8S
)
View Source
const (
	Task_TYPE_FIL_C2_512 = iota + 1
	Task_TYPE_ALEO
	Task_TYPE_AI
	Task_TYPE_FIL_C2_32
)

Variables

This section is empty.

Functions

func GetDeployStatusStr added in v0.5.0

func GetDeployStatusStr(deployStatus int) string

func GetJobStatus added in v0.6.2

func GetJobStatus(status int) string

func GetResourceTypeStr added in v0.6.2

func GetResourceTypeStr(resourceType int) string

func JobOnChainStatus added in v0.6.4

func JobOnChainStatus(status int) string

func TaskStatusStr added in v0.5.0

func TaskStatusStr(status int) string

func TaskTypeStr added in v0.5.0

func TaskTypeStr(taskType int) string

func UbiTaskTypeStr added in v0.5.0

func UbiTaskTypeStr(typeInt int) string

Types

type Account

type Account struct {
	OwnerAddress   string
	NodeId         string
	MultiAddresses []string
	TaskTypes      []uint8 // 1:Fil-C2-512M, 2:Aleo, 3: AI, 4:Fil-C2-32G
	Beneficiary    string
	WorkerAddress  string
	Version        string
	Contract       string
}

type ClusterResource

type ClusterResource struct {
	NodeId           string          `json:"node_id,omitempty"`
	CpAccountAddress string          `json:"cpAccount_address"`
	Region           string          `json:"region,omitempty"`
	ClusterInfo      []*NodeResource `json:"cluster_info"`
	NodeName         string          `json:"node_name,omitempty"`
}

type CollateralContractInfoForECP added in v0.6.2

type CollateralContractInfoForECP struct {
	CollateralToken string
	WithdrawDelay   int64
}

type CollectNodeInfo

type CollectNodeInfo struct {
	Gpu     Gpu    `json:"gpu"`
	CpuName string `json:"cpu_name"`
}

type Commit1Task

type Commit1Task struct {
	SectorNum  int64      `json:"SectorNum"`
	Phase1Out  string     `json:"Phase1Out"`
	SectorSize uint64     `json:"SectorSize"`
	Sid        SectorRef  `json:"Sid"`
	Ticket     string     `json:"Ticket"`
	Cids       SectorCids `json:"Cids"`
	Seed       Seed       `json:"seed"`
}

type Commit2Proof

type Commit2Proof struct {
	TaskUuid  string `json:"task_uuid"`
	CpAddress string `json:"cp_address"`
	NodeId    string `json:"node_id"`
	TaskId    string `json:"task_id"`
	TaskType  string `json:"task_type"`
	Proof     string `json:"proof"`
}

type Common

type Common struct {
	Total        string `json:"total"`
	Used         string `json:"used"`
	Free         string `json:"free"`
	RemainderNum int64  `json:"-"`
}

type CpCollateralInfoForECP added in v0.6.2

type CpCollateralInfoForECP struct {
	CpAddress         string
	CollateralBalance string
	FrozenBalance     string
	Status            string
}

type CpCollateralInfoForFCP added in v0.6.2

type CpCollateralInfoForFCP struct {
	CpAddress        string
	AvailableBalance string
	LockedCollateral string
	Status           string
}

type CpInfoEntity added in v0.5.0

type CpInfoEntity struct {
	Id                 int64    `json:"id" gorm:"primaryKey;autoIncrement"`
	NodeId             string   `json:"node_id" gorm:"node_id"`
	OwnerAddress       string   `json:"owner_address" gorm:"owner_address"`
	Beneficiary        string   `json:"beneficiary" gorm:"beneficiary"`
	WorkerAddress      string   `json:"worker_address" gorm:"worker_address"`
	Version            string   `json:"version" gorm:"version"`
	ContractAddress    string   `json:"contract_address" gorm:"contract_address"`
	MultiAddressesJSON string   `gorm:"multi_addresses_json;type:text" json:"-"`
	TaskTypesJSON      string   `gorm:"task_types_json; type:text" json:"-"`
	CreateAt           string   `json:"create_at" gorm:"create_at"`
	UpdateAt           string   `json:"update_at" gorm:"update_at"`
	MultiAddresses     []string `json:"multi_addresses" gorm:"-"`
	TaskTypes          []uint8  `json:"task_types" gorm:"-"` // 1:Fil-C2-512M, 2:Aleo, 3: AI, 4:Fil-C2-32G

}

func (*CpInfoEntity) AfterFind added in v0.5.0

func (c *CpInfoEntity) AfterFind(tx *gorm.DB) (err error)

func (*CpInfoEntity) BeforeSave added in v0.5.0

func (c *CpInfoEntity) BeforeSave(tx *gorm.DB) (err error)

func (*CpInfoEntity) TableName added in v0.5.0

func (*CpInfoEntity) TableName() string

type CpuQuota

type CpuQuota struct {
	Quota int64 `json:"quota"`
}

type EcpTaskInfo added in v0.6.2

type EcpTaskInfo struct {
	TaskID               *big.Int
	TaskType             *big.Int
	ResourceType         *big.Int
	InputParam           string
	VerifyParam          string
	CpAccount            common.Address
	Proof                string
	Deadline             *big.Int
	TaskRegistryContract common.Address
	CheckCode            string
	Owner                common.Address
	Version              string
}

type Gpu

type Gpu struct {
	DriverVersion string      `json:"driver_version"`
	CudaVersion   string      `json:"cuda_version"`
	AttachedGpus  int         `json:"attached_gpus"`
	Details       []GpuDetail `json:"details"`
}

type GpuDetail

type GpuDetail struct {
	ProductName     string    `json:"product_name"`
	Status          GpuStatus `json:"status"`
	FbMemoryUsage   Common    `json:"fb_memory_usage"`
	Bar1MemoryUsage Common    `json:"bar1_memory_usage"`
}

type GpuQuota

type GpuQuota struct {
	Name  string `json:"name"`
	Quota int64  `json:"quota"`
}

type GpuStatus

type GpuStatus string
const (
	Occupied  GpuStatus = "occupied"
	Available GpuStatus = "available"
)

type HostInfo

type HostInfo struct {
	SwanProviderVersion string `json:"swan_miner_version"`
	OperatingSystem     string `json:"operating_system"`
	Architecture        string `json:"architecture"`
	CPUCores            int    `json:"cpu_cores"`
}

type Job

type Job struct {
	Uuid   string
	Status int
	Url    string
}

type JobData

type JobData struct {
	UUID                        string `json:"uuid"`
	Name                        string `json:"name"`
	Duration                    int    `json:"duration"`
	JobSourceURI                string `json:"job_source_uri"`
	JobResultURI                string `json:"job_result_uri,omitempty"`
	StorageSource               string `json:"storage_source,omitempty"`
	TaskUUID                    string `json:"task_uuid"`
	BuildLog                    string `json:"build_log,omitempty"`
	ContainerLog                string `json:"container_log"`
	NodeIdJobSourceUriSignature string `json:"node_id_job_source_uri_signature,omitempty"`
	JobRealUri                  string `json:"job_real_uri,omitempty"`
}

type JobEntity added in v0.5.0

type JobEntity struct {
	Id              int64  `json:"id" gorm:"primaryKey;autoIncrement"`
	Source          string `json:"source" gorm:"source"` // market name
	Name            string `json:"name" gorm:"name"`
	SpaceUuid       string `json:"space_uuid" gorm:"space_uuid"`
	JobUuid         string `json:"job_uuid" gorm:"job_uuid"`
	TaskUuid        string `json:"task_uuid" gorm:"task_uuid"`
	ResourceType    string `json:"resource_type"  gorm:"resource_type"`
	SpaceType       int    `json:"space_type" gorm:"space_type"` // 0: public; 1: private
	SourceUrl       string `json:"source_url" gorm:"source_url"`
	Hardware        string `json:"hardware" gorm:"hardware"`
	Duration        int    `json:"duration" gorm:"duration"`
	DeployStatus    int    `json:"deploy_status" gorm:"deploy_status"`
	WalletAddress   string `json:"wallet_address"  gorm:"wallet_address"`
	ResultUrl       string `json:"result_url" gorm:"result_url"`
	RealUrl         string `json:"real_url" gorm:"real_url"`
	K8sDeployName   string `json:"k8s_deploy_name" gorm:"k8s_deploy_name"`
	K8sResourceType string `json:"k8s_resource_type" gorm:"k8s_resource_type"`
	NameSpace       string `json:"name_space" gorm:"name_space"`
	ImageName       string `json:"image_name" gorm:"image_name"`
	BuildLog        string `json:"build_log" gorm:"build_log"`
	ContainerLog    string `json:"container_log" gorm:"container_log"`
	Reward          string `json:"reward" gorm:"reward"`
	ExpireTime      int64  `json:"expire_time" gorm:"expire_time"`
	CreateTime      int64  `json:"create_time" gorm:"create_time"`
	Error           string `json:"error" gorm:"error"`
	DeleteAt        int    `json:"delete_at" gorm:"delete_at; default:0"` // 1 deleted
	PodStatus       int    `json:"pod_status"`
	Status          int    `json:"status"`
	StartedBlock    uint64 `json:"started_block" gorm:"column:started_block;not null;default:0"`
	ScannedBlock    uint64 `json:"scanned_block" gorm:"column:scanned_block;not null;default:0"`
	EndedBlock      uint64 `json:"ended_block" gorm:"column:ended_block;not null;default:0"`
}

func (*JobEntity) TableName added in v0.5.0

func (*JobEntity) TableName() string

type NodeResource

type NodeResource struct {
	MachineId string `json:"machine_id"`
	CpuName   string `json:"cpu_name"`
	Cpu       Common `json:"cpu"`
	Vcpu      Common `json:"vcpu"`
	Memory    Common `json:"memory"`
	Gpu       Gpu    `json:"gpu"`
	Storage   Common `json:"storage"`
}

type Quota

type Quota struct {
	Quota int64  `json:"quota"`
	Unit  string `json:"unit"`
}

type Resource

type Resource struct {
	Cpu     Specification
	Memory  Specification
	Gpu     Specification
	Storage Specification
}

type ResourcePolicy

type ResourcePolicy struct {
	Cpu     CpuQuota   `json:"cpu"`
	Gpu     []GpuQuota `json:"gpu"`
	Memory  Quota      `json:"memory"`
	Storage Quota      `json:"storage"`
}

type ResourceStatus

type ResourceStatus struct {
	Request  int64
	Capacity int64
}

type SectorCids

type SectorCids struct {
	Unsealed struct {
		Field1 string `json:"/"`
	} `json:"Unsealed"`
	Sealed struct {
		Field1 string `json:"/"`
	} `json:"Sealed"`
}

type SectorRef

type SectorRef struct {
	ID struct {
		Miner  uint64 `json:"Miner"`
		Number uint64 `json:"Number"`
	} `json:"ID"`
	ProofType int64 `json:"ProofType"`
}

type Seed

type Seed struct {
	Value string `json:"Value"`
	Epoch int    `json:"Epoch"`
}

type SpaceFile

type SpaceFile struct {
	Name         string `json:"name"`
	URL          string `json:"url"`
	SymmetricKey string `json:"symmetric_key"`
	Iv           string `json:"iv"`
}

type SpaceHardware

type SpaceHardware struct {
	Description  string `json:"description"`
	HardwareType string `json:"hardware_type"`
	Memory       int    `json:"memory"`
	Name         string `json:"name"`
	Vcpu         int    `json:"vcpu"`
}

type SpaceJSON

type SpaceJSON struct {
	Data    SpaceJsonWithNoData `json:"data"`
	Message string              `json:"message"`
	Status  string              `json:"status"`
}

type SpaceJsonWithNoData added in v0.6.4

type SpaceJsonWithNoData struct {
	Files []SpaceFile `json:"files"`
	Owner struct {
		PublicAddress string `json:"public_address"`
	} `json:"owner"`
	Space struct {
		Uuid        string `json:"uuid"`
		Name        string `json:"name"`
		ActiveOrder struct {
			Config SpaceHardware `json:"config"`
		} `json:"activeOrder"`
	} `json:"space"`
}

type Specification

type Specification struct {
	Quantity int64
	Unit     string
}

type TaskEntity added in v0.5.0

type TaskEntity struct {
	Id                 int64  `json:"id" gorm:"primaryKey;id"`
	Type               int    `json:"type" gorm:"type"`
	Name               string `json:"name" gorm:"name"`
	Contract           string `json:"contract" gorm:"contract"`
	ResourceType       int    `json:"resource_type" gorm:"resource_type"` // 1
	InputParam         string `json:"input_param" gorm:"input_param"`
	VerifyParam        string `json:"verify_param" gorm:"verify_param"`
	TxHash             string `json:"tx_hash" gorm:"tx_hash"`
	Status             int    `json:"status" gorm:"status"`
	CreateTime         int64  `json:"create_time" gorm:"create_time"`
	EndTime            int64  `json:"end_time" gorm:"end_time"`
	Error              string `json:"error" gorm:"error"`
	Deadline           int64  `json:"deadline"`
	CheckCode          string `json:"check_code"`
	BlockHash          string `json:"block_hash"`
	Sign               string `json:"sign"`
	Reward             string `json:"reward"`
	SequenceCid        string `json:"sequence_cid"`
	SettlementCid      string `json:"settlement_cid"`
	SequenceTaskAddr   string `json:"sequence_task_addr"`
	SettlementTaskAddr string `json:"settlement_task_addr"`
	Sequencer          int    `json:"sequencer" gorm:"default:-1"`
	Proof              string
}

func (*TaskEntity) TableName added in v0.5.0

func (task *TaskEntity) TableName() string

type TaskInfoOnChain added in v0.6.2

type TaskInfoOnChain struct {
	TaskUuid           string
	CpList             []string
	OwnerAddress       string
	Reward             *big.Int
	Collateral         *big.Int
	StartTimestamp     int64
	TerminateTimestamp int64
	Duration           int64
	TaskStatus         int
	CollateralStatus   int
}

type TaskResource

type TaskResource struct {
	CPU     string `json:"cpu"`
	GPU     string `json:"gpu"`
	Memory  string `json:"memory"`
	Storage string `json:"storage"`
}

type UBITaskReq

type UBITaskReq struct {
	ID           int           `json:"id"`
	Name         string        `json:"name,omitempty"`
	Type         int           `json:"type"`
	InputParam   string        `json:"input_param"`
	VerifyParam  string        `json:"verify_param"`
	Signature    string        `json:"signature"`
	Resource     *TaskResource `json:"resource"`
	ResourceType int           `json:"resource_type"`
	DeadLine     int64         `json:"deadline"`
	CheckCode    string        `json:"check_code"`
}

type UbiC2Proof added in v0.4.6

type UbiC2Proof struct {
	TaskId    string `json:"task_id,omitempty"`
	TaskType  string `json:"task_type,omitempty"`
	Proof     string `json:"proof,omitempty"`
	ZkType    string `json:"zk_type,omitempty"`
	NameSpace string `json:"name_space,omitempty"`
}

type WithdrawRequest added in v0.6.2

type WithdrawRequest struct {
	Amount        string
	RequestBlock  int64
	WithdrawDelay int64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL