Documentation
¶
Index ¶
Constants ¶
View Source
const ( DeploymentModeDocker = "docker" DeploymentModeKubernetes = "kubernetes" )
Deployment modes select how the devcontainer is run on the instance.
Variables ¶
View Source
var ( AWS_AMI = "AWS_AMI" AWS_DISK_SIZE = "AWS_DISK_SIZE" AWS_ROOT_DEVICE = "AWS_ROOT_DEVICE" AWS_INSTANCE_TYPE = "AWS_INSTANCE_TYPE" AWS_REGION = "AWS_REGION" AWS_SECURITY_GROUP_ID = "AWS_SECURITY_GROUP_ID" AWS_SSH_INGRESS_CIDR = "AWS_SSH_INGRESS_CIDR" AWS_SUBNET_ID = "AWS_SUBNET_ID" AWS_VPC_ID = "AWS_VPC_ID" AWS_AVAILABILITY_ZONE = "AWS_AVAILABILITY_ZONE" AWS_INSTANCE_TAGS = "AWS_INSTANCE_TAGS" AWS_INSTANCE_PROFILE_ARN = "AWS_INSTANCE_PROFILE_ARN" AWS_USE_NESTED_VIRTUALIZATION = "AWS_USE_NESTED_VIRTUALIZATION" AWS_USE_INSTANCE_CONNECT_ENDPOINT = "AWS_USE_INSTANCE_CONNECT_ENDPOINT" AWS_INSTANCE_CONNECT_ENDPOINT_ID = "AWS_INSTANCE_CONNECT_ENDPOINT_ID" AWS_USE_SPOT_INSTANCE = "AWS_USE_SPOT_INSTANCE" AWS_SPOT_INSTANCE_TYPE = "AWS_SPOT_INSTANCE_TYPE" AWS_USE_SESSION_MANAGER = "AWS_USE_SESSION_MANAGER" AWS_KMS_KEY_ARN_FOR_SESSION_MANAGER = "AWS_KMS_KEY_ARN_FOR_SESSION_MANAGER" AWS_USE_ROUTE53 = "AWS_USE_ROUTE53" AWS_ROUTE53_ZONE_NAME = "AWS_ROUTE53_ZONE_NAME" AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID" AWS_SECRET_ACCESS_KEY = "AWS_SECRET_ACCESS_KEY" //nolint:gosec // option name, not a secret AWS_SESSION_TOKEN = "AWS_SESSION_TOKEN" //nolint:gosec // option name, not a secret CUSTOM_AWS_CREDENTIAL_COMMAND = "CUSTOM_AWS_CREDENTIAL_COMMAND" //nolint:gosec // option name, not a secret // User-data hook options (optional). AWS_HOOK_POST_SSH = "AWS_HOOK_POST_SSH" AWS_HOOK_POST_VOLUME = "AWS_HOOK_POST_VOLUME" // Data volume options (all optional). AWS_DATA_VOLUME_SNAPSHOT_ID = "AWS_DATA_VOLUME_SNAPSHOT_ID" AWS_DATA_VOLUME_SIZE = "AWS_DATA_VOLUME_SIZE" AWS_DATA_VOLUME_DEVICE = "AWS_DATA_VOLUME_DEVICE" AWS_DATA_VOLUME_MOUNT_PATH = "AWS_DATA_VOLUME_MOUNT_PATH" AWS_DATA_VOLUME_TYPE = "AWS_DATA_VOLUME_TYPE" // Deployment mode options. AWS_DEPLOYMENT_MODE = "AWS_DEPLOYMENT_MODE" // Kubernetes (K3s) mode options (only used when deployment mode is kubernetes). AWS_K3S_VERSION = "AWS_K3S_VERSION" AWS_K3S_CHANNEL = "AWS_K3S_CHANNEL" AWS_KUBERNETES_NAMESPACE = "AWS_KUBERNETES_NAMESPACE" )
Functions ¶
This section is empty.
Types ¶
type Options ¶
type Options struct {
DiskImage string
DiskSizeGB int
RootDevice string
MachineFolder string
MachineID string
MachineType string
VpcID string
SubnetIDs []string
AvailabilityZone string
SecurityGroupID string
SSHIngressCIDR string
InstanceProfileArn string
InstanceTags string
Zone string
UseNestedVirtualization bool
UseInstanceConnectEndpoint bool
InstanceConnectEndpointID string
UseSpotInstance bool
SpotInstanceType string
UseSessionManager bool
KmsKeyARNForSessionManager string
UseRoute53Hostnames bool
Route53ZoneName string
CustomCredentialCommand string
AccessKeyID string
SecretAccessKey string
SessionToken string
// User-data hooks executed during instance initialization
HookPostSSH string
HookPostVolume string
// Optional secondary data volume
DataVolumeSnapshotID string
DataVolumeSizeGB int
DataVolumeDevice string
DataVolumeMountPath string
DataVolumeType string
DataVolumeID string // populated at runtime after CreateVolume
// Deployment mode: "docker" (default) or "kubernetes" (K3s on the instance).
DeploymentMode string
// Kubernetes (K3s) mode settings, only relevant when DeploymentMode is kubernetes.
K3sVersion string
K3sChannel string
KubernetesNamespace string
}
func (*Options) HasDataVolume ¶
HasDataVolume reports whether a secondary data volume is configured.
func (*Options) IsKubernetesMode ¶ added in v1.4.0
IsKubernetesMode reports whether the instance should run a K3s-backed Kubernetes devcontainer instead of a plain Docker devcontainer.
func (*Options) K3sKubeconfigPath ¶ added in v1.4.0
K3sKubeconfigPath returns the path to the K3s admin kubeconfig on the instance.
Click to show internal directories.
Click to hide internal directories.