api

package
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2024 License: MIT Imports: 15 Imported by: 6

Documentation

Index

Constants

View Source
const (
	EUnknown = iota + jsonrpc.FirstUserCode
	EWeb
)
View Source
const (
	RoleWeb       auth.Permission = "web"
	RoleCandidate auth.Permission = "candidate"
	RoleEdge      auth.Permission = "edge"
	RoleLocator   auth.Permission = "locator"
	RoleAdmin     auth.Permission = "admin" // Manage permissions
	RoleDefault   auth.Permission = "default"
	RoleUser      auth.Permission = "user"
)

Variables

View Source
var (
	SchedulerAPIVersion0 = newVer(1, 0, 0)

	CandidateAPIVersion0 = newVer(1, 0, 0)
	EdgeAPIVersion0      = newVer(1, 0, 0)
	LocationAPIVersion0  = newVer(1, 0, 0)
)

semver versions of the rpc api exposed

View Source
var ErrNotSupported = xerrors.New("method not supported")
View Source
var RPCErrors = jsonrpc.NewErrors()

Functions

func AllowUserAccess added in v0.1.11

func AllowUserAccess(ctx context.Context, perms auth.Permission, funcName string) bool

func ErrorIsIn

func ErrorIsIn(err error, errorTypes []error) bool

func GetInternalStructs

func GetInternalStructs(in interface{}) []interface{}

GetInternalStructs extracts all pointers to 'Internal' sub-structs from the provided pointer to a proxy struct

func HasPerm

func HasPerm(ctx context.Context, defaultPerm auth.Permission, perms auth.Permission) bool

func PermissionedProxy

func PermissionedProxy(validPerms []auth.Permission, defaultPerms auth.Permission, in interface{}, out interface{})

func WithPerm

func WithPerm(ctx context.Context, perms []auth.Permission) context.Context

func WithUserAccessControl added in v0.1.11

func WithUserAccessControl(ctx context.Context, acl []types.UserAccessControl) context.Context

Types

type APIVersion

type APIVersion struct {
	Version string

	// APIVersion is a binary encoded semver version of the remote implementing
	// this api
	//
	// See APIVersion in build/version.go
	APIVersion Version

	// Seconds
	BlockDelay uint64
}

APIVersion provides various build-time information

func (APIVersion) String

func (v APIVersion) String() string

type AccessPoint

type AccessPoint struct {
	AreaID        string
	SchedulerURLs []string
}

AccessPoint represents an access point within an area, containing scheduler information.

type Asset

type Asset interface {
	// PullAsset pull the asset with given assetCID from specified sources
	PullAsset(ctx context.Context, assetCID string, sources []*types.CandidateDownloadInfo) error //perm:admin
	// PullAssetV2 pull the asset by scheduler
	PullAssetV2(ctx context.Context, req *types.AssetPullRequest) error //perm:admin
	// DeleteAsset deletes the asset with given assetCID
	DeleteAsset(ctx context.Context, assetCID string) error //perm:admin
	// GetAssetStats retrieves the statistics of assets
	GetAssetStats(ctx context.Context) (*types.AssetStats, error) //perm:admin
	// GetCachingAssetInfo retrieves the information of assets that are currently being pulled
	GetPullingAssetInfo(ctx context.Context) (*types.InProgressAsset, error) //perm:admin
	// GetAssetProgresses retrieves the progress of assets with specified assetCIDs
	GetAssetProgresses(ctx context.Context, assetCIDs []string) (*types.PullResult, error) //perm:admin
	// CreateAsset notify candidate that user upload asset, return auth token of candidate
	CreateAsset(ctx context.Context, tokenPayload *types.AuthUserUploadDownloadAsset) (string, error) //perm:admin
	// PullAssetWithURL download the file locally from the url and save it as car file
	PullAssetFromAWS(ctx context.Context, bucket, key string) error //perm:admin
	// GetAssetView get asset view
	GetAssetView(ctx context.Context) (*types.AssetView, error) //perm:admin
	// AddAssetView add asset to view
	AddAssetView(ctx context.Context, assetCIDs []string) error //perm:admin
	// GetAssetsInBucket get assets in bucket
	GetAssetsInBucket(ctx context.Context, bucketID int) ([]string, error) //perm:admin
	// SyncAssetViewAndData sync assetView and local car
	SyncAssetViewAndData(ctx context.Context) error //perm:admin
	// RequestFreeUpDisk Initiate a request to free up disk space with a certain size, size unit GiB
	RequestFreeUpDisk(ctx context.Context, size float64) error //perm:admin
	// StateFreeUpDisk shows the result of last free task is done, return nil means done
	StateFreeUpDisk(ctx context.Context) (*types.FreeUpDiskStateResp, error) //perm:admin
	// ClearFreeUpDisk clear the previous failed task
	ClearFreeUpDisk(ctx context.Context) error //perm:admin
}

Asset is an interface for asset manager

type AssetAPI added in v0.1.10

type AssetAPI interface {
	// Asset-related methods
	// PullAsset Pull an asset based on the provided PullAssetReq structure.
	PullAsset(ctx context.Context, info *types.PullAssetReq) error //perm:web,admin
	// RemoveAssetRecord removes the asset record with the specified CID from the scheduler
	RemoveAssetRecord(ctx context.Context, cid string) error //perm:admin
	// StopAssetRecord stop asset
	StopAssetRecord(ctx context.Context, cids []string) error //perm:admin
	// RemoveAssetReplica deletes an asset replica with the specified CID and node from the scheduler
	RemoveAssetReplica(ctx context.Context, cid, nodeID string) error //perm:admin
	// GetAssetRecord retrieves the asset record with the specified CID
	GetAssetRecord(ctx context.Context, cid string) (*types.AssetRecord, error) //perm:web,admin
	// GetAssetRecords retrieves a list of asset records with pagination using the specified limit, offset, and states
	GetAssetRecords(ctx context.Context, limit, offset int, states []string, serverID dtypes.ServerID) ([]*types.AssetRecord, error) //perm:web,admin
	// GetReplicas retrieves a list of asset replicas with pagination using the specified limit, offset
	GetReplicas(ctx context.Context, cid string, limit, offset int) (*types.ListReplicaRsp, error) //perm:web,admin
	// RePullFailedAssets retries the pull process for a list of failed assets
	RePullFailedAssets(ctx context.Context, hashes []types.AssetHash) error //perm:admin
	// UpdateAssetExpiration updates the expiration time for an asset with the specified CID
	UpdateAssetExpiration(ctx context.Context, cid string, time time.Time) error //perm:admin
	// NodeRemoveAssetResult the result of an asset removal operation
	NodeRemoveAssetResult(ctx context.Context, resultInfo types.RemoveAssetResult) error //perm:edge,candidate
	// GetAssetListForBucket retrieves a list of asset hashes for a bucket associated with the specified bucket ID (bucketID is hash code)
	GetAssetListForBucket(ctx context.Context, bucketID uint32) ([]string, error) //perm:edge,candidate
	// GetAssetCount retrieves a count of asset
	GetAssetCount(ctx context.Context) (int, error) //perm:web,admin
	// GetAssetsForNode retrieves a asset list of node
	GetAssetsForNode(ctx context.Context, nodeID string, limit, offset int) (*types.ListNodeAssetRsp, error) //perm:web,admin
	// GetReplicasForNode retrieves a replica list of node
	GetReplicasForNode(ctx context.Context, nodeID string, limit, offset int, statuses []types.ReplicaStatus) (*types.ListNodeReplicaRsp, error) //perm:web,admin
	// GetReplicaEventsForNode retrieves a replica event list of node
	GetReplicaEventsForNode(ctx context.Context, nodeID string, limit, offset int) (*types.ListReplicaEventRsp, error) //perm:web,admin
	// GetReplicaEvents retrieves a replica event list of node
	GetReplicaEvents(ctx context.Context, start, end time.Time, limit, offset int) (*types.ListReplicaEventRsp, error) //perm:web,admin
	// CreateAsset creates an asset with car CID, car name, and car size.
	CreateAsset(ctx context.Context, req *types.CreateAssetReq) (*types.UploadInfo, error) //perm:web,admin,user
	// ListAssets lists the assets of the user.
	ListAssets(ctx context.Context, userID string, limit, offset, groupID int) (*types.ListAssetRecordRsp, error) //perm:web,admin,user
	// DeleteAsset deletes the asset of the user.
	DeleteAsset(ctx context.Context, userID, assetCID string) error //perm:web,admin,user
	// ShareAssets shares the assets of the user.
	ShareAssets(ctx context.Context, userID string, assetCID []string) (map[string]string, error) //perm:web,admin,user
	// UpdateShareStatus update share status of the user asset
	UpdateShareStatus(ctx context.Context, userID, assetCID string) error //perm:web,admin
	// GetAssetStatus retrieves a asset status
	GetAssetStatus(ctx context.Context, userID, assetCID string) (*types.AssetStatus, error) //perm:web,admin
	// MinioUploadFileEvent the event of minio upload file
	MinioUploadFileEvent(ctx context.Context, event *types.MinioUploadFileEvent) error //perm:candidate
	// AddAWSData add aws resource information
	AddAWSData(ctx context.Context, list []types.AWSDataInfo) error //perm:web,admin
	// SwitchFillDiskTimer  switches the timer between ON and OFF states
	SwitchFillDiskTimer(ctx context.Context, open bool) error //perm:web,admin
	// LoadAWSData load data
	LoadAWSData(ctx context.Context, limit, offset int, isDistribute bool) ([]*types.AWSDataInfo, error) //perm:web,admin
	// RemoveNodeFailedReplica
	RemoveNodeFailedReplica(ctx context.Context) error //perm:web,admin
}

AssetAPI is an interface for asset

type AssetAPIStruct added in v0.1.10

type AssetAPIStruct struct {
	Internal struct {
		AddAWSData func(p0 context.Context, p1 []types.AWSDataInfo) error `perm:"web,admin"`

		CreateAsset func(p0 context.Context, p1 *types.CreateAssetReq) (*types.UploadInfo, error) `perm:"web,admin,user"`

		DeleteAsset func(p0 context.Context, p1 string, p2 string) error `perm:"web,admin,user"`

		GetAssetCount func(p0 context.Context) (int, error) `perm:"web,admin"`

		GetAssetListForBucket func(p0 context.Context, p1 uint32) ([]string, error) `perm:"edge,candidate"`

		GetAssetRecord func(p0 context.Context, p1 string) (*types.AssetRecord, error) `perm:"web,admin"`

		GetAssetRecords func(p0 context.Context, p1 int, p2 int, p3 []string, p4 dtypes.ServerID) ([]*types.AssetRecord, error) `perm:"web,admin"`

		GetAssetStatus func(p0 context.Context, p1 string, p2 string) (*types.AssetStatus, error) `perm:"web,admin"`

		GetAssetsForNode func(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListNodeAssetRsp, error) `perm:"web,admin"`

		GetReplicaEvents func(p0 context.Context, p1 time.Time, p2 time.Time, p3 int, p4 int) (*types.ListReplicaEventRsp, error) `perm:"web,admin"`

		GetReplicaEventsForNode func(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListReplicaEventRsp, error) `perm:"web,admin"`

		GetReplicas func(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListReplicaRsp, error) `perm:"web,admin"`

		GetReplicasForNode func(p0 context.Context, p1 string, p2 int, p3 int, p4 []types.ReplicaStatus) (*types.ListNodeReplicaRsp, error) `perm:"web,admin"`

		ListAssets func(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetRecordRsp, error) `perm:"web,admin,user"`

		LoadAWSData func(p0 context.Context, p1 int, p2 int, p3 bool) ([]*types.AWSDataInfo, error) `perm:"web,admin"`

		MinioUploadFileEvent func(p0 context.Context, p1 *types.MinioUploadFileEvent) error `perm:"candidate"`

		NodeRemoveAssetResult func(p0 context.Context, p1 types.RemoveAssetResult) error `perm:"edge,candidate"`

		PullAsset func(p0 context.Context, p1 *types.PullAssetReq) error `perm:"web,admin"`

		RePullFailedAssets func(p0 context.Context, p1 []types.AssetHash) error `perm:"admin"`

		RemoveAssetRecord func(p0 context.Context, p1 string) error `perm:"admin"`

		RemoveAssetReplica func(p0 context.Context, p1 string, p2 string) error `perm:"admin"`

		RemoveNodeFailedReplica func(p0 context.Context) error `perm:"web,admin"`

		ShareAssets func(p0 context.Context, p1 string, p2 []string) (map[string]string, error) `perm:"web,admin,user"`

		StopAssetRecord func(p0 context.Context, p1 []string) error `perm:"admin"`

		SwitchFillDiskTimer func(p0 context.Context, p1 bool) error `perm:"web,admin"`

		UpdateAssetExpiration func(p0 context.Context, p1 string, p2 time.Time) error `perm:"admin"`

		UpdateShareStatus func(p0 context.Context, p1 string, p2 string) error `perm:"web,admin"`
	}
}

func (*AssetAPIStruct) AddAWSData added in v0.1.13

func (s *AssetAPIStruct) AddAWSData(p0 context.Context, p1 []types.AWSDataInfo) error

func (*AssetAPIStruct) CreateAsset added in v0.1.10

func (*AssetAPIStruct) DeleteAsset added in v0.1.10

func (s *AssetAPIStruct) DeleteAsset(p0 context.Context, p1 string, p2 string) error

func (*AssetAPIStruct) GetAssetCount added in v0.1.10

func (s *AssetAPIStruct) GetAssetCount(p0 context.Context) (int, error)

func (*AssetAPIStruct) GetAssetListForBucket added in v0.1.10

func (s *AssetAPIStruct) GetAssetListForBucket(p0 context.Context, p1 uint32) ([]string, error)

func (*AssetAPIStruct) GetAssetRecord added in v0.1.10

func (s *AssetAPIStruct) GetAssetRecord(p0 context.Context, p1 string) (*types.AssetRecord, error)

func (*AssetAPIStruct) GetAssetRecords added in v0.1.10

func (s *AssetAPIStruct) GetAssetRecords(p0 context.Context, p1 int, p2 int, p3 []string, p4 dtypes.ServerID) ([]*types.AssetRecord, error)

func (*AssetAPIStruct) GetAssetStatus added in v0.1.11

func (s *AssetAPIStruct) GetAssetStatus(p0 context.Context, p1 string, p2 string) (*types.AssetStatus, error)

func (*AssetAPIStruct) GetAssetsForNode added in v0.1.10

func (s *AssetAPIStruct) GetAssetsForNode(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListNodeAssetRsp, error)

func (*AssetAPIStruct) GetReplicaEvents added in v0.1.11

func (s *AssetAPIStruct) GetReplicaEvents(p0 context.Context, p1 time.Time, p2 time.Time, p3 int, p4 int) (*types.ListReplicaEventRsp, error)

func (*AssetAPIStruct) GetReplicaEventsForNode added in v0.1.10

