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.