Documentation
¶
Index ¶
- Variables
- type Capaciter
- type Container
- type ContainerCapacity
- type ContainerMount
- type DiskTypeEnum
- type Gateway4To6
- type GatewayDelegate
- type GatewayProxy
- type GatewayReverseProxy
- type GatewaySubdomain
- type K8S
- type K8SCustomSize
- type Logs
- type LogsRedis
- type Network
- type NetworkConnection
- type NetworkNetResource
- type NetworkResource
- type NextActionEnum
- type PublicIP
- type RSU
- type Reservation
- type ReservationData
- type ReservationInfo
- func (i *ReservationInfo) GetCustomerSignature() string
- func (i *ReservationInfo) GetCustomerTid() int64
- func (i *ReservationInfo) GetDescription() string
- func (i *ReservationInfo) GetEpoch() schema.Date
- func (i *ReservationInfo) GetID() schema.ID
- func (i *ReservationInfo) GetJson() string
- func (i *ReservationInfo) GetMetadata() string
- func (i *ReservationInfo) GetNextAction() NextActionEnum
- func (i *ReservationInfo) GetNodeID() string
- func (i *ReservationInfo) GetPoolID() int64
- func (i *ReservationInfo) GetReference() string
- func (i *ReservationInfo) GetResult() Result
- func (i *ReservationInfo) GetSignatureFarmer() SigningSignature
- func (i *ReservationInfo) GetSignaturesDelete() []SigningSignature
- func (i *ReservationInfo) GetSignaturesProvision() []SigningSignature
- func (i *ReservationInfo) GetSigningRequestDelete() SigningRequest
- func (i *ReservationInfo) GetSigningRequestProvision() SigningRequest
- func (i *ReservationInfo) GetVersion() int
- func (i *ReservationInfo) GetWorkloadType() WorkloadTypeEnum
- func (i *ReservationInfo) PushSignatureDelete(signature SigningSignature)
- func (i *ReservationInfo) PushSignatureProvision(signature SigningSignature)
- func (i *ReservationInfo) SetCustomerSignature(signature string)
- func (i *ReservationInfo) SetCustomerTid(tid int64)
- func (i *ReservationInfo) SetDescription(description string)
- func (i *ReservationInfo) SetEpoch(date schema.Date)
- func (i *ReservationInfo) SetID(id schema.ID)
- func (i *ReservationInfo) SetJson(json string)
- func (i *ReservationInfo) SetMetadata(metadata string)
- func (i *ReservationInfo) SetNextAction(next NextActionEnum)
- func (i *ReservationInfo) SetPoolID(poolID int64)
- func (i *ReservationInfo) SetReference(ref string)
- func (i *ReservationInfo) SetResult(result Result)
- func (i *ReservationInfo) SetSignatureFarmer(signature SigningSignature)
- func (i *ReservationInfo) SetSignaturesDelete(signatures []SigningSignature)
- func (i *ReservationInfo) SetSignaturesProvision(signatures []SigningSignature)
- func (i *ReservationInfo) SetSigningRequestDelete(request SigningRequest)
- func (i *ReservationInfo) SetSigningRequestProvision(request SigningRequest)
- func (i *ReservationInfo) SetVersion(version int)
- func (i *ReservationInfo) SignatureChallenge() ([]byte, error)
- func (i *ReservationInfo) UniqueWorkloadID() string
- func (i *ReservationInfo) WorkloadID() int64
- type ReservationWorkload
- type Result
- type ResultStateEnum
- type SigningRequest
- type SigningSignature
- type Stats
- type StatsAggregator
- type StatsRedis
- type VMCustomSize
- type VirtualMachine
- type Volume
- type VolumeTypeEnum
- type WireguardPeer
- type WorkloadTypeEnum
- type Workloader
- type ZDB
- type ZDBModeEnum
Constants ¶
This section is empty.
Variables ¶
View Source
var WorkloadTypes = map[WorkloadTypeEnum]string{ WorkloadTypeZDB: "zdb", WorkloadTypeContainer: "container", WorkloadTypeVolume: "volume", WorkloadTypeNetwork: "network", WorkloadTypeKubernetes: "kubernetes", WorkloadTypeProxy: "proxy", WorkloadTypeReverseProxy: "reverse_proxy", WorkloadTypeSubDomain: "subdomain", WorkloadTypeDomainDelegate: "domain_delegate", WorkloadTypeGateway4To6: "gateway4to6", WorkloadTypeNetworkResource: "network_resource", WorkloadTypePublicIP: "public_ip", WorkloadTypeVirtualMachine: "virtual_machine", }
WorkloadTypes is a map of all the supported workload type
Functions ¶
This section is empty.
Types ¶
type Container ¶
type Container struct {
ReservationInfo `bson:",inline"`
Flist string `bson:"flist" json:"flist"`
HubUrl string `bson:"hub_url" json:"hub_url"`
Environment map[string]string `bson:"environment" json:"environment"`
SecretEnvironment map[string]string `bson:"secret_environment" json:"secret_environment"`
Entrypoint string `bson:"entrypoint" json:"entrypoint"`
Interactive bool `bson:"interactive" json:"interactive"`
Volumes []ContainerMount `bson:"volumes" json:"volumes"`
NetworkConnection []NetworkConnection `bson:"network_connection" json:"network_connection"`
Stats []Stats `bson:"stats" json:"stats"`
Logs []Logs `bson:"logs" json:"logs"`
Capacity ContainerCapacity `bson:"capcity" json:"capacity"`
}
func (*Container) SignatureChallenge ¶
type ContainerCapacity ¶
type ContainerCapacity struct {
Cpu int64 `bson:"cpu" json:"cpu"`
Memory int64 `bson:"memory" json:"memory"`
DiskSize uint64 `bson:"disk_size" json:"disk_size"`
DiskType DiskTypeEnum `bson:"disk_type" json:"disk_type"`
}
func (ContainerCapacity) GetRSU ¶
func (c ContainerCapacity) GetRSU() (RSU, error)
func (ContainerCapacity) SigningEncode ¶ added in v0.4.2
func (c ContainerCapacity) SigningEncode(w io.Writer) error
type ContainerMount ¶
type ContainerMount struct {
VolumeId string `bson:"volume_id" json:"volume_id"`
Mountpoint string `bson:"mountpoint" json:"mountpoint"`
}
func (ContainerMount) SigningEncode ¶ added in v0.4.2
func (c ContainerMount) SigningEncode(w io.Writer) error
type DiskTypeEnum ¶
type DiskTypeEnum uint8
const ( DiskTypeHDD DiskTypeEnum = iota DiskTypeSSD )
func (DiskTypeEnum) String ¶
func (e DiskTypeEnum) String() string
type Gateway4To6 ¶
type Gateway4To6 struct {
ReservationInfo `bson:",inline"`
PublicKey string `bson:"public_key" json:"public_key"`
}
func (*Gateway4To6) GetRSU ¶
func (g *Gateway4To6) GetRSU() (RSU, error)
func (*Gateway4To6) SignatureChallenge ¶
func (g *Gateway4To6) SignatureChallenge() ([]byte, error)
type GatewayDelegate ¶
type GatewayDelegate struct {
ReservationInfo `bson:",inline"`
Domain string `bson:"domain" json:"domain"`
}
func (*GatewayDelegate) GetRSU ¶
func (g *GatewayDelegate) GetRSU() (RSU, error)
func (*GatewayDelegate) SignatureChallenge ¶
func (d *GatewayDelegate) SignatureChallenge() ([]byte, error)
type GatewayProxy ¶
type GatewayProxy struct {
ReservationInfo `bson:",inline"`
Domain string `bson:"domain" json:"domain"`
Addr string `bson:"addr" json:"addr"`
Port uint32 `bson:"port" json:"port"`
PortTLS uint32 `bson:"port_tls" json:"port_tls"`
}
func (*GatewayProxy) GetRSU ¶
func (g *GatewayProxy) GetRSU() (RSU, error)
func (*GatewayProxy) SignatureChallenge ¶
func (p *GatewayProxy) SignatureChallenge() ([]byte, error)
type GatewayReverseProxy ¶
type GatewayReverseProxy struct {
ReservationInfo `bson:",inline"`
Domain string `bson:"domain" json:"domain"`
Secret string `bson:"secret" json:"secret"`
}
func (*GatewayReverseProxy) GetRSU ¶
func (g *GatewayReverseProxy) GetRSU() (RSU, error)
func (*GatewayReverseProxy) SignatureChallenge ¶
func (p *GatewayReverseProxy) SignatureChallenge() ([]byte, error)
type GatewaySubdomain ¶
type GatewaySubdomain struct {
ReservationInfo `bson:",inline"`
Domain string `bson:"domain" json:"domain"`
IPs []string `bson:"ips" json:"ips"`
}
func (*GatewaySubdomain) GetRSU ¶
func (g *GatewaySubdomain) GetRSU() (RSU, error)
func (*GatewaySubdomain) SignatureChallenge ¶
func (s *GatewaySubdomain) SignatureChallenge() ([]byte, error)
type K8S ¶
type K8S struct {
ReservationInfo `bson:",inline"`
Size int64 `bson:"size" json:"size"`
ClusterSecret string `bson:"cluster_secret" json:"cluster_secret"`
NetworkId string `bson:"network_id" json:"network_id"`
Ipaddress net.IP `bson:"ipaddress" json:"ipaddress"`
MasterIps []net.IP `bson:"master_ips" json:"master_ips"`
SshKeys []string `bson:"ssh_keys" json:"ssh_keys"`
StatsAggregator []StatsAggregator `bson:"stats_aggregator" json:"stats_aggregator"`
PublicIP schema.ID `bson:"public_ip" json:"public_ip"`
DatastoreEndpoint string `bson:"datastore_endpoint" json:"datastore_endpoint"`
DisableDefaultIngress bool `bson:"disable_default_ingress" json:"disable_default_ingress"`
CustomSize K8SCustomSize `bson:"custom_size" json:"custom_size"`
}
func (*K8S) SignatureChallenge ¶
type K8SCustomSize ¶ added in v0.6.0
type LogsRedis ¶
type LogsRedis struct {
Stdout string `bson:"stdout" json:"stdout"`
Stderr string `bson:"stderr" json:"stderr"`
// Same as stdout, stderr urls but encrypted
// with the node public key.
SecretStdout string `bson:"secret_stdout" json:"secret_stdout"`
SecretStderr string `bson:"secret_stderr" json:"secret_stderr"`
}
type Network ¶
type Network struct {
Name string `bson:"name" json:"name"`
WorkloadId int64 `bson:"workload_id" json:"workload_id"`
Iprange schema.IPRange `bson:"iprange" json:"iprange"`
StatsAggregator []StatsAggregator `bson:"stats_aggregator" json:"stats_aggregator"`
NetworkResources []NetworkNetResource `bson:"network_resources" json:"network_resources"`
FarmerTid int64 `bson:"farmer_tid" json:"farmer_tid"`
}
func (Network) ToNetworkResources ¶
func (n Network) ToNetworkResources() []NetworkResource
func (Network) WorkloadID ¶
type NetworkConnection ¶
type NetworkConnection struct {
NetworkId string `bson:"network_id" json:"network_id"`
Ipaddress net.IP `bson:"ipaddress" json:"ipaddress"`
PublicIp6 bool `bson:"public_ip6" json:"public_ip6"`
YggdrasilIP bool `bson:"yggdrasil_ip" json:"yggdrasil_ip"`
}
func (NetworkConnection) SigningEncode ¶ added in v0.4.2
func (n NetworkConnection) SigningEncode(w io.Writer) error
type NetworkNetResource ¶
type NetworkNetResource struct {
NodeId string `bson:"node_id" json:"node_id"`
WireguardPrivateKeyEncrypted string `bson:"wireguard_private_key_encrypted" json:"wireguard_private_key_encrypted"`
WireguardPublicKey string `bson:"wireguard_public_key" json:"wireguard_public_key"`
WireguardListenPort int64 `bson:"wireguard_listen_port" json:"wireguard_listen_port"`
Iprange schema.IPRange `bson:"iprange" json:"iprange"`
Peers []WireguardPeer `bson:"peers" json:"peers"`
}
type NetworkResource ¶
type NetworkResource struct {
ReservationInfo `bson:",inline"`
Name string `bson:"name" json:"name"`
NetworkIprange schema.IPRange `bson:"network_iprange" json:"network_iprange"`
WireguardPrivateKeyEncrypted string `bson:"wireguard_private_key_encrypted" json:"wireguard_private_key_encrypted"`
WireguardPublicKey string `bson:"wireguard_public_key" json:"wireguard_public_key"`
WireguardListenPort int64 `bson:"wireguard_listen_port" json:"wireguard_listen_port"`
Iprange schema.IPRange `bson:"iprange" json:"iprange"`
Peers []WireguardPeer `bson:"peers" json:"peers"`
StatsAggregator []StatsAggregator `bson:"stats_aggregator" json:"stats_aggregator"`
}
func (*NetworkResource) GetRSU ¶
func (n *NetworkResource) GetRSU() (RSU, error)
func (*NetworkResource) SignatureChallenge ¶
func (n *NetworkResource) SignatureChallenge() ([]byte, error)
type NextActionEnum ¶
type NextActionEnum uint8
const ( NextActionCreate NextActionEnum = iota NextActionSign NextActionPay NextActionDeploy NextActionDelete NextActionInvalid NextActionDeleted NextActionMigrated )
func (NextActionEnum) String ¶
func (e NextActionEnum) String() string
type PublicIP ¶ added in v0.4.8
type PublicIP struct {
ReservationInfo `bson:",inline"`
IPaddress schema.IPCidr `bson:"ipaddress" json:"ipaddress"`
}
PublicIP is a struct that defines the workload to reserve a public ip on the grid
func (*PublicIP) SignatureChallenge ¶ added in v0.4.8
type Reservation ¶
type Reservation struct {
ID schema.ID `bson:"_id" json:"id"`
Json string `bson:"json" json:"json"`
DataReservation ReservationData `bson:"data_reservation" json:"data_reservation"`
CustomerTid int64 `bson:"customer_tid" json:"customer_tid"`
CustomerSignature string `bson:"customer_signature" json:"customer_signature"`
NextAction NextActionEnum `bson:"next_action" json:"next_action"`
SignaturesProvision []SigningSignature `bson:"signatures_provision" json:"signatures_provision"`
SignaturesFarmer []SigningSignature `bson:"signatures_farmer" json:"signatures_farmer"`
SignaturesDelete []SigningSignature `bson:"signatures_delete" json:"signatures_delete"`
Epoch schema.Date `bson:"epoch" json:"epoch"`
Metadata string `bson:"metadata" json:"metadata"`
Results []Result `bson:"results" json:"results"`
}
type ReservationData ¶
type ReservationData struct {
Description string `bson:"description" json:"description"`
Currencies []string `bson:"currencies" json:"currencies"`
SigningRequestProvision SigningRequest `bson:"signing_request_provision" json:"signing_request_provision"`
SigningRequestDelete SigningRequest `bson:"signing_request_delete" json:"signing_request_delete"`
Containers []Container `bson:"containers" json:"containers"`
Volumes []Volume `bson:"volumes" json:"volumes"`
Zdbs []ZDB `bson:"zdbs" json:"zdbs"`
Networks []Network `bson:"networks" json:"networks"`
NetworkResources []NetworkResource `bson:"network_resource" json:"network_resource"`
Kubernetes []K8S `bson:"kubernetes" json:"kubernetes"`
Proxies []GatewayProxy `bson:"proxies" json:"proxies"`
ReverseProxy []GatewayReverseProxy `bson:"reverse_proxies" json:"reverse_proxies"`
Subdomains []GatewaySubdomain `bson:"subdomains" json:"subdomains"`
DomainDelegates []GatewayDelegate `bson:"domain_delegates" json:"domain_delegates"`
Gateway4To6s []Gateway4To6 `bson:"gateway4to6" json:"gateway4to6"`
PublicIPs []PublicIP `bson:"public_ips" json:"public_ips"`
ExpirationProvisioning schema.Date `bson:"expiration_provisioning" json:"expiration_provisioning"`
ExpirationReservation schema.Date `bson:"expiration_reservation" json:"expiration_reservation"`
}
type ReservationInfo ¶
type ReservationInfo struct {
WorkloadId int64 `bson:"workload_id" json:"workload_id"`
NodeId string `bson:"node_id" json:"node_id"`
PoolId int64 `bson:"pool_id" json:"pool_id"`
// Referene to an old reservation, used in conversion
Reference string `bson:"reference" json:"reference"`
Description string `bson:"description" json:"description"`
SigningRequestProvision SigningRequest `bson:"signing_request_provision" json:"signing_request_provision"`
SigningRequestDelete SigningRequest `bson:"signing_request_delete" json:"signing_request_delete"`
ID schema.ID `bson:"_id" json:"id"`
Json string `bson:"json" json:"json"`
CustomerTid int64 `bson:"customer_tid" json:"customer_tid"`
CustomerSignature string `bson:"customer_signature" json:"customer_signature"`
NextAction NextActionEnum `bson:"next_action" json:"next_action"`
SignaturesProvision []SigningSignature `bson:"signatures_provision" json:"signatures_provision"`
SignatureFarmer SigningSignature `bson:"signature_farmer" json:"signature_farmer"`
SignaturesDelete []SigningSignature `bson:"signatures_delete" json:"signatures_delete"`
Epoch schema.Date `bson:"epoch" json:"epoch"`
Metadata string `bson:"metadata" json:"metadata"`
Result Result `bson:"result" json:"result"`
WorkloadType WorkloadTypeEnum `bson:"workload_type" json:"workload_type"`
Version int `bson:"version" json:"version"`
}
func (*ReservationInfo) GetCustomerSignature ¶
func (i *ReservationInfo) GetCustomerSignature() string
func (*ReservationInfo) GetCustomerTid ¶
func (i *ReservationInfo) GetCustomerTid() int64
func (*ReservationInfo) GetDescription ¶
func (i *ReservationInfo) GetDescription() string
func (*ReservationInfo) GetEpoch ¶
func (i *ReservationInfo) GetEpoch() schema.Date
func (*ReservationInfo) GetID ¶
func (i *ReservationInfo) GetID() schema.ID
func (*ReservationInfo) GetJson ¶
func (i *ReservationInfo) GetJson() string
func (*ReservationInfo) GetMetadata ¶
func (i *ReservationInfo) GetMetadata() string
func (*ReservationInfo) GetNextAction ¶
func (i *ReservationInfo) GetNextAction() NextActionEnum
func (*ReservationInfo) GetNodeID ¶
func (i *ReservationInfo) GetNodeID() string
func (*ReservationInfo) GetPoolID ¶
func (i *ReservationInfo) GetPoolID() int64
func (*ReservationInfo) GetReference ¶
func (i *ReservationInfo) GetReference() string
func (*ReservationInfo) GetResult ¶
func (i *ReservationInfo) GetResult() Result
func (*ReservationInfo) GetSignatureFarmer ¶
func (i *ReservationInfo) GetSignatureFarmer() SigningSignature
func (*ReservationInfo) GetSignaturesDelete ¶
func (i *ReservationInfo) GetSignaturesDelete() []SigningSignature
func (*ReservationInfo) GetSignaturesProvision ¶
func (i *ReservationInfo) GetSignaturesProvision() []SigningSignature
func (*ReservationInfo) GetSigningRequestDelete ¶
func (i *ReservationInfo) GetSigningRequestDelete() SigningRequest
func (*ReservationInfo) GetSigningRequestProvision ¶
func (i *ReservationInfo) GetSigningRequestProvision() SigningRequest
func (*ReservationInfo) GetVersion ¶ added in v0.4.2
func (i *ReservationInfo) GetVersion() int
func (*ReservationInfo) GetWorkloadType ¶
func (i *ReservationInfo) GetWorkloadType() WorkloadTypeEnum
func (*ReservationInfo) PushSignatureDelete ¶
func (i *ReservationInfo) PushSignatureDelete(signature SigningSignature)
func (*ReservationInfo) PushSignatureProvision ¶
func (i *ReservationInfo) PushSignatureProvision(signature SigningSignature)
func (*ReservationInfo) SetCustomerSignature ¶
func (i *ReservationInfo) SetCustomerSignature(signature string)
func (*ReservationInfo) SetCustomerTid ¶
func (i *ReservationInfo) SetCustomerTid(tid int64)
func (*ReservationInfo) SetDescription ¶
func (i *ReservationInfo) SetDescription(description string)
func (*ReservationInfo) SetEpoch ¶
func (i *ReservationInfo) SetEpoch(date schema.Date)
func (*ReservationInfo) SetID ¶
func (i *ReservationInfo) SetID(id schema.ID)
func (*ReservationInfo) SetJson ¶
func (i *ReservationInfo) SetJson(json string)
func (*ReservationInfo) SetMetadata ¶
func (i *ReservationInfo) SetMetadata(metadata string)
func (*ReservationInfo) SetNextAction ¶
func (i *ReservationInfo) SetNextAction(next NextActionEnum)
func (*ReservationInfo) SetPoolID ¶
func (i *ReservationInfo) SetPoolID(poolID int64)
func (*ReservationInfo) SetReference ¶
func (i *ReservationInfo) SetReference(ref string)
func (*ReservationInfo) SetResult ¶
func (i *ReservationInfo) SetResult(result Result)
func (*ReservationInfo) SetSignatureFarmer ¶
func (i *ReservationInfo) SetSignatureFarmer(signature SigningSignature)
func (*ReservationInfo) SetSignaturesDelete ¶
func (i *ReservationInfo) SetSignaturesDelete(signatures []SigningSignature)
func (*ReservationInfo) SetSignaturesProvision ¶
func (i *ReservationInfo) SetSignaturesProvision(signatures []SigningSignature)
func (*ReservationInfo) SetSigningRequestDelete ¶
func (i *ReservationInfo) SetSigningRequestDelete(request SigningRequest)
func (*ReservationInfo) SetSigningRequestProvision ¶
func (i *ReservationInfo) SetSigningRequestProvision(request SigningRequest)
func (*ReservationInfo) SetVersion ¶ added in v0.4.2
func (i *ReservationInfo) SetVersion(version int)
func (*ReservationInfo) SignatureChallenge ¶
func (i *ReservationInfo) SignatureChallenge() ([]byte, error)
SignatureChallenge return a slice of byte containing all the date used to generate the signature of the workload
func (*ReservationInfo) UniqueWorkloadID ¶
func (i *ReservationInfo) UniqueWorkloadID() string
func (*ReservationInfo) WorkloadID ¶
func (i *ReservationInfo) WorkloadID() int64
type ReservationWorkload ¶
type ReservationWorkload struct {
WorkloadId string `bson:"workload_id" json:"workload_id"`
User string `bson:"user" json:"user"`
PoolID int64 `bson:"pool_id" json:"pool_id"`
Type WorkloadTypeEnum `bson:"type" json:"type"`
Content interface{} `bson:"content" json:"content"`
Created schema.Date `bson:"created" json:"created"`
Duration int64 `bson:"duration" json:"duration"`
Signature string `bson:"signature" json:"signature"`
ToDelete bool `bson:"to_delete" json:"to_delete"`
}
type Result ¶
type Result struct {
Category WorkloadTypeEnum `bson:"category" json:"category"`
WorkloadId string `bson:"workload_id" json:"workload_id"`
DataJson json.RawMessage `bson:"data_json" json:"data_json"`
Signature string `bson:"signature" json:"signature"`
State ResultStateEnum `bson:"state" json:"state"`
Message string `bson:"message" json:"message"`
Epoch schema.Date `bson:"epoch" json:"epoch"`
NodeId string `bson:"node_id" json:"node_id"`
}
type ResultStateEnum ¶
type ResultStateEnum uint8
const ( ResultStateError ResultStateEnum = iota ResultStateOK ResultStateDeleted )
func (ResultStateEnum) String ¶
func (e ResultStateEnum) String() string
type SigningRequest ¶
type SigningSignature ¶
type Stats ¶ added in v0.4.2
type Stats struct {
Type string `bson:"type" json:"type"`
Data json.RawMessage `bson:"data" json:"data"`
}
type StatsAggregator ¶
type StatsAggregator struct {
}
Stub type not used (for now)
func (StatsAggregator) SigningEncode ¶ added in v0.4.2
func (s StatsAggregator) SigningEncode(w io.Writer) error
type StatsRedis ¶
type StatsRedis struct {
Endpoint string `bson:"endpoint" json:"endpoint"`
}
type VMCustomSize ¶ added in v0.6.0
type VirtualMachine ¶ added in v0.6.0
type VirtualMachine struct {
ReservationInfo `bson:",inline"`
Name string `bson:"name" json:"name"`
NetworkId string `bson:"network_id" json:"network_id"`
Ipaddress net.IP `bson:"ipaddress" json:"ipaddress"`
SshKeys []string `bson:"ssh_keys" json:"ssh_keys"`
// why isn't this a net.IP? because it's a wid
PublicIP schema.ID `bson:"public_ip" json:"public_ip"`
Size int64 `bson:"size" json:"size"`
CustomSize VMCustomSize `bson:"custom_size" json:"custom_size"`
}
func (*VirtualMachine) GetRSU ¶ added in v0.6.0
func (k *VirtualMachine) GetRSU() (RSU, error)
func (*VirtualMachine) SignatureChallenge ¶ added in v0.6.0
func (vm *VirtualMachine) SignatureChallenge() ([]byte, error)
type Volume ¶
type Volume struct {
ReservationInfo `bson:",inline"`
Size int64 `bson:"size" json:"size"`
Type VolumeTypeEnum `bson:"type" json:"type"`
}
func (*Volume) SignatureChallenge ¶
type VolumeTypeEnum ¶
type VolumeTypeEnum uint8
const ( VolumeTypeHDD VolumeTypeEnum = iota VolumeTypeSSD )
func (VolumeTypeEnum) String ¶
func (e VolumeTypeEnum) String() string
type WireguardPeer ¶
type WireguardPeer struct {
PublicKey string `bson:"public_key" json:"public_key"`
Endpoint string `bson:"endpoint" json:"endpoint"`
Iprange schema.IPRange `bson:"iprange" json:"iprange"`
AllowedIprange []schema.IPRange `bson:"allowed_iprange" json:"allowed_iprange"`
}
func (*WireguardPeer) SigningEncode ¶ added in v0.4.2
func (p *WireguardPeer) SigningEncode(w io.Writer) error
type WorkloadTypeEnum ¶
type WorkloadTypeEnum uint8
const ( WorkloadTypeZDB WorkloadTypeEnum = iota WorkloadTypeContainer WorkloadTypeVolume WorkloadTypeNetwork WorkloadTypeKubernetes WorkloadTypeProxy WorkloadTypeReverseProxy WorkloadTypeSubDomain WorkloadTypeDomainDelegate WorkloadTypeGateway4To6 WorkloadTypeNetworkResource WorkloadTypePublicIP WorkloadTypeVirtualMachine )
func (WorkloadTypeEnum) String ¶
func (e WorkloadTypeEnum) String() string
type Workloader ¶
type Workloader interface {
WorkloadID() int64
GetWorkloadType() WorkloadTypeEnum
GetID() schema.ID
SetID(id schema.ID)
GetJson() string
SetJson(json string)
GetCustomerTid() int64
SetCustomerTid(tid int64)
GetCustomerSignature() string
SetCustomerSignature(signature string)
GetNextAction() NextActionEnum
SetNextAction(next NextActionEnum)
GetSignaturesProvision() []SigningSignature
PushSignatureProvision(signature SigningSignature)
GetSignatureFarmer() SigningSignature
SetSignatureFarmer(signature SigningSignature)
GetSignaturesDelete() []SigningSignature
PushSignatureDelete(signature SigningSignature)
GetEpoch() schema.Date
SetEpoch(date schema.Date)
GetMetadata() string
SetMetadata(metadata string)
GetResult() Result
SetResult(result Result)
GetDescription() string
SetDescription(description string)
GetSigningRequestProvision() SigningRequest
SetSigningRequestProvision(request SigningRequest)
GetSigningRequestDelete() SigningRequest
SetSigningRequestDelete(request SigningRequest)
SetSignaturesProvision(signatures []SigningSignature)
SetSignaturesDelete(signatuers []SigningSignature)
SignatureChallenge() ([]byte, error)
SetPoolID(int64)
GetPoolID() int64
GetNodeID() string
UniqueWorkloadID() string
SetReference(string)
GetReference() string
GetVersion() int
SetVersion(version int)
Capaciter
}
func UnmarshalBSON ¶
func UnmarshalBSON(buffer []byte) (Workloader, error)
UnmarshalBSON decodes a workload from BSON format
func UnmarshalJSON ¶
func UnmarshalJSON(buffer []byte) (Workloader, error)
UnmarshalJSON decodes a workload from JSON format
type ZDB ¶
type ZDB struct {
ReservationInfo `bson:",inline"`
Size int64 `bson:"size" json:"size"`
Mode ZDBModeEnum `bson:"mode" json:"mode"`
Password string `bson:"password" json:"password"`
DiskType DiskTypeEnum `bson:"disk_type" json:"disk_type"`
Public bool `bson:"public" json:"public"`
StatsAggregator []StatsAggregator `bson:"stats_aggregator" json:"stats_aggregator"`
}
func (*ZDB) SignatureChallenge ¶
type ZDBModeEnum ¶
type ZDBModeEnum uint8
const ( ZDBModeSeq ZDBModeEnum = iota ZDBModeUser )
func (ZDBModeEnum) String ¶
func (e ZDBModeEnum) String() string
Click to show internal directories.
Click to hide internal directories.