func (s *AssetAPIStruct) GetReplicaEventsForNode(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListReplicaEventRsp, error)

func (*AssetAPIStruct) GetReplicas added in v0.1.11

func (s *AssetAPIStruct) GetReplicas(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListReplicaRsp, error)

func (*AssetAPIStruct) GetReplicasForNode added in v0.1.16

func (s *AssetAPIStruct) GetReplicasForNode(p0 context.Context, p1 string, p2 int, p3 int, p4 []types.ReplicaStatus) (*types.ListNodeReplicaRsp, error)

func (*AssetAPIStruct) ListAssets added in v0.1.10

func (s *AssetAPIStruct) ListAssets(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetRecordRsp, error)

func (*AssetAPIStruct) LoadAWSData added in v0.1.14

func (s *AssetAPIStruct) LoadAWSData(p0 context.Context, p1 int, p2 int, p3 bool) ([]*types.AWSDataInfo, error)

func (*AssetAPIStruct) MinioUploadFileEvent added in v0.1.11

func (s *AssetAPIStruct) MinioUploadFileEvent(p0 context.Context, p1 *types.MinioUploadFileEvent) error

func (*AssetAPIStruct) NodeRemoveAssetResult added in v0.1.10

func (s *AssetAPIStruct) NodeRemoveAssetResult(p0 context.Context, p1 types.RemoveAssetResult) error

func (*AssetAPIStruct) PullAsset added in v0.1.10

func (s *AssetAPIStruct) PullAsset(p0 context.Context, p1 *types.PullAssetReq) error

func (*AssetAPIStruct) RePullFailedAssets added in v0.1.10

func (s *AssetAPIStruct) RePullFailedAssets(p0 context.Context, p1 []types.AssetHash) error

func (*AssetAPIStruct) RemoveAssetRecord added in v0.1.10

func (s *AssetAPIStruct) RemoveAssetRecord(p0 context.Context, p1 string) error

func (*AssetAPIStruct) RemoveAssetReplica added in v0.1.10

func (s *AssetAPIStruct) RemoveAssetReplica(p0 context.Context, p1 string, p2 string) error

func (*AssetAPIStruct) RemoveNodeFailedReplica added in v0.1.16

func (s *AssetAPIStruct) RemoveNodeFailedReplica(p0 context.Context) error

func (*AssetAPIStruct) ShareAssets added in v0.1.10

func (s *AssetAPIStruct) ShareAssets(p0 context.Context, p1 string, p2 []string) (map[string]string, error)

func (*AssetAPIStruct) StopAssetRecord added in v0.1.14

func (s *AssetAPIStruct) StopAssetRecord(p0 context.Context, p1 []string) error

func (*AssetAPIStruct) SwitchFillDiskTimer added in v0.1.13

func (s *AssetAPIStruct) SwitchFillDiskTimer(p0 context.Context, p1 bool) error

func (*AssetAPIStruct) UpdateAssetExpiration added in v0.1.10

func (s *AssetAPIStruct) UpdateAssetExpiration(p0 context.Context, p1 string, p2 time.Time) error

func (*AssetAPIStruct) UpdateShareStatus added in v0.1.11

func (s *AssetAPIStruct) UpdateShareStatus(p0 context.Context, p1 string, p2 string) error

type AssetAPIStub added in v0.1.10

type AssetAPIStub struct {
}

func (*AssetAPIStub) AddAWSData added in v0.1.13

func (s *AssetAPIStub) AddAWSData(p0 context.Context, p1 []types.AWSDataInfo) error

func (*AssetAPIStub) CreateAsset added in v0.1.10

func (s *AssetAPIStub) CreateAsset(p0 context.Context, p1 *types.CreateAssetReq) (*types.UploadInfo, error)

func (*AssetAPIStub) DeleteAsset added in v0.1.10

func (s *AssetAPIStub) DeleteAsset(p0 context.Context, p1 string, p2 string) error

func (*AssetAPIStub) GetAssetCount added in v0.1.10

func (s *AssetAPIStub) GetAssetCount(p0 context.Context) (int, error)

func (*AssetAPIStub) GetAssetListForBucket added in v0.1.10

func (s *AssetAPIStub) GetAssetListForBucket(p0 context.Context, p1 uint32) ([]string, error)

func (*AssetAPIStub) GetAssetRecord added in v0.1.10

func (s *AssetAPIStub) GetAssetRecord(p0 context.Context, p1 string) (*types.AssetRecord, error)

func (*AssetAPIStub) GetAssetRecords added in v0.1.10

func (s *AssetAPIStub) GetAssetRecords(p0 context.Context, p1 int, p2 int, p3 []string, p4 dtypes.ServerID) ([]*types.AssetRecord, error)

func (*AssetAPIStub) GetAssetStatus added in v0.1.11

func (s *AssetAPIStub) GetAssetStatus(p0 context.Context, p1 string, p2 string) (*types.AssetStatus, error)

func (*AssetAPIStub) GetAssetsForNode added in v0.1.10

func (s *AssetAPIStub) GetAssetsForNode(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListNodeAssetRsp, error)

func (*AssetAPIStub) GetReplicaEvents added in v0.1.11

func (s *AssetAPIStub) GetReplicaEvents(p0 context.Context, p1 time.Time, p2 time.Time, p3 int, p4 int) (*types.ListReplicaEventRsp, error)

func (*AssetAPIStub) GetReplicaEventsForNode added in v0.1.10

func (s *AssetAPIStub) GetReplicaEventsForNode(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListReplicaEventRsp, error)

func (*AssetAPIStub) GetReplicas added in v0.1.11

func (s *AssetAPIStub) GetReplicas(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListReplicaRsp, error)

func (*AssetAPIStub) GetReplicasForNode added in v0.1.16

func (s *AssetAPIStub) GetReplicasForNode(p0 context.Context, p1 string, p2 int, p3 int, p4 []types.ReplicaStatus) (*types.ListNodeReplicaRsp, error)

func (*AssetAPIStub) ListAssets added in v0.1.10

func (s *AssetAPIStub) ListAssets(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetRecordRsp, error)

func (*AssetAPIStub) LoadAWSData added in v0.1.14

func (s *AssetAPIStub) LoadAWSData(p0 context.Context, p1 int, p2 int, p3 bool) ([]*types.AWSDataInfo, error)

func (*AssetAPIStub) MinioUploadFileEvent added in v0.1.11

func (s *AssetAPIStub) MinioUploadFileEvent(p0 context.Context, p1 *types.MinioUploadFileEvent) error

func (*AssetAPIStub) NodeRemoveAssetResult added in v0.1.10

func (s *AssetAPIStub) NodeRemoveAssetResult(p0 context.Context, p1 types.RemoveAssetResult) error

func (*AssetAPIStub) PullAsset added in v0.1.10

func (s *AssetAPIStub) PullAsset(p0 context.Context, p1 *types.PullAssetReq) error

func (*AssetAPIStub) RePullFailedAssets added in v0.1.10

func (s *AssetAPIStub) RePullFailedAssets(p0 context.Context, p1 []types.AssetHash) error

func (*AssetAPIStub) RemoveAssetRecord added in v0.1.10

func (s *AssetAPIStub) RemoveAssetRecord(p0 context.Context, p1 string) error

func (*AssetAPIStub) RemoveAssetReplica added in v0.1.10

func (s *AssetAPIStub) RemoveAssetReplica(p0 context.Context, p1 string, p2 string) error

func (*AssetAPIStub) RemoveNodeFailedReplica added in v0.1.16

func (s *AssetAPIStub) RemoveNodeFailedReplica(p0 context.Context) error

func (*AssetAPIStub) ShareAssets added in v0.1.10

func (s *AssetAPIStub) ShareAssets(p0 context.Context, p1 string, p2 []string) (map[string]string, error)

func (*AssetAPIStub) StopAssetRecord added in v0.1.14

func (s *AssetAPIStub) StopAssetRecord(p0 context.Context, p1 []string) error

func (*AssetAPIStub) SwitchFillDiskTimer added in v0.1.13

func (s *AssetAPIStub) SwitchFillDiskTimer(p0 context.Context, p1 bool) error

func (*AssetAPIStub) UpdateAssetExpiration added in v0.1.10

func (s *AssetAPIStub) UpdateAssetExpiration(p0 context.Context, p1 string, p2 time.Time) error

func (*AssetAPIStub) UpdateShareStatus added in v0.1.11

func (s *AssetAPIStub) UpdateShareStatus(p0 context.Context, p1 string, p2 string) error

type AssetStruct

