eksconfig

package
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2020 License: Apache-2.0 Imports: 27 Imported by: 9

README

# set the following *_ENABLE env vars to enable add-ons, rest are set with default values
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_ENABLE=true \



AWS_K8S_TESTER_EKS_CONFIG_PATH | *eksconfig.Config.ConfigPath | string | read-only "false"
AWS_K8S_TESTER_EKS_KUBECTL_COMMANDS_OUTPUT_PATH | *eksconfig.Config.KubectlCommandsOutputPath | string | read-only "false"
AWS_K8S_TESTER_EKS_REMOTE_ACCESS_COMMANDS_OUTPUT_PATH | *eksconfig.Config.RemoteAccessCommandsOutputPath | string | read-only "false"
AWS_K8S_TESTER_EKS_REGION | *eksconfig.Config.Region | string | read-only "false"
AWS_K8S_TESTER_EKS_NAME | *eksconfig.Config.Name | string | read-only "false"
AWS_K8S_TESTER_EKS_LOG_LEVEL | *eksconfig.Config.LogLevel | string | read-only "false"
AWS_K8S_TESTER_EKS_LOG_OUTPUTS | *eksconfig.Config.LogOutputs | []string | read-only "false"
AWS_K8S_TESTER_EKS_AWS_CLI_PATH | *eksconfig.Config.AWSCLIPath | string | read-only "false"
AWS_K8S_TESTER_EKS_KUBECTL_PATH | *eksconfig.Config.KubectlPath | string | read-only "false"
AWS_K8S_TESTER_EKS_KUBECTL_DOWNLOAD_URL | *eksconfig.Config.KubectlDownloadURL | string | read-only "false"
AWS_K8S_TESTER_EKS_KUBECONFIG_PATH | *eksconfig.Config.KubeConfigPath | string | read-only "false"
AWS_K8S_TESTER_EKS_AWS_IAM_AUTHENTICATOR_PATH | *eksconfig.Config.AWSIAMAuthenticatorPath | string | read-only "false"
AWS_K8S_TESTER_EKS_AWS_IAM_AUTHENTICATOR_DOWNLOAD_URL | *eksconfig.Config.AWSIAMAuthenticatorDownloadURL | string | read-only "false"
AWS_K8S_TESTER_EKS_ON_FAILURE_DELETE | *eksconfig.Config.OnFailureDelete | bool | read-only "false"
AWS_K8S_TESTER_EKS_ON_FAILURE_DELETE_WAIT_SECONDS | *eksconfig.Config.OnFailureDeleteWaitSeconds | uint64 | read-only "false"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_CLUSTER | *eksconfig.Config.CommandAfterCreateCluster | string | read-only "false"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_CLUSTER_OUTPUT_PATH | *eksconfig.Config.CommandAfterCreateClusterOutputPath | string | read-only "true"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_CLUSTER_TIMEOUT | *eksconfig.Config.CommandAfterCreateClusterTimeout | time.Duration | read-only "false"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_CLUSTER_TIMEOUT_STRING | *eksconfig.Config.CommandAfterCreateClusterTimeoutString | string | read-only "true"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_ADD_ONS | *eksconfig.Config.CommandAfterCreateAddOns | string | read-only "false"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_ADD_ONS_OUTPUT_PATH | *eksconfig.Config.CommandAfterCreateAddOnsOutputPath | string | read-only "true"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_ADD_ONS_TIMEOUT | *eksconfig.Config.CommandAfterCreateAddOnsTimeout | time.Duration | read-only "false"
AWS_K8S_TESTER_EKS_COMMAND_AFTER_CREATE_ADD_ONS_TIMEOUT_STRING | *eksconfig.Config.CommandAfterCreateAddOnsTimeoutString | string | read-only "true"
AWS_K8S_TESTER_EKS_S3_BUCKET_CREATE | *eksconfig.Config.S3BucketCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_S3_BUCKET_CREATE_KEEP | *eksconfig.Config.S3BucketCreateKeep | bool | read-only "false"
AWS_K8S_TESTER_EKS_S3_BUCKET_NAME | *eksconfig.Config.S3BucketName | string | read-only "false"
AWS_K8S_TESTER_EKS_S3_BUCKET_LIFECYCLE_EXPIRATION_DAYS | *eksconfig.Config.S3BucketLifecycleExpirationDays | int64 | read-only "false"
AWS_K8S_TESTER_EKS_REMOTE_ACCESS_KEY_CREATE | *eksconfig.Config.RemoteAccessKeyCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_REMOTE_ACCESS_KEY_NAME | *eksconfig.Config.RemoteAccessKeyName | string | read-only "false"
AWS_K8S_TESTER_EKS_REMOTE_ACCESS_PRIVATE_KEY_PATH | *eksconfig.Config.RemoteAccessPrivateKeyPath | string | read-only "false"
AWS_K8S_TESTER_EKS_CLIENTS | *eksconfig.Config.Clients | int | read-only "false"
AWS_K8S_TESTER_EKS_CLIENT_QPS | *eksconfig.Config.ClientQPS | float32 | read-only "false"
AWS_K8S_TESTER_EKS_CLIENT_BURST | *eksconfig.Config.ClientBurst | int | read-only "false"
AWS_K8S_TESTER_EKS_CLIENT_TIMEOUT | *eksconfig.Config.ClientTimeout | time.Duration | read-only "false"
AWS_K8S_TESTER_EKS_CLIENT_TIMEOUT_STRING | *eksconfig.Config.ClientTimeoutString | string | read-only "true"


