eksconfig

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2020 License: Apache-2.0 Imports: 28 Imported by: 8

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_APP_MESH_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_FARGATE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_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_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_ENABLE=true \



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


*------------------------------------------------------------*-------------------*-----------------------------------------------*---------------*
|                   ENVIRONMENTAL VARIABLE                   |     READ ONLY     |                     TYPE                      |    GO TYPE    |
*------------------------------------------------------------*-------------------*-----------------------------------------------*---------------*
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ENABLE                   | read-only "false" | *eksconfig.AddOnFargate.Enable                | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CREATED                  | read-only "true"  | *eksconfig.AddOnFargate.Created               | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CREATE_TOOK              | read-only "true"  | *eksconfig.AddOnFargate.CreateTook            | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_CREATE_TOOK_STRING       | read-only "true"  | *eksconfig.AddOnFargate.CreateTookString      | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_DELETE_TOOK              | read-only "true"  | *eksconfig.AddOnFargate.DeleteTook            | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_DELETE_TOOK_STRING       | read-only "true"  | *eksconfig.AddOnFargate.DeleteTookString      | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_NAMESPACE                | read-only "false" | *eksconfig.AddOnFargate.Namespace             | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_NAME                | read-only "false" | *eksconfig.AddOnFargate.RoleName              | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_CREATE              | read-only "false" | *eksconfig.AddOnFargate.RoleCreate            | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_ARN                 | read-only "false" | *eksconfig.AddOnFargate.RoleARN               | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_SERVICE_PRINCIPALS  | read-only "false" | *eksconfig.AddOnFargate.RoleServicePrincipals | []string      |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_MANAGED_POLICY_ARNS | read-only "false" | *eksconfig.AddOnFargate.RoleManagedPolicyARNs | []string      |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_CFN_STACK_ID        | read-only "true"  | *eksconfig.AddOnFargate.RoleCFNStackID        | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_PROFILE_NAME             | read-only "false" | *eksconfig.AddOnFargate.ProfileName           | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_ACCOUNT_ID    | read-only "false" | *eksconfig.AddOnFargate.RepositoryAccountID   | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_NAME          | read-only "false" | *eksconfig.AddOnFargate.RepositoryName        | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_URI           | read-only "false" | *eksconfig.AddOnFargate.RepositoryURI         | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_REPOSITORY_IMAGE_TAG     | read-only "false" | *eksconfig.AddOnFargate.RepositoryImageTag    | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_SECRET_NAME              | read-only "false" | *eksconfig.AddOnFargate.SecretName            | string        |
*------------------------------------------------------------*-------------------*-----------------------------------------------*---------------*


*---------------------------------------------------------*-------------------*--------------------------------------------*---------------*
|                 ENVIRONMENTAL VARIABLE                  |     READ ONLY     |                    TYPE                    |    GO TYPE    |
*---------------------------------------------------------*-------------------*--------------------------------------------*---------------*
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ENABLE                   | read-only "false" | *eksconfig.AddOnIRSA.Enable                | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CREATED                  | read-only "true"  | *eksconfig.AddOnIRSA.Created               | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CREATE_TOOK              | read-only "true"  | *eksconfig.AddOnIRSA.CreateTook            | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_CREATE_TOOK_STRING       | read-only "true"  | *eksconfig.AddOnIRSA.CreateTookString      | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DELETE_TOOK              | read-only "true"  | *eksconfig.AddOnIRSA.DeleteTook            | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DELETE_TOOK_STRING       | read-only "true"  | *eksconfig.AddOnIRSA.DeleteTookString      | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_NAMESPACE                | read-only "false" | *eksconfig.AddOnIRSA.Namespace             | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_NAME                | read-only "false" | *eksconfig.AddOnIRSA.RoleName              | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_ARN                 | read-only "false" | *eksconfig.AddOnIRSA.RoleARN               | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_MANAGED_POLICY_ARNS | read-only "false" | *eksconfig.AddOnIRSA.RoleManagedPolicyARNs | []string      |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_CFN_STACK_ID        | read-only "true"  | *eksconfig.AddOnIRSA.RoleCFNStackID        | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_S3_KEY                   | read-only "false" | *eksconfig.AddOnIRSA.S3Key                 | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_ACCOUNT_ID    | read-only "false" | *eksconfig.AddOnIRSA.RepositoryAccountID   | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_NAME          | read-only "false" | *eksconfig.AddOnIRSA.RepositoryName        | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_URI           | read-only "false" | *eksconfig.AddOnIRSA.RepositoryURI         | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_REPOSITORY_IMAGE_TAG     | read-only "false" | *eksconfig.AddOnIRSA.RepositoryImageTag    | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_REPLICAS      | read-only "false" | *eksconfig.AddOnIRSA.DeploymentReplicas    | int32         |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_RESULT_PATH   | read-only "false" | *eksconfig.AddOnIRSA.DeploymentResultPath  | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_TOOK          | read-only "true"  | *eksconfig.AddOnIRSA.DeploymentTook        | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_DEPLOYMENT_TOOK_STRING   | read-only "true"  | *eksconfig.AddOnIRSA.DeploymentTookString  | string        |
*---------------------------------------------------------*-------------------*--------------------------------------------*---------------*