type AssetStruct struct {
	Internal struct {
		AddAssetView func(p0 context.Context, p1 []string) error `perm:"admin"`

		ClearFreeUpDisk func(p0 context.Context) error `perm:"admin"`

		CreateAsset func(p0 context.Context, p1 *types.AuthUserUploadDownloadAsset) (string, error) `perm:"admin"`

		DeleteAsset func(p0 context.Context, p1 string) error `perm:"admin"`

		GetAssetProgresses func(p0 context.Context, p1 []string) (*types.PullResult, error) `perm:"admin"`

		GetAssetStats func(p0 context.Context) (*types.AssetStats, error) `perm:"admin"`

		GetAssetView func(p0 context.Context) (*types.AssetView, error) `perm:"admin"`

		GetAssetsInBucket func(p0 context.Context, p1 int) ([]string, error) `perm:"admin"`

		GetPullingAssetInfo func(p0 context.Context) (*types.InProgressAsset, error) `perm:"admin"`

		PullAsset func(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error `perm:"admin"`

		PullAssetFromAWS func(p0 context.Context, p1 string, p2 string) error `perm:"admin"`

		PullAssetV2 func(p0 context.Context, p1 *types.AssetPullRequest) error `perm:"admin"`

		RequestFreeUpDisk func(p0 context.Context, p1 float64) error `perm:"admin"`

		StateFreeUpDisk func(p0 context.Context) (*types.FreeUpDiskStateResp, error) `perm:"admin"`

		SyncAssetViewAndData func(p0 context.Context) error `perm:"admin"`
	}
}

func (*AssetStruct) AddAssetView added in v0.1.15

func (s *AssetStruct) AddAssetView(p0 context.Context, p1 []string) error

func (*AssetStruct) ClearFreeUpDisk added in v0.1.19

func (s *AssetStruct) ClearFreeUpDisk(p0 context.Context) error

func (*AssetStruct) CreateAsset added in v0.1.10

func (*AssetStruct) DeleteAsset

func (s *AssetStruct) DeleteAsset(p0 context.Context, p1 string) error

func (*AssetStruct) GetAssetProgresses

func (s *AssetStruct) GetAssetProgresses(p0 context.Context, p1 []string) (*types.PullResult, error)

func (*AssetStruct) GetAssetStats

func (s *AssetStruct) GetAssetStats(p0 context.Context) (*types.AssetStats, error)

func (*AssetStruct) GetAssetView added in v0.1.14

func (s *AssetStruct) GetAssetView(p0 context.Context) (*types.AssetView, error)

func (*AssetStruct) GetAssetsInBucket added in v0.1.14

func (s *AssetStruct) GetAssetsInBucket(p0 context.Context, p1 int) ([]string, error)

func (*AssetStruct) GetPullingAssetInfo

func (s *AssetStruct) GetPullingAssetInfo(p0 context.Context) (*types.InProgressAsset, error)

func (*AssetStruct) PullAsset

func (s *AssetStruct) PullAsset(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error

func (*AssetStruct) PullAssetFromAWS added in v0.1.13

func (s *AssetStruct) PullAssetFromAWS(p0 context.Context, p1 string, p2 string) error

func (*AssetStruct) PullAssetV2 added in v0.1.19

func (s *AssetStruct) PullAssetV2(p0 context.Context, p1 *types.AssetPullRequest) error

func (*AssetStruct) RequestFreeUpDisk added in v0.1.19

func (s *AssetStruct) RequestFreeUpDisk(p0 context.Context, p1 float64) error

func (*AssetStruct) StateFreeUpDisk added in v0.1.19

func (s *AssetStruct) StateFreeUpDisk(p0 context.Context) (*types.FreeUpDiskStateResp, error)

func (*AssetStruct) SyncAssetViewAndData added in v0.1.16

func (s *AssetStruct) SyncAssetViewAndData(p0 context.Context) error

type AssetStub

type AssetStub struct {
}

func (*AssetStub) AddAssetView added in v0.1.15

func (s *AssetStub) AddAssetView(p0 context.Context, p1 []string) error

func (*AssetStub) ClearFreeUpDisk added in v0.1.19

func (s *AssetStub) ClearFreeUpDisk(p0 context.Context) error

func (*AssetStub) CreateAsset added in v0.1.10

func (*AssetStub) DeleteAsset

func (s *AssetStub) DeleteAsset(p0 context.Context, p1 string) error

func (*AssetStub) GetAssetProgresses

func (s *AssetStub) GetAssetProgresses(p0 context.Context, p1 []string) (*types.PullResult, error)

func (*AssetStub) GetAssetStats

func (s *AssetStub) GetAssetStats(p0 context.Context) (*types.AssetStats, error)

func (*AssetStub) GetAssetView added in v0.1.14

func (s *AssetStub) GetAssetView(p0 context.Context) (*types.AssetView, error)

func (*AssetStub) GetAssetsInBucket added in v0.1.14

func (s *AssetStub) GetAssetsInBucket(p0 context.Context, p1 int) ([]string, error)

func (*AssetStub) GetPullingAssetInfo

func (s *AssetStub) GetPullingAssetInfo(p0 context.Context) (*types.InProgressAsset, error)

func (*AssetStub) PullAsset

func (s *AssetStub) PullAsset(p0 context.Context, p1 string, p2 []*types.CandidateDownloadInfo) error

func (*AssetStub) PullAssetFromAWS added in v0.1.13

func (s *AssetStub) PullAssetFromAWS(p0 context.Context, p1 string, p2 string) error

func (*AssetStub) PullAssetV2 added in v0.1.19

func (s *AssetStub) PullAssetV2(p0 context.Context, p1 *types.AssetPullRequest) error

func (*AssetStub) RequestFreeUpDisk added in v0.1.19

func (s *AssetStub) RequestFreeUpDisk(p0 context.Context, p1 float64) error

func (*AssetStub) StateFreeUpDisk added in v0.1.19

func (s *AssetStub) StateFreeUpDisk(p0 context.Context) (*types.FreeUpDiskStateResp, error)

func (*AssetStub) SyncAssetViewAndData added in v0.1.16

func (s *AssetStub) SyncAssetViewAndData(p0 context.Context) error

type Candidate

type Candidate interface {
	Common
	Device
	Validation
	DataSync
	Asset
	WaitQuiet(ctx context.Context) error                                                                             //perm:admin
	GetBlocksWithAssetCID(ctx context.Context, assetCID string, randomSeed int64, randomCount int) ([]string, error) //perm:admin
	// GetExternalAddress retrieves the external address of the caller.
	GetExternalAddress(ctx context.Context) (string, error) //perm:default
	// CheckNetworkConnectivity deprecated
	CheckNetworkConnectivity(ctx context.Context, network, targetURL string) error //perm:default
	// CheckNetworkConnectable check network if connectable
	CheckNetworkConnectable(ctx context.Context, network, targetURL string) (bool, error) //perm:admin
	GetMinioConfig(ctx context.Context) (*types.MinioConfig, error)                       //perm:admin
}

Candidate is an interface for candidate node

func PermissionedCandidateAPI

func PermissionedCandidateAPI(a Candidate) Candidate

type CandidateStruct

type CandidateStruct struct {
	CommonStruct

	DeviceStruct

	ValidationStruct

	DataSyncStruct

	AssetStruct

	Internal struct {
		CheckNetworkConnectable func(p0 context.Context, p1 string, p2 string) (bool, error) `perm:"admin"`

		CheckNetworkConnectivity func(p0 context.Context, p1 string, p2 string) error `perm:"default"`

		GetBlocksWithAssetCID func(p0 context.Context, p1 string, p2 int64, p3 int) ([]string, error) `perm:"admin"`

		GetExternalAddress func(p0 context.Context) (string, error) `perm:"default"`

		GetMinioConfig func(p0 context.Context) (*types.MinioConfig, error) `perm:"admin"`

		WaitQuiet func(p0 context.Context) error `perm:"admin"`
	}
}

func (*CandidateStruct) CheckNetworkConnectable added in v0.1.18

func (s *CandidateStruct) CheckNetworkConnectable(p0 context.Context, p1 string, p2 string) (bool, error)

func (*CandidateStruct) CheckNetworkConnectivity

func (s *CandidateStruct) CheckNetworkConnectivity(p0 context.Context, p1 string, p2 string) error

func (*CandidateStruct) GetBlocksWithAssetCID

func (s *CandidateStruct) GetBlocksWithAssetCID(p0 context.Context, p1 string, p2 int64, p3 int) ([]string, error)

func (*CandidateStruct) GetExternalAddress

func (s *CandidateStruct) GetExternalAddress(p0 context.Context) (string, error)

func (*CandidateStruct) GetMinioConfig added in v0.1.11

func (s *CandidateStruct) GetMinioConfig(p0 context.Context) (*types.MinioConfig, error)

func (*CandidateStruct) WaitQuiet

func (s *CandidateStruct) WaitQuiet(p0 context.Context) error

type CandidateStub

func (*CandidateStub) CheckNetworkConnectable added in v0.1.18

func (s *CandidateStub) CheckNetworkConnectable(p0 context.Context, p1 string, p2 string) (bool, error)

func (*CandidateStub) CheckNetworkConnectivity

func (s *CandidateStub) CheckNetworkConnectivity(p0 context.Context, p1 string, p2 string) error

func (*CandidateStub) GetBlocksWithAssetCID

func (s *CandidateStub) GetBlocksWithAssetCID(p0 context.Context, p1 string, p2 int64, p3 int) ([]string, error)

func (*CandidateStub) GetExternalAddress

func (s *CandidateStub) GetExternalAddress(p0 context.Context) (string, error)

func (*CandidateStub) GetMinioConfig added in v0.1.11

func (s *CandidateStub) GetMinioConfig(p0 context.Context) (*types.MinioConfig, error)

func (*CandidateStub) WaitQuiet

func (s *CandidateStub) WaitQuiet(p0 context.Context) error

type Common

type Common interface {

	// AuthVerify checks whether the specified token is valid and returns the list of permissions associated with it.
	AuthVerify(ctx context.Context, token string) (*types.JWTPayload, error) //perm:default
	// AuthNew creates a new token with the specified list of permissions.
	AuthNew(ctx context.Context, payload *types.JWTPayload) (string, error) //perm:admin

	// LogList returns a list of all logs in the system.
	LogList(context.Context) ([]string, error) //perm:admin
	// LogSetLevel sets the log level of the specified logger.
	LogSetLevel(context.Context, string, string) error //perm:admin
	// LogAlerts returns list of all, active and inactive alerts tracked by the
	LogAlerts(ctx context.Context) ([]alerting.Alert, error) //perm:admin

	// Version provides information about API provider
	Version(context.Context) (APIVersion, error) //perm:default
	// Discover returns an OpenRPC document describing an RPC API.
	Discover(ctx context.Context) (types.OpenRPCDocument, error) //perm:admin
	// Shutdown trigger graceful shutdown
	Shutdown(context.Context) error //perm:admin
	// Session returns a UUID of api provider session
	Session(ctx context.Context) (uuid.UUID, error) //perm:edge,candidate

	// Closing jsonrpc closing
	Closing(context.Context) (<-chan struct{}, error) //perm:admin

	// ExternalServiceAddress check service address with different candidate
	// if behind nat, service address maybe different
	ExternalServiceAddress(ctx context.Context, rpcURL string) (string, error) //perm:admin
}

Common is an interface for titan network

type CommonStruct

type CommonStruct struct {
	Internal struct {
		AuthNew func(p0 context.Context, p1 *types.JWTPayload) (string, error) `perm:"admin"`

		AuthVerify func(p0 context.Context, p1 string) (*types.JWTPayload, error) `perm:"default"`

		Closing func(p0 context.Context) (<-chan struct{}, error) `perm:"admin"`

		Discover func(p0 context.Context) (types.OpenRPCDocument, error) `perm:"admin"`

		ExternalServiceAddress func(p0 context.Context, p1 string) (string, error) `perm:"admin"`

		LogAlerts func(p0 context.Context) ([]alerting.Alert, error) `perm:"admin"`

		LogList func(p0 context.Context) ([]string, error) `perm:"admin"`

		LogSetLevel func(p0 context.Context, p1 string, p2 string) error `perm:"admin"`

		Session func(p0 context.Context) (uuid.UUID, error) `perm:"edge,candidate"`

		Shutdown func(p0 context.Context) error `perm:"admin"`

		Version func(p0 context.Context) (APIVersion, error) `perm:"default"`
	}
}

func (*CommonStruct) AuthNew

func (s *CommonStruct) AuthNew(p0 context.Context, p1 *types.JWTPayload) (string, error)

func (*CommonStruct) AuthVerify

func (s *CommonStruct) AuthVerify(p0 context.Context, p1 string) (*types.JWTPayload, error)

func (*CommonStruct) Closing

func (s *CommonStruct) Closing(p0 context.Context) (<-chan struct{}, error)

func (*CommonStruct) Discover

func (*CommonStruct) ExternalServiceAddress added in v0.1.19

func (s *CommonStruct) ExternalServiceAddress(p0 context.Context, p1 string) (string, error)

func (*CommonStruct) LogAlerts

func (s *CommonStruct) LogAlerts(p0 context.Context) ([]alerting.Alert, error)

func (*CommonStruct) LogList

func (s *CommonStruct) LogList(p0 context.Context) ([]string, error)

func (*CommonStruct) LogSetLevel

func (s *CommonStruct) LogSetLevel(p0 context.Context, p1 string, p2 string) error

func (*CommonStruct) Session

func (s *CommonStruct) Session(p0 context.Context) (uuid.UUID, error)

func (*CommonStruct) Shutdown

func (s *CommonStruct) Shutdown(p0 context.Context) error

func (*CommonStruct) Version

func (s *CommonStruct) Version(p0 context.Context) (APIVersion, error)

type CommonStub

type CommonStub struct {
}

func (*CommonStub) AuthNew

func (s *CommonStub) AuthNew(p0 context.Context, p1 *types.JWTPayload) (string, error)

func (*CommonStub) AuthVerify

func (s *CommonStub) AuthVerify(p0 context.Context, p1 string) (*types.JWTPayload, error)

func (*CommonStub) Closing

func (s *CommonStub) Closing(p0 context.Context) (<-chan struct{}, error)

func (*CommonStub) Discover

func (s *CommonStub) Discover(p0 context.Context) (types.OpenRPCDocument, error)

func (*CommonStub) ExternalServiceAddress added in v0.1.19

func (s *CommonStub) ExternalServiceAddress(p0 context.Context, p1 string) (string, error)

func (*CommonStub) LogAlerts

func (s *CommonStub) LogAlerts(p0 context.Context) ([]alerting.Alert, error)

func (*CommonStub) LogList

func (s *CommonStub) LogList(p0 context.Context) ([]string, error)

func (*CommonStub) LogSetLevel

func (s *CommonStub) LogSetLevel(p0 context.Context, p1 string, p2 string) error

func (*CommonStub) Session

func (s *CommonStub) Session(p0 context.Context) (uuid.UUID, error)

func (*CommonStub) Shutdown

func (s *CommonStub) Shutdown(p0 context.Context) error

func (*CommonStub) Version

func (s *CommonStub) Version(p0 context.Context) (APIVersion, error)

type DataSync

type DataSync interface {
	// CompareTopHash check asset if same as scheduler.
	// topHash is hash of all buckets
	CompareTopHash(ctx context.Context, topHash string) (bool, error) //perm:admin
	// CompareBucketHashes group asset in bucket, and compare single bucket hash
	// hashes are map of bucket, key is number of bucket, value is hash
	// return mismatch bucket number
	CompareBucketHashes(ctx context.Context, hashes map[uint32]string) ([]uint32, error) //perm:admin
}

DataSync sync scheduler asset to node

type DataSyncStruct

type DataSyncStruct struct {
	Internal struct {
		CompareBucketHashes func(p0 context.Context, p1 map[uint32]string) ([]uint32, error) `perm:"admin"`

		CompareTopHash func(p0 context.Context, p1 string) (bool, error) `perm:"admin"`
	}
}

func (*DataSyncStruct) CompareBucketHashes

func (s *DataSyncStruct) CompareBucketHashes(p0 context.Context, p1 map[uint32]string) ([]uint32, error)

func (*DataSyncStruct) CompareTopHash

func (s *DataSyncStruct) CompareTopHash(p0 context.Context, p1 string) (bool, error)

type DataSyncStub

type DataSyncStub struct {
}

func (*DataSyncStub) CompareBucketHashes

func (s *DataSyncStub) CompareBucketHashes(p0 context.Context, p1 map[uint32]string) ([]uint32, error)

func (*DataSyncStub) CompareTopHash

func (s *DataSyncStub) CompareTopHash(p0 context.Context, p1 string) (bool, error)

type Device

type Device interface {
	GetNodeInfo(ctx context.Context) (types.NodeInfo, error) //perm:admin
	GetNodeID(ctx context.Context) (string, error)           //perm:admin
}

Device is an interface for node

type DeviceStruct

type DeviceStruct struct {
	Internal struct {
		GetNodeID func(p0 context.Context) (string, error) `perm:"admin"`

		GetNodeInfo func(p0 context.Context) (types.NodeInfo, error) `perm:"admin"`
	}
}

func (*DeviceStruct) GetNodeID

func (s *DeviceStruct) GetNodeID(p0 context.Context) (string, error)

func (*DeviceStruct) GetNodeInfo

func (s *DeviceStruct) GetNodeInfo(p0 context.Context) (types.NodeInfo, error)

type DeviceStub

type DeviceStub struct {
}

func (*DeviceStub) GetNodeID

func (s *DeviceStub) GetNodeID(p0 context.Context) (string, error)

func (*DeviceStub) GetNodeInfo

func (s *DeviceStub) GetNodeInfo(p0 context.Context) (types.NodeInfo, error)

type Edge

type Edge interface {
	Common
	Device
	Validation
	DataSync
	Asset
	Workerd
	WaitQuiet(ctx context.Context) error //perm:admin
	// UserNATTravel build connection for user
	UserNATPunch(ctx context.Context, userServiceAddress string, req *types.NatPunchReq) error //perm:admin
	// GetEdgeOnlineStateFromScheduler this online state is get from scheduler
	GetEdgeOnlineStateFromScheduler(ctx context.Context) (bool, error) //perm:default
	// Restart trigger graceful restart of edge node
	Restart(ctx context.Context) error // perm:admin
}

Edge is an interface for edge node

func PermissionedEdgeAPI

func PermissionedEdgeAPI(a Edge) Edge

type EdgeStruct

type EdgeStruct struct {
	CommonStruct

	DeviceStruct

	ValidationStruct

	DataSyncStruct

	AssetStruct

	WorkerdStruct

	Internal struct {
		GetEdgeOnlineStateFromScheduler func(p0 context.Context) (bool, error) `perm:"default"`

		Restart func(p0 context.Context) error `perm:"admin"`

		UserNATPunch func(p0 context.Context, p1 string, p2 *types.NatPunchReq) error `perm:"admin"`

		WaitQuiet func(p0 context.Context) error `perm:"admin"`
	}
}

func (*EdgeStruct) GetEdgeOnlineStateFromScheduler added in v0.1.13

func (s *EdgeStruct) GetEdgeOnlineStateFromScheduler(p0 context.Context) (bool, error)

func (*EdgeStruct) Restart added in v0.1.19

func (s *EdgeStruct) Restart(p0 context.Context) error

func (*EdgeStruct) UserNATPunch

func (s *EdgeStruct) UserNATPunch(p0 context.Context, p1 string, p2 *types.NatPunchReq) error

func (*EdgeStruct) WaitQuiet

func (s *EdgeStruct) WaitQuiet(p0 context.Context) error

type EdgeStub

func (*EdgeStub) GetEdgeOnlineStateFromScheduler added in v0.1.13

func (s *EdgeStub) GetEdgeOnlineStateFromScheduler(p0 context.Context) (bool, error)

func (*EdgeStub) Restart added in v0.1.19

func (s *EdgeStub) Restart(p0 context.Context) error

func (*EdgeStub) UserNATPunch

func (s *EdgeStub) UserNATPunch(p0 context.Context, p1 string, p2 *types.NatPunchReq) error

func (*EdgeStub) WaitQuiet

func (s *EdgeStub) WaitQuiet(p0 context.Context) error

type EdgeUpdateConfig

type EdgeUpdateConfig struct {
	NodeType    int       `db:"node_type"`
	AppName     string    `db:"app_name"`
	Version     Version   `db:"version"`
	DownloadURL string    `db:"download_url"`
	Hash        string    `db:"hash"`
	UpdateTime  time.Time `db:"update_time"`
}

EdgeUpdateInfo just update edge node NodeType include edge-updater and titan-edge

type ErrNode added in v0.1.11

type ErrNode = ErrWeb

type ErrUnknown

type ErrUnknown struct{}

func (*ErrUnknown) Error

func (eu *ErrUnknown) Error() string

type ErrWeb added in v0.1.11

type ErrWeb struct {
	Code    int
	Message string
}

func (*ErrWeb) Error added in v0.1.11

func (ew *ErrWeb) Error() string

func (*ErrWeb) MarshalJSON added in v0.1.11

func (ew *ErrWeb) MarshalJSON() ([]byte, error)

func (*ErrWeb) UnmarshalJSON added in v0.1.11

func (ew *ErrWeb) UnmarshalJSON(data []byte) error

type Locator

type Locator interface {
	Common
	// GetAccessPoints retrieves all access points associated with a node.
	GetAccessPoints(ctx context.Context, nodeID, areaID string) ([]string, error) //perm:default
	// user api
	// EdgeDownloadInfos retrieves download information for a content identifier (CID).
	EdgeDownloadInfos(ctx context.Context, cid string) ([]*types.EdgeDownloadInfoList, error) //perm:default
	// GetUserAccessPoint retrieves an access point for a user with a specified IP address.
	GetUserAccessPoint(ctx context.Context, userIP string) (*AccessPoint, error) //perm:default
	// CandidateDownloadInfos retrieves information about candidate's download interface
	CandidateDownloadInfos(ctx context.Context, cid string) ([]*types.CandidateDownloadInfo, error) //perm:default
	// GetAssetSourceDownloadInfo
	GetAssetSourceDownloadInfos(ctx context.Context, cid string) ([]*types.AssetSourceDownloadInfoRsp, error) //perm:default
	// GetCandidateIP retrieves ip of candidate, used in the locator dns
	GetCandidateIP(ctx context.Context, nodeID string) (string, error) //perm:admin
	// GetSchedulerWithNode get the scheduler that the node is already connected to
	GetSchedulerWithNode(ctx context.Context, nodeID string) (string, error) //perm:default
	// GetSchedulerWithAPIKey get the scheduler that the user create the api key
	GetSchedulerWithAPIKey(ctx context.Context, apiKey string) (string, error)                          //perm:default
	AllocateSchedulerForNode(ctx context.Context, nodeType types.NodeType, code string) (string, error) //perm:default
}

Locator is an interface for locator services

func PermissionedLocationAPI

func PermissionedLocationAPI(a Locator) Locator

type LocatorStruct

type LocatorStruct struct {
	CommonStruct

	Internal struct {
		AllocateSchedulerForNode func(p0 context.Context, p1 types.NodeType, p2 string) (string, error) `perm:"default"`

		CandidateDownloadInfos func(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error) `perm:"default"`

		EdgeDownloadInfos func(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error) `perm:"default"`

		GetAccessPoints func(p0 context.Context, p1 string, p2 string) ([]string, error) `perm:"default"`

		GetAssetSourceDownloadInfos func(p0 context.Context, p1 string) ([]*types.AssetSourceDownloadInfoRsp, error) `perm:"default"`

		GetCandidateIP func(p0 context.Context, p1 string) (string, error) `perm:"admin"`

		GetSchedulerWithAPIKey func(p0 context.Context, p1 string) (string, error) `perm:"default"`

		GetSchedulerWithNode func(p0 context.Context, p1 string) (string, error) `perm:"default"`

		GetUserAccessPoint func(p0 context.Context, p1 string) (*AccessPoint, error) `perm:"default"`
	}
}

func (*LocatorStruct) AllocateSchedulerForNode added in v0.1.19

func (s *LocatorStruct) AllocateSchedulerForNode(p0 context.Context, p1 types.NodeType, p2 string) (string, error)

func (*LocatorStruct) CandidateDownloadInfos added in v0.1.10

func (s *LocatorStruct) CandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)

func (*LocatorStruct) EdgeDownloadInfos

func (s *LocatorStruct) EdgeDownloadInfos(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error)

func (*LocatorStruct) GetAccessPoints

func (s *LocatorStruct) GetAccessPoints(p0 context.Context, p1 string, p2 string) ([]string, error)

func (*LocatorStruct) GetAssetSourceDownloadInfos added in v0.1.18

func (s *LocatorStruct) GetAssetSourceDownloadInfos(p0 context.Context, p1 string) ([]*types.AssetSourceDownloadInfoRsp, error)

func (*LocatorStruct) GetCandidateIP added in v0.1.11

func (s *LocatorStruct) GetCandidateIP(p0 context.Context, p1 string) (string, error)

func (*LocatorStruct) GetSchedulerWithAPIKey added in v0.1.11

func (s *LocatorStruct) GetSchedulerWithAPIKey(p0 context.Context, p1 string) (string, error)

func (*LocatorStruct) GetSchedulerWithNode added in v0.1.11

func (s *LocatorStruct) GetSchedulerWithNode(p0 context.Context, p1 string) (string, error)

func (*LocatorStruct) GetUserAccessPoint

func (s *LocatorStruct) GetUserAccessPoint(p0 context.Context, p1 string) (*AccessPoint, error)

type LocatorStub

type LocatorStub struct {
	CommonStub
}

func (*LocatorStub) AllocateSchedulerForNode added in v0.1.19

func (s *LocatorStub) AllocateSchedulerForNode(p0 context.Context, p1 types.NodeType, p2 string) (string, error)

func (*LocatorStub) CandidateDownloadInfos added in v0.1.10

func (s *LocatorStub) CandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)

