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.