*-----------------------------------------------------------------*-------------------*---------------------------------------------------*---------------*
|                     ENVIRONMENTAL VARIABLE                      |     READ ONLY     |                       TYPE                        |    GO TYPE    |
*-----------------------------------------------------------------*-------------------*---------------------------------------------------*---------------*
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ENABLE                   | read-only "false" | *eksconfig.AddOnIRSAFargate.Enable                | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CREATED                  | read-only "true"  | *eksconfig.AddOnIRSAFargate.Created               | bool          |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CREATE_TOOK              | read-only "true"  | *eksconfig.AddOnIRSAFargate.CreateTook            | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_CREATE_TOOK_STRING       | read-only "true"  | *eksconfig.AddOnIRSAFargate.CreateTookString      | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_DELETE_TOOK              | read-only "true"  | *eksconfig.AddOnIRSAFargate.DeleteTook            | time.Duration |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_DELETE_TOOK_STRING       | read-only "true"  | *eksconfig.AddOnIRSAFargate.DeleteTookString      | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_NAMESPACE                | read-only "false" | *eksconfig.AddOnIRSAFargate.Namespace             | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_NAME                | read-only "false" | *eksconfig.AddOnIRSAFargate.RoleName              | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_ARN                 | read-only "false" | *eksconfig.AddOnIRSAFargate.RoleARN               | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_SERVICE_PRINCIPALS  | read-only "false" | *eksconfig.AddOnIRSAFargate.RoleServicePrincipals | []string      |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_MANAGED_POLICY_ARNS | read-only "false" | *eksconfig.AddOnIRSAFargate.RoleManagedPolicyARNs | []string      |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_CFN_STACK_ID        | read-only "true"  | *eksconfig.AddOnIRSAFargate.RoleCFNStackID        | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_S3_KEY                   | read-only "false" | *eksconfig.AddOnIRSAFargate.S3Key                 | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_PROFILE_NAME             | read-only "false" | *eksconfig.AddOnIRSAFargate.ProfileName           | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_ACCOUNT_ID    | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryAccountID   | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_NAME          | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryName        | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_URI           | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryURI         | string        |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_IMAGE_TAG     | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryImageTag    | string        |
*-----------------------------------------------------------------*-------------------*---------------------------------------------------*---------------*


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


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


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


*-----------------------------------------------------------------*-------------------*---------------------------------------------------*-------------------*
|                     ENVIRONMENTAL VARIABLE                      |     READ ONLY     |                       TYPE                        |      GO TYPE      |
*-----------------------------------------------------------------*-------------------*---------------------------------------------------*-------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_ENABLE             | read-only "false" | *eksconfig.AddOnHollowNodesLocal.Enable           | bool              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_CREATED            | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.Created          | bool              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_CREATE_TOOK        | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.CreateTook       | time.Duration     |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_CREATE_TOOK_STRING | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.CreateTookString | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_DELETE_TOOK        | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.DeleteTook       | time.Duration     |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_DELETE_TOOK_STRING | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.DeleteTookString | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODE_LABEL_PREFIX  | read-only "false" | *eksconfig.AddOnHollowNodesLocal.NodeLabelPrefix  | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODE_LABELS        | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.NodeLabels       | map[string]string |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODES              | read-only "false" | *eksconfig.AddOnHollowNodesLocal.Nodes            | int               |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_MAX_OPEN_FILES     | read-only "false" | *eksconfig.AddOnHollowNodesLocal.MaxOpenFiles     | int64             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_CREATED_NODE_NAMES | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.CreatedNodeNames | []string          |
*-----------------------------------------------------------------*-------------------*---------------------------------------------------*-------------------*