func (*LocatorStub) EdgeDownloadInfos

func (s *LocatorStub) EdgeDownloadInfos(p0 context.Context, p1 string) ([]*types.EdgeDownloadInfoList, error)

func (*LocatorStub) GetAccessPoints

func (s *LocatorStub) GetAccessPoints(p0 context.Context, p1 string, p2 string) ([]string, error)

func (*LocatorStub) GetAssetSourceDownloadInfos added in v0.1.18

func (s *LocatorStub) GetAssetSourceDownloadInfos(p0 context.Context, p1 string) ([]*types.AssetSourceDownloadInfoRsp, error)

func (*LocatorStub) GetCandidateIP added in v0.1.11

func (s *LocatorStub) GetCandidateIP(p0 context.Context, p1 string) (string, error)

func (*LocatorStub) GetSchedulerWithAPIKey added in v0.1.11

func (s *LocatorStub) GetSchedulerWithAPIKey(p0 context.Context, p1 string) (string, error)

func (*LocatorStub) GetSchedulerWithNode added in v0.1.11

func (s *LocatorStub) GetSchedulerWithNode(p0 context.Context, p1 string) (string, error)

func (*LocatorStub) GetUserAccessPoint

func (s *LocatorStub) GetUserAccessPoint(p0 context.Context, p1 string) (*AccessPoint, error)

type LogFile

type LogFile struct {
	Name string
	Size int64
}

type NodeAPI added in v0.1.10

type NodeAPI interface {
	// Node-related methods
	// GetOnlineNodeCount returns the count of online nodes for a given node type
	GetOnlineNodeCount(ctx context.Context, nodeType types.NodeType) (int, error) //perm:web,admin
	// RegisterNode adds new node to the scheduler
	RegisterNode(ctx context.Context, nodeID, publicKey string, nodeType types.NodeType) (*types.ActivationDetail, error) //perm:default
	// RegisterEdgeNode adds new edge node to the scheduler
	RegisterEdgeNode(ctx context.Context, nodeID, publicKey string) (*types.ActivationDetail, error) //perm:default
	// RegisterCandidateNode adds new node to the scheduler
	RegisterCandidateNode(ctx context.Context, nodeID, publicKey, code string) (*types.ActivationDetail, error) //perm:default
	// DeactivateNode is used to deactivate a node in the titan server.
	// It stops the node from serving any requests and marks it as inactive.
	// - nodeID: The ID of the node to deactivate.
	// - hours: The deactivation countdown time in hours. It specifies the duration
	// before the deactivation is executed. If the deactivation is canceled within
	// this period, the node will remain active.
	DeactivateNode(ctx context.Context, nodeID string, hours int) error //perm:web,admin,candidate
	// CalculateExitProfit
	CalculateExitProfit(ctx context.Context, nodeID string) (types.ExitProfitRsp, error) //perm:web,admin,candidate
	// UndoNodeDeactivation is used to undo the deactivation of a node in the titan server.
	// It allows the previously deactivated node to start serving requests again.
	UndoNodeDeactivation(ctx context.Context, nodeID string) error //perm:web,admin
	// UpdateNodePort updates the port for the node with the specified node
	UpdateNodePort(ctx context.Context, nodeID, port string) error //perm:web,admin
	// EdgeConnect edge node login to the scheduler
	EdgeConnect(ctx context.Context, opts *types.ConnectOptions) error //perm:edge
	// CandidateConnect candidate node login to the scheduler
	CandidateConnect(ctx context.Context, opts *types.ConnectOptions) error //perm:candidate
	// GetExternalAddress retrieves the external address of the caller.
	GetExternalAddress(ctx context.Context) (string, error) //perm:default
	// NodeLogin generates an authentication token for a node with the specified node ID and signature
	NodeLogin(ctx context.Context, nodeID, sign string) (string, error) //perm:default
	// GetNodeInfo get information for node
	GetNodeInfo(ctx context.Context, nodeID string) (types.NodeInfo, error) //perm:web,admin
	// GetNodeList retrieves a list of nodes with pagination using the specified cursor and count
	GetNodeList(ctx context.Context, cursor int, count int) (*types.ListNodesRsp, error) //perm:web,admin
	// GetNodesFromRegion retrieves a list of nodes with pagination using the specified cursor and count
	GetNodesFromRegion(ctx context.Context, areaID string) ([]*types.NodeInfo, error) //perm:web,admin
	// GetCurrentRegionInfos retrieves a list of nodes with pagination using the specified cursor and count
	GetCurrentRegionInfos(ctx context.Context, areaID string) (map[string]int, error) //perm:web,admin
	// GetCandidateURLsForDetectNat Get the rpc url of the specified number of candidate nodes
	GetCandidateURLsForDetectNat(ctx context.Context) ([]string, error) //perm:default
	// GetEdgeExternalServiceAddress nat travel, get edge external addr with different candidate
	GetEdgeExternalServiceAddress(ctx context.Context, nodeID, candidateURL string) (string, error) //perm:admin
	// NatPunch nat punch between user and node
	NatPunch(ctx context.Context, target *types.NatPunchReq) error //perm:default
	// GetEdgeDownloadInfos retrieves download information for the edge with the asset with the specified CID.
	GetEdgeDownloadInfos(ctx context.Context, cid string) (*types.EdgeDownloadInfoList, error) //perm:default
	// GetCandidateDownloadInfos retrieves download information for the candidate with the asset with the specified CID.
	GetCandidateDownloadInfos(ctx context.Context, cid string) ([]*types.CandidateDownloadInfo, error) //perm:edge,candidate,web,locator
	// GetAssetSourceDownloadInfo
	GetAssetSourceDownloadInfo(ctx context.Context, cid string) (*types.AssetSourceDownloadInfoRsp, error) //perm:edge,candidate,web,locator
	// NodeExists checks if the node with the specified ID exists.
	NodeExists(ctx context.Context, nodeID string) error //perm:web
	// NodeKeepalive
	NodeKeepalive(ctx context.Context) (uuid.UUID, error) //perm:edge,candidate
	// NodeKeepaliveV2 fix the problem of NodeKeepalive, Maintaining old device connections
	NodeKeepaliveV2(ctx context.Context) (uuid.UUID, error) //perm:edge,candidate
	// RequestActivationCodes Get the device's encrypted activation code
	RequestActivationCodes(ctx context.Context, nodeType types.NodeType, count int) ([]*types.NodeActivation, error) //perm:web,admin
	// VerifyTokenWithLimitCount verify token in limit count
	VerifyTokenWithLimitCount(ctx context.Context, token string) (*types.JWTPayload, error) //perm:edge,candidate
	// UpdateBandwidths update node bandwidthDown and bandwidthUp
	UpdateBandwidths(ctx context.Context, bandwidthDown, bandwidthUp int64) error //perm:edge,candidate
	// UpdateNetFlows update node net flow total,up,down usage
	UpdateNetFlows(ctx context.Context, total, up, down int64) error //perm:edge
	// GetCandidateNodeIP get candidate ip for locator
	GetCandidateNodeIP(ctx context.Context, nodeID string) (string, error) //perm:web,admin
	// GetMinioConfigFromCandidate get minio config from candidate
	GetMinioConfigFromCandidate(ctx context.Context, nodeID string) (*types.MinioConfig, error) //perm:default
	// GetCandidateIPs get candidate ips
	GetCandidateIPs(ctx context.Context) ([]*types.NodeIPInfo, error) //perm:web,user,admin
	// GetNodeOnlineState get node online state
	GetNodeOnlineState(ctx context.Context) (bool, error) //perm:edge
	// DownloadDataResult node download data from AWS result
	DownloadDataResult(ctx context.Context, bucket, cid string, size int64) error //perm:edge,candidate
	// GetNodeToken get node token
	GetNodeToken(ctx context.Context, nodeID string) (string, error) //perm:admin
	// CheckIpUsage
	CheckIpUsage(ctx context.Context, ip string) (bool, error) //perm:admin,web,locator
	// GetAssetView get the asset view of node
	GetAssetView(ctx context.Context, nodeID string, isFromNode bool) (*types.AssetView, error) //perm:admin
	// GetAssetInBucket get the assets of the bucket
	GetAssetsInBucket(ctx context.Context, nodeID string, bucketID int, isFromNode bool) ([]string, error) //perm:admin
	// GetNodeOfIP get nodes
	GetNodeOfIP(ctx context.Context, ip string) ([]string, error) //perm:admin,web,locator
	// PerformSyncData sync the assetView of scheduler and node
	PerformSyncData(ctx context.Context, nodeID string) error //perm:admin
	// GetProfitDetailsForNode retrieves a profit list of node
	GetProfitDetailsForNode(ctx context.Context, nodeID string, limit, offset int, ts []int) (*types.ListNodeProfitDetailsRsp, error) //perm:web,admin
	// FreeUpDiskSpace  Request to free up disk space, returns free hashes and next time
	FreeUpDiskSpace(ctx context.Context, nodeID string, size int64) (*types.FreeUpDiskResp, error) //perm:edge,candidate,admin
	// GetNextFreeTime returns the next free up time
	GetNextFreeTime(ctx context.Context, nodeID string) (int64, error) //perm:edge,candidate,admin
	// UpdateNodeDynamicInfo
	UpdateNodeDynamicInfo(ctx context.Context, info *types.NodeDynamicInfo) error //perm:admin
	// GenerateCandidateCode
	GenerateCandidateCode(ctx context.Context, count int, nodeType types.NodeType, isTest bool) ([]string, error) //perm:admin
	// CandidateCodeExist
	CandidateCodeExist(ctx context.Context, code string) (bool, error) //perm:admin,web,locator
	// GetCandidateCodeInfos
	GetCandidateCodeInfos(ctx context.Context, nodeID, code string) ([]*types.CandidateCodeInfo, error) //perm:admin,web,locator
	// ReDetermineNodeNATType
	ReDetermineNodeNATType(ctx context.Context, nodeID string) error //perm:admin,web,locator
	// AssignTunserverURL
	AssignTunserverURL(ctx context.Context) (*types.TunserverRsp, error) //perm:edge
	// UpdateTunserverURL
	UpdateTunserverURL(ctx context.Context, nodeID string) error //perm:edge
}

NodeAPI is an interface for node

type NodeAPIStruct added in v0.1.10

