Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ignition ¶
type Ignition interface { // IP returns the current server's ip. IP() string // GazeboServerLogsPath returns the path of the logs from gazebo server containers. GazeboServerLogsPath() string // ROSLogsPath returns the path of the logs from bridge containers. ROSLogsPath() string // SidecarContainerLogsPath returns the path of the logs from sidecar containers. SidecarContainerLogsPath() string // Verbosity returns the level of verbosity that should be used for gazebo. Verbosity() string // LogsCopyEnabled determines if ROS logs should be saved in the storage. LogsCopyEnabled() bool // Region returns the region where to launch a certain simulation. Region() string // SecretsName returns the name of the secrets to access credentials for different cloud providers. SecretsName() string // AccessKeyLabel returns the access key label to get the credentials for a certain cloud provider. // For AWS, it returns: `aws-access-key-id` AccessKeyLabel() string // SecretAccessKeyLabel returns the secret access key label to get the credentials for a certain cloud provider. // For AWS, it returns: `aws-secret-access-key` SecretAccessKeyLabel() string // DefaultRecipients returns the list of default emails to send summary emails to. DefaultRecipients() []string // DefaultSender returns the default sender for emails. DefaultSender() string // LogsBucket returns the bucket for saving simulation logs. LogsBucket() string // GetWebsocketPath returns the path of the websocket URL for the given simulations.GroupID. GetWebsocketPath(groupID simulations.GroupID) string }
Ignition provides general information about cloudsim and ignition gazebo.
type Machines ¶
type Machines interface { // InstanceProfile returns the machine instance profile that should be used when creating a machine. // It returns nil if the default instance profile should be used. InstanceProfile() *string // KeyName returns the name of the SSH private key that should be used when creating a machine. KeyName() string // Type returns the machine type that should be used when requesting a simulation machine. Type() string // SidecarType returns the machine type that should be used when requesting a sidecar machine. SidecarType() string // FirewallRules returns the list of rules that should be applied to the created machine. FirewallRules() []string // BaseImage returns the base image that will be used when creating machines. BaseImage() string // BaseImageGPU returns the base image with GPU support that will be used when creating simulation machines. BaseImageGPU() string // Timeout returns the maximum amount of time that a job should wait until a machine is created. // Timeout is usually used with PollFrequency. Timeout() time.Duration // PollFrequency returns the interval of time that a job should wait until performing another request to create machines. // PollFrequency is usually used with Timeout. PollFrequency() time.Duration // Limit returns the maximum limit of machines that can be created. Limit() int // NamePrefix returns the name prefix that should be used when creating a machine. NamePrefix() string // ClusterName returns the cluster's name where to launch simulations. ClusterName() string }
Machines provides different information for creating machines.
type Orchestrator ¶
type Orchestrator interface { // Namespace returns the base namespace that should be used for simulations. Namespace() string // TerminationGracePeriod duration that pods need to terminate gracefully. TerminationGracePeriod() time.Duration // Nameservers returns a slice of the nameservers used to expose simulations to the internet. Nameservers() []string // IngressNamespace returns the namespace where the ingress is running. IngressNamespace() string // IngressName returns the ingress name used by Gloo. IngressName() string // IngressHost returns a FQDN used to route traffic to cloudsim instances. IngressHost() string // Timeout returns the maximum amount of time that a job should wait until a pod is created. // Timeout is usually used with PollFrequency. Timeout() time.Duration // PollFrequency returns the interval of time that a job should wait until performing another request to wait for pods. // PollFrequency is usually used with Timeout. PollFrequency() time.Duration }
Orchestrator provides different information to manage a cluster.
type Store ¶
type Store interface { // Machines provides access to a set of configurations for creating machines. Machines() Machines // Orchestrator provides access to a set of configurations for cluster management. Orchestrator() Orchestrator // Ignition provides access to a set of common cloudsim configurations. Ignition() Ignition }
Store provides a set of components to store data that needs to be accessed by different services.
Click to show internal directories.
Click to hide internal directories.