*---------------------------------------------------------------------*-------------------*-------------------------------------------------------*-------------------*
|                       ENVIRONMENTAL VARIABLE                        |     READ ONLY     |                         TYPE                          |      GO TYPE      |
*---------------------------------------------------------------------*-------------------*-------------------------------------------------------*-------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_ENABLE                | read-only "false" | *eksconfig.AddOnHollowNodesRemote.Enable              | bool              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_CREATED               | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.Created             | bool              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_CREATE_TOOK           | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.CreateTook          | time.Duration     |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_CREATE_TOOK_STRING    | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.CreateTookString    | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_DELETE_TOOK           | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.DeleteTook          | time.Duration     |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_DELETE_TOOK_STRING    | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.DeleteTookString    | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NAMESPACE             | read-only "false" | *eksconfig.AddOnHollowNodesRemote.Namespace           | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NODE_LABEL_PREFIX     | read-only "false" | *eksconfig.AddOnHollowNodesRemote.NodeLabelPrefix     | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NODE_LABELS           | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.NodeLabels          | map[string]string |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NODES                 | read-only "false" | *eksconfig.AddOnHollowNodesRemote.Nodes               | int               |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_DEPLOYMENT_REPLICAS   | read-only "false" | *eksconfig.AddOnHollowNodesRemote.DeploymentReplicas  | int32             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_MAX_OPEN_FILES        | read-only "false" | *eksconfig.AddOnHollowNodesRemote.MaxOpenFiles        | int64             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_ACCOUNT_ID | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryAccountID | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_NAME       | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryName      | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_URI        | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryURI       | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_IMAGE_TAG  | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryImageTag  | string            |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_CREATED_NODE_NAMES    | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.CreatedNodeNames    | []string          |
*---------------------------------------------------------------------*-------------------*-------------------------------------------------------*-------------------*


*---------------------------------------------------------------------------------*-------------------*-----------------------------------------------------------------*---------------------------*
|                             ENVIRONMENTAL VARIABLE                              |     READ ONLY     |                              TYPE                               |          GO TYPE          |
*---------------------------------------------------------------------------------*-------------------*-----------------------------------------------------------------*---------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_ENABLE                           | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.Enable                       | bool                      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CREATED                          | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.Created                      | bool                      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CREATE_TOOK                      | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.CreateTook                   | time.Duration             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CREATE_TOOK_STRING               | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.CreateTookString             | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_DELETE_TOOK                      | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.DeleteTook                   | time.Duration             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_DELETE_TOOK_STRING               | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.DeleteTookString             | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_DURATION                         | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.Duration                     | time.Duration             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_DURATION_STRING                  | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.DurationString               | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_REQUESTS_SUMMARY_READ            | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.RequestsSummaryRead          | eksconfig.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_REQUESTS_SUMMARY_READ_JSON_PATH  | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.RequestsSummaryReadJSONPath  | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_REQUESTS_SUMMARY_READ_TABLE_PATH | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.RequestsSummaryReadTablePath | string                    |
*---------------------------------------------------------------------------------*-------------------*-----------------------------------------------------------------*---------------------------*