type NodeAPIStruct struct {
	Internal struct {
		AssignTunserverURL func(p0 context.Context) (*types.TunserverRsp, error) `perm:"edge"`

		CalculateExitProfit func(p0 context.Context, p1 string) (types.ExitProfitRsp, error) `perm:"web,admin,candidate"`

		CandidateCodeExist func(p0 context.Context, p1 string) (bool, error) `perm:"admin,web,locator"`

		CandidateConnect func(p0 context.Context, p1 *types.ConnectOptions) error `perm:"candidate"`

		CheckIpUsage func(p0 context.Context, p1 string) (bool, error) `perm:"admin,web,locator"`

		DeactivateNode func(p0 context.Context, p1 string, p2 int) error `perm:"web,admin,candidate"`

		DownloadDataResult func(p0 context.Context, p1 string, p2 string, p3 int64) error `perm:"edge,candidate"`

		EdgeConnect func(p0 context.Context, p1 *types.ConnectOptions) error `perm:"edge"`

		FreeUpDiskSpace func(p0 context.Context, p1 string, p2 int64) (*types.FreeUpDiskResp, error) `perm:"edge,candidate,admin"`

		GenerateCandidateCode func(p0 context.Context, p1 int, p2 types.NodeType, p3 bool) ([]string, error) `perm:"admin"`

		GetAssetSourceDownloadInfo func(p0 context.Context, p1 string) (*types.AssetSourceDownloadInfoRsp, error) `perm:"edge,candidate,web,locator"`

		GetAssetView func(p0 context.Context, p1 string, p2 bool) (*types.AssetView, error) `perm:"admin"`

		GetAssetsInBucket func(p0 context.Context, p1 string, p2 int, p3 bool) ([]string, error) `perm:"admin"`

		GetCandidateCodeInfos func(p0 context.Context, p1 string, p2 string) ([]*types.CandidateCodeInfo, error) `perm:"admin,web,locator"`

		GetCandidateDownloadInfos func(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error) `perm:"edge,candidate,web,locator"`

		GetCandidateIPs func(p0 context.Context) ([]*types.NodeIPInfo, error) `perm:"web,user,admin"`

		GetCandidateNodeIP func(p0 context.Context, p1 string) (string, error) `perm:"web,admin"`

		GetCandidateURLsForDetectNat func(p0 context.Context) ([]string, error) `perm:"default"`

		GetCurrentRegionInfos func(p0 context.Context, p1 string) (map[string]int, error) `perm:"web,admin"`

		GetEdgeDownloadInfos func(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error) `perm:"default"`

		GetEdgeExternalServiceAddress func(p0 context.Context, p1 string, p2 string) (string, error) `perm:"admin"`

		GetExternalAddress func(p0 context.Context) (string, error) `perm:"default"`

		GetMinioConfigFromCandidate func(p0 context.Context, p1 string) (*types.MinioConfig, error) `perm:"default"`

		GetNextFreeTime func(p0 context.Context, p1 string) (int64, error) `perm:"edge,candidate,admin"`

		GetNodeInfo func(p0 context.Context, p1 string) (types.NodeInfo, error) `perm:"web,admin"`

		GetNodeList func(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error) `perm:"web,admin"`

		GetNodeOfIP func(p0 context.Context, p1 string) ([]string, error) `perm:"admin,web,locator"`

		GetNodeOnlineState func(p0 context.Context) (bool, error) `perm:"edge"`

		GetNodeToken func(p0 context.Context, p1 string) (string, error) `perm:"admin"`

		GetNodesFromRegion func(p0 context.Context, p1 string) ([]*types.NodeInfo, error) `perm:"web,admin"`

		GetOnlineNodeCount func(p0 context.Context, p1 types.NodeType) (int, error) `perm:"web,admin"`

		GetProfitDetailsForNode func(p0 context.Context, p1 string, p2 int, p3 int, p4 []int) (*types.ListNodeProfitDetailsRsp, error) `perm:"web,admin"`

		NatPunch func(p0 context.Context, p1 *types.NatPunchReq) error `perm:"default"`

		NodeExists func(p0 context.Context, p1 string) error `perm:"web"`

		NodeKeepalive func(p0 context.Context) (uuid.UUID, error) `perm:"edge,candidate"`

		NodeKeepaliveV2 func(p0 context.Context) (uuid.UUID, error) `perm:"edge,candidate"`

		NodeLogin func(p0 context.Context, p1 string, p2 string) (string, error) `perm:"default"`

		PerformSyncData func(p0 context.Context, p1 string) error `perm:"admin"`

		ReDetermineNodeNATType func(p0 context.Context, p1 string) error `perm:"admin,web,locator"`

		RegisterCandidateNode func(p0 context.Context, p1 string, p2 string, p3 string) (*types.ActivationDetail, error) `perm:"default"`

		RegisterEdgeNode func(p0 context.Context, p1 string, p2 string) (*types.ActivationDetail, error) `perm:"default"`

		RegisterNode func(p0 context.Context, p1 string, p2 string, p3 types.NodeType) (*types.ActivationDetail, error) `perm:"default"`

		RequestActivationCodes func(p0 context.Context, p1 types.NodeType, p2 int) ([]*types.NodeActivation, error) `perm:"web,admin"`

		UndoNodeDeactivation func(p0 context.Context, p1 string) error `perm:"web,admin"`

		UpdateBandwidths func(p0 context.Context, p1 int64, p2 int64) error `perm:"edge,candidate"`

		UpdateNetFlows func(p0 context.Context, p1 int64, p2 int64, p3 int64) error `perm:"edge"`

		UpdateNodeDynamicInfo func(p0 context.Context, p1 *types.NodeDynamicInfo) error `perm:"admin"`

		UpdateNodePort func(p0 context.Context, p1 string, p2 string) error `perm:"web,admin"`

		UpdateTunserverURL func(p0 context.Context, p1 string) error `perm:"edge"`

		VerifyTokenWithLimitCount func(p0 context.Context, p1 string) (*types.JWTPayload, error) `perm:"edge,candidate"`
	}
}

func (*NodeAPIStruct) AssignTunserverURL added in v0.1.19

func (s *NodeAPIStruct) AssignTunserverURL(p0 context.Context) (*types.TunserverRsp, error)

func (*NodeAPIStruct) CalculateExitProfit added in v0.1.19

func (s *NodeAPIStruct) CalculateExitProfit(p0 context.Context, p1 string) (types.ExitProfitRsp, error)

func (*NodeAPIStruct) CandidateCodeExist added in v0.1.19

func (s *NodeAPIStruct) CandidateCodeExist(p0 context.Context, p1 string) (bool, error)

func (*NodeAPIStruct) CandidateConnect added in v0.1.10

func (s *NodeAPIStruct) CandidateConnect(p0 context.Context, p1 *types.ConnectOptions) error

func (*NodeAPIStruct) CheckIpUsage added in v0.1.14

func (s *NodeAPIStruct) CheckIpUsage(p0 context.Context, p1 string) (bool, error)

func (*NodeAPIStruct) DeactivateNode added in v0.1.11

func (s *NodeAPIStruct) DeactivateNode(p0 context.Context, p1 string, p2 int) error

func (*NodeAPIStruct) DownloadDataResult added in v0.1.13

func (s *NodeAPIStruct) DownloadDataResult(p0 context.Context, p1 string, p2 string, p3 int64) error

func (*NodeAPIStruct) EdgeConnect added in v0.1.10

func (s *NodeAPIStruct) EdgeConnect(p0 context.Context, p1 *types.ConnectOptions) error

func (*NodeAPIStruct) FreeUpDiskSpace added in v0.1.19

func (s *NodeAPIStruct) FreeUpDiskSpace(p0 context.Context, p1 string, p2 int64) (*types.FreeUpDiskResp, error)

func (*NodeAPIStruct) GenerateCandidateCode added in v0.1.19

func (s *NodeAPIStruct) GenerateCandidateCode(p0 context.Context, p1 int, p2 types.NodeType, p3 bool) ([]string, error)

func (*NodeAPIStruct) GetAssetSourceDownloadInfo added in v0.1.18

func (s *NodeAPIStruct) GetAssetSourceDownloadInfo(p0 context.Context, p1 string) (*types.AssetSourceDownloadInfoRsp, error)

func (*NodeAPIStruct) GetAssetView added in v0.1.14

func (s *NodeAPIStruct) GetAssetView(p0 context.Context, p1 string, p2 bool) (*types.AssetView, error)

func (*NodeAPIStruct) GetAssetsInBucket added in v0.1.14

func (s *NodeAPIStruct) GetAssetsInBucket(p0 context.Context, p1 string, p2 int, p3 bool) ([]string, error)

func (*NodeAPIStruct) GetCandidateCodeInfos added in v0.1.19

func (s *NodeAPIStruct) GetCandidateCodeInfos(p0 context.Context, p1 string, p2 string) ([]*types.CandidateCodeInfo, error)

func (*NodeAPIStruct) GetCandidateDownloadInfos added in v0.1.10

func (s *NodeAPIStruct) GetCandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)

func (*NodeAPIStruct) GetCandidateIPs added in v0.1.11

func (s *NodeAPIStruct) GetCandidateIPs(p0 context.Context) ([]*types.NodeIPInfo, error)

func (*NodeAPIStruct) GetCandidateNodeIP added in v0.1.11

func (s *NodeAPIStruct) GetCandidateNodeIP(p0 context.Context, p1 string) (string, error)

func (*NodeAPIStruct) GetCandidateURLsForDetectNat added in v0.1.10

func (s *NodeAPIStruct) GetCandidateURLsForDetectNat(p0 context.Context) ([]string, error)

func (*NodeAPIStruct) GetCurrentRegionInfos added in v0.1.19

func (s *NodeAPIStruct) GetCurrentRegionInfos(p0 context.Context, p1 string) (map[string]int, error)

func (*NodeAPIStruct) GetEdgeDownloadInfos added in v0.1.10

func (s *NodeAPIStruct) GetEdgeDownloadInfos(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error)

func (*NodeAPIStruct) GetEdgeExternalServiceAddress added in v0.1.10

func (s *NodeAPIStruct) GetEdgeExternalServiceAddress(p0 context.Context, p1 string, p2 string) (string, error)

func (*NodeAPIStruct) GetExternalAddress added in v0.1.10

func (s *NodeAPIStruct) GetExternalAddress(p0 context.Context) (string, error)

func (*NodeAPIStruct) GetMinioConfigFromCandidate added in v0.1.11

func (s *NodeAPIStruct) GetMinioConfigFromCandidate(p0 context.Context, p1 string) (*types.MinioConfig, error)

func (*NodeAPIStruct) GetNextFreeTime added in v0.1.19

func (s *NodeAPIStruct) GetNextFreeTime(p0 context.Context, p1 string) (int64, error)

func (*NodeAPIStruct) GetNodeInfo added in v0.1.10

func (s *NodeAPIStruct) GetNodeInfo(p0 context.Context, p1 string) (types.NodeInfo, error)

func (*NodeAPIStruct) GetNodeList added in v0.1.10

func (s *NodeAPIStruct) GetNodeList(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error)

func (*NodeAPIStruct) GetNodeOfIP added in v0.1.15

func (s *NodeAPIStruct) GetNodeOfIP(p0 context.Context, p1 string) ([]string, error)

func (*NodeAPIStruct) GetNodeOnlineState added in v0.1.13

func (s *NodeAPIStruct) GetNodeOnlineState(p0 context.Context) (bool, error)

func (*NodeAPIStruct) GetNodeToken added in v0.1.13

func (s *NodeAPIStruct) GetNodeToken(p0 context.Context, p1 string) (string, error)

func (*NodeAPIStruct) GetNodesFromRegion added in v0.1.19

func (s *NodeAPIStruct) GetNodesFromRegion(p0 context.Context, p1 string) ([]*types.NodeInfo, error)

func (*NodeAPIStruct) GetOnlineNodeCount added in v0.1.10

func (s *NodeAPIStruct) GetOnlineNodeCount(p0 context.Context, p1 types.NodeType) (int, error)

func (*NodeAPIStruct) GetProfitDetailsForNode added in v0.1.18

func (s *NodeAPIStruct) GetProfitDetailsForNode(p0 context.Context, p1 string, p2 int, p3 int, p4 []int) (*types.ListNodeProfitDetailsRsp, error)

func (*NodeAPIStruct) NatPunch added in v0.1.10

func (s *NodeAPIStruct) NatPunch(p0 context.Context, p1 *types.NatPunchReq) error

func (*NodeAPIStruct) NodeExists added in v0.1.10

func (s *NodeAPIStruct) NodeExists(p0 context.Context, p1 string) error

func (*NodeAPIStruct) NodeKeepalive added in v0.1.10

func (s *NodeAPIStruct) NodeKeepalive(p0 context.Context) (uuid.UUID, error)

func (*NodeAPIStruct) NodeKeepaliveV2 added in v0.1.11

func (s *NodeAPIStruct) NodeKeepaliveV2(p0 context.Context) (uuid.UUID, error)

func (*NodeAPIStruct) NodeLogin added in v0.1.10

func (s *NodeAPIStruct) NodeLogin(p0 context.Context, p1 string, p2 string) (string, error)

func (*NodeAPIStruct) PerformSyncData added in v0.1.18

func (s *NodeAPIStruct) PerformSyncData(p0 context.Context, p1 string) error

func (*NodeAPIStruct) ReDetermineNodeNATType added in v0.1.19

func (s *NodeAPIStruct) ReDetermineNodeNATType(p0 context.Context, p1 string) error

func (*NodeAPIStruct) RegisterCandidateNode added in v0.1.19

func (s *NodeAPIStruct) RegisterCandidateNode(p0 context.Context, p1 string, p2 string, p3 string) (*types.ActivationDetail, error)

func (*NodeAPIStruct) RegisterEdgeNode added in v0.1.11

func (s *NodeAPIStruct) RegisterEdgeNode(p0 context.Context, p1 string, p2 string) (*types.ActivationDetail, error)

func (*NodeAPIStruct) RegisterNode added in v0.1.10

func (s *NodeAPIStruct) RegisterNode(p0 context.Context, p1 string, p2 string, p3 types.NodeType) (*types.ActivationDetail, error)

func (*NodeAPIStruct) RequestActivationCodes added in v0.1.10

func (s *NodeAPIStruct) RequestActivationCodes(p0 context.Context, p1 types.NodeType, p2 int) ([]*types.NodeActivation, error)

func (*NodeAPIStruct) UndoNodeDeactivation added in v0.1.11

func (s *NodeAPIStruct) UndoNodeDeactivation(p0 context.Context, p1 string) error

func (*NodeAPIStruct) UpdateBandwidths added in v0.1.11

func (s *NodeAPIStruct) UpdateBandwidths(p0 context.Context, p1 int64, p2 int64) error

func (*NodeAPIStruct) UpdateNetFlows added in v0.1.19

func (s *NodeAPIStruct) UpdateNetFlows(p0 context.Context, p1 int64, p2 int64, p3 int64) error

func (*NodeAPIStruct) UpdateNodeDynamicInfo added in v0.1.19