AWS_K8S_TESTER_EKS_PARAMETERS_ROLE_NAME | *eksconfig.Parameters.RoleName | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_ROLE_CREATE | *eksconfig.Parameters.RoleCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_ROLE_ARN | *eksconfig.Parameters.RoleARN | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_ROLE_SERVICE_PRINCIPALS | *eksconfig.Parameters.RoleServicePrincipals | []string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_ROLE_MANAGED_POLICY_ARNS | *eksconfig.Parameters.RoleManagedPolicyARNs | []string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_ROLE_CFN_STACK_ID | *eksconfig.Parameters.RoleCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_PARAMETERS_TAGS | *eksconfig.Parameters.Tags | map[string]string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_REQUEST_HEADER_KEY | *eksconfig.Parameters.RequestHeaderKey | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_REQUEST_HEADER_VALUE | *eksconfig.Parameters.RequestHeaderValue | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_RESOLVER_URL | *eksconfig.Parameters.ResolverURL | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_SIGNING_NAME | *eksconfig.Parameters.SigningName | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_VPC_CREATE | *eksconfig.Parameters.VPCCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_VPC_ID | *eksconfig.Parameters.VPCID | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_VPC_CFN_STACK_ID | *eksconfig.Parameters.VPCCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_PARAMETERS_VPC_CIDR | *eksconfig.Parameters.VPCCIDR | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_PUBLIC_SUBNET_CIDR_1 | *eksconfig.Parameters.PublicSubnetCIDR1 | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_PUBLIC_SUBNET_CIDR_2 | *eksconfig.Parameters.PublicSubnetCIDR2 | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_PUBLIC_SUBNET_CIDR_3 | *eksconfig.Parameters.PublicSubnetCIDR3 | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_PRIVATE_SUBNET_CIDR_1 | *eksconfig.Parameters.PrivateSubnetCIDR1 | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_PRIVATE_SUBNET_CIDR_2 | *eksconfig.Parameters.PrivateSubnetCIDR2 | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_PUBLIC_SUBNET_IDS | *eksconfig.Parameters.PublicSubnetIDs | []string | read-only "true"
AWS_K8S_TESTER_EKS_PARAMETERS_PRIVATE_SUBNET_IDS | *eksconfig.Parameters.PrivateSubnetIDs | []string | read-only "true"
AWS_K8S_TESTER_EKS_PARAMETERS_DHCP_OPTIONS_DOMAIN_NAME | *eksconfig.Parameters.DHCPOptionsDomainName | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_DHCP_OPTIONS_DOMAIN_NAME_SERVERS | *eksconfig.Parameters.DHCPOptionsDomainNameServers | []string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_VERSION | *eksconfig.Parameters.Version | string | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_VERSION_VALUE | *eksconfig.Parameters.VersionValue | float64 | read-only "true"
AWS_K8S_TESTER_EKS_PARAMETERS_ENCRYPTION_CMK_CREATE | *eksconfig.Parameters.EncryptionCMKCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_PARAMETERS_ENCRYPTION_CMK_ARN | *eksconfig.Parameters.EncryptionCMKARN | string | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ENABLE | *eksconfig.AddOnNodeGroups.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_CREATED | *eksconfig.AddOnNodeGroups.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_FETCH_LOGS | *eksconfig.AddOnNodeGroups.FetchLogs | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_NAME | *eksconfig.AddOnNodeGroups.RoleName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_CREATE | *eksconfig.AddOnNodeGroups.RoleCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_ARN | *eksconfig.AddOnNodeGroups.RoleARN | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_SERVICE_PRINCIPALS | *eksconfig.AddOnNodeGroups.RoleServicePrincipals | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_MANAGED_POLICY_ARNS | *eksconfig.AddOnNodeGroups.RoleManagedPolicyARNs | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_CFN_STACK_ID | *eksconfig.AddOnNodeGroups.RoleCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_NODE_GROUP_SECURITY_GROUP_ID | *eksconfig.AddOnNodeGroups.NodeGroupSecurityGroupID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_NODE_GROUP_SECURITY_GROUP_CFN_STACK_ID | *eksconfig.AddOnNodeGroups.NodeGroupSecurityGroupCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_LOGS_DIR | *eksconfig.AddOnNodeGroups.LogsDir | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ASGS | *eksconfig.AddOnNodeGroups.ASGs | map[string]eksconfig.ASG | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ENABLE | *eksconfig.AddOnManagedNodeGroups.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_CREATED | *eksconfig.AddOnManagedNodeGroups.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_CREATE_TOOK | *eksconfig.AddOnManagedNodeGroups.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_CREATE_TOOK_STRING | *eksconfig.AddOnManagedNodeGroups.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_DELETE_TOOK | *eksconfig.AddOnManagedNodeGroups.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_DELETE_TOOK_STRING | *eksconfig.AddOnManagedNodeGroups.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_FETCH_LOGS | *eksconfig.AddOnManagedNodeGroups.FetchLogs | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_NAME | *eksconfig.AddOnManagedNodeGroups.RoleName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_CREATE | *eksconfig.AddOnManagedNodeGroups.RoleCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_ARN | *eksconfig.AddOnManagedNodeGroups.RoleARN | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_SERVICE_PRINCIPALS | *eksconfig.AddOnManagedNodeGroups.RoleServicePrincipals | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_MANAGED_POLICY_ARNS | *eksconfig.AddOnManagedNodeGroups.RoleManagedPolicyARNs | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_CFN_STACK_ID | *eksconfig.AddOnManagedNodeGroups.RoleCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_REQUEST_HEADER_KEY | *eksconfig.AddOnManagedNodeGroups.RequestHeaderKey | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_REQUEST_HEADER_VALUE | *eksconfig.AddOnManagedNodeGroups.RequestHeaderValue | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_RESOLVER_URL | *eksconfig.AddOnManagedNodeGroups.ResolverURL | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_SIGNING_NAME | *eksconfig.AddOnManagedNodeGroups.SigningName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_LOGS_DIR | *eksconfig.AddOnManagedNodeGroups.LogsDir | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_MNGS | *eksconfig.AddOnManagedNodeGroups.MNGs | map[string]eksconfig.MNG | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_ENABLE | *eksconfig.AddOnCSIEBS.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_CREATED | *eksconfig.AddOnCSIEBS.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_CREATE_TOOK | *eksconfig.AddOnCSIEBS.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_CREATE_TOOK_STRING | *eksconfig.AddOnCSIEBS.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_DELETE_TOOK | *eksconfig.AddOnCSIEBS.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_DELETE_TOOK_STRING | *eksconfig.AddOnCSIEBS.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_CHART_REPO_URL | *eksconfig.AddOnCSIEBS.ChartRepoURL | string | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_ENABLE | *eksconfig.AddOnKubernetesDashboard.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_CREATED | *eksconfig.AddOnKubernetesDashboard.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_CREATE_TOOK | *eksconfig.AddOnKubernetesDashboard.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_CREATE_TOOK_STRING | *eksconfig.AddOnKubernetesDashboard.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_DELETE_TOOK | *eksconfig.AddOnKubernetesDashboard.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_DELETE_TOOK_STRING | *eksconfig.AddOnKubernetesDashboard.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_AUTHENTICATION_TOKEN | *eksconfig.AddOnKubernetesDashboard.AuthenticationToken | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_URL | *eksconfig.AddOnKubernetesDashboard.URL | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_KUBECTL_PROXY_PID | *eksconfig.AddOnKubernetesDashboard.KubectlProxyPID | int | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_ENABLE | *eksconfig.AddOnPrometheusGrafana.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_CREATED | *eksconfig.AddOnPrometheusGrafana.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_CREATE_TOOK | *eksconfig.AddOnPrometheusGrafana.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_CREATE_TOOK_STRING | *eksconfig.AddOnPrometheusGrafana.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_DELETE_TOOK | *eksconfig.AddOnPrometheusGrafana.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_DELETE_TOOK_STRING | *eksconfig.AddOnPrometheusGrafana.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_GRAFANA_ADMIN_USER_NAME | *eksconfig.AddOnPrometheusGrafana.GrafanaAdminUserName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_GRAFANA_ADMIN_PASSWORD | *eksconfig.AddOnPrometheusGrafana.GrafanaAdminPassword | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_GRAFANA_NLB_ARN | *eksconfig.AddOnPrometheusGrafana.GrafanaNLBARN | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_GRAFANA_NLB_NAME | *eksconfig.AddOnPrometheusGrafana.GrafanaNLBName | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_GRAFANA_URL | *eksconfig.AddOnPrometheusGrafana.GrafanaURL | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_ENABLE | *eksconfig.AddOnNLBHelloWorld.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_CREATED | *eksconfig.AddOnNLBHelloWorld.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_CREATE_TOOK | *eksconfig.AddOnNLBHelloWorld.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_CREATE_TOOK_STRING | *eksconfig.AddOnNLBHelloWorld.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_DELETE_TOOK | *eksconfig.AddOnNLBHelloWorld.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_DELETE_TOOK_STRING | *eksconfig.AddOnNLBHelloWorld.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_NAMESPACE | *eksconfig.AddOnNLBHelloWorld.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_DEPLOYMENT_REPLICAS | *eksconfig.AddOnNLBHelloWorld.DeploymentReplicas | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_NLB_ARN | *eksconfig.AddOnNLBHelloWorld.NLBARN | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_NLB_NAME | *eksconfig.AddOnNLBHelloWorld.NLBName | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_URL | *eksconfig.AddOnNLBHelloWorld.URL | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_ENABLE | *eksconfig.AddOnALB2048.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_CREATED | *eksconfig.AddOnALB2048.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_CREATE_TOOK | *eksconfig.AddOnALB2048.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_CREATE_TOOK_STRING | *eksconfig.AddOnALB2048.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_DELETE_TOOK | *eksconfig.AddOnALB2048.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_DELETE_TOOK_STRING | *eksconfig.AddOnALB2048.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_NAMESPACE | *eksconfig.AddOnALB2048.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_DEPLOYMENT_REPLICAS_ALB | *eksconfig.AddOnALB2048.DeploymentReplicasALB | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_DEPLOYMENT_REPLICAS_2048 | *eksconfig.AddOnALB2048.DeploymentReplicas2048 | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_ALB_ARN | *eksconfig.AddOnALB2048.ALBARN | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_ALB_NAME | *eksconfig.AddOnALB2048.ALBName | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_URL | *eksconfig.AddOnALB2048.URL | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_ENABLE | *eksconfig.AddOnJobsPi.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_CREATED | *eksconfig.AddOnJobsPi.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_CREATE_TOOK | *eksconfig.AddOnJobsPi.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_CREATE_TOOK_STRING | *eksconfig.AddOnJobsPi.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_DELETE_TOOK | *eksconfig.AddOnJobsPi.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_DELETE_TOOK_STRING | *eksconfig.AddOnJobsPi.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_NAMESPACE | *eksconfig.AddOnJobsPi.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_COMPLETES | *eksconfig.AddOnJobsPi.Completes | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_PARALLELS | *eksconfig.AddOnJobsPi.Parallels | int | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_ENABLE | *eksconfig.AddOnJobsEcho.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_CREATED | *eksconfig.AddOnJobsEcho.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_CREATE_TOOK | *eksconfig.AddOnJobsEcho.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_CREATE_TOOK_STRING | *eksconfig.AddOnJobsEcho.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_DELETE_TOOK | *eksconfig.AddOnJobsEcho.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_DELETE_TOOK_STRING | *eksconfig.AddOnJobsEcho.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_NAMESPACE | *eksconfig.AddOnJobsEcho.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_COMPLETES | *eksconfig.AddOnJobsEcho.Completes | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_PARALLELS | *eksconfig.AddOnJobsEcho.Parallels | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_ECHO_SIZE | *eksconfig.AddOnJobsEcho.EchoSize | int | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_ENABLE | *eksconfig.AddOnCronJobs.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_CREATED | *eksconfig.AddOnCronJobs.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_CREATE_TOOK | *eksconfig.AddOnCronJobs.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_CREATE_TOOK_STRING | *eksconfig.AddOnCronJobs.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_DELETE_TOOK | *eksconfig.AddOnCronJobs.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_DELETE_TOOK_STRING | *eksconfig.AddOnCronJobs.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_NAMESPACE | *eksconfig.AddOnCronJobs.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_SCHEDULE | *eksconfig.AddOnCronJobs.Schedule | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_COMPLETES | *eksconfig.AddOnCronJobs.Completes | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_PARALLELS | *eksconfig.AddOnCronJobs.Parallels | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_SUCCESSFUL_JOBS_HISTORY_LIMIT | *eksconfig.AddOnCronJobs.SuccessfulJobsHistoryLimit | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_FAILED_JOBS_HISTORY_LIMIT | *eksconfig.AddOnCronJobs.FailedJobsHistoryLimit | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_ECHO_SIZE | *eksconfig.AddOnCronJobs.EchoSize | int | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_CSRS_ENABLE | *eksconfig.AddOnCSRs.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_CREATED | *eksconfig.AddOnCSRs.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_CREATE_TOOK | *eksconfig.AddOnCSRs.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_CREATE_TOOK_STRING | *eksconfig.AddOnCSRs.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_DELETE_TOOK | *eksconfig.AddOnCSRs.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_DELETE_TOOK_STRING | *eksconfig.AddOnCSRs.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_NAMESPACE | *eksconfig.AddOnCSRs.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_INITIAL_REQUEST_CONDITION_TYPE | *eksconfig.AddOnCSRs.InitialRequestConditionType | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_OBJECTS | *eksconfig.AddOnCSRs.Objects | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_CREATED_NAMES | *eksconfig.AddOnCSRs.CreatedNames | []string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_FAIL_THRESHOLD | *eksconfig.AddOnCSRs.FailThreshold | int | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_ENABLE | *eksconfig.AddOnConfigMaps.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_CREATED | *eksconfig.AddOnConfigMaps.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_CREATE_TOOK | *eksconfig.AddOnConfigMaps.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_CREATE_TOOK_STRING | *eksconfig.AddOnConfigMaps.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_DELETE_TOOK | *eksconfig.AddOnConfigMaps.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_DELETE_TOOK_STRING | *eksconfig.AddOnConfigMaps.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_NAMESPACE | *eksconfig.AddOnConfigMaps.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_OBJECTS | *eksconfig.AddOnConfigMaps.Objects | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_SIZE | *eksconfig.AddOnConfigMaps.Size | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_CREATED_NAMES | *eksconfig.AddOnConfigMaps.CreatedNames | []string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_FAIL_THRESHOLD | *eksconfig.AddOnConfigMaps.FailThreshold | int | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_ENABLE | *eksconfig.AddOnSecrets.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_CREATED | *eksconfig.AddOnSecrets.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_CREATE_TOOK | *eksconfig.AddOnSecrets.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_CREATE_TOOK_STRING | *eksconfig.AddOnSecrets.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_DELETE_TOOK | *eksconfig.AddOnSecrets.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_DELETE_TOOK_STRING | *eksconfig.AddOnSecrets.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_NAMESPACE | *eksconfig.AddOnSecrets.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_OBJECTS | *eksconfig.AddOnSecrets.Objects | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_SIZE | *eksconfig.AddOnSecrets.Size | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_FAIL_THRESHOLD | *eksconfig.AddOnSecrets.FailThreshold | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_CREATED_SECRETS_NAMES | *eksconfig.AddOnSecrets.CreatedSecretsNames | []string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_CREATED_POD_NAMES | *eksconfig.AddOnSecrets.CreatedPodNames | []string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_WRITES_RESULT_PATH | *eksconfig.AddOnSecrets.WritesResultPath | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_READS_RESULT_PATH | *eksconfig.AddOnSecrets.ReadsResultPath | string | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ENABLE | *eksconfig.AddOnIRSA.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CREATED | *eksconfig.AddOnIRSA.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CREATE_TOOK | *eksconfig.AddOnIRSA.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CREATE_TOOK_STRING | *eksconfig.AddOnIRSA.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DELETE_TOOK | *eksconfig.AddOnIRSA.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DELETE_TOOK_STRING | *eksconfig.AddOnIRSA.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_NAMESPACE | *eksconfig.AddOnIRSA.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_NAME | *eksconfig.AddOnIRSA.RoleName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_ARN | *eksconfig.AddOnIRSA.RoleARN | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_MANAGED_POLICY_ARNS | *eksconfig.AddOnIRSA.RoleManagedPolicyARNs | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_CFN_STACK_ID | *eksconfig.AddOnIRSA.RoleCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_SERVICE_ACCOUNT_NAME | *eksconfig.AddOnIRSA.ServiceAccountName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CONFIG_MAP_NAME | *eksconfig.AddOnIRSA.ConfigMapName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CONFIG_MAP_SCRIPT_FILE_NAME | *eksconfig.AddOnIRSA.ConfigMapScriptFileName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_S3_KEY | *eksconfig.AddOnIRSA.S3Key | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_NAME | *eksconfig.AddOnIRSA.DeploymentName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_REPLICAS | *eksconfig.AddOnIRSA.DeploymentReplicas | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_RESULT_PATH | *eksconfig.AddOnIRSA.DeploymentResultPath | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_TOOK | *eksconfig.AddOnIRSA.DeploymentTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_TOOK_STRING | *eksconfig.AddOnIRSA.DeploymentTookString | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ENABLE | *eksconfig.AddOnFargate.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CREATED | *eksconfig.AddOnFargate.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CREATE_TOOK | *eksconfig.AddOnFargate.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CREATE_TOOK_STRING | *eksconfig.AddOnFargate.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_DELETE_TOOK | *eksconfig.AddOnFargate.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_DELETE_TOOK_STRING | *eksconfig.AddOnFargate.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_NAMESPACE | *eksconfig.AddOnFargate.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_NAME | *eksconfig.AddOnFargate.RoleName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_CREATE | *eksconfig.AddOnFargate.RoleCreate | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_ARN | *eksconfig.AddOnFargate.RoleARN | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_SERVICE_PRINCIPALS | *eksconfig.AddOnFargate.RoleServicePrincipals | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_MANAGED_POLICY_ARNS | *eksconfig.AddOnFargate.RoleManagedPolicyARNs | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_CFN_STACK_ID | *eksconfig.AddOnFargate.RoleCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_PROFILE_NAME | *eksconfig.AddOnFargate.ProfileName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_SECRET_NAME | *eksconfig.AddOnFargate.SecretName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_POD_NAME | *eksconfig.AddOnFargate.PodName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CONTAINER_NAME | *eksconfig.AddOnFargate.ContainerName | string | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ENABLE | *eksconfig.AddOnIRSAFargate.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CREATED | *eksconfig.AddOnIRSAFargate.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CREATE_TOOK | *eksconfig.AddOnIRSAFargate.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CREATE_TOOK_STRING | *eksconfig.AddOnIRSAFargate.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_DELETE_TOOK | *eksconfig.AddOnIRSAFargate.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_DELETE_TOOK_STRING | *eksconfig.AddOnIRSAFargate.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_NAMESPACE | *eksconfig.AddOnIRSAFargate.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_NAME | *eksconfig.AddOnIRSAFargate.RoleName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_ARN | *eksconfig.AddOnIRSAFargate.RoleARN | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_SERVICE_PRINCIPALS | *eksconfig.AddOnIRSAFargate.RoleServicePrincipals | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_MANAGED_POLICY_ARNS | *eksconfig.AddOnIRSAFargate.RoleManagedPolicyARNs | []string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_CFN_STACK_ID | *eksconfig.AddOnIRSAFargate.RoleCFNStackID | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_SERVICE_ACCOUNT_NAME | *eksconfig.AddOnIRSAFargate.ServiceAccountName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CONFIG_MAP_NAME | *eksconfig.AddOnIRSAFargate.ConfigMapName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CONFIG_MAP_SCRIPT_FILE_NAME | *eksconfig.AddOnIRSAFargate.ConfigMapScriptFileName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_S3_KEY | *eksconfig.AddOnIRSAFargate.S3Key | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_PROFILE_NAME | *eksconfig.AddOnIRSAFargate.ProfileName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_POD_NAME | *eksconfig.AddOnIRSAFargate.PodName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CONTAINER_NAME | *eksconfig.AddOnIRSAFargate.ContainerName | string | read-only "false"


AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_ENABLE | *eksconfig.AddOnAppMesh.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_CREATED | *eksconfig.AddOnAppMesh.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_CREATE_TOOK | *eksconfig.AddOnAppMesh.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_CREATE_TOOK_STRING | *eksconfig.AddOnAppMesh.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_DELETE_TOOK | *eksconfig.AddOnAppMesh.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_DELETE_TOOK_STRING | *eksconfig.AddOnAppMesh.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_NAMESPACE | *eksconfig.AddOnAppMesh.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_CONTROLLER_IMAGE | *eksconfig.AddOnAppMesh.ControllerImage | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_INJECTOR_IMAGE | *eksconfig.AddOnAppMesh.InjectorImage | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_POLICY_CFN_STACK_ID | *eksconfig.AddOnAppMesh.PolicyCFNStackID | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_ENABLE | *eksconfig.AddOnWordpress.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_CREATED | *eksconfig.AddOnWordpress.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_CREATE_TOOK | *eksconfig.AddOnWordpress.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_CREATE_TOOK_STRING | *eksconfig.AddOnWordpress.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_DELETE_TOOK | *eksconfig.AddOnWordpress.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_DELETE_TOOK_STRING | *eksconfig.AddOnWordpress.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_NAMESPACE | *eksconfig.AddOnWordpress.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_USER_NAME | *eksconfig.AddOnWordpress.UserName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_PASSWORD | *eksconfig.AddOnWordpress.Password | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_NLB_ARN | *eksconfig.AddOnWordpress.NLBARN | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_NLB_NAME | *eksconfig.AddOnWordpress.NLBName | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_URL | *eksconfig.AddOnWordpress.URL | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_ENABLE | *eksconfig.AddOnJupyterHub.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_CREATED | *eksconfig.AddOnJupyterHub.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_CREATE_TOOK | *eksconfig.AddOnJupyterHub.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_CREATE_TOOK_STRING | *eksconfig.AddOnJupyterHub.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_DELETE_TOOK | *eksconfig.AddOnJupyterHub.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_DELETE_TOOK_STRING | *eksconfig.AddOnJupyterHub.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_NAMESPACE | *eksconfig.AddOnJupyterHub.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_PROXY_SECRET_TOKEN | *eksconfig.AddOnJupyterHub.ProxySecretToken | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_NLB_ARN | *eksconfig.AddOnJupyterHub.NLBARN | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_NLB_NAME | *eksconfig.AddOnJupyterHub.NLBName | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_URL | *eksconfig.AddOnJupyterHub.URL | string | read-only "true"


# NOT WORKING...
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_ENABLE | *eksconfig.AddOnKubeflow.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_CREATED | *eksconfig.AddOnKubeflow.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_CREATE_TOOK | *eksconfig.AddOnKubeflow.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_CREATE_TOOK_STRING | *eksconfig.AddOnKubeflow.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_DELETE_TOOK | *eksconfig.AddOnKubeflow.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_DELETE_TOOK_STRING | *eksconfig.AddOnKubeflow.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_KFCTL_PATH | *eksconfig.AddOnKubeflow.KfctlPath | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_KFCTL_DOWNLOAD_URL | *eksconfig.AddOnKubeflow.KfctlDownloadURL | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_BASE_DIR | *eksconfig.AddOnKubeflow.BaseDir | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_KF_DIR | *eksconfig.AddOnKubeflow.KfDir | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_KFCTL_CONFIG_PATH | *eksconfig.AddOnKubeflow.KfctlConfigPath | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_ENABLE | *eksconfig.AddOnHollowNodes.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_CREATED | *eksconfig.AddOnHollowNodes.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_CREATE_TOOK | *eksconfig.AddOnHollowNodes.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_CREATE_TOOK_STRING | *eksconfig.AddOnHollowNodes.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_DELETE_TOOK | *eksconfig.AddOnHollowNodes.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_DELETE_TOOK_STRING | *eksconfig.AddOnHollowNodes.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_NAMESPACE | *eksconfig.AddOnHollowNodes.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_NODES | *eksconfig.AddOnHollowNodes.Nodes | int | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_NODE_LABEL_PREFIX | *eksconfig.AddOnHollowNodes.NodeLabelPrefix | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_NODE_LABELS | *eksconfig.AddOnHollowNodes.NodeLabels | map[string]string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_MAX_OPEN_FILES | *eksconfig.AddOnHollowNodes.MaxOpenFiles | int64 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE | *eksconfig.AddOnHollowNodes.Remote | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REPOSITORY_NAME | *eksconfig.AddOnHollowNodes.RepositoryName | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REPOSITORY_URI | *eksconfig.AddOnHollowNodes.RepositoryURI | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REPOSITORY_IMAGE_TAG | *eksconfig.AddOnHollowNodes.RepositoryImageTag | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_DEPLOYMENT_REPLICAS | *eksconfig.AddOnHollowNodes.DeploymentReplicas | int32 | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_CREATED_NODE_NAMES | *eksconfig.AddOnHollowNodes.CreatedNodeNames | []string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_ENABLE | *eksconfig.AddOnClusterLoader.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_CREATED | *eksconfig.AddOnClusterLoader.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_CREATE_TOOK | *eksconfig.AddOnClusterLoader.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_CREATE_TOOK_STRING | *eksconfig.AddOnClusterLoader.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_DELETE_TOOK | *eksconfig.AddOnClusterLoader.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_DELETE_TOOK_STRING | *eksconfig.AddOnClusterLoader.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_DURATION | *eksconfig.AddOnClusterLoader.Duration | time.Duration | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_DURATION_STRING | *eksconfig.AddOnClusterLoader.DurationString | string | read-only "true"


AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_ENABLE | *eksconfig.AddOnConformance.Enable | bool | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_CREATED | *eksconfig.AddOnConformance.Created | bool | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_CREATE_TOOK | *eksconfig.AddOnConformance.CreateTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_CREATE_TOOK_STRING | *eksconfig.AddOnConformance.CreateTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_DELETE_TOOK | *eksconfig.AddOnConformance.DeleteTook | time.Duration | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_DELETE_TOOK_STRING | *eksconfig.AddOnConformance.DeleteTookString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_NAMESPACE | *eksconfig.AddOnConformance.Namespace | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_PATH | *eksconfig.AddOnConformance.SonobuoyPath | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_DOWNLOAD_URL | *eksconfig.AddOnConformance.SonobuoyDownloadURL | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_DELETE_TIMEOUT | *eksconfig.AddOnConformance.SonobuoyDeleteTimeout | time.Duration | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_DELETE_TIMEOUT_STRING | *eksconfig.AddOnConformance.SonobuoyDeleteTimeoutString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_TIMEOUT | *eksconfig.AddOnConformance.SonobuoyRunTimeout | time.Duration | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_TIMEOUT_STRING | *eksconfig.AddOnConformance.SonobuoyRunTimeoutString | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_MODE | *eksconfig.AddOnConformance.SonobuoyRunMode | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_KUBE_CONFORMANCE_IMAGE | *eksconfig.AddOnConformance.SonobuoyRunKubeConformanceImage | string | read-only "false"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_TAR_GZ_PATH | *eksconfig.AddOnConformance.SonobuoyResultTarGzPath | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_DIR | *eksconfig.AddOnConformance.SonobuoyResultDir | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_E2E_LOG_PATH | *eksconfig.AddOnConformance.SonobuoyResultE2eLogPath | string | read-only "true"
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_JUNIT_XML_PATH | *eksconfig.AddOnConformance.SonobuoyResultJunitXMLPath | string | read-only "true"


Documentation

Overview

Package eksconfig defines EKS test configuration.

Index

Constants

View Source
const (
	// DefaultClients is the default number of clients to create.
	DefaultClients = 3
	// DefaultClientQPS is the default client QPS.
	DefaultClientQPS float32 = 10
	// DefaultClientBurst is the default client burst.
	DefaultClientBurst = 20
	// DefaultClientTimeout is the default client timeout.
	DefaultClientTimeout = 30 * time.Second

	DefaultCommandAfterCreateClusterTimeout = 3 * time.Minute
	DefaultCommandAfterCreateAddOnsTimeout  = 3 * time.Minute

	// DefaultNodeInstanceTypeCPU is the default EC2 instance type for CPU worker node.
	DefaultNodeInstanceTypeCPU = "c5.xlarge"
	// DefaultNodeInstanceTypeGPU is the default EC2 instance type for GPU worker node.
	DefaultNodeInstanceTypeGPU = "p3.8xlarge"

	// DefaultNodeVolumeSize is the default EC2 instance volume size for a worker node.
	DefaultNodeVolumeSize = 40

	// NGsMaxLimit is the maximum number of "Node Group"s per a EKS cluster.
	NGsMaxLimit = 10
	// NGMaxLimit is the maximum number of nodes per a "Node Group".
	NGMaxLimit = 300

	// MNGsMaxLimit is the maximum number of "Managed Node Group"s per a EKS cluster.
	MNGsMaxLimit = 10
	// MNGMaxLimit is the maximum number of nodes per a "Managed Node Group".
	MNGMaxLimit = 100
)
View Source
const AWS_K8S_TESTER_EKS_PREFIX = "AWS_K8S_TESTER_EKS_"