*-----------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*---------------------------*
|                                 ENVIRONMENTAL VARIABLE                                  |     READ ONLY     |                                  TYPE                                  |          GO TYPE          |
*-----------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*---------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_ENABLE                                  | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.Enable                             | bool                      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CREATED                                 | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.Created                            | bool                      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CREATE_TOOK                             | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.CreateTook                         | time.Duration             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CREATE_TOOK_STRING                      | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.CreateTookString                   | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_DELETE_TOOK                             | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.DeleteTook                         | time.Duration             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_DELETE_TOOK_STRING                      | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.DeleteTookString                   | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_NAMESPACE                               | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.Namespace                          | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_DEPLOYMENT_REPLICAS                     | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.DeploymentReplicas                 | int32                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_DURATION                                | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.Duration                           | time.Duration             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_DURATION_STRING                         | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.DurationString                     | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPOSITORY_ACCOUNT_ID                   | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryAccountID                | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPOSITORY_NAME                         | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryName                     | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPOSITORY_URI                          | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryURI                      | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPOSITORY_IMAGE_TAG                    | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryImageTag                 | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REQUEST_SUMMARY_READ_OUTPUT_PATH_PREFIX | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RequestSummaryReadOutputPathPrefix | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REQUESTS_SUMMARY_READ                   | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.RequestsSummaryRead                | eksconfig.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REQUESTS_SUMMARY_READ_JSON_PATH         | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.RequestsSummaryReadJSONPath        | string                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REQUESTS_SUMMARY_READ_TABLE_PATH        | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.RequestsSummaryReadTablePath       | string                    |
*-----------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*---------------------------*


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


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 EnvironmentVariablePrefixAddOnClusterLoaderLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_LOADER_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnClusterLoaderRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_LOADER_REMOTE_"

EnvironmentVariablePrefixAddOnClusterLoaderRemote 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 EnvironmentVariablePrefixAddOnHollowNodesLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnHollowNodesRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_REMOTE_"

EnvironmentVariablePrefixAddOnHollowNodesRemote 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 AddOnClusterLoaderLocal added in v1.1.9

type AddOnClusterLoaderLocal 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"`

	// RequestsSummaryRead is the read cluster loader results.
	RequestsSummaryRead RequestsSummary `json:"requests-summary-read,omitempty" read-only:"true"`
	// RequestsSummaryReadJSONPath is the file path to store requests summary results in JSON format.
	RequestsSummaryReadJSONPath string `json:"requests-summary-read-json-path" read-only:"true"`
	// RequestsSummaryReadTablePath is the file path to store requests summary results in table format.
	RequestsSummaryReadTablePath string `json:"requests-summary-read-table-path" read-only:"true"`
}

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

type AddOnClusterLoaderRemote added in v1.1.9

type AddOnClusterLoaderRemote 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 when cluster loaders are deployed via Pod.
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`

	// 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"`

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// 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 tester ECR image.
	// 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 tester ECR image.
	// 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"`

	// RequestSummaryReadOutputPathPrefix is the output path used in remote cluster loader.
	RequestSummaryReadOutputPathPrefix string `json:"request-summary-read-output-path-prefix"`
	// RequestsSummaryRead is the read cluster loader results, aggregated from remote nodes.
	RequestsSummaryRead RequestsSummary `json:"requests-summary-read,omitempty" read-only:"true"`
	// RequestsSummaryReadJSONPath is the file path to store requests summary results in JSON format.
	RequestsSummaryReadJSONPath string `json:"requests-summary-read-json-path" read-only:"true"`
	// RequestsSummaryReadTablePath is the file path to store requests summary results in table format.
	RequestsSummaryReadTablePath string `json:"requests-summary-read-table-path" read-only:"true"`
}

AddOnClusterLoaderRemote defines parameters for EKS cluster add-on remote 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"`

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// 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 tester ECR image.
	// 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 tester ECR image.
	// 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"`

	// SecretName is the secret name for Fargate.
	SecretName string `json:"secret-name"`
}

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

type AddOnHollowNodesLocal added in v1.1.9

type AddOnHollowNodesLocal 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"`

	// 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"`

	// 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"`

	// 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.
	// More than >100 node may exceed local system file descriptor limits.
	// e.g. too many open files
	MaxOpenFiles int64 `json:"max-open-files"`

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

AddOnHollowNodesLocal defines parameters for EKS cluster add-on local Hollow Nodes.

type AddOnHollowNodesRemote added in v1.1.9

type AddOnHollowNodesRemote 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"`

	// 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"`

	// 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"`
	// DeploymentReplicas is the number of replicas to deploy when hollow nodes are deployed via Pod.
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// 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 tester ECR image.
	// 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 tester ECR image.
	// 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"`

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

AddOnHollowNodesRemote defines parameters for EKS cluster add-on local 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"`

	// S3Key is the S3 key to write for IRSA tests.
	S3Key string `json:"s3-key"`

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// 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 tester ECR image.
	// 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 tester ECR image.
	// 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 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"`

	// 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"`

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.us-west-2.amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// 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 tester ECR image.
	// 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 tester ECR image.
	// 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"`
}

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 {

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

	// 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"`

	// 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.
	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"`
	// AddOnAppMesh defines parameters for EKS cluster
	// add-on "EKS App Mesh Integration".
	AddOnAppMesh *AddOnAppMesh `json:"add-on-app-mesh,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"`
	// AddOnFargate defines parameters for EKS cluster
	// add-on "EKS on Fargate".
	AddOnFargate *AddOnFargate `json:"add-on-fargate,omitempty"`
	// AddOnIRSA defines parameters for EKS cluster
	// add-on "IAM Roles for Service Accounts (IRSA)".
	AddOnIRSA *AddOnIRSA `json:"add-on-irsa,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"`
	// 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 local Hollow Nodes.
	AddOnHollowNodesLocal *AddOnHollowNodesLocal `json:"add-on-hollow-nodes-local,omitempty"`
	// AddOnConformance defines parameters for EKS cluster
	// add-on remote Hollow Nodes.
	AddOnHollowNodesRemote *AddOnHollowNodesRemote `json:"add-on-hollow-nodes-remote,omitempty"`

	// AddOnClusterLoaderLocal defines parameters for EKS cluster
	// add-on local Cluster Loader.
	AddOnClusterLoaderLocal *AddOnClusterLoaderLocal `json:"add-on-cluster-loader-local,omitempty"`
	// AddOnClusterLoaderRemote defines parameters for EKS cluster
	// add-on remote Cluster Loader.
	AddOnClusterLoaderRemote *AddOnClusterLoaderRemote `json:"add-on-cluster-loader-remote,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) IsEnabledAddOnClusterLoaderLocal added in v1.1.9

func (cfg *Config) IsEnabledAddOnClusterLoaderLocal() bool

IsEnabledAddOnClusterLoaderLocal returns true if "AddOnClusterLoaderLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnClusterLoaderRemote added in v1.1.9

func (cfg *Config) IsEnabledAddOnClusterLoaderRemote() bool

IsEnabledAddOnClusterLoaderRemote returns true if "AddOnClusterLoaderRemote" 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) IsEnabledAddOnHollowNodesLocal added in v1.1.9

func (cfg *Config) IsEnabledAddOnHollowNodesLocal() bool

IsEnabledAddOnHollowNodesLocal returns true if "AddOnHollowNodesLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnHollowNodesRemote added in v1.1.9

func (cfg *Config) IsEnabledAddOnHollowNodesRemote() bool

IsEnabledAddOnHollowNodesRemote returns true if "AddOnHollowNodesRemote" 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 environmental 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"`

	// 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"`

	// 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"`

	// 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 RequestsSummary added in v1.1.9

type RequestsSummary struct {
	// SuccessTotal is the number of successful client requests.
	SuccessTotal float64 `json:"success-total" read-only:"true"`
	// FailureTotal is the number of failed client requests.
	FailureTotal float64 `json:"failure-total" read-only:"true"`
	// LatencyHistogram is the client requests latency histogram.
	LatencyHistogram metrics.HistogramBuckets `json:"latency-histogram,omitempty" read-only:"true"`
}

RequestsSummary represents request results.

func (RequestsSummary) JSON added in v1.2.0

func (rs RequestsSummary) JSON() string

func (RequestsSummary) Table added in v1.2.0

func (rs RequestsSummary) Table() string

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"`
	// TimeUTCCreateComplete is the time when cluster creation is complete.
	TimeUTCCreateComplete             time.Time `json:"time-utc-create-complete,omitempty" read-only:"true"`
	TimeUTCCreateCompleteRFC3339Micro string    `json:"time-utc-create-complete-rfc3339-micro,omitempty" read-only:"true"`
	// TimeUTCDeleteStart is the time when cluster and add-on deletion is started.
	TimeUTCDeleteStart             time.Time `json:"time-utc-delete-start,omitempty" read-only:"true"`
	TimeUTCDeleteStartRFC3339Micro string    `json:"time-utc-delete-start-rfc3339-micro,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