func (s *NodeAPIStruct) UpdateNodeDynamicInfo(p0 context.Context, p1 *types.NodeDynamicInfo) error

func (*NodeAPIStruct) UpdateNodePort added in v0.1.10

func (s *NodeAPIStruct) UpdateNodePort(p0 context.Context, p1 string, p2 string) error

func (*NodeAPIStruct) UpdateTunserverURL added in v0.1.19

func (s *NodeAPIStruct) UpdateTunserverURL(p0 context.Context, p1 string) error

func (*NodeAPIStruct) VerifyTokenWithLimitCount added in v0.1.11

func (s *NodeAPIStruct) VerifyTokenWithLimitCount(p0 context.Context, p1 string) (*types.JWTPayload, error)

type NodeAPIStub added in v0.1.10

type NodeAPIStub struct {
}

func (*NodeAPIStub) AssignTunserverURL added in v0.1.19

func (s *NodeAPIStub) AssignTunserverURL(p0 context.Context) (*types.TunserverRsp, error)

func (*NodeAPIStub) CalculateExitProfit added in v0.1.19

func (s *NodeAPIStub) CalculateExitProfit(p0 context.Context, p1 string) (types.ExitProfitRsp, error)

func (*NodeAPIStub) CandidateCodeExist added in v0.1.19

func (s *NodeAPIStub) CandidateCodeExist(p0 context.Context, p1 string) (bool, error)

func (*NodeAPIStub) CandidateConnect added in v0.1.10

func (s *NodeAPIStub) CandidateConnect(p0 context.Context, p1 *types.ConnectOptions) error

func (*NodeAPIStub) CheckIpUsage added in v0.1.14

func (s *NodeAPIStub) CheckIpUsage(p0 context.Context, p1 string) (bool, error)

func (*NodeAPIStub) DeactivateNode added in v0.1.11

func (s *NodeAPIStub) DeactivateNode(p0 context.Context, p1 string, p2 int) error

func (*NodeAPIStub) DownloadDataResult added in v0.1.13

func (s *NodeAPIStub) DownloadDataResult(p0 context.Context, p1 string, p2 string, p3 int64) error

func (*NodeAPIStub) EdgeConnect added in v0.1.10

func (s *NodeAPIStub) EdgeConnect(p0 context.Context, p1 *types.ConnectOptions) error

func (*NodeAPIStub) FreeUpDiskSpace added in v0.1.19

func (s *NodeAPIStub) FreeUpDiskSpace(p0 context.Context, p1 string, p2 int64) (*types.FreeUpDiskResp, error)

func (*NodeAPIStub) GenerateCandidateCode added in v0.1.19

func (s *NodeAPIStub) GenerateCandidateCode(p0 context.Context, p1 int, p2 types.NodeType, p3 bool) ([]string, error)

func (*NodeAPIStub) GetAssetSourceDownloadInfo added in v0.1.18

func (s *NodeAPIStub) GetAssetSourceDownloadInfo(p0 context.Context, p1 string) (*types.AssetSourceDownloadInfoRsp, error)

func (*NodeAPIStub) GetAssetView added in v0.1.14

func (s *NodeAPIStub) GetAssetView(p0 context.Context, p1 string, p2 bool) (*types.AssetView, error)

func (*NodeAPIStub) GetAssetsInBucket added in v0.1.14

func (s *NodeAPIStub) GetAssetsInBucket(p0 context.Context, p1 string, p2 int, p3 bool) ([]string, error)

func (*NodeAPIStub) GetCandidateCodeInfos added in v0.1.19

func (s *NodeAPIStub) GetCandidateCodeInfos(p0 context.Context, p1 string, p2 string) ([]*types.CandidateCodeInfo, error)

func (*NodeAPIStub) GetCandidateDownloadInfos added in v0.1.10

func (s *NodeAPIStub) GetCandidateDownloadInfos(p0 context.Context, p1 string) ([]*types.CandidateDownloadInfo, error)

func (*NodeAPIStub) GetCandidateIPs added in v0.1.11

func (s *NodeAPIStub) GetCandidateIPs(p0 context.Context) ([]*types.NodeIPInfo, error)

func (*NodeAPIStub) GetCandidateNodeIP added in v0.1.11

func (s *NodeAPIStub) GetCandidateNodeIP(p0 context.Context, p1 string) (string, error)

func (*NodeAPIStub) GetCandidateURLsForDetectNat added in v0.1.10

func (s *NodeAPIStub) GetCandidateURLsForDetectNat(p0 context.Context) ([]string, error)

func (*NodeAPIStub) GetCurrentRegionInfos added in v0.1.19

func (s *NodeAPIStub) GetCurrentRegionInfos(p0 context.Context, p1 string) (map[string]int, error)

func (*NodeAPIStub) GetEdgeDownloadInfos added in v0.1.10

func (s *NodeAPIStub) GetEdgeDownloadInfos(p0 context.Context, p1 string) (*types.EdgeDownloadInfoList, error)

func (*NodeAPIStub) GetEdgeExternalServiceAddress added in v0.1.10

func (s *NodeAPIStub) GetEdgeExternalServiceAddress(p0 context.Context, p1 string, p2 string) (string, error)

func (*NodeAPIStub) GetExternalAddress added in v0.1.10

func (s *NodeAPIStub) GetExternalAddress(p0 context.Context) (string, error)

func (*NodeAPIStub) GetMinioConfigFromCandidate added in v0.1.11

func (s *NodeAPIStub) GetMinioConfigFromCandidate(p0 context.Context, p1 string) (*types.MinioConfig, error)

func (*NodeAPIStub) GetNextFreeTime added in v0.1.19

func (s *NodeAPIStub) GetNextFreeTime(p0 context.Context, p1 string) (int64, error)

func (*NodeAPIStub) GetNodeInfo added in v0.1.10

func (s *NodeAPIStub) GetNodeInfo(p0 context.Context, p1 string) (types.NodeInfo, error)

func (*NodeAPIStub) GetNodeList added in v0.1.10

func (s *NodeAPIStub) GetNodeList(p0 context.Context, p1 int, p2 int) (*types.ListNodesRsp, error)

func (*NodeAPIStub) GetNodeOfIP added in v0.1.15

func (s *NodeAPIStub) GetNodeOfIP(p0 context.Context, p1 string) ([]string, error)

func (*NodeAPIStub) GetNodeOnlineState added in v0.1.13

func (s *NodeAPIStub) GetNodeOnlineState(p0 context.Context) (bool, error)

func (*NodeAPIStub) GetNodeToken added in v0.1.13

func (s *NodeAPIStub) GetNodeToken(p0 context.Context, p1 string) (string, error)

func (*NodeAPIStub) GetNodesFromRegion added in v0.1.19

func (s *NodeAPIStub) GetNodesFromRegion(p0 context.Context, p1 string) ([]*types.NodeInfo, error)

func (*NodeAPIStub) GetOnlineNodeCount added in v0.1.10

func (s *NodeAPIStub) GetOnlineNodeCount(p0 context.Context, p1 types.NodeType) (int, error)

func (*NodeAPIStub) GetProfitDetailsForNode added in v0.1.18

func (s *NodeAPIStub) GetProfitDetailsForNode(p0 context.Context, p1 string, p2 int, p3 int, p4 []int) (*types.ListNodeProfitDetailsRsp, error)

func (*NodeAPIStub) NatPunch added in v0.1.10

func (s *NodeAPIStub) NatPunch(p0 context.Context, p1 *types.NatPunchReq) error

func (*NodeAPIStub) NodeExists added in v0.1.10

func (s *NodeAPIStub) NodeExists(p0 context.Context, p1 string) error

func (*NodeAPIStub) NodeKeepalive added in v0.1.10

func (s *NodeAPIStub) NodeKeepalive(p0 context.Context) (uuid.UUID, error)

func (*NodeAPIStub) NodeKeepaliveV2 added in v0.1.11

func (s *NodeAPIStub) NodeKeepaliveV2(p0 context.Context) (uuid.UUID, error)

func (*NodeAPIStub) NodeLogin added in v0.1.10

func (s *NodeAPIStub) NodeLogin(p0 context.Context, p1 string, p2 string) (string, error)

func (*NodeAPIStub) PerformSyncData added in v0.1.18

func (s *NodeAPIStub) PerformSyncData(p0 context.Context, p1 string) error

func (*NodeAPIStub) ReDetermineNodeNATType added in v0.1.19

func (s *NodeAPIStub) ReDetermineNodeNATType(p0 context.Context, p1 string) error

func (*NodeAPIStub) RegisterCandidateNode added in v0.1.19

func (s *NodeAPIStub) RegisterCandidateNode(p0 context.Context, p1 string, p2 string, p3 string) (*types.ActivationDetail, error)

func (*NodeAPIStub) RegisterEdgeNode added in v0.1.11

func (s *NodeAPIStub) RegisterEdgeNode(p0 context.Context, p1 string, p2 string) (*types.ActivationDetail, error)

func (*NodeAPIStub) RegisterNode added in v0.1.10

func (s *NodeAPIStub) RegisterNode(p0 context.Context, p1 string, p2 string, p3 types.NodeType) (*types.ActivationDetail, error)

func (*NodeAPIStub) RequestActivationCodes added in v0.1.10

func (s *NodeAPIStub) RequestActivationCodes(p0 context.Context, p1 types.NodeType, p2 int) ([]*types.NodeActivation, error)

func (*NodeAPIStub) UndoNodeDeactivation added in v0.1.11

func (s *NodeAPIStub) UndoNodeDeactivation(p0 context.Context, p1 string) error

func (*NodeAPIStub) UpdateBandwidths added in v0.1.11

func (s *NodeAPIStub) UpdateBandwidths(p0 context.Context, p1 int64, p2 int64) error

func (*NodeAPIStub) UpdateNetFlows added in v0.1.19

func (s *NodeAPIStub) UpdateNetFlows(p0 context.Context, p1 int64, p2 int64, p3 int64) error

func (*NodeAPIStub) UpdateNodeDynamicInfo added in v0.1.19

func (s *NodeAPIStub) UpdateNodeDynamicInfo(p0 context.Context, p1 *types.NodeDynamicInfo) error

func (*NodeAPIStub) UpdateNodePort added in v0.1.10

func (s *NodeAPIStub) UpdateNodePort(p0 context.Context, p1 string, p2 string) error

func (*NodeAPIStub) UpdateTunserverURL added in v0.1.19

func (s *NodeAPIStub) UpdateTunserverURL(p0 context.Context, p1 string) error

func (*NodeAPIStub) VerifyTokenWithLimitCount added in v0.1.11

func (s *NodeAPIStub) VerifyTokenWithLimitCount(p0 context.Context, p1 string) (*types.JWTPayload, error)

type ProjectAPI added in v0.1.19

type ProjectAPI interface {
	// RedeployFailedProjects retries the pull process for a list of failed assets
	RedeployFailedProjects(ctx context.Context, ids []string) error //perm:admin
	// UpdateProjectStatus
	UpdateProjectStatus(ctx context.Context, list []*types.Project) error //perm:edge,candidate
	// GetProjectsForNode
	GetProjectsForNode(ctx context.Context, nodeID string) ([]*types.ProjectReplicas, error) //perm:edge,candidate,web,locator

	DeployProject(ctx context.Context, req *types.DeployProjectReq) error                              //perm:user,web,admin
	DeleteProject(ctx context.Context, req *types.ProjectReq) error                                    //perm:user,web,admin
	UpdateProject(ctx context.Context, req *types.ProjectReq) error                                    //perm:user,web,admin
	GetProjectInfo(ctx context.Context, uuid string) (*types.ProjectInfo, error)                       //perm:user,web,admin
	GetProjectInfos(ctx context.Context, user string, limit, offset int) ([]*types.ProjectInfo, error) //perm:user,web,admin
}

ProjectAPI is an interface for project

type ProjectAPIStruct added in v0.1.19

type ProjectAPIStruct struct {
	Internal struct {
		DeleteProject func(p0 context.Context, p1 *types.ProjectReq) error `perm:"user,web,admin"`

		DeployProject func(p0 context.Context, p1 *types.DeployProjectReq) error `perm:"user,web,admin"`

		GetProjectInfo func(p0 context.Context, p1 string) (*types.ProjectInfo, error) `perm:"user,web,admin"`

		GetProjectInfos func(p0 context.Context, p1 string, p2 int, p3 int) ([]*types.ProjectInfo, error) `perm:"user,web,admin"`

		GetProjectsForNode func(p0 context.Context, p1 string) ([]*types.ProjectReplicas, error) `perm:"edge,candidate,web,locator"`

		RedeployFailedProjects func(p0 context.Context, p1 []string) error `perm:"admin"`

		UpdateProject func(p0 context.Context, p1 *types.ProjectReq) error `perm:"user,web,admin"`

		UpdateProjectStatus func(p0 context.Context, p1 []*types.Project) error `perm:"edge,candidate"`
	}
}

func (*ProjectAPIStruct) DeleteProject added in v0.1.19

func (s *ProjectAPIStruct) DeleteProject(p0 context.Context, p1 *types.ProjectReq) error

func (*ProjectAPIStruct) DeployProject added in v0.1.19

func (s *ProjectAPIStruct) DeployProject(p0 context.Context, p1 *types.DeployProjectReq) error

func (*ProjectAPIStruct) GetProjectInfo added in v0.1.19

func (s *ProjectAPIStruct) GetProjectInfo(p0 context.Context, p1 string) (*types.ProjectInfo, error)

func (*ProjectAPIStruct) GetProjectInfos added in v0.1.19

func (s *ProjectAPIStruct) GetProjectInfos(p0 context.Context, p1 string, p2 int, p3 int) ([]*types.ProjectInfo, error)

func (*ProjectAPIStruct) GetProjectsForNode added in v0.1.19

func (s *ProjectAPIStruct) GetProjectsForNode(p0 context.Context, p1 string) ([]*types.ProjectReplicas, error)

func (*ProjectAPIStruct) RedeployFailedProjects added in v0.1.19

func (s *ProjectAPIStruct) RedeployFailedProjects(p0 context.Context, p1 []string) error

func (*ProjectAPIStruct) UpdateProject added in v0.1.19

func (s *ProjectAPIStruct) UpdateProject(p0 context.Context, p1 *types.ProjectReq) error

func (*ProjectAPIStruct) UpdateProjectStatus added in v0.1.19

func (s *ProjectAPIStruct) UpdateProjectStatus(p0 context.Context, p1 []*types.Project) error

type ProjectAPIStub added in v0.1.19

type ProjectAPIStub struct {
}

func (*ProjectAPIStub) DeleteProject added in v0.1.19

func (s *ProjectAPIStub) DeleteProject(p0 context.Context, p1 *types.ProjectReq) error

func (*ProjectAPIStub) DeployProject added in v0.1.19

func (s *ProjectAPIStub) DeployProject(p0 context.Context, p1 *types.DeployProjectReq) error

func (*ProjectAPIStub) GetProjectInfo added in v0.1.19

func (s *ProjectAPIStub) GetProjectInfo(p0 context.Context, p1 string) (*types.ProjectInfo, error)

func (*ProjectAPIStub) GetProjectInfos added in v0.1.19

func (s *ProjectAPIStub) GetProjectInfos(p0 context.Context, p1 string, p2 int, p3 int) ([]*types.ProjectInfo, error)

func (*ProjectAPIStub) GetProjectsForNode added in v0.1.19

func (s *ProjectAPIStub) GetProjectsForNode(p0 context.Context, p1 string) ([]*types.ProjectReplicas, error)

func (*ProjectAPIStub) RedeployFailedProjects added in v0.1.19

func (s *ProjectAPIStub) RedeployFailedProjects(p0 context.Context, p1 []string) error

func (*ProjectAPIStub) UpdateProject added in v0.1.19

func (s *ProjectAPIStub) UpdateProject(p0 context.Context, p1 *types.ProjectReq) error

func (*ProjectAPIStub) UpdateProjectStatus added in v0.1.19

func (s *ProjectAPIStub) UpdateProjectStatus(p0 context.Context, p1 []*types.Project) error

type Scheduler

type Scheduler interface {
	Common
	AssetAPI
	NodeAPI
	UserAPI
	ProjectAPI

	// NodeValidationResult processes the validation result for a node
	NodeValidationResult(ctx context.Context, r io.Reader, sign string) error //perm:edge,candidate
	// GetValidationResults retrieves a list of validation results with pagination using the specified node, page number, and page size
	GetValidationResults(ctx context.Context, nodeID string, limit, offset int) (*types.ListValidationResultRsp, error) //perm:web,admin
	// SubmitWorkloadReport
	SubmitWorkloadReport(ctx context.Context, workload *types.WorkloadRecordReq) error //perm:default
	// SubmitWorkloadReportV2
	SubmitWorkloadReportV2(ctx context.Context, workload *types.WorkloadRecordReq) error //perm:default
	// GetWorkloadRecords retrieves a list of workload results with pagination using the specified limit, offset, and node
	GetWorkloadRecords(ctx context.Context, nodeID string, limit, offset int) (*types.ListWorkloadRecordRsp, error) //perm:web,admin
	// GetWorkloadRecord retrieves a list of workload results with pagination using the specified limit, offset, and node
	GetWorkloadRecord(ctx context.Context, id string) (*types.WorkloadRecord, error) //perm:web,admin
	// GetWorkloadRecord retrieves result with tokenID
	// GetWorkloadRecord(ctx context.Context, tokenID string) (*types.WorkloadRecord, error) //perm:web,admin
	// GetRetrieveEventRecords retrieves a list of retrieve event with pagination using the specified limit, offset, and node
	GetRetrieveEventRecords(ctx context.Context, nodeID string, limit, offset int) (*types.ListRetrieveEventRsp, error) //perm:web,admin

	// Server-related methods
	// GetSchedulerPublicKey retrieves the scheduler's public key in PEM format
	GetSchedulerPublicKey(ctx context.Context) (string, error) //perm:edge,candidate
	// GetNodePublicKey retrieves the node's public key in PEM format
	GetNodePublicKey(ctx context.Context, nodeID string) (string, error) //perm:web,admin
	// TriggerElection starts a new election process
	TriggerElection(ctx context.Context) error //perm:admin
	// GetEdgeUpdateConfigs retrieves edge update configurations for different node types
	GetEdgeUpdateConfigs(ctx context.Context) (map[int]*EdgeUpdateConfig, error) //perm:edge
	// SetEdgeUpdateConfig updates the edge update configuration for a specific node type with the provided information
	SetEdgeUpdateConfig(ctx context.Context, info *EdgeUpdateConfig) error //perm:admin
	// DeleteEdgeUpdateConfig deletes the edge update configuration for the specified node type
	DeleteEdgeUpdateConfig(ctx context.Context, nodeType int) error //perm:admin
	// GetValidationInfo get information related to validation and election
	GetValidationInfo(ctx context.Context) (*types.ValidationInfo, error) //perm:web,admin
	// ElectValidators
	ElectValidators(ctx context.Context, nodeIDs []string, cleanOld bool) error //perm:admin
}

Scheduler is an interface for scheduler

func PermissionedSchedulerAPI

func PermissionedSchedulerAPI(a Scheduler) Scheduler

type SchedulerStruct

type SchedulerStruct struct {
	CommonStruct

	AssetAPIStruct

	NodeAPIStruct

	UserAPIStruct

	ProjectAPIStruct

	Internal struct {
		DeleteEdgeUpdateConfig func(p0 context.Context, p1 int) error `perm:"admin"`

		ElectValidators func(p0 context.Context, p1 []string, p2 bool) error `perm:"admin"`

		GetEdgeUpdateConfigs func(p0 context.Context) (map[int]*EdgeUpdateConfig, error) `perm:"edge"`

		GetNodePublicKey func(p0 context.Context, p1 string) (string, error) `perm:"web,admin"`

		GetRetrieveEventRecords func(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListRetrieveEventRsp, error) `perm:"web,admin"`

		GetSchedulerPublicKey func(p0 context.Context) (string, error) `perm:"edge,candidate"`

		GetValidationInfo func(p0 context.Context) (*types.ValidationInfo, error) `perm:"web,admin"`

		GetValidationResults func(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListValidationResultRsp, error) `perm:"web,admin"`

		GetWorkloadRecord func(p0 context.Context, p1 string) (*types.WorkloadRecord, error) `perm:"web,admin"`

		GetWorkloadRecords func(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListWorkloadRecordRsp, error) `perm:"web,admin"`

		NodeValidationResult func(p0 context.Context, p1 io.Reader, p2 string) error `perm:"edge,candidate"`

		SetEdgeUpdateConfig func(p0 context.Context, p1 *EdgeUpdateConfig) error `perm:"admin"`

		SubmitWorkloadReport func(p0 context.Context, p1 *types.WorkloadRecordReq) error `perm:"default"`

		SubmitWorkloadReportV2 func(p0 context.Context, p1 *types.WorkloadRecordReq) error `perm:"default"`

		TriggerElection func(p0 context.Context) error `perm:"admin"`
	}
}

func (*SchedulerStruct) DeleteEdgeUpdateConfig

func (s *SchedulerStruct) DeleteEdgeUpdateConfig(p0 context.Context, p1 int) error

func (*SchedulerStruct) ElectValidators added in v0.1.13

func (s *SchedulerStruct) ElectValidators(p0 context.Context, p1 []string, p2 bool) error

func (*SchedulerStruct) GetEdgeUpdateConfigs

func (s *SchedulerStruct) GetEdgeUpdateConfigs(p0 context.Context) (map[int]*EdgeUpdateConfig, error)

func (*SchedulerStruct) GetNodePublicKey added in v0.1.11

func (s *SchedulerStruct) GetNodePublicKey(p0 context.Context, p1 string) (string, error)

func (*SchedulerStruct) GetRetrieveEventRecords added in v0.1.11

func (s *SchedulerStruct) GetRetrieveEventRecords(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListRetrieveEventRsp, error)

func (*SchedulerStruct) GetSchedulerPublicKey

func (s *SchedulerStruct) GetSchedulerPublicKey(p0 context.Context) (string, error)

func (*SchedulerStruct) GetValidationInfo

func (s *SchedulerStruct) GetValidationInfo(p0 context.Context) (*types.ValidationInfo, error)

func (*SchedulerStruct) GetValidationResults

func (s *SchedulerStruct) GetValidationResults(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListValidationResultRsp, error)

func (*SchedulerStruct) GetWorkloadRecord added in v0.1.10

func (s *SchedulerStruct) GetWorkloadRecord(p0 context.Context, p1 string) (*types.WorkloadRecord, error)

func (*SchedulerStruct) GetWorkloadRecords added in v0.1.10

func (s *SchedulerStruct) GetWorkloadRecords(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListWorkloadRecordRsp, error)

func (*SchedulerStruct) NodeValidationResult

func (s *SchedulerStruct) NodeValidationResult(p0 context.Context, p1 io.Reader, p2 string) error

func (*SchedulerStruct) SetEdgeUpdateConfig

func (s *SchedulerStruct) SetEdgeUpdateConfig(p0 context.Context, p1 *EdgeUpdateConfig) error

func (*SchedulerStruct) SubmitWorkloadReport added in v0.1.18

func (s *SchedulerStruct) SubmitWorkloadReport(p0 context.Context, p1 *types.WorkloadRecordReq) error

func (*SchedulerStruct) SubmitWorkloadReportV2 added in v0.1.18

func (s *SchedulerStruct) SubmitWorkloadReportV2(p0 context.Context, p1 *types.WorkloadRecordReq) error

func (*SchedulerStruct) TriggerElection

func (s *SchedulerStruct) TriggerElection(p0 context.Context) error

type SchedulerStub

func (*SchedulerStub) DeleteEdgeUpdateConfig

func (s *SchedulerStub) DeleteEdgeUpdateConfig(p0 context.Context, p1 int) error

func (*SchedulerStub) ElectValidators added in v0.1.13

func (s *SchedulerStub) ElectValidators(p0 context.Context, p1 []string, p2 bool) error

func (*SchedulerStub) GetEdgeUpdateConfigs

func (s *SchedulerStub) GetEdgeUpdateConfigs(p0 context.Context) (map[int]*EdgeUpdateConfig, error)

func (*SchedulerStub) GetNodePublicKey added in v0.1.11

func (s *SchedulerStub) GetNodePublicKey(p0 context.Context, p1 string) (string, error)

func (*SchedulerStub) GetRetrieveEventRecords added in v0.1.11

func (s *SchedulerStub) GetRetrieveEventRecords(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListRetrieveEventRsp, error)

func (*SchedulerStub) GetSchedulerPublicKey

func (s *SchedulerStub) GetSchedulerPublicKey(p0 context.Context) (string, error)

func (*SchedulerStub) GetValidationInfo

func (s *SchedulerStub) GetValidationInfo(p0 context.Context) (*types.ValidationInfo, error)

func (*SchedulerStub) GetValidationResults

func (s *SchedulerStub) GetValidationResults(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListValidationResultRsp, error)

func (*SchedulerStub) GetWorkloadRecord added in v0.1.10

func (s *SchedulerStub) GetWorkloadRecord(p0 context.Context, p1 string) (*types.WorkloadRecord, error)

func (*SchedulerStub) GetWorkloadRecords added in v0.1.10

func (s *SchedulerStub) GetWorkloadRecords(p0 context.Context, p1 string, p2 int, p3 int) (*types.ListWorkloadRecordRsp, error)

func (*SchedulerStub) NodeValidationResult

func (s *SchedulerStub) NodeValidationResult(p0 context.Context, p1 io.Reader, p2 string) error

func (*SchedulerStub) SetEdgeUpdateConfig

func (s *SchedulerStub) SetEdgeUpdateConfig(p0 context.Context, p1 *EdgeUpdateConfig) error

func (*SchedulerStub) SubmitWorkloadReport added in v0.1.18

func (s *SchedulerStub) SubmitWorkloadReport(p0 context.Context, p1 *types.WorkloadRecordReq) error

func (*SchedulerStub) SubmitWorkloadReportV2 added in v0.1.18

func (s *SchedulerStub) SubmitWorkloadReportV2(p0 context.Context, p1 *types.WorkloadRecordReq) error

func (*SchedulerStub) TriggerElection

func (s *SchedulerStub) TriggerElection(p0 context.Context) error

type TCPMsgType

type TCPMsgType int

TODO: new tcp package, add these to tcp package candidate use tcp server to validate edge

const (
	TCPMsgTypeNodeID TCPMsgType = iota + 1
	TCPMsgTypeBlock
	TCPMsgTypeCancel
)

type UserAPI added in v0.1.10

type UserAPI interface {
	// UserAPIKeysExists checks if the user api key exists.
	UserAPIKeysExists(ctx context.Context, userID string) error //perm:web

	// User-related methods
	// AllocateStorage allocates storage space.
	AllocateStorage(ctx context.Context, userID string) (*types.UserInfo, error) //perm:web,admin
	// GetUserInfo get user info
	GetUserInfo(ctx context.Context, userID string) (*types.UserInfo, error) // perm:web,admin
	// GetUserInfos get user infos
	GetUserInfos(ctx context.Context, userIDs []string) (map[string]*types.UserInfo, error) // perm:web,admin
	// CreateAPIKey creates a key for the client API.
	CreateAPIKey(ctx context.Context, userID, keyName string, acl []types.UserAccessControl) (string, error) //perm:web,admin
	// GetAPIKeys get all api key for user.
	GetAPIKeys(ctx context.Context, userID string) (map[string]types.UserAPIKeysInfo, error) //perm:web,admin
	// DeleteAPIKey delete a api key for user
	DeleteAPIKey(ctx context.Context, userID, name string) error //perm:web,admin
	// UserAssetDownloadResult After a user downloads a resource from a candidate node, the candidate node reports the download result
	UserAssetDownloadResult(ctx context.Context, userID, cid string, totalTraffic, peakBandwidth int64) error //perm:candidate
	// SetUserVIP set user vip state
	SetUserVIP(ctx context.Context, userID string, enableVIP bool) error //perm:admin
	// GetUserAccessToken get access token for user
	GetUserAccessToken(ctx context.Context, userID string) (string, error) //perm:web,admin
	// GetUserStorageStats
	GetUserStorageStats(ctx context.Context, userID string) (*types.StorageStats, error) //perm:web,admin
	// GetUsersStorageStatistics
	ListUserStorageStats(ctx context.Context, limit, offset int) (*types.ListStorageStatsRsp, error) //perm:web,admin

	// CreateAssetGroup create Asset group
	CreateAssetGroup(ctx context.Context, userID, name string, parent int) (*types.AssetGroup, error) //perm:user,web,admin
	// ListAssetGroup list Asset group
	ListAssetGroup(ctx context.Context, userID string, parent, limit, offset int) (*types.ListAssetGroupRsp, error) //perm:user,web,admin
	// ListAssetSummary list Asset and group
	ListAssetSummary(ctx context.Context, userID string, parent, limit, offset int) (*types.ListAssetSummaryRsp, error) //perm:user,web,admin
	// DeleteAssetGroup delete Asset group
	DeleteAssetGroup(ctx context.Context, userID string, gid int) error //perm:user,web,admin
	// RenameAssetGroup rename group
	RenameAssetGroup(ctx context.Context, userID, newName string, groupID int) error //perm:user,web,admin
	// MoveAssetToGroup move a asset to group
	MoveAssetToGroup(ctx context.Context, userID, cid string, groupID int) error //perm:user,web,admin
	// MoveAssetGroup move a asset group
	MoveAssetGroup(ctx context.Context, userID string, groupID, targetGroupID int) error //perm:user,web,admin
	// GetAPPKeyPermissions get the permissions of user app key
	GetAPPKeyPermissions(ctx context.Context, userID, keyName string) ([]string, error) //perm:user,web,admin
	// GetNodeUploadInfo
	GetNodeUploadInfo(ctx context.Context, userID string) (*types.UploadInfo, error) //perm:user,web,admin
}

UserAPI is an interface for user

type UserAPIStruct added in v0.1.10

type UserAPIStruct struct {
	Internal struct {
		AllocateStorage func(p0 context.Context, p1 string) (*types.UserInfo, error) `perm:"web,admin"`

		CreateAPIKey func(p0 context.Context, p1 string, p2 string, p3 []types.UserAccessControl) (string, error) `perm:"web,admin"`

		CreateAssetGroup func(p0 context.Context, p1 string, p2 string, p3 int) (*types.AssetGroup, error) `perm:"user,web,admin"`

		DeleteAPIKey func(p0 context.Context, p1 string, p2 string) error `perm:"web,admin"`

		DeleteAssetGroup func(p0 context.Context, p1 string, p2 int) error `perm:"user,web,admin"`

		GetAPIKeys func(p0 context.Context, p1 string) (map[string]types.UserAPIKeysInfo, error) `perm:"web,admin"`

		GetAPPKeyPermissions func(p0 context.Context, p1 string, p2 string) ([]string, error) `perm:"user,web,admin"`

		GetNodeUploadInfo func(p0 context.Context, p1 string) (*types.UploadInfo, error) `perm:"user,web,admin"`

		GetUserAccessToken func(p0 context.Context, p1 string) (string, error) `perm:"web,admin"`

		GetUserInfo func(p0 context.Context, p1 string) (*types.UserInfo, error) `perm:"web,admin"`

		GetUserInfos func(p0 context.Context, p1 []string) (map[string]*types.UserInfo, error) `perm:"web,admin"`

		GetUserStorageStats func(p0 context.Context, p1 string) (*types.StorageStats, error) `perm:"web,admin"`

		ListAssetGroup func(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetGroupRsp, error) `perm:"user,web,admin"`

		ListAssetSummary func(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetSummaryRsp, error) `perm:"user,web,admin"`

		ListUserStorageStats func(p0 context.Context, p1 int, p2 int) (*types.ListStorageStatsRsp, error) `perm:"web,admin"`

		MoveAssetGroup func(p0 context.Context, p1 string, p2 int, p3 int) error `perm:"user,web,admin"`

		MoveAssetToGroup func(p0 context.Context, p1 string, p2 string, p3 int) error `perm:"user,web,admin"`

		RenameAssetGroup func(p0 context.Context, p1 string, p2 string, p3 int) error `perm:"user,web,admin"`

		SetUserVIP func(p0 context.Context, p1 string, p2 bool) error `perm:"admin"`

		UserAPIKeysExists func(p0 context.Context, p1 string) error `perm:"web"`

		UserAssetDownloadResult func(p0 context.Context, p1 string, p2 string, p3 int64, p4 int64) error `perm:"candidate"`
	}
}

func (*UserAPIStruct) AllocateStorage added in v0.1.10

func (s *UserAPIStruct) AllocateStorage(p0 context.Context, p1 string) (*types.UserInfo, error)

func (*UserAPIStruct) CreateAPIKey added in v0.1.10

func (s *UserAPIStruct) CreateAPIKey(p0 context.Context, p1 string, p2 string, p3 []types.UserAccessControl) (string, error)

func (*UserAPIStruct) CreateAssetGroup added in v0.1.11

func (s *UserAPIStruct) CreateAssetGroup(p0 context.Context, p1 string, p2 string, p3 int) (*types.AssetGroup, error)

func (*UserAPIStruct) DeleteAPIKey added in v0.1.10

func (s *UserAPIStruct) DeleteAPIKey(p0 context.Context, p1 string, p2 string) error

func (*UserAPIStruct) DeleteAssetGroup added in v0.1.11

func (s *UserAPIStruct) DeleteAssetGroup(p0 context.Context, p1 string, p2 int) error

func (*UserAPIStruct) GetAPIKeys added in v0.1.10

func (s *UserAPIStruct) GetAPIKeys(p0 context.Context, p1 string) (map[string]types.UserAPIKeysInfo, error)

func (*UserAPIStruct) GetAPPKeyPermissions added in v0.1.11

func (s *UserAPIStruct) GetAPPKeyPermissions(p0 context.Context, p1 string, p2 string) ([]string, error)

func (*UserAPIStruct) GetNodeUploadInfo added in v0.1.19

func (s *UserAPIStruct) GetNodeUploadInfo(p0 context.Context, p1 string) (*types.UploadInfo, error)

func (*UserAPIStruct) GetUserAccessToken added in v0.1.11

func (s *UserAPIStruct) GetUserAccessToken(p0 context.Context, p1 string) (string, error)

func (*UserAPIStruct) GetUserInfo added in v0.1.11

func (s *UserAPIStruct) GetUserInfo(p0 context.Context, p1 string) (*types.UserInfo, error)

func (*UserAPIStruct) GetUserInfos added in v0.1.11

func (s *UserAPIStruct) GetUserInfos(p0 context.Context, p1 []string) (map[string]*types.UserInfo, error)

func (*UserAPIStruct) GetUserStorageStats added in v0.1.11

func (s *UserAPIStruct) GetUserStorageStats(p0 context.Context, p1 string) (*types.StorageStats, error)

func (*UserAPIStruct) ListAssetGroup added in v0.1.11

func (s *UserAPIStruct) ListAssetGroup(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetGroupRsp, error)

func (*UserAPIStruct) ListAssetSummary added in v0.1.11

func (s *UserAPIStruct) ListAssetSummary(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetSummaryRsp, error)

func (*UserAPIStruct) ListUserStorageStats added in v0.1.11

func (s *UserAPIStruct) ListUserStorageStats(p0 context.Context, p1 int, p2 int) (*types.ListStorageStatsRsp, error)

func (*UserAPIStruct) MoveAssetGroup added in v0.1.11

func (s *UserAPIStruct) MoveAssetGroup(p0 context.Context, p1 string, p2 int, p3 int) error

func (*UserAPIStruct) MoveAssetToGroup added in v0.1.11

func (s *UserAPIStruct) MoveAssetToGroup(p0 context.Context, p1 string, p2 string, p3 int) error

func (*UserAPIStruct) RenameAssetGroup added in v0.1.11

func (s *UserAPIStruct) RenameAssetGroup(p0 context.Context, p1 string, p2 string, p3 int) error

func (*UserAPIStruct) SetUserVIP added in v0.1.11

func (s *UserAPIStruct) SetUserVIP(p0 context.Context, p1 string, p2 bool) error

func (*UserAPIStruct) UserAPIKeysExists added in v0.1.10

func (s *UserAPIStruct) UserAPIKeysExists(p0 context.Context, p1 string) error

func (*UserAPIStruct) UserAssetDownloadResult added in v0.1.11

func (s *UserAPIStruct) UserAssetDownloadResult(p0 context.Context, p1 string, p2 string, p3 int64, p4 int64) error

type UserAPIStub added in v0.1.10

type UserAPIStub struct {
}

func (*UserAPIStub) AllocateStorage added in v0.1.10

func (s *UserAPIStub) AllocateStorage(p0 context.Context, p1 string) (*types.UserInfo, error)

func (*UserAPIStub) CreateAPIKey added in v0.1.10

func (s *UserAPIStub) CreateAPIKey(p0 context.Context, p1 string, p2 string, p3 []types.UserAccessControl) (string, error)

func (*UserAPIStub) CreateAssetGroup added in v0.1.11

func (s *UserAPIStub) CreateAssetGroup(p0 context.Context, p1 string, p2 string, p3 int) (*types.AssetGroup, error)

func (*UserAPIStub) DeleteAPIKey added in v0.1.10

func (s *UserAPIStub) DeleteAPIKey(p0 context.Context, p1 string, p2 string) error

func (*UserAPIStub) DeleteAssetGroup added in v0.1.11

func (s *UserAPIStub) DeleteAssetGroup(p0 context.Context, p1 string, p2 int) error

func (*UserAPIStub) GetAPIKeys added in v0.1.10

func (s *UserAPIStub) GetAPIKeys(p0 context.Context, p1 string) (map[string]types.UserAPIKeysInfo, error)

func (*UserAPIStub) GetAPPKeyPermissions added in v0.1.11

func (s *UserAPIStub) GetAPPKeyPermissions(p0 context.Context, p1 string, p2 string) ([]string, error)

func (*UserAPIStub) GetNodeUploadInfo added in v0.1.19

func (s *UserAPIStub) GetNodeUploadInfo(p0 context.Context, p1 string) (*types.UploadInfo, error)

func (*UserAPIStub) GetUserAccessToken added in v0.1.11

func (s *UserAPIStub) GetUserAccessToken(p0 context.Context, p1 string) (string, error)

func (*UserAPIStub) GetUserInfo added in v0.1.11

func (s *UserAPIStub) GetUserInfo(p0 context.Context, p1 string) (*types.UserInfo, error)

func (*UserAPIStub) GetUserInfos added in v0.1.11

func (s *UserAPIStub) GetUserInfos(p0 context.Context, p1 []string) (map[string]*types.UserInfo, error)

func (*UserAPIStub) GetUserStorageStats added in v0.1.11

func (s *UserAPIStub) GetUserStorageStats(p0 context.Context, p1 string) (*types.StorageStats, error)

func (*UserAPIStub) ListAssetGroup added in v0.1.11

func (s *UserAPIStub) ListAssetGroup(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetGroupRsp, error)

func (*UserAPIStub) ListAssetSummary added in v0.1.11

func (s *UserAPIStub) ListAssetSummary(p0 context.Context, p1 string, p2 int, p3 int, p4 int) (*types.ListAssetSummaryRsp, error)

func (*UserAPIStub) ListUserStorageStats added in v0.1.11

func (s *UserAPIStub) ListUserStorageStats(p0 context.Context, p1 int, p2 int) (*types.ListStorageStatsRsp, error)

func (*UserAPIStub) MoveAssetGroup added in v0.1.11

func (s *UserAPIStub) MoveAssetGroup(p0 context.Context, p1 string, p2 int, p3 int) error

func (*UserAPIStub) MoveAssetToGroup added in v0.1.11

func (s *UserAPIStub) MoveAssetToGroup(p0 context.Context, p1 string, p2 string, p3 int) error

func (*UserAPIStub) RenameAssetGroup added in v0.1.11

func (s *UserAPIStub) RenameAssetGroup(p0 context.Context, p1 string, p2 string, p3 int) error

func (*UserAPIStub) SetUserVIP added in v0.1.11

func (s *UserAPIStub) SetUserVIP(p0 context.Context, p1 string, p2 bool) error

func (*UserAPIStub) UserAPIKeysExists added in v0.1.10

func (s *UserAPIStub) UserAPIKeysExists(p0 context.Context, p1 string) error

func (*UserAPIStub) UserAssetDownloadResult added in v0.1.11

func (s *UserAPIStub) UserAssetDownloadResult(p0 context.Context, p1 string, p2 string, p3 int64, p4 int64) error

type ValidateReq

type ValidateReq struct {
	// TCPSrvAddr Candidate tcp server address
	TCPSrvAddr string
	RandomSeed int64
	Duration   int
	WSURL      string
}

ValidateReq represents the request parameters for validation

type Validation

type Validation interface {
	// ExecuteValidation check node asset and bandwidth
	ExecuteValidation(ctx context.Context, req *ValidateReq) error //perm:admin
}

Validation is an interface for validate-related operations

type ValidationResult

type ValidationResult struct {
	Validator string
	CID       string
	// verification canceled due to download
	IsCancel  bool
	NodeID    string
	Bandwidth float64
	// seconds duration
	CostTime  int64
	IsTimeout bool

	// Msg string
	// if IsCancel is true, Token is valid
	// use for verify edge providing download
	Token string
	// key is random index
	// values is cid
	Cids []string
	// The number of random for validator
	RandomCount int
}

ValidationResult node Validation result

type ValidationStruct

type ValidationStruct struct {
	Internal struct {
		ExecuteValidation func(p0 context.Context, p1 *ValidateReq) error `perm:"admin"`
	}
}

func (*ValidationStruct) ExecuteValidation

func (s *ValidationStruct) ExecuteValidation(p0 context.Context, p1 *ValidateReq) error

type ValidationStub

type ValidationStub struct {
}

func (*ValidationStub) ExecuteValidation

func (s *ValidationStub) ExecuteValidation(p0 context.Context, p1 *ValidateReq) error

type Version

type Version uint32

func VersionForType

func VersionForType(nodeType types.NodeType) (Version, error)

func (Version) EqMajorMinor

func (ve Version) EqMajorMinor(v2 Version) bool

func (Version) Ints

func (ve Version) Ints() (uint32, uint32, uint32)

Ints returns (major, minor, patch) versions

func (Version) String

func (ve Version) String() string

type Workerd added in v0.1.19

type Workerd interface {
	// Deploy deploy and run a project on workerd
	Deploy(ctx context.Context, project *types.Project) error //perm:admin
	// Update update the project on workerd
	Update(ctx context.Context, project *types.Project) error //perm:admin
	// Delete remove the project on workerd
	Delete(ctx context.Context, projectID string) error //perm:admin
	// Query projects
	Query(ctx context.Context, ids []string) ([]*types.Project, error) //perm:admin
}

type WorkerdStruct added in v0.1.19

type WorkerdStruct struct {
	Internal struct {
		Delete func(p0 context.Context, p1 string) error `perm:"admin"`

		Deploy func(p0 context.Context, p1 *types.Project) error `perm:"admin"`

		Query func(p0 context.Context, p1 []string) ([]*types.Project, error) `perm:"admin"`

		Update func(p0 context.Context, p1 *types.Project) error `perm:"admin"`
	}
}

func (*WorkerdStruct) Delete added in v0.1.19

func (s *WorkerdStruct) Delete(p0 context.Context, p1 string) error

func (*WorkerdStruct) Deploy added in v0.1.19

func (s *WorkerdStruct) Deploy(p0 context.Context, p1 *types.Project) error

func (*WorkerdStruct) Query added in v0.1.19

func (s *WorkerdStruct) Query(p0 context.Context, p1 []string) ([]*types.Project, error)

func (*WorkerdStruct) Update added in v0.1.19

func (s *WorkerdStruct) Update(p0 context.Context, p1 *types.Project) error

type WorkerdStub added in v0.1.19

type WorkerdStub struct {
}

func (*WorkerdStub) Delete added in v0.1.19

func (s *WorkerdStub) Delete(p0 context.Context, p1 string) error

func (*WorkerdStub) Deploy added in v0.1.19

func (s *WorkerdStub) Deploy(p0 context.Context, p1 *types.Project) error

func (*WorkerdStub) Query added in v0.1.19

func (s *WorkerdStub) Query(p0 context.Context, p1 []string) ([]*types.Project, error)

func (*WorkerdStub) Update added in v0.1.19

func (s *WorkerdStub) Update(p0 context.Context, p1 *types.Project) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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