AWS_K8S_TESTER_EKS_PREFIX is the environment variable prefix used for "eksconfig".

View Source
const ClusterStatusDELETEDORNOTEXIST = "DELETED/NOT-EXIST"

ClusterStatusDELETEDORNOTEXIST defines the cluster status when the cluster is not found.

ref. https://docs.aws.amazon.com/eks/latest/APIReference/API_Cluster.html#AmazonEKS-Type-Cluster-status

CREATING
ACTIVE
UPDATING
DELETING
FAILED
View Source
const EnvironmentVariablePrefixAddOnALB2048 = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_ALB_2048_"

EnvironmentVariablePrefixAddOnALB2048 is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnAppMesh = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_APP_MESH_"

EnvironmentVariablePrefixAddOnAppMesh is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnCSIEBS = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSI_EBS_"

EnvironmentVariablePrefixAddOnCSIEBS is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnCSRs = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSRS_"

EnvironmentVariablePrefixAddOnCSRs is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnClusterLoader = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_LOADER_"

EnvironmentVariablePrefixAddOnClusterLoader is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnConfigMaps = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIG_MAPS_"

EnvironmentVariablePrefixAddOnConfigMaps is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnConformance = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFORMANCE_"

EnvironmentVariablePrefixAddOnConformance is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnCronJobs = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CRON_JOBS_"

EnvironmentVariablePrefixAddOnCronJobs is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnFargate = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_FARGATE_"

EnvironmentVariablePrefixAddOnFargate is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnHollowNodes = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_"

EnvironmentVariablePrefixAddOnHollowNodes is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnIRSA = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_IRSA_"

EnvironmentVariablePrefixAddOnIRSA is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnIRSAFargate = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_IRSA_FARGATE_"

EnvironmentVariablePrefixAddOnIRSAFargate is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnJobsEcho = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JOBS_ECHO_"

EnvironmentVariablePrefixAddOnJobsEcho is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnJobsPi = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JOBS_PI_"

EnvironmentVariablePrefixAddOnJobsPi is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnJupyterHub = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JUPYTER_HUB_"

EnvironmentVariablePrefixAddOnJupyterHub is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnKubeflow = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_KUBEFLOW_"

EnvironmentVariablePrefixAddOnKubeflow is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnKubernetesDashboard = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_KUBERNETES_DASHBOARD_"

EnvironmentVariablePrefixAddOnKubernetesDashboard is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnManagedNodeGroups = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_MANAGED_NODE_GROUPS_"

EnvironmentVariablePrefixAddOnManagedNodeGroups is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnNLBHelloWorld = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NLB_HELLO_WORLD_"

EnvironmentVariablePrefixAddOnNLBHelloWorld is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnNodeGroups = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NODE_GROUPS_"

EnvironmentVariablePrefixAddOnNodeGroups is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnPrometheusGrafana = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_PROMETHEUS_GRAFANA_"

EnvironmentVariablePrefixAddOnPrometheusGrafana is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnSecrets = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_SECRETS_"

EnvironmentVariablePrefixAddOnSecrets is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixAddOnWordpress = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_WORDPRESS_"

EnvironmentVariablePrefixAddOnWordpress is the environment variable prefix used for "eksconfig".

View Source
const EnvironmentVariablePrefixParameters = AWS_K8S_TESTER_EKS_PREFIX + "PARAMETERS_"

EnvironmentVariablePrefixParameters is the environment variable prefix used for "eksconfig".

Variables

This section is empty.

Functions

This section is empty.

Types

type ASG added in v1.0.1

type ASG struct {
	ec2config.ASG

	// KubeletExtraArgs represents "--kubelet-extra-args".
	// e.g. '--kubelet-extra-args --node-labels=nodesgroup=main,subnets=private'
	// e.g. '--kubelet-extra-args --hostname-override=string'
	// ref. https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh
	//
	// TODO: handle conflicting flag '--cloud-provider aws'
	// ref. https://github.com/kubernetes/kubernetes/issues/64659
	KubeletExtraArgs string `json:"kubelet-extra-args"`
}

ASG represents an EKS Node Group ASG.

type AddOnALB2048 added in v0.5.0

type AddOnALB2048 struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// DeploymentReplicasALB is the number of ALB replicas to deploy using "Deployment" object.
	DeploymentReplicasALB int32 `json:"deployment-replicas-alb"`
	// DeploymentReplicas2048 is the number of 2048 replicas to deploy using "Deployment" object.
	DeploymentReplicas2048 int32 `json:"deployment-replicas-2048"`

	// ALBARN is the ARN of the ALB created from the service.
	ALBARN string `json:"alb-arn" read-only:"true"`
	// ALBName is the name of the ALB created from the service.
	ALBName string `json:"alb-name" read-only:"true"`
	// URL is the URL for ALB 2048 Service.
	URL string `json:"url" read-only:"true"`
}

AddOnALB2048 defines parameters for EKS cluster add-on ALB 2048 service.

type AddOnAppMesh added in v0.7.5

type AddOnAppMesh struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// ControllerImage is the image of appMesh controller
	ControllerImage string `json:"controller-image"`
	// InjectorImage is the image of appMesh injector
	InjectorImage string `json:"injector-image"`

	// PolicyCFNStackID is the CFN stack ID for policy.
	PolicyCFNStackID string `json:"policy-cfn-stack-id,omitempty" read-only:"true"`
}

AddOnAppMesh defines parameters for EKS cluster add-on "EKS App Mesh Integration".

type AddOnCSIEBS added in v1.0.6

type AddOnCSIEBS struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// ChartRepoURL is the chart repo URL.
	// e.g. https://github.com/kubernetes-sigs/aws-ebs-csi-driver/releases/download/v0.5.0/helm-chart.tgz
	ChartRepoURL string `json:"chart-repo-url"`
}

AddOnCSIEBS defines parameters for EKS cluster add-on AWS EBS CSI Driver. ref. https://github.com/kubernetes-sigs/aws-ebs-csi-driver#deploy-driver

type AddOnCSRs added in v0.9.8

type AddOnCSRs struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// InitialRequestConditionType is the initial CSR condition type
	// to simulate CSR condition.
	//
	// Valid values are:
	//   "k8s.io/api/certificates/v1beta1.CertificateApproved" == "Approved"
	//   "k8s.io/api/certificates/v1beta1.CertificateDenied" == "Denied"
	//   "Random"
	//   "Pending"
	//   ""
	//
	InitialRequestConditionType string `json:"initial-request-condition-type"`

	// Objects is the number of "CertificateSigningRequest" objects to create.
	Objects int `json:"objects"`
	// CreatedNames is the list of created "CertificateSigningRequest" object names.
	CreatedNames []string `json:"created-names" read-only:"true"`

	// FailThreshold is the number of write failures to allow.
	FailThreshold int `json:"fail-threshold"`
}

AddOnCSRs defines parameters for EKS cluster add-on "CertificateSigningRequest".

type AddOnClusterLoader added in v1.0.9

type AddOnClusterLoader struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Duration is the duration to run load testing.
	// The cluster loader waits "one" "Duration" for hollow ones.
	// And other one for cluster loader.
	Duration       time.Duration `json:"duration,omitempty"`
	DurationString string        `json:"duration-string,omitempty" read-only:"true"`
}

AddOnClusterLoader defines parameters for EKS cluster add-on Cluster Loader. ref. https://github.com/kubernetes/perf-tests

type AddOnConfigMaps added in v0.9.8

type AddOnConfigMaps struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// Objects is the number of "ConfigMap" objects to create.
	Objects int `json:"objects"`
	// Size is the "ConfigMap" value size in bytes.
	Size int `json:"size"`
	// CreatedNames is the list of created "ConfigMap" object names.
	CreatedNames []string `json:"created-names" read-only:"true"`

	// FailThreshold is the number of write failures to allow.
	FailThreshold int `json:"fail-threshold"`
}

AddOnConfigMaps defines parameters for EKS cluster add-on "ConfigMap".

type AddOnConformance added in v1.1.3

type AddOnConformance struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// SonobuoyPath is the path to download the "sonobuoy".
	SonobuoyPath string `json:"sonobuoy-path,omitempty"`
	// SonobuoyDownloadURL is the download URL to download "sonobuoy" binary from.
	// ref. https://github.com/vmware-tanzu/sonobuoy/releases
	SonobuoyDownloadURL string `json:"sonobuoy-download-url,omitempty"`

	SonobuoyDeleteTimeout       time.Duration `json:"sonobuoy-delete-timeout"`
	SonobuoyDeleteTimeoutString string        `json:"sonobuoy-delete-timeout-string" read-only:"true"`
	SonobuoyRunTimeout          time.Duration `json:"sonobuoy-run-timeout"`
	SonobuoyRunTimeoutString    string        `json:"sonobuoy-run-timeout-string" read-only:"true"`

	// SonobuoyRunMode is the mode to run sonobuoy in.
	// Valid modes are 'non-disruptive-conformance', 'quick', 'certified-conformance'.
	// The default is 'certified-conformance'.
	// ref. https://github.com/vmware-tanzu/sonobuoy
	SonobuoyRunMode                 string `json:"sonobuoy-run-mode"`
	SonobuoyRunKubeConformanceImage string `json:"sonobuoy-run-kube-conformance-image"`

	SonobuoyResultTarGzPath    string `json:"sonobuoy-result-tar-gz-path" read-only:"true"`
	SonobuoyResultDir          string `json:"sonobuoy-result-dir" read-only:"true"`
	SonobuoyResultE2eLogPath   string `json:"sonobuoy-result-e2e-log-path" read-only:"true"`
	SonobuoyResultJunitXMLPath string `json:"sonobuoy-result-junit-xml-path" read-only:"true"`
}

AddOnConformance defines parameters for EKS cluster add-on Conformance. ref. https://github.com/cncf/k8s-conformance/blob/master/instructions.md ref. https://github.com/vmware-tanzu/sonobuoy

type AddOnCronJobs added in v0.9.8

type AddOnCronJobs struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// Schedule is the cron schedule (e.g. "*/1 * * * *").
	Schedule string `json:"schedule"`
	// Completes is the desired number of successfully finished pods.
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	Parallels int `json:"parallels"`
	// SuccessfulJobsHistoryLimit is the number of successful finished
	// jobs to retain. Defaults to 3.
	SuccessfulJobsHistoryLimit int32 `json:"successful-jobs-history-limit"`
	// FailedJobsHistoryLimit is the number of failed finished jobs
	// to retain. Defaults to 1.
	FailedJobsHistoryLimit int32 `json:"failed-jobs-history-limit"`

	// EchoSize is the job object size in bytes.
	// "Request entity too large: limit is 3145728" (3.1 MB).
	// "The Job "echo" is invalid: metadata.annotations:
	// Too long: must have at most 262144 characters". (0.26 MB)
	EchoSize int `json:"echo-size"`
}

AddOnCronJobs defines parameters for EKS cluster add-on with CronJob.

type AddOnFargate added in v0.6.3

type AddOnFargate struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// RoleName is the role name for Fargate.
	RoleName string `json:"role-name"`
	// RoleCreate is true to auto-create and delete role.
	RoleCreate bool `json:"role-create"`
	// RoleARN is the role ARN for Fargate.
	RoleARN string `json:"role-arn"`
	// RoleServicePrincipals is the Fargate role Service Principals
	RoleServicePrincipals []string `json:"role-service-principals"`
	// RoleManagedPolicyARNs is Fargate role managed policy ARNs.
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

	// ProfileName is the profile name for Fargate.
	ProfileName string `json:"profile-name"`
	// SecretName is the secret name for Fargate.
	SecretName string `json:"secret-name"`
	// PodName is the name of the Fargate Pod.
	PodName string `json:"pod-name"`
	// ContainerName is the name of the Fargate container.
	ContainerName string `json:"container-name"`
}

AddOnFargate defines parameters for EKS cluster add-on "EKS on Fargate".

type AddOnHollowNodes added in v1.1.3

type AddOnHollowNodes struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// Nodes is the number of hollow nodes to create.
	// If "Local" equals to "false", the number of nodes deployed
	// will be multiplied by "DeploymentReplicas".
	// e.g. each Pod creates 5 hollow nodes, while deployment replicas are 10.
	// The deployment will create total 50 nodes (= 5 times 10).
	Nodes int `json:"nodes"`
	// NodeLabelPrefix is the node prefix.
	NodeLabelPrefix string `json:"node-label-prefix"`
	// NodeLabels is the node labels to attach when creating hollow nodes.
	NodeLabels map[string]string `json:"node-labels" read-only:"true"`

	// MaxOpenFiles is number of files that can be opened by hollow node kubelet process.
	// "cmd/kubelet/app.rlimit.SetNumFiles(MaxOpenFiles)" sets this for the host.
	MaxOpenFiles int64 `json:"max-open-files"`

	// Remote is true to create hollow nodes in remote Pods.
	// If false, it run hollow node kubelets in the local host system.
	// More than >100 node may exceed local system file descriptor limits.
	// e.g. too many open files
	// If true, create hollow nodes using Kubernetes Pod.
	Remote bool `json:"remote"`

	// RepositoryName is the repositoryName for hollow node tester.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryURI is the repositoryUri for hollow node tester.
	// e.g. "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryURI string `json:"repository-uri,omitempty"`
	// RepositoryImageTag is the image tag for hollow node tester.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`
	// DeploymentReplicas is the number of replicas to deploy when hollow nodes are deployed via Pod.
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`

	// CreatedNodeNames is the list of created "Node" object names.
	CreatedNodeNames []string `json:"created-node-names" read-only:"true"`
}

AddOnHollowNodes defines parameters for EKS cluster add-on Hollow Nodes.

type AddOnIRSA added in v0.5.8

type AddOnIRSA struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// RoleName is the role name for IRSA.
	RoleName string `json:"role-name"`
	// RoleARN is the role ARN for IRSA.
	RoleARN string `json:"role-arn"`
	// RoleManagedPolicyARNs is IRSA role managed policy ARNs.
	// ref. https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

	// ServiceAccountName is the ServiceAccount name.
	ServiceAccountName string `json:"service-account-name"`
	// ConfigMapName is the ConfigMap name.
	ConfigMapName string `json:"config-map-name"`
	// ConfigMapScriptFileName is the ConfigMap script name.
	ConfigMapScriptFileName string `json:"config-map-script-file-name"`
	// S3Key is the S3 key to write for IRSA tests.
	S3Key string `json:"s3-key"`

	// DeploymentName is the Deployment name.
	DeploymentName string `json:"deployment-name"`
	// DeploymentReplicas is the number of Deployment replicas.
	DeploymentReplicas int32 `json:"deployment-replicas"`
	// DeploymentResultPath is the output of "Deployment" run.
	DeploymentResultPath string `json:"deployment-result-path"`
	// DeploymentTook is the duration that took for Deployment resource.
	DeploymentTook time.Duration `json:"deployment-took,omitempty" read-only:"true"`
	// DeploymentTookString is the duration that took for Deployment resource.
	DeploymentTookString string `json:"deployment-took-string,omitempty" read-only:"true"`
}

AddOnIRSA defines parameters for EKS cluster add-on "IAM Roles for Service Accounts (IRSA)".

type AddOnIRSAFargate added in v1.0.7

type AddOnIRSAFargate struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// RoleName is the role name for IRSA.
	RoleName string `json:"role-name"`
	// RoleARN is the role ARN for IRSA.
	RoleARN string `json:"role-arn"`
	// RoleServicePrincipals is the Fargate role Service Principals
	RoleServicePrincipals []string `json:"role-service-principals"`
	// RoleManagedPolicyARNs is IRSA role managed policy ARNs.
	// ref. https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

	// ServiceAccountName is the IRSA ServiceAccount name.
	ServiceAccountName string `json:"service-account-name"`
	// ConfigMapName is the ConfigMap name.
	ConfigMapName string `json:"config-map-name"`
	// ConfigMapScriptFileName is the IRSA ConfigMap script name.
	ConfigMapScriptFileName string `json:"config-map-script-file-name"`
	// S3Key is the S3 key to write for IRSA tests.
	S3Key string `json:"s3-key"`

	// ProfileName is the profile name for Fargate.
	ProfileName string `json:"profile-name"`
	// PodName is the name of the Fargate Pod with IRSA.
	PodName string `json:"pod-name"`
	// ContainerName is the name of the Fargate container.
	ContainerName string `json:"container-name"`
}

AddOnIRSAFargate defines parameters for EKS cluster add-on "IAM Roles for Service Accounts (IRSA)" with Fargate.

type AddOnJobsEcho added in v0.9.8

type AddOnJobsEcho struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// Completes is the desired number of successfully finished pods.
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	Parallels int `json:"parallels"`
	// EchoSize is the job object size in bytes.
	// "Request entity too large: limit is 3145728" (3.1 MB).
	// "The Job "echo" is invalid: metadata.annotations:
	// Too long: must have at most 262144 characters". (0.26 MB)
	EchoSize int `json:"echo-size"`
}

AddOnJobsEcho defines parameters for EKS cluster add-on Job with echo.

type AddOnJobsPi added in v0.9.8

type AddOnJobsPi struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// Completes is the desired number of successfully finished pods.
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	Parallels int `json:"parallels"`
}

AddOnJobsPi defines parameters for EKS cluster add-on Job with Perl.

type AddOnJupyterHub added in v1.0.8

type AddOnJupyterHub struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// ProxySecretToken is 32-byte hexadecimal encoded secret token string.
	// e.g. "openssl rand -hex 32"
	ProxySecretToken string `json:"proxy-secret-token"`

	// NLBARN is the ARN of the NLB created from the service.
	NLBARN string `json:"nlb-arn" read-only:"true"`
	// NLBName is the name of the NLB created from the service.
	NLBName string `json:"nlb-name" read-only:"true"`
	// URL is the host name for Jupyter Hub service.
	URL string `json:"url" read-only:"true"`
}

AddOnJupyterHub defines parameters for EKS cluster add-on Jupyter Hub. ref. https://zero-to-jupyterhub.readthedocs.io/en/latest/index.html

type AddOnKubeflow added in v1.0.6

type AddOnKubeflow struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// KfctlPath is the path to download the "kfctl".
	KfctlPath string `json:"kfctl-path,omitempty"`
	// KfctlDownloadURL is the download URL to download "kfctl" binary from.
	// ref. https://github.com/kubeflow/kfctl/releases
	KfctlDownloadURL string `json:"kfctl-download-url,omitempty"`

	// BaseDir is the base directory where you want to store one or more
	// Kubeflow deployments.
	BaseDir string `json:"base-dir"`
	KfDir   string `json:"kf-dir" read-only:"true"`
	// KfctlConfigPath is the path to write "kfctl" configuration.
	// The existing configuration file is overwritten.
	KfctlConfigPath string `json:"kfctl-config-path" read-only:"true"`
}

AddOnKubeflow defines parameters for EKS cluster add-on Kubeflow. ref. https://www.kubeflow.org/docs/aws/deploy/install-kubeflow/

type AddOnKubernetesDashboard added in v1.0.6

type AddOnKubernetesDashboard struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// AuthenticationToken is the authentication token for eks-admin service account.
	AuthenticationToken string `json:"authentication-token,omitempty" read-only:"true"`
	// URL is the host name for Kubernetes Dashboard service.
	URL string `json:"url" read-only:"true"`

	// KubectlProxyPID is the PID for kubectl proxy.
	KubectlProxyPID int `json:"kubectl-proxy-pid" read-only:"true"`
}

AddOnKubernetesDashboard defines parameters for EKS cluster add-on Kubernetes Dashboard. ref. https://docs.aws.amazon.com/eks/latest/userguide/dashboard-tutorial.html

type AddOnManagedNodeGroups added in v0.5.5

type AddOnManagedNodeGroups struct {
	// Enable is true to auto-create a managed node group.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// FetchLogs is true to fetch logs from remote nodes using SSH.
	FetchLogs bool `json:"fetch-logs"`

	// RoleName is the name of the managed node group.
	RoleName string `json:"role-name"`
	// RoleCreate is true to auto-create and delete role.
	RoleCreate bool `json:"role-create"`
	// RoleARN is the role ARN that EKS managed node group uses to create AWS
	// resources for Kubernetes.
	// By default, it's empty which triggers tester to create one.
	RoleARN string `json:"role-arn"`
	// RoleServicePrincipals is the node group Service Principals
	RoleServicePrincipals []string `json:"role-service-principals"`
	// RoleManagedPolicyARNs is node group managed policy ARNs.
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

	// RequestHeaderKey defines EKS managed node group create cluster request header key.
	RequestHeaderKey string `json:"request-header-key,omitempty"`
	// RequestHeaderValue defines EKS managed node group create cluster request header value.
	RequestHeaderValue string `json:"request-header-value,omitempty"`
	// ResolverURL defines an AWS resolver endpoint for EKS API.
	// Must be left empty to use production EKS managed node group service.
	ResolverURL string `json:"resolver-url"`
	// SigningName is the EKS managed node group create request signing name.
	SigningName string `json:"signing-name"`

	// LogsDir is set to specify the target directory to store all remote log files.
	// If empty, it stores in the same directory as "ConfigPath".
	LogsDir string `json:"logs-dir,omitempty"`
	// MNGs maps from EKS Managed Node Group name to "MNG".
	// "GetRef.Name" is the reserved key and MNG name from eksconfig.Config.Name.
	MNGs map[string]MNG `json:"mngs,omitempty"`
}

AddOnManagedNodeGroups defines parameters for EKS "Managed Node Group" creation. ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html

type AddOnNLBHelloWorld added in v0.5.0

type AddOnNLBHelloWorld struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// DeploymentReplicas is the number of replicas to deploy using "Deployment" object.
	DeploymentReplicas int32 `json:"deployment-replicas"`

	// NLBARN is the ARN of the NLB created from the service.
	NLBARN string `json:"nlb-arn" read-only:"true"`
	// NLBName is the name of the NLB created from the service.
	NLBName string `json:"nlb-name" read-only:"true"`
	// URL is the host name for hello-world service.
	URL string `json:"url" read-only:"true"`
}

AddOnNLBHelloWorld defines parameters for EKS cluster add-on NLB hello-world service.

type AddOnNodeGroups added in v0.7.5

type AddOnNodeGroups struct {
	// Enable is true to auto-create ad node group.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// FetchLogs is true to fetch logs from remote nodes using SSH.
	FetchLogs bool `json:"fetch-logs"`

	// RoleName is the name of thed node group.
	RoleName string `json:"role-name"`
	// RoleCreate is true to auto-create and delete role.
	RoleCreate bool `json:"role-create"`
	// RoleARN is the role ARN that EKS node group uses to create AWS
	// resources for Kubernetes.
	// By default, it's empty which triggers tester to create one.
	RoleARN string `json:"role-arn"`
	// RoleServicePrincipals is the node group Service Principals
	RoleServicePrincipals []string `json:"role-service-principals"`
	// RoleManagedPolicyARNs is node groupd policy ARNs.
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

	// NodeGroupSecurityGroupID is the security group ID for the node group.
	NodeGroupSecurityGroupID         string `json:"node-group-security-group-id" read-only:"true"`
	NodeGroupSecurityGroupCFNStackID string `json:"node-group-security-group-cfn-stack-id" read-only:"true"`

	// LogsDir is set to specify the target directory to store all remote log files.
	// If empty, it stores in the same directory as "ConfigPath".
	LogsDir string `json:"logs-dir,omitempty"`
	// ASGs maps from EKS Node Group name to "ASG".
	// "GetRef.Name" is the reserved key and NG name from eksconfig.Config.Name.
	ASGs map[string]ASG `json:"asgs,omitempty"`
}

AddOnNodeGroups defines parameters for EKS "Managed Node Group" creation. ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html

type AddOnPrometheusGrafana added in v1.0.6

type AddOnPrometheusGrafana struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// GrafanaAdminUserName is the admin user for the Grafana service.
	GrafanaAdminUserName string `json:"grafana-admin-user-name"`
	// GrafanaAdminPassword is the admin password for the Grafana service.
	GrafanaAdminPassword string `json:"grafana-admin-password"`
	// GrafanaNLBARN is the ARN of the NLB created from the Grafana service.
	GrafanaNLBARN string `json:"grafana-nlb-arn" read-only:"true"`
	// GrafanaNLBName is the name of the NLB created from the Grafana service.
	GrafanaNLBName string `json:"grafana-nlb-name" read-only:"true"`
	// GrafanaURL is the host name for Grafana service.
	GrafanaURL string `json:"grafana-url" read-only:"true"`
}

AddOnPrometheusGrafana defines parameters for EKS cluster add-on Prometheus/Grafana. ref. https://docs.aws.amazon.com/eks/latest/userguide/prometheus.html ref. https://eksworkshop.com/intermediate/240_monitoring/deploy-prometheus/

type AddOnSecrets added in v0.5.5

type AddOnSecrets struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// Objects is the number of "Secret" objects to write/read.
	Objects int `json:"objects"`
	// Size is the "Secret" value size in bytes.
	Size int `json:"size"`

	// FailThreshold is the number of write failures to allow.
	FailThreshold int `json:"fail-threshold"`

	// CreatedSecretsNames is the list of created "Secret" object names.
	CreatedSecretsNames []string `json:"created-secrets-names" read-only:"true"`
	// CreatedPodNames is the list of created "Pod" object names.
	CreatedPodNames []string `json:"created-pod-names" read-only:"true"`

	// WritesResultPath is the CSV file path to output Secret writes test results.
	WritesResultPath string `json:"writes-result-path"`
	// ReadsResultPath is the CSV file path to output Secret reads test results.
	ReadsResultPath string `json:"reads-result-path"`
}

AddOnSecrets defines parameters for EKS cluster add-on "Secrets".

type AddOnWordpress added in v1.0.6

type AddOnWordpress struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created bool `json:"created" read-only:"true"`
	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// Namespace is the namespace to create objects in.
	Namespace string `json:"namespace"`

	// UserName is the user name.
	// ref. https://github.com/helm/charts/tree/master/stable/wordpress
	UserName string `json:"user-name"`
	// Password is the user password.
	// ref. https://github.com/helm/charts/tree/master/stable/wordpress
	Password string `json:"password"`

	// NLBARN is the ARN of the NLB created from the service.
	NLBARN string `json:"nlb-arn" read-only:"true"`
	// NLBName is the name of the NLB created from the service.
	NLBName string `json:"nlb-name" read-only:"true"`
	// URL is the host name for WordPress service.
	URL string `json:"url" read-only:"true"`
}

AddOnWordpress defines parameters for EKS cluster add-on WordPress. ref. https://github.com/helm/charts/blob/master/stable/wordpress/requirements.yaml ref. https://github.com/helm/charts/tree/master/stable/mariadb ref. https://github.com/bitnami/charts/tree/master/bitnami/wordpress/#installing-the-chart

type ClusterStatus added in v0.6.5

type ClusterStatus struct {
	Time   time.Time `json:"time"`
	Status string    `json:"status"`
}

ClusterStatus represents the cluster status.

type Config

type Config struct {

	// ConfigPath is the configuration file path.
	// Deployer is expected to update this file with latest status.
	ConfigPath string `json:"config-path,omitempty"`
	// KubectlCommandsOutputPath is the output path for kubectl commands.
	KubectlCommandsOutputPath string `json:"kubectl-commands-output-path,omitempty"`
	// RemoteAccessCommandsOutputPath is the output path for ssh commands.
	RemoteAccessCommandsOutputPath string `json:"remote-access-commands-output-path,omitempty"`

	// Region is the AWS geographic area for EKS deployment.
	// If empty, set default region.
	Region string `json:"region,omitempty"`
	// Name is the cluster name.
	// If empty, deployer auto-populates it.
	Name string `json:"name,omitempty"`

	// LogLevel configures log level. Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
	LogLevel string `json:"log-level"`
	// LogOutputs is a list of log outputs. Valid values are 'default', 'stderr', 'stdout', or file names.
	// Logs are appended to the existing file, if any.
	// Multiple values are accepted. If empty, it sets to 'default', which outputs to stderr.
	// See https://pkg.go.dev/go.uber.org/zap#Open and https://pkg.go.dev/go.uber.org/zap#Config for more details.
	LogOutputs []string `json:"log-outputs,omitempty"`

	// AWSCLIPath is the path for AWS CLI path.
	AWSCLIPath string `json:"aws-cli-path,omitempty"`

	// KubectlPath is the path to download the "kubectl".
	KubectlPath string `json:"kubectl-path,omitempty"`
	// KubectlDownloadURL is the download URL to download "kubectl" binary from.
	// https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html
	KubectlDownloadURL string `json:"kubectl-download-url,omitempty"`
	// KubeConfigPath is the file path of KUBECONFIG for the EKS cluster.
	// If empty, auto-generate one.
	// Deployer is expected to delete this on cluster tear down.
	KubeConfigPath string `json:"kubeconfig-path,omitempty"`

	// AWSIAMAuthenticatorPath is the path to aws-iam-authenticator.
	AWSIAMAuthenticatorPath string `json:"aws-iam-authenticator-path,omitempty"`
	// AWSIAMAuthenticatorDownloadURL is the download URL to download "aws-iam-authenticator" binary from.
	AWSIAMAuthenticatorDownloadURL string `json:"aws-iam-authenticator-download-url,omitempty"`

	// OnFailureDelete is true to delete all resources on creation fail.
	OnFailureDelete bool `json:"on-failure-delete"`
	// OnFailureDeleteWaitSeconds is the seconds to wait before deleting
	// all resources on creation fail.
	OnFailureDeleteWaitSeconds uint64 `json:"on-failure-delete-wait-seconds"`

	// CommandAfterCreateCluster is the command to execute after creating clusters.
	// Currently supported variables are:
	//  - "GetRef.Name" for cluster name
	//  - "GetRef.ClusterARN" for cluster ARN
	CommandAfterCreateCluster              string        `json:"command-after-create-cluster"`
	CommandAfterCreateClusterOutputPath    string        `json:"command-after-create-cluster-output-path" read-only:"true"`
	CommandAfterCreateClusterTimeout       time.Duration `json:"command-after-create-cluster-timeout"`
	CommandAfterCreateClusterTimeoutString string        `json:"command-after-create-cluster-timeout-string" read-only:"true"`
	// CommandAfterCreateAddOns is the command to execute after creating clusters and add-ons.
	// Currently supported variables are:
	//  - "GetRef.Name" for cluster name
	//  - "GetRef.ClusterARN" for cluster ARN
	CommandAfterCreateAddOns              string        `json:"command-after-create-add-ons"`
	CommandAfterCreateAddOnsOutputPath    string        `json:"command-after-create-add-ons-output-path" read-only:"true"`
	CommandAfterCreateAddOnsTimeout       time.Duration `json:"command-after-create-add-ons-timeout"`
	CommandAfterCreateAddOnsTimeoutString string        `json:"command-after-create-add-ons-timeout-string" read-only:"true"`

	// S3BucketCreate is true to auto-create S3 bucket.
	S3BucketCreate bool `json:"s3-bucket-create"`
	// S3BucketCreateKeep is true to not delete auto-created S3 bucket.
	// The created S3 bucket is kept.
	S3BucketCreateKeep bool `json:"s3-bucket-create-keep"`
	// S3BucketName is the name of cluster S3.
	S3BucketName string `json:"s3-bucket-name"`
	// S3BucketLifecycleExpirationDays is expiration in days for the lifecycle of the object.
	S3BucketLifecycleExpirationDays int64 `json:"s3-bucket-lifecycle-expiration-days"`

	// Parameters defines EKS "cluster" creation parameters.
	// It's ok to leave any parameters empty.
	// If empty, it will use default values.
	Parameters *Parameters `json:"parameters,omitempty"`

	// RemoteAccessKeyCreate is true to create the remote SSH access private key.
	RemoteAccessKeyCreate bool `json:"remote-access-key-create"`
	// RemoteAccessKeyName is the key name for node group SSH EC2 key pair.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	RemoteAccessKeyName string `json:"remote-access-key-name,omitempty"`
	// RemoteAccessPrivateKeyPath is the file path to store node group key pair private key.
	// Thus, deployer must delete the private key right after node group creation.
	// MAKE SURE PRIVATE KEY NEVER GETS UPLOADED TO CLOUD STORAGE AND DELETE AFTER USE!!!
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	RemoteAccessPrivateKeyPath string `json:"remote-access-private-key-path,omitempty"`

	// Clients is the number of kubernetes clients to create.
	// Default is 1.
	// This field is used for "eks/cluster-loader" tester. Configure accordingly.
	// Rate limit is done via "k8s.io/client-go/util/flowcontrol.NewTokenBucketRateLimiter".
	Clients int `json:"clients"`
	// ClientQPS is the QPS for kubernetes client.
	// To use while talking with kubernetes apiserver.
	//
	// Kubernetes client DefaultQPS is 5.
	// Kubernetes client DefaultBurst is 10.
	// ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/client-go/rest/config.go#L43-L46
	//
	// kube-apiserver default inflight requests limits are:
	// FLAG: --max-mutating-requests-inflight="200"
	// FLAG: --max-requests-inflight="400"
	// ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/apiserver/pkg/server/config.go#L300-L301
	//
	// This field is used for "eks/cluster-loader" tester. Configure accordingly.
	// Rate limit is done via "k8s.io/client-go/util/flowcontrol.NewTokenBucketRateLimiter".
	ClientQPS float32 `json:"client-qps"`
	// ClientBurst is the burst for kubernetes client.
	// To use while talking with kubernetes apiserver
	//
	// Kubernetes client DefaultQPS is 5.
	// Kubernetes client DefaultBurst is 10.
	// ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/client-go/rest/config.go#L43-L46
	//
	// kube-apiserver default inflight requests limits are:
	// FLAG: --max-mutating-requests-inflight="200"
	// FLAG: --max-requests-inflight="400"
	// ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/apiserver/pkg/server/config.go#L300-L301
	//
	// This field is used for "eks/cluster-loader" tester. Configure accordingly.
	// Rate limit is done via "k8s.io/client-go/util/flowcontrol.NewTokenBucketRateLimiter".
	ClientBurst int `json:"client-burst"`
	// ClientTimeout is the client timeout.
	ClientTimeout       time.Duration `json:"client-timeout"`
	ClientTimeoutString string        `json:"client-timeout-string,omitempty" read-only:"true"`

	// AddOnNodeGroups defines EKS "Node Group"
	// creation parameters.
	AddOnNodeGroups *AddOnNodeGroups `json:"add-on-node-groups,omitempty"`
	// AddOnManagedNodeGroups defines EKS "Managed Node Group"
	// creation parameters. If empty, it will use default values.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	AddOnManagedNodeGroups *AddOnManagedNodeGroups `json:"add-on-managed-node-groups,omitempty"`

	// AddOnCSIEBS defines parameters for EKS cluster
	// add-on AWS EBS CSI Driver.
	AddOnCSIEBS *AddOnCSIEBS `json:"add-on-csi-ebs,omitempty"`
	// AddOnKubernetesDashboard defines parameters for EKS cluster
	// add-on Dashboard.
	AddOnKubernetesDashboard *AddOnKubernetesDashboard `json:"add-on-kubernetes-dashboard,omitempty"`
	// AddOnPrometheusGrafana defines parameters for EKS cluster
	// add-on Prometheus/Grafana.
	AddOnPrometheusGrafana *AddOnPrometheusGrafana `json:"add-on-prometheus-grafana,omitempty"`

	// AddOnNLBHelloWorld defines parameters for EKS cluster
	// add-on NLB hello-world service.
	AddOnNLBHelloWorld *AddOnNLBHelloWorld `json:"add-on-nlb-hello-world,omitempty"`
	// AddOnALB2048 defines parameters for EKS cluster
	// add-on ALB 2048 service.
	AddOnALB2048 *AddOnALB2048 `json:"add-on-alb-2048,omitempty"`
	// AddOnJobsPi defines parameters for EKS cluster
	// add-on Job with pi Perl command.
	AddOnJobsPi *AddOnJobsPi `json:"add-on-jobs-pi,omitempty"`
	// AddOnJobsEcho defines parameters for EKS cluster
	// add-on Job with echo.
	AddOnJobsEcho *AddOnJobsEcho `json:"add-on-jobs-echo,omitempty"`
	// AddOnCronJobs defines parameters for EKS cluster
	// add-on with CronJob.
	AddOnCronJobs *AddOnCronJobs `json:"add-on-cron-jobs,omitempty"`
	// AddOnCSRs defines parameters for EKS cluster
	// add-on with CSRs.
	AddOnCSRs *AddOnCSRs `json:"add-on-csrs,omitempty"`
	// AddOnConfigMaps defines parameters for EKS cluster
	// add-on with ConfigMap.
	AddOnConfigMaps *AddOnConfigMaps `json:"add-on-config-maps,omitempty"`
	// AddOnSecrets defines parameters for EKS cluster
	// add-on "Secrets".
	AddOnSecrets *AddOnSecrets `json:"add-on-secrets,omitempty"`
	// AddOnIRSA defines parameters for EKS cluster
	// add-on "IAM Roles for Service Accounts (IRSA)".
	AddOnIRSA *AddOnIRSA `json:"add-on-irsa,omitempty"`
	// AddOnFargate defines parameters for EKS cluster
	// add-on "EKS on Fargate".
	AddOnFargate *AddOnFargate `json:"add-on-fargate,omitempty"`
	// AddOnIRSAFargate defines parameters for EKS cluster
	// add-on "IAM Roles for Service Accounts (IRSA)" with Fargate.
	AddOnIRSAFargate *AddOnIRSAFargate `json:"add-on-irsa-fargate,omitempty"`
	// AddOnAppMesh defines parameters for EKS cluster
	// add-on "EKS App Mesh Integration".
	AddOnAppMesh *AddOnAppMesh `json:"add-on-app-mesh,omitempty"`
	// AddOnWordpress defines parameters for EKS cluster
	// add-on WordPress.
	AddOnWordpress *AddOnWordpress `json:"add-on-wordpress,omitempty"`
	// AddOnJupyterHub defines parameters for EKS cluster
	// add-on JupyterHub.
	AddOnJupyterHub *AddOnJupyterHub `json:"add-on-jupyter-hub,omitempty"`
	// AddOnKubeflow defines parameters for EKS cluster
	// add-on Kubeflow.
	AddOnKubeflow *AddOnKubeflow `json:"add-on-kubeflow,omitempty"`
	// AddOnConformance defines parameters for EKS cluster
	// add-on Hollow Nodes.
	AddOnHollowNodes *AddOnHollowNodes `json:"add-on-hollow-nodes,omitempty"`
	// AddOnClusterLoader defines parameters for EKS cluster
	// add-on Cluster Loader.
	AddOnClusterLoader *AddOnClusterLoader `json:"add-on-cluster-loader,omitempty"`
	// AddOnConformance defines parameters for EKS cluster
	// add-on Conformance.
	AddOnConformance *AddOnConformance `json:"add-on-conformance,omitempty"`

	// Status represents the current status of AWS resources.
	// Status is read-only.
	// Status cannot be configured via environmental variables.
	Status *Status `json:"status,omitempty" read-only:"true"`
	// contains filtered or unexported fields
}

Config defines EKS configuration.

func Load

func Load(p string) (cfg *Config, err error)

Load loads configuration from YAML. Useful when injecting shared configuration via ConfigMap.

Example usage:

import "github.com/aws/aws-k8s-tester/eksconfig"
cfg := eksconfig.Load("test.yaml")
err := cfg.ValidateAndSetDefaults()

Do not set default values in this function. "ValidateAndSetDefaults" must be called separately, to prevent overwriting previous data when loaded from disks.

func NewDefault

func NewDefault() *Config

NewDefault returns a default configuration.

  • empty string creates a non-nil object for pointer-type field
  • omitting an entire field returns nil value
  • make sure to check both

func (*Config) EvaluateCommandRefs added in v1.0.6

func (cfg *Config) EvaluateCommandRefs() error

EvaluateCommandRefs updates "CommandAfterCreateCluster" and "CommandAfterCreateAddOns". currently, only support "GetRef.Name" and "GetRef.ClusterARN"

func (*Config) IsEnabledAddOnALB2048 added in v0.7.5

func (cfg *Config) IsEnabledAddOnALB2048() bool

IsEnabledAddOnALB2048 returns true if "AddOnALB2048" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnAppMesh added in v0.7.5

func (cfg *Config) IsEnabledAddOnAppMesh() bool

IsEnabledAddOnAppMesh returns true if "AddOnAppMesh" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnCSIEBS added in v1.0.6

func (cfg *Config) IsEnabledAddOnCSIEBS() bool

IsEnabledAddOnCSIEBS returns true if "AddOnCSIEBS" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnCSRs added in v0.9.8

func (cfg *Config) IsEnabledAddOnCSRs() bool

IsEnabledAddOnCSRs returns true if "AddOnCSRs" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnClusterLoader added in v1.0.9

func (cfg *Config) IsEnabledAddOnClusterLoader() bool

IsEnabledAddOnClusterLoader returns true if "AddOnClusterLoader" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnConfigMaps added in v0.9.8

func (cfg *Config) IsEnabledAddOnConfigMaps() bool

IsEnabledAddOnConfigMaps returns true if "AddOnConfigMaps" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnConformance added in v1.1.3

func (cfg *Config) IsEnabledAddOnConformance() bool

IsEnabledAddOnConformance returns true if "AddOnConformance" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnCronJobs added in v0.9.8

func (cfg *Config) IsEnabledAddOnCronJobs() bool

IsEnabledAddOnCronJobs returns true if "AddOnCronJobs" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnFargate added in v0.7.5

func (cfg *Config) IsEnabledAddOnFargate() bool

IsEnabledAddOnFargate returns true if "AddOnFargate" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnHollowNodes added in v1.1.3

func (cfg *Config) IsEnabledAddOnHollowNodes() bool

IsEnabledAddOnHollowNodes returns true if "AddOnHollowNodes" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnIRSA added in v0.7.5

func (cfg *Config) IsEnabledAddOnIRSA() bool

IsEnabledAddOnIRSA returns true if "AddOnIRSA" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnIRSAFargate added in v1.0.7

func (cfg *Config) IsEnabledAddOnIRSAFargate() bool

IsEnabledAddOnIRSAFargate returns true if "AddOnIRSAFargate" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnJobsEcho added in v0.9.8

func (cfg *Config) IsEnabledAddOnJobsEcho() bool

IsEnabledAddOnJobsEcho returns true if "AddOnJobsEcho" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnJobsPi added in v0.9.8

func (cfg *Config) IsEnabledAddOnJobsPi() bool

IsEnabledAddOnJobsPi returns true if "AddOnJobsPi" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnJupyterHub added in v1.0.8

func (cfg *Config) IsEnabledAddOnJupyterHub() bool

IsEnabledAddOnJupyterHub returns true if "AddOnJupyterHub" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnKubeflow added in v1.0.6

func (cfg *Config) IsEnabledAddOnKubeflow() bool

IsEnabledAddOnKubeflow returns true if "AddOnKubeflow" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnKubernetesDashboard added in v1.0.6

func (cfg *Config) IsEnabledAddOnKubernetesDashboard() bool

IsEnabledAddOnKubernetesDashboard returns true if "AddOnKubernetesDashboard" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnManagedNodeGroups added in v0.7.5

func (cfg *Config) IsEnabledAddOnManagedNodeGroups() bool

IsEnabledAddOnManagedNodeGroups returns true if "AddOnManagedNodeGroups" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnNLBHelloWorld added in v0.7.5

func (cfg *Config) IsEnabledAddOnNLBHelloWorld() bool

IsEnabledAddOnNLBHelloWorld returns true if "AddOnNLBHelloWorld" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnNodeGroups added in v0.7.5

func (cfg *Config) IsEnabledAddOnNodeGroups() bool

IsEnabledAddOnNodeGroups returns true if "AddOnNodeGroups" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnPrometheusGrafana added in v1.0.6

func (cfg *Config) IsEnabledAddOnPrometheusGrafana() bool

IsEnabledAddOnPrometheusGrafana returns true if "AddOnPrometheusGrafana" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnSecrets added in v0.7.5

func (cfg *Config) IsEnabledAddOnSecrets() bool

IsEnabledAddOnSecrets returns true if "AddOnSecrets" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnWordpress added in v1.0.6

func (cfg *Config) IsEnabledAddOnWordpress() bool

IsEnabledAddOnWordpress returns true if "AddOnWordpress" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) KubectlCommand added in v0.5.8

func (cfg *Config) KubectlCommand() string

KubectlCommand returns the kubectl command.

func (*Config) KubectlCommands

func (cfg *Config) KubectlCommands() (s string)

KubectlCommands returns the various kubectl commands.

func (*Config) RecordStatus added in v0.6.5

func (cfg *Config) RecordStatus(status string)

RecordStatus records cluster status.

func (*Config) SSHCommands

func (cfg *Config) SSHCommands() string

SSHCommands returns the SSH commands.

func (*Config) Sync

func (cfg *Config) Sync() (err error)

Sync persists current configuration and states to disk.

func (*Config) UpdateFromEnvs

func (cfg *Config) UpdateFromEnvs() (err error)

UpdateFromEnvs updates fields from environmental variables. Empty values are ignored and do not overwrite fields with empty values. WARNING: The environmetal variable value always overwrites current field values if there's a conflict.

func (*Config) ValidateAndSetDefaults

func (cfg *Config) ValidateAndSetDefaults() error

ValidateAndSetDefaults returns an error for invalid configurations. And updates empty fields with default values. At the end, it writes populated YAML to aws-k8s-tester config path. "read-only" fields cannot be set, causing errors.

type MNG added in v0.5.5

type MNG struct {
	// Name is the name of the managed node group.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	Name string `json:"name,omitempty"`
	// ASGName is the ASG name from a created managed node group.
	ASGName string `json:"asg-name,omitempty" read-only:"true"`

	// RemoteAccessUserName is the user name for managed node group SSH access.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	RemoteAccessUserName string `json:"remote-access-user-name,omitempty"`
	// Tags defines EKS managed node group create tags.
	Tags map[string]string `json:"tags,omitempty"`
	// ReleaseVersion is the AMI version of the Amazon EKS-optimized AMI for the node group.
	// The version may differ from EKS "cluster" version.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
	ReleaseVersion string `json:"release-version,omitempty"`
	// AMIType is the AMI type for the node group.
	// Allowed values are AL2_x86_64 and AL2_x86_64_GPU.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	AMIType string `json:"ami-type,omitempty"`
	// ASGMinSize is the minimum size of Node Group Auto Scaling Group.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	ASGMinSize int `json:"asg-min-size,omitempty"`
	// ASGMaxSize is the maximum size of Node Group Auto Scaling Group.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	ASGMaxSize int `json:"asg-max-size,omitempty"`
	// ASGDesiredCapacity is is the desired capacity of Node Group ASG.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	ASGDesiredCapacity int `json:"asg-desired-capacity,omitempty"`
	// InstanceTypes is the EC2 instance types for the node instances.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	InstanceTypes []string `json:"instance-types,omitempty"`
	// VolumeSize is the node volume size.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	VolumeSize int `json:"volume-size,omitempty"`

	// CreateRequested is true if "CreateNodegroupRequest" has been sent.
	CreateRequested bool `json:"create-requested" read-only:"true"`

	// PhysicalID is the Physical ID for the created "AWS::EKS::Nodegroup".
	PhysicalID string `json:"physical-id" read-only:"true"`

	// CFNStackID is the CloudFormation stack ID for a managed node group.
	CFNStackID string `json:"cfn-stack-id" read-only:"true"`

	RemoteAccessSecurityGroupID                      string `json:"remote-access-security-group-id" read-only:"true"`
	RemoteAccessSecurityGroupIngressEgressCFNStackID string `json:"remote-access-security-group-ingress-egress-cfn-stack-id" read-only:"true"`

	// Status is the current status of EKS "Managed Node Group".
	Status string `json:"status" read-only:"true"`
	// Instances maps an instance ID to an EC2 instance object for the node group.
	Instances map[string]ec2config.Instance `json:"instances" read-only:"true"`
	// Logs maps each instance ID to a list of log file paths fetched via SSH access.
	Logs map[string][]string `json:"logs" read-only:"true"`
}

MNG represents parameters for one EKS "Managed Node Group".

type Parameters added in v0.5.0

type Parameters struct {
	// RoleName is the name of cluster role.
	RoleName string `json:"role-name"`
	// RoleCreate is true to auto-create and delete cluster role.
	RoleCreate bool `json:"role-create"`
	// RoleARN is the role ARN that EKS uses to create AWS resources for Kubernetes.
	// By default, it's empty which triggers tester to create one.
	RoleARN string `json:"role-arn"`
	// RoleServicePrincipals is the EKS Role Service Principals
	RoleServicePrincipals []string `json:"role-service-principals"`
	// RoleManagedPolicyARNs is EKS Role managed policy ARNs.
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

	// Tags defines EKS create cluster tags.
	Tags map[string]string `json:"tags"`
	// RequestHeaderKey defines EKS create cluster request header key.
	RequestHeaderKey string `json:"request-header-key"`
	// RequestHeaderValue defines EKS create cluster request header value.
	RequestHeaderValue string `json:"request-header-value"`

	// ResolverURL defines an AWS resolver endpoint for EKS API.
	// Must be left empty to use production EKS service.
	ResolverURL string `json:"resolver-url"`
	// SigningName is the EKS create request signing name.
	SigningName string `json:"signing-name"`

	// VPCCreate is true to auto-create and delete VPC.
	VPCCreate bool `json:"vpc-create"`
	// VPCID is the VPC ID for cluster creation.
	// If not empty, VPC is reused and not deleted.
	// If empty, VPC is created anew and deleted on cluster deletion.
	VPCID         string `json:"vpc-id"`
	VPCCFNStackID string `json:"vpc-cfn-stack-id" read-only:"true"`
	// VpcCIDR is the IP range (CIDR notation) for VPC, must be a valid private
	// (RFC 1918) CIDR range.
	VPCCIDR string `json:"vpc-cidr,omitempty"`
	// PublicSubnetCIDR1 is the CIDR Block for subnet 1 within the VPC.
	PublicSubnetCIDR1 string `json:"public-subnet-cidr-1,omitempty"`
	// PublicSubnetCIDR2 is the CIDR Block for subnet 2 within the VPC.
	PublicSubnetCIDR2 string `json:"public-subnet-cidr-2,omitempty"`
	// PublicSubnetCIDR3 is the CIDR Block for subnet 3 within the VPC.
	PublicSubnetCIDR3 string `json:"public-subnet-cidr-3,omitempty"`
	// PrivateSubnetCIDR1 is the CIDR Block for subnet 1 within the VPC.
	PrivateSubnetCIDR1 string `json:"private-subnet-cidr-1,omitempty"`
	// PrivateSubnetCIDR2 is the CIDR Block for subnet 2 within the VPC.
	PrivateSubnetCIDR2 string `json:"private-subnet-cidr-2,omitempty"`
	// PublicSubnetIDs is the list of all public subnets in the VPC.
	PublicSubnetIDs []string `json:"public-subnet-ids" read-only:"true"`
	// PrivateSubnetIDs is the list of all private subnets in the VPC.
	PrivateSubnetIDs []string `json:"private-subnet-ids" read-only:"true"`

	// DHCPOptionsDomainName is used to complete unqualified DNS hostnames for VPC.
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
	DHCPOptionsDomainName string `json:"dhcp-options-domain-name"`
	// DHCPOptionsDomainNameServers is a list of strings.
	// The IPv4 addresses of up to four domain name servers, or AmazonProvidedDNS, for VPC.
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
	DHCPOptionsDomainNameServers []string `json:"dhcp-options-domain-name-servers"`

	// Version is the version of EKS Kubernetes "cluster".
	// If empty, set default version.
	Version      string  `json:"version"`
	VersionValue float64 `json:"version-value" read-only:"true"`

	// EncryptionCMKCreate is true to auto-create and delete KMS CMK
	// for encryption feature.
	EncryptionCMKCreate bool `json:"encryption-cmk-create"`
	// EncryptionCMKARN is the KMS CMK ARN for encryption feature.
	// If not empty, the cluster is created with encryption feature
	// enabled.
	EncryptionCMKARN string `json:"encryption-cmk-arn"`
}

Parameters defines parameters for EKS "cluster" creation.

type Status added in v0.5.0

type Status struct {
	// Up is true if the cluster is up.
	Up bool `json:"up"`

	// ServerVersionInfo is the server version from EKS kube-apiserver.
	ServerVersionInfo k8s_client.ServerVersionInfo `json:"server-version-info" read-only:"true"`

	// CreateTook is the duration that took to create the resource.
	CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"`
	// CreateTookString is the duration that took to create the resource.
	CreateTookString string `json:"create-took-string,omitempty" read-only:"true"`
	// DeleteTook is the duration that took to create the resource.
	DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"`
	// DeleteTookString is the duration that took to create the resource.
	DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"`

	// AWSAccountID is the account ID of the eks tester caller session.
	AWSAccountID string `json:"aws-account-id"`
	// AWSUserID is the user ID of the eks tester caller session.
	AWSUserID string `json:"aws-user-id"`
	// AWSIAMRoleARN is the user IAM Role ARN of the eks tester caller session.
	AWSIAMRoleARN string `json:"aws-iam-role-arn"`
	// AWSCredentialPath is automatically set via AWS SDK Go.
	// And to be mounted as a volume as 'Secret' object.
	AWSCredentialPath string `json:"aws-credential-path"`

	ClusterCFNStackID string `json:"cluster-cfn-stack-id"`
	ClusterARN        string `json:"cluster-arn"`

	// ClusterControlPlaneSecurityGroupID is the security group ID for the cluster control
	// plane communication with worker nodes.
	ClusterControlPlaneSecurityGroupID string `json:"cluster-control-plane-security-group-id"`
	// ClusterAPIServerEndpoint is the cluster endpoint of the EKS cluster,
	// required for KUBECONFIG write.
	ClusterAPIServerEndpoint string `json:"cluster-api-server-endpoint"`
	// ClusterOIDCIssuerURL is the issuer URL for the OpenID Connect
	// (https://openid.net/connect/) identity provider .
	ClusterOIDCIssuerURL string `json:"cluster-oidc-issuer-url"`
	// ClusterOIDCIssuerHostPath is the issuer host path.
	ClusterOIDCIssuerHostPath string `json:"cluster-oidc-issuer-host-path"`
	// ClusterOIDCIssuerARN is the issuer ARN for the OpenID Connect
	// (https://openid.net/connect/) identity provider .
	ClusterOIDCIssuerARN string `json:"cluster-oidc-issuer-arn"`
	// ClusterOIDCIssuerCAThumbprint is the issuer CA thumbprint.
	ClusterOIDCIssuerCAThumbprint string `json:"cluster-oidc-issuer-ca-thumbprint"`

	// ClusterCA is the EKS cluster CA, required for KUBECONFIG write.
	ClusterCA string `json:"cluster-ca"`
	// ClusterCADecoded is the decoded EKS cluster CA, required for k8s.io/client-go.
	ClusterCADecoded string `json:"cluster-ca-decoded"`

	// ClusterStatusCurrent represents the current status of the cluster.
	ClusterStatusCurrent string `json:"cluster-status-current"`
	// ClusterStatus represents the status of the cluster.
	ClusterStatus []ClusterStatus `json:"cluster-status"`
}

Status represents the current status of AWS resources. Read-only. Cannot be configured via environmental variables.

Directories

Path Synopsis
gen generates eksconfig documentation.
gen generates eksconfig documentation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL