eksconfig

package
Version: v1.6.5 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Apache-2.0 Imports: 35 Imported by: 6

README

# total 36 add-ons
# set the following *_ENABLE env vars to enable add-ons, rest are set with default values
AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_ENABLE=true \
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_CW_AGENT_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_METRICS_SERVER_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_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_PHP_APACHE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_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_CUDA_VECTOR_ADD_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_STRESSER_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_ENABLE=true \



*----------------------------------------------------------------*-------------------*----------------------------------------------------------*-------------------*
|                     ENVIRONMENTAL VARIABLE                     |     READ ONLY     |                           TYPE                           |      GO TYPE      |
*----------------------------------------------------------------*-------------------*----------------------------------------------------------*-------------------*
| AWS_K8S_TESTER_EKS_,INLINE                                     | read-only "false" | *eksconfig.Config.TypeMeta                               | v1.TypeMeta       |
| AWS_K8S_TESTER_EKS_METADATA                                    | read-only "false" | *eksconfig.Config.ObjectMeta                             | v1.ObjectMeta     |
| 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_AVAILABILITY_ZONE_NAMES                     | read-only "true"  | *eksconfig.Config.AvailabilityZoneNames                  | []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_COLOR                                   | read-only "false" | *eksconfig.Config.LogColor                               | bool              |
| AWS_K8S_TESTER_EKS_LOG_COLOR_OVERRIDE                          | read-only "false" | *eksconfig.Config.LogColorOverride                       | 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_CW_NAMESPACE                                | read-only "false" | *eksconfig.Config.CWNamespace                            | string            |
| AWS_K8S_TESTER_EKS_SKIP_DELETE_CLUSTER_AND_NODES               | read-only "false" | *eksconfig.Config.SkipDeleteClusterAndNodes              | bool              |
| AWS_K8S_TESTER_EKS_TAGS                                        | read-only "false" | *eksconfig.Config.Tags                                   | map[string]string |
| AWS_K8S_TESTER_EKS_REQUEST_HEADER_KEY                          | read-only "false" | *eksconfig.Config.RequestHeaderKey                       | string            |
| AWS_K8S_TESTER_EKS_REQUEST_HEADER_VALUE                        | read-only "false" | *eksconfig.Config.RequestHeaderValue                     | string            |
| AWS_K8S_TESTER_EKS_RESOLVER_URL                                | read-only "false" | *eksconfig.Config.ResolverURL                            | string            |
| AWS_K8S_TESTER_EKS_SIGNING_NAME                                | read-only "false" | *eksconfig.Config.SigningName                            | string            |
| AWS_K8S_TESTER_EKS_VERSION                                     | read-only "false" | *eksconfig.Config.Version                                | string            |
| AWS_K8S_TESTER_EKS_VERSION_VALUE                               | read-only "true"  | *eksconfig.Config.VersionValue                           | float64           |
| AWS_K8S_TESTER_EKS_KUBE_APISERVER_MAX_REQUESTS_INFLIGHT        | read-only "false" | *eksconfig.Config.KubeAPIServerMaxRequestsInflight       | string            |
| AWS_K8S_TESTER_EKS_KUBE_CONTROLLER_MANAGER_QPS                 | read-only "false" | *eksconfig.Config.KubeControllerManagerQPS               | string            |
| AWS_K8S_TESTER_EKS_KUBE_CONTROLLER_MANAGER_BURST               | read-only "false" | *eksconfig.Config.KubeControllerManagerBurst             | string            |
| AWS_K8S_TESTER_EKS_KUBE_SCHEDULER_QPS                          | read-only "false" | *eksconfig.Config.KubeSchedulerQPS                       | string            |
| AWS_K8S_TESTER_EKS_KUBE_SCHEDULER_BURST                        | read-only "false" | *eksconfig.Config.KubeSchedulerBurst                     | string            |
| AWS_K8S_TESTER_EKS_FE_UPDATE_MASTER_FLAGS_URL                  | read-only "false" | *eksconfig.Config.FEUpdateMasterFlagsURL                 | string            |
| 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            |
| AWS_K8S_TESTER_EKS_TOTAL_NODES                                 | read-only "true"  | *eksconfig.Config.TotalNodes                             | int32             |
| AWS_K8S_TESTER_EKS_SPEC                                        | read-only "false" | *eksconfig.Config.Spec                                   | eksconfig.Spec    |
*----------------------------------------------------------------*-------------------*----------------------------------------------------------*-------------------*


*--------------------------------------------------------*-------------------*---------------------------------------------*---------*
|                 ENVIRONMENTAL VARIABLE                 |     READ ONLY     |                    TYPE                     | GO TYPE |
*--------------------------------------------------------*-------------------*---------------------------------------------*---------*
| AWS_K8S_TESTER_EKS_S3_BUCKET_CREATE                    | read-only "false" | *eksconfig.S3.BucketCreate                  | bool    |
| AWS_K8S_TESTER_EKS_S3_BUCKET_CREATE_KEEP               | read-only "false" | *eksconfig.S3.BucketCreateKeep              | bool    |
| AWS_K8S_TESTER_EKS_S3_BUCKET_NAME                      | read-only "false" | *eksconfig.S3.BucketName                    | string  |
| AWS_K8S_TESTER_EKS_S3_BUCKET_LIFECYCLE_EXPIRATION_DAYS | read-only "false" | *eksconfig.S3.BucketLifecycleExpirationDays | int64   |
*--------------------------------------------------------*-------------------*---------------------------------------------*---------*


*------------------------------------------*-------------------*---------------------------------*---------*
|          ENVIRONMENTAL VARIABLE          |     READ ONLY     |              TYPE               | GO TYPE |
*------------------------------------------*-------------------*---------------------------------*---------*
| AWS_K8S_TESTER_EKS_ENCRYPTION_CMK_CREATE | read-only "false" | *eksconfig.Encryption.CMKCreate | bool    |
| AWS_K8S_TESTER_EKS_ENCRYPTION_CMK_ARN    | read-only "false" | *eksconfig.Encryption.CMKARN    | string  |
*------------------------------------------*-------------------*---------------------------------*---------*


*-----------------------------------------------*-------------------*-------------------------------------*----------*
|            ENVIRONMENTAL VARIABLE             |     READ ONLY     |                TYPE                 | GO TYPE  |
*-----------------------------------------------*-------------------*-------------------------------------*----------*
| AWS_K8S_TESTER_EKS_ROLE_NAME                  | read-only "false" | *eksconfig.Role.Name                | string   |
| AWS_K8S_TESTER_EKS_ROLE_CREATE                | read-only "false" | *eksconfig.Role.Create              | bool     |
| AWS_K8S_TESTER_EKS_ROLE_ARN                   | read-only "false" | *eksconfig.Role.ARN                 | string   |
| AWS_K8S_TESTER_EKS_ROLE_SERVICE_PRINCIPALS    | read-only "false" | *eksconfig.Role.ServicePrincipals   | []string |
| AWS_K8S_TESTER_EKS_ROLE_MANAGED_POLICY_ARNS   | read-only "false" | *eksconfig.Role.ManagedPolicyARNs   | []string |
| AWS_K8S_TESTER_EKS_ROLE_POLICY_NAME           | read-only "true"  | *eksconfig.Role.PolicyName          | string   |
| AWS_K8S_TESTER_EKS_ROLE_POLICY_ARN            | read-only "true"  | *eksconfig.Role.PolicyARN           | string   |
| AWS_K8S_TESTER_EKS_ROLE_INSTANCE_PROFILE_NAME | read-only "true"  | *eksconfig.Role.InstanceProfileName | string   |
| AWS_K8S_TESTER_EKS_ROLE_INSTANCE_PROFILE_ARN  | read-only "true"  | *eksconfig.Role.InstanceProfileARN  | string   |
*-----------------------------------------------*-------------------*-------------------------------------*----------*


*-------------------------------------------------------------------*-------------------*------------------------------------------------------*----------*
|                      ENVIRONMENTAL VARIABLE                       |     READ ONLY     |                         TYPE                         | GO TYPE  |
*-------------------------------------------------------------------*-------------------*------------------------------------------------------*----------*
| AWS_K8S_TESTER_EKS_VPC_CREATE                                     | read-only "false" | *eksconfig.VPC.Create                                | bool     |
| AWS_K8S_TESTER_EKS_VPC_ID                                         | read-only "false" | *eksconfig.VPC.ID                                    | string   |
| AWS_K8S_TESTER_EKS_VPC_SECURITY_GROUP_ID                          | read-only "true"  | *eksconfig.VPC.SecurityGroupID                       | string   |
| AWS_K8S_TESTER_EKS_VPC_CIDRS                                      | read-only "false" | *eksconfig.VPC.CIDRs                                 | []string |
| AWS_K8S_TESTER_EKS_VPC_PUBLIC_SUBNET_CIDRS                        | read-only "false" | *eksconfig.VPC.PublicSubnetCIDRs                     | []string |
| AWS_K8S_TESTER_EKS_VPC_PUBLIC_SUBNET_IDS                          | read-only "true"  | *eksconfig.VPC.PublicSubnetIDs                       | []string |
| AWS_K8S_TESTER_EKS_VPC_INTERNET_GATEWAY_ID                        | read-only "true"  | *eksconfig.VPC.InternetGatewayID                     | string   |
| AWS_K8S_TESTER_EKS_VPC_PUBLIC_ROUTE_TABLE_ID                      | read-only "true"  | *eksconfig.VPC.PublicRouteTableID                    | string   |
| AWS_K8S_TESTER_EKS_VPC_PUBLIC_SUBNET_ROUTE_TABLE_ASSOCIATION_IDS  | read-only "true"  | *eksconfig.VPC.PublicSubnetRouteTableAssociationIDs  | []string |
| AWS_K8S_TESTER_EKS_VPC_EIP_ALLOCATION_IDS                         | read-only "true"  | *eksconfig.VPC.EIPAllocationIDs                      | []string |
| AWS_K8S_TESTER_EKS_VPC_NAT_GATEWAY_IDS                            | read-only "true"  | *eksconfig.VPC.NATGatewayIDs                         | []string |
| AWS_K8S_TESTER_EKS_VPC_PRIVATE_SUBNET_CIDRS                       | read-only "false" | *eksconfig.VPC.PrivateSubnetCIDRs                    | []string |
| AWS_K8S_TESTER_EKS_VPC_PRIVATE_SUBNET_IDS                         | read-only "true"  | *eksconfig.VPC.PrivateSubnetIDs                      | []string |
| AWS_K8S_TESTER_EKS_VPC_PRIVATE_ROUTE_TABLE_IDS                    | read-only "true"  | *eksconfig.VPC.PrivateRouteTableIDs                  | []string |
| AWS_K8S_TESTER_EKS_VPC_PRIVATE_SUBNET_ROUTE_TABLE_ASSOCIATION_IDS | read-only "true"  | *eksconfig.VPC.PrivateSubnetRouteTableAssociationIDs | []string |
| AWS_K8S_TESTER_EKS_VPC_DHCP_OPTIONS_DOMAIN_NAME                   | read-only "false" | *eksconfig.VPC.DHCPOptionsDomainName                 | string   |
| AWS_K8S_TESTER_EKS_VPC_DHCP_OPTIONS_DOMAIN_NAME_SERVERS           | read-only "false" | *eksconfig.VPC.DHCPOptionsDomainNameServers          | []string |
| AWS_K8S_TESTER_EKS_VPC_DHCP_OPTIONS_ID                            | read-only "true"  | *eksconfig.VPC.DHCPOptionsID                         | string   |
| AWS_K8S_TESTER_EKS_VPC_NODE_GROUP_SECURITY_GROUP_NAME             | read-only "true"  | *eksconfig.VPC.NodeGroupSecurityGroupName            | string   |
| AWS_K8S_TESTER_EKS_VPC_NODE_GROUP_SECURITY_GROUP_ID               | read-only "true"  | *eksconfig.VPC.NodeGroupSecurityGroupID              | string   |
*-------------------------------------------------------------------*-------------------*------------------------------------------------------*----------*


*--------------------------------------------------------------*-------------------*------------------------------------------------*--------------------*
|                    ENVIRONMENTAL VARIABLE                    |     READ ONLY     |                      TYPE                      |      GO TYPE       |
*--------------------------------------------------------------*-------------------*------------------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_ENABLE                     | read-only "false" | *eksconfig.AddOnCNIVPC.Enable                  | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_CREATED                    | read-only "true"  | *eksconfig.AddOnCNIVPC.Created                 | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_TIME_FRAME_CREATE          | read-only "true"  | *eksconfig.AddOnCNIVPC.TimeFrameCreate         | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_TIME_FRAME_DELETE          | read-only "true"  | *eksconfig.AddOnCNIVPC.TimeFrameDelete         | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_VERSION                    | read-only "false" | *eksconfig.AddOnCNIVPC.Version                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_INIT_ACCOUNT_ID | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryInitAccountID | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_INIT_REGION     | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryInitRegion    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_INIT_NAME       | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryInitName      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_INIT_IMAGE_TAG  | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryInitImageTag  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_ACCOUNT_ID      | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryAccountID     | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_REGION          | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryRegion        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_NAME            | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryName          | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_REPOSITORY_IMAGE_TAG       | read-only "false" | *eksconfig.AddOnCNIVPC.RepositoryImageTag      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_MINIMUM_IP_TARGET          | read-only "false" | *eksconfig.AddOnCNIVPC.MinimumIPTarget         | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_WARM_IP_TARGET             | read-only "false" | *eksconfig.AddOnCNIVPC.WarmIPTarget            | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_NODE_SELECTOR              | read-only "false" | *eksconfig.AddOnCNIVPC.NodeSelector            | map[string]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_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnNodeGroups.TimeFrameCreate | timeutil.TimeFrame       |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnNodeGroups.TimeFrameDelete | timeutil.TimeFrame       |
| 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_LOGS_DIR          | read-only "false" | *eksconfig.AddOnNodeGroups.LogsDir         | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_LOGS_TAR_GZ_PATH  | read-only "false" | *eksconfig.AddOnNodeGroups.LogsTarGzPath   | 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_NODE_GROUPS_ROLE_NAME                  | read-only "false" | *eksconfig.Role.Name                | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_CREATE                | read-only "false" | *eksconfig.Role.Create              | bool     |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_ARN                   | read-only "false" | *eksconfig.Role.ARN                 | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_SERVICE_PRINCIPALS    | read-only "false" | *eksconfig.Role.ServicePrincipals   | []string |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_MANAGED_POLICY_ARNS   | read-only "false" | *eksconfig.Role.ManagedPolicyARNs   | []string |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_POLICY_NAME           | read-only "true"  | *eksconfig.Role.PolicyName          | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_POLICY_ARN            | read-only "true"  | *eksconfig.Role.PolicyARN           | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_INSTANCE_PROFILE_NAME | read-only "true"  | *eksconfig.Role.InstanceProfileName | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_INSTANCE_PROFILE_ARN  | read-only "true"  | *eksconfig.Role.InstanceProfileARN  | string   |
*------------------------------------------------------------------*-------------------*-------------------------------------*----------*


*--------------------------------------------------------------------*-------------------*------------------------------------------------------*--------------------------*
|                       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_TIME_FRAME_CREATE    | read-only "true"  | *eksconfig.AddOnManagedNodeGroups.TimeFrameCreate    | timeutil.TimeFrame       |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_TIME_FRAME_DELETE    | read-only "true"  | *eksconfig.AddOnManagedNodeGroups.TimeFrameDelete    | timeutil.TimeFrame       |
| 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_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_LOGS_TAR_GZ_PATH     | read-only "false" | *eksconfig.AddOnManagedNodeGroups.LogsTarGzPath      | 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_MANAGED_NODE_GROUPS_ROLE_NAME                  | read-only "false" | *eksconfig.Role.Name                | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_CREATE                | read-only "false" | *eksconfig.Role.Create              | bool     |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_ARN                   | read-only "false" | *eksconfig.Role.ARN                 | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_SERVICE_PRINCIPALS    | read-only "false" | *eksconfig.Role.ServicePrincipals   | []string |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_MANAGED_POLICY_ARNS   | read-only "false" | *eksconfig.Role.ManagedPolicyARNs   | []string |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_POLICY_NAME           | read-only "true"  | *eksconfig.Role.PolicyName          | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_POLICY_ARN            | read-only "true"  | *eksconfig.Role.PolicyARN           | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_INSTANCE_PROFILE_NAME | read-only "true"  | *eksconfig.Role.InstanceProfileName | string   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_INSTANCE_PROFILE_ARN  | read-only "true"  | *eksconfig.Role.InstanceProfileARN  | string   |
*--------------------------------------------------------------------------*-------------------*-------------------------------------*----------*


*------------------------------------------------------*-------------------*-----------------------------------------*--------------------*
|                ENVIRONMENTAL VARIABLE                |     READ ONLY     |                  TYPE                   |      GO TYPE       |
*------------------------------------------------------*-------------------*-----------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_ENABLE            | read-only "false" | *eksconfig.AddOnCWAgent.Enable          | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_CREATED           | read-only "true"  | *eksconfig.AddOnCWAgent.Created         | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnCWAgent.TimeFrameCreate | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnCWAgent.TimeFrameDelete | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_NAMESPACE         | read-only "false" | *eksconfig.AddOnCWAgent.Namespace       | string             |
*------------------------------------------------------*-------------------*-----------------------------------------*--------------------*


*--------------------------------------------------------------------*-------------------*-------------------------------------------------------*--------------------*
|                       ENVIRONMENTAL VARIABLE                       |     READ ONLY     |                         TYPE                          |      GO TYPE       |
*--------------------------------------------------------------------*-------------------*-------------------------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_ENABLE                           | read-only "false" | *eksconfig.AddOnFluentd.Enable                        | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_CREATED                          | read-only "true"  | *eksconfig.AddOnFluentd.Created                       | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_TIME_FRAME_CREATE                | read-only "true"  | *eksconfig.AddOnFluentd.TimeFrameCreate               | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_TIME_FRAME_DELETE                | read-only "true"  | *eksconfig.AddOnFluentd.TimeFrameDelete               | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_NAMESPACE                        | read-only "false" | *eksconfig.AddOnFluentd.Namespace                     | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_REPOSITORY_BUSYBOX_ACCOUNT_ID    | read-only "false" | *eksconfig.AddOnFluentd.RepositoryBusyboxAccountID    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_REPOSITORY_BUSYBOX_REGION        | read-only "false" | *eksconfig.AddOnFluentd.RepositoryBusyboxRegion       | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_REPOSITORY_BUSYBOX_NAME          | read-only "false" | *eksconfig.AddOnFluentd.RepositoryBusyboxName         | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_REPOSITORY_BUSYBOX_IMAGE_TAG     | read-only "false" | *eksconfig.AddOnFluentd.RepositoryBusyboxImageTag     | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_THREADS                          | read-only "false" | *eksconfig.AddOnFluentd.Threads                       | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_LOG_LEVEL               | read-only "false" | *eksconfig.AddOnFluentd.MetadataLogLevel              | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_CACHE_SIZE              | read-only "false" | *eksconfig.AddOnFluentd.MetadataCacheSize             | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_WATCH                   | read-only "false" | *eksconfig.AddOnFluentd.MetadataWatch                 | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_SKIP_LABELS             | read-only "false" | *eksconfig.AddOnFluentd.MetadataSkipLabels            | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_SKIP_MASTER_URL         | read-only "false" | *eksconfig.AddOnFluentd.MetadataSkipMasterURL         | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_SKIP_CONTAINER_METADATA | read-only "false" | *eksconfig.AddOnFluentd.MetadataSkipContainerMetadata | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_METADATA_SKIP_NAMESPACE_METADATA | read-only "false" | *eksconfig.AddOnFluentd.MetadataSkipNamespaceMetadata | bool               |
*--------------------------------------------------------------------*-------------------*-------------------------------------------------------*--------------------*


*------------------------------------------------------------*-------------------*-----------------------------------------------*--------------------*
|                   ENVIRONMENTAL VARIABLE                   |     READ ONLY     |                     TYPE                      |      GO TYPE       |
*------------------------------------------------------------*-------------------*-----------------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_METRICS_SERVER_ENABLE            | read-only "false" | *eksconfig.AddOnMetricsServer.Enable          | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_METRICS_SERVER_CREATED           | read-only "true"  | *eksconfig.AddOnMetricsServer.Created         | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_METRICS_SERVER_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnMetricsServer.TimeFrameCreate | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_METRICS_SERVER_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnMetricsServer.TimeFrameDelete | timeutil.TimeFrame |
*------------------------------------------------------------*-------------------*-----------------------------------------------*--------------------*


*---------------------------------------------------------------------------*-------------------*-------------------------------------------------------------*--------------------*
|                          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_TIME_FRAME_CREATE                   | read-only "true"  | *eksconfig.AddOnConformance.TimeFrameCreate                 | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_TIME_FRAME_DELETE                   | read-only "true"  | *eksconfig.AddOnConformance.TimeFrameDelete                 | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_S3_DIR                              | read-only "false" | *eksconfig.AddOnConformance.S3Dir                           | 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_E2E_REPO_CONFIG            | read-only "false" | *eksconfig.AddOnConformance.SonobuoyE2eRepoConfig           | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_IMAGE                      | read-only "false" | *eksconfig.AddOnConformance.SonobuoyImage                   | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SYSTEMD_LOGS_IMAGE                  | read-only "false" | *eksconfig.AddOnConformance.SystemdLogsImage                | 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_RUN_E2E_FOCUS              | read-only "false" | *eksconfig.AddOnConformance.SonobuoyRunE2eFocus             | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_E2E_SKIP               | read-only "false" | *eksconfig.AddOnConformance.SonobuoyRunE2eSkip              | 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_TAR_GZ_S3_KEY       | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultTarGzS3Key        | 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_E2E_LOG_S3_KEY      | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultE2eLogS3Key       | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_JUNIT_XML_PATH      | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultJunitXMLPath      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_JUNIT_XML_S3_KEY    | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultJunitXMLS3Key     | 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_TIME_FRAME_CREATE            | read-only "true"  | *eksconfig.AddOnAppMesh.TimeFrameCreate         | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_TIME_FRAME_DELETE            | read-only "true"  | *eksconfig.AddOnAppMesh.TimeFrameDelete         | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_S3_DIR                       | read-only "false" | *eksconfig.AddOnAppMesh.S3Dir                   | 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             |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_POLICY_CFN_STACK_YAML_PATH   | read-only "true"  | *eksconfig.AddOnAppMesh.PolicyCFNStackYAMLPath  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_POLICY_CFN_STACK_YAML_S3_KEY | read-only "true"  | *eksconfig.AddOnAppMesh.PolicyCFNStackYAMLS3Key | string             |
*-----------------------------------------------------------------*-------------------*-------------------------------------------------*--------------------*


*-----------------------------------------------------*-------------------*----------------------------------------*--------------------*
|               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_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnCSIEBS.TimeFrameCreate | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnCSIEBS.TimeFrameDelete | timeutil.TimeFrame |
| 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_TIME_FRAME_CREATE    | read-only "true"  | *eksconfig.AddOnKubernetesDashboard.TimeFrameCreate     | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_TIME_FRAME_DELETE    | read-only "true"  | *eksconfig.AddOnKubernetesDashboard.TimeFrameDelete     | timeutil.TimeFrame |
| 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_TIME_FRAME_CREATE       | read-only "true"  | *eksconfig.AddOnPrometheusGrafana.TimeFrameCreate      | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_TIME_FRAME_DELETE       | read-only "true"  | *eksconfig.AddOnPrometheusGrafana.TimeFrameDelete      | timeutil.TimeFrame |
| 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_PHP_APACHE_ENABLE                   | read-only "false" | *eksconfig.AddOnPHPApache.Enable                 | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_CREATED                  | read-only "true"  | *eksconfig.AddOnPHPApache.Created                | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_TIME_FRAME_CREATE        | read-only "true"  | *eksconfig.AddOnPHPApache.TimeFrameCreate        | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_TIME_FRAME_DELETE        | read-only "true"  | *eksconfig.AddOnPHPApache.TimeFrameDelete        | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_NAMESPACE                | read-only "false" | *eksconfig.AddOnPHPApache.Namespace              | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_REPOSITORY_ACCOUNT_ID    | read-only "false" | *eksconfig.AddOnPHPApache.RepositoryAccountID    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_REPOSITORY_REGION        | read-only "false" | *eksconfig.AddOnPHPApache.RepositoryRegion       | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_REPOSITORY_NAME          | read-only "false" | *eksconfig.AddOnPHPApache.RepositoryName         | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_REPOSITORY_IMAGE_TAG     | read-only "false" | *eksconfig.AddOnPHPApache.RepositoryImageTag     | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_DEPLOYMENT_REPLICAS      | read-only "false" | *eksconfig.AddOnPHPApache.DeploymentReplicas     | int32              |
| AWS_K8S_TESTER_EKS_ADD_ON_PHP_APACHE_DEPLOYMENT_NODE_SELECTOR | read-only "false" | *eksconfig.AddOnPHPApache.DeploymentNodeSelector | map[string]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_TIME_FRAME_CREATE        | read-only "true"  | *eksconfig.AddOnNLBHelloWorld.TimeFrameCreate        | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_TIME_FRAME_DELETE        | read-only "true"  | *eksconfig.AddOnNLBHelloWorld.TimeFrameDelete        | timeutil.TimeFrame |
| 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_DEPLOYMENT_NODE_SELECTOR | read-only "false" | *eksconfig.AddOnNLBHelloWorld.DeploymentNodeSelector | map[string]string  |
| 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_NLB_GUESTBOOK_ENABLE                   | read-only "false" | *eksconfig.AddOnNLBGuestbook.Enable                 | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_CREATED                  | read-only "true"  | *eksconfig.AddOnNLBGuestbook.Created                | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_TIME_FRAME_CREATE        | read-only "true"  | *eksconfig.AddOnNLBGuestbook.TimeFrameCreate        | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_TIME_FRAME_DELETE        | read-only "true"  | *eksconfig.AddOnNLBGuestbook.TimeFrameDelete        | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_NAMESPACE                | read-only "false" | *eksconfig.AddOnNLBGuestbook.Namespace              | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_DEPLOYMENT_REPLICAS      | read-only "false" | *eksconfig.AddOnNLBGuestbook.DeploymentReplicas     | int32              |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_DEPLOYMENT_NODE_SELECTOR | read-only "false" | *eksconfig.AddOnNLBGuestbook.DeploymentNodeSelector | map[string]string  |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_NLB_ARN                  | read-only "true"  | *eksconfig.AddOnNLBGuestbook.NLBARN                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_NLB_NAME                 | read-only "true"  | *eksconfig.AddOnNLBGuestbook.NLBName                | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_NLB_GUESTBOOK_URL                      | read-only "true"  | *eksconfig.AddOnNLBGuestbook.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_TIME_FRAME_CREATE             | read-only "true"  | *eksconfig.AddOnALB2048.TimeFrameCreate            | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_TIME_FRAME_DELETE             | read-only "true"  | *eksconfig.AddOnALB2048.TimeFrameDelete            | timeutil.TimeFrame |
| 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_DEPLOYMENT_NODE_SELECTOR_2048 | read-only "false" | *eksconfig.AddOnALB2048.DeploymentNodeSelector2048 | map[string]string  |
| 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_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_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnJobsPi.TimeFrameCreate | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnJobsPi.TimeFrameDelete | timeutil.TimeFrame |
| 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_TIME_FRAME_CREATE             | read-only "true"  | *eksconfig.AddOnJobsEcho.TimeFrameCreate            | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_TIME_FRAME_DELETE             | read-only "true"  | *eksconfig.AddOnJobsEcho.TimeFrameDelete            | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_NAMESPACE                     | read-only "false" | *eksconfig.AddOnJobsEcho.Namespace                  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_REPOSITORY_BUSYBOX_ACCOUNT_ID | read-only "false" | *eksconfig.AddOnJobsEcho.RepositoryBusyboxAccountID | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_REPOSITORY_BUSYBOX_REGION     | read-only "false" | *eksconfig.AddOnJobsEcho.RepositoryBusyboxRegion    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_REPOSITORY_BUSYBOX_NAME       | read-only "false" | *eksconfig.AddOnJobsEcho.RepositoryBusyboxName      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_REPOSITORY_BUSYBOX_IMAGE_TAG  | read-only "false" | *eksconfig.AddOnJobsEcho.RepositoryBusyboxImageTag  | 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_TIME_FRAME_CREATE             | read-only "true"  | *eksconfig.AddOnCronJobs.TimeFrameCreate            | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_TIME_FRAME_DELETE             | read-only "true"  | *eksconfig.AddOnCronJobs.TimeFrameDelete            | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_NAMESPACE                     | read-only "false" | *eksconfig.AddOnCronJobs.Namespace                  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_REPOSITORY_BUSYBOX_ACCOUNT_ID | read-only "false" | *eksconfig.AddOnCronJobs.RepositoryBusyboxAccountID | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_REPOSITORY_BUSYBOX_REGION     | read-only "false" | *eksconfig.AddOnCronJobs.RepositoryBusyboxRegion    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_REPOSITORY_BUSYBOX_NAME       | read-only "false" | *eksconfig.AddOnCronJobs.RepositoryBusyboxName      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_REPOSITORY_BUSYBOX_IMAGE_TAG  | read-only "false" | *eksconfig.AddOnCronJobs.RepositoryBusyboxImageTag  | 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_LOCAL_ENABLE                                        | read-only "false" | *eksconfig.AddOnCSRsLocal.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_CREATED                                       | read-only "true"  | *eksconfig.AddOnCSRsLocal.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnCSRsLocal.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnCSRsLocal.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_S3_DIR                                        | read-only "false" | *eksconfig.AddOnCSRsLocal.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_OBJECTS                                       | read-only "false" | *eksconfig.AddOnCSRsLocal.Objects                                | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_INITIAL_REQUEST_CONDITION_TYPE                | read-only "false" | *eksconfig.AddOnCSRsLocal.InitialRequestConditionType            | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_CREATED_NAMES                                 | read-only "true"  | *eksconfig.AddOnCSRsLocal.CreatedNames                           | []string                |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnCSRsLocal.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsSummaryWritesCompareTableS3Key | string                  |
*------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------*-------------------------*


*-------------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------*-------------------------*
|                               ENVIRONMENTAL VARIABLE                                |     READ ONLY     |                               TYPE                                |         GO TYPE         |
*-------------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_ENABLE                                        | read-only "false" | *eksconfig.AddOnCSRsRemote.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_CREATED                                       | read-only "true"  | *eksconfig.AddOnCSRsRemote.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnCSRsRemote.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnCSRsRemote.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_S3_DIR                                        | read-only "false" | *eksconfig.AddOnCSRsRemote.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnCSRsRemote.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REPOSITORY_ACCOUNT_ID                         | read-only "false" | *eksconfig.AddOnCSRsRemote.RepositoryAccountID                    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REPOSITORY_REGION                             | read-only "false" | *eksconfig.AddOnCSRsRemote.RepositoryRegion                       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REPOSITORY_NAME                               | read-only "false" | *eksconfig.AddOnCSRsRemote.RepositoryName                         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REPOSITORY_IMAGE_TAG                          | read-only "false" | *eksconfig.AddOnCSRsRemote.RepositoryImageTag                     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_COMPLETES                                     | read-only "false" | *eksconfig.AddOnCSRsRemote.Completes                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_PARALLELS                                     | read-only "false" | *eksconfig.AddOnCSRsRemote.Parallels                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_OBJECTS                                       | read-only "false" | *eksconfig.AddOnCSRsRemote.Objects                                | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_INITIAL_REQUEST_CONDITION_TYPE                | read-only "false" | *eksconfig.AddOnCSRsRemote.InitialRequestConditionType            | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_OUTPUT_NAME_PREFIX    | read-only "false" | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesOutputNamePrefix  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnCSRsRemote.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsSummaryWritesCompareTableS3Key | string                  |
*-------------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------*-------------------------*


*------------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*-------------------------*
|                                  ENVIRONMENTAL VARIABLE                                  |     READ ONLY     |                                  TYPE                                  |         GO TYPE         |
*------------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_ENABLE                                        | read-only "false" | *eksconfig.AddOnConfigmapsLocal.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_CREATED                                       | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_S3_DIR                                        | read-only "false" | *eksconfig.AddOnConfigmapsLocal.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnConfigmapsLocal.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_OBJECTS                                       | read-only "false" | *eksconfig.AddOnConfigmapsLocal.Objects                                | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_OBJECT_SIZE                                   | read-only "false" | *eksconfig.AddOnConfigmapsLocal.ObjectSize                             | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_CREATED_NAMES                                 | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.CreatedNames                           | []string                |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnConfigmapsLocal.RequestsSummaryWritesCompareTableS3Key | string                  |
*------------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*-------------------------*


*-------------------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------------*-------------------------*
|                                  ENVIRONMENTAL VARIABLE                                   |     READ ONLY     |                                  TYPE                                   |         GO TYPE         |
*-------------------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_ENABLE                                        | read-only "false" | *eksconfig.AddOnConfigmapsRemote.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_CREATED                                       | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_S3_DIR                                        | read-only "false" | *eksconfig.AddOnConfigmapsRemote.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnConfigmapsRemote.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REPOSITORY_ACCOUNT_ID                         | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RepositoryAccountID                    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REPOSITORY_REGION                             | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RepositoryRegion                       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REPOSITORY_NAME                               | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RepositoryName                         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REPOSITORY_IMAGE_TAG                          | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RepositoryImageTag                     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_COMPLETES                                     | read-only "false" | *eksconfig.AddOnConfigmapsRemote.Completes                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_PARALLELS                                     | read-only "false" | *eksconfig.AddOnConfigmapsRemote.Parallels                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_OBJECTS                                       | read-only "false" | *eksconfig.AddOnConfigmapsRemote.Objects                                | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_OBJECT_SIZE                                   | read-only "false" | *eksconfig.AddOnConfigmapsRemote.ObjectSize                             | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_CREATED_NAMES                                 | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.CreatedNames                           | []string                |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_OUTPUT_NAME_PREFIX    | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesOutputNamePrefix  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIGMAPS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnConfigmapsRemote.RequestsSummaryWritesCompareTableS3Key | string                  |
*-------------------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------------*-------------------------*


*---------------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------------*-------------------------*
|                                ENVIRONMENTAL VARIABLE                                 |     READ ONLY     |                                TYPE                                 |         GO TYPE         |
*---------------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_ENABLE                                        | read-only "false" | *eksconfig.AddOnSecretsLocal.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_CREATED                                       | read-only "true"  | *eksconfig.AddOnSecretsLocal.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnSecretsLocal.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnSecretsLocal.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_S3_DIR                                        | read-only "false" | *eksconfig.AddOnSecretsLocal.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnSecretsLocal.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_OBJECTS                                       | read-only "false" | *eksconfig.AddOnSecretsLocal.Objects                                | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_OBJECT_SIZE                                   | read-only "false" | *eksconfig.AddOnSecretsLocal.ObjectSize                             | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_NAME_PREFIX                                   | read-only "false" | *eksconfig.AddOnSecretsLocal.NamePrefix                             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnSecretsLocal.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryWritesCompareTableS3Key | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawReadsJSONPath               | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_JSON_S3_KEY                | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawReadsJSONS3Key              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_COMPARE_S3_DIR             | read-only "false" | *eksconfig.AddOnSecretsLocal.RequestsRawReadsCompareS3Dir           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_JSON_PATH      | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawReadsCompareAllJSONPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawReadsCompareAllJSONS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_CSV_PATH       | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawReadsCompareAllCSVPath      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_CSV_S3_KEY     | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsRawReadsCompareAllCSVS3Key     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS                        | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReads                   | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_JSON_PATH              | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsJSONPath           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_JSON_S3_KEY            | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsJSONS3Key          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_TABLE_PATH             | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsTablePath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_TABLE_S3_PATH          | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsTableS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_S3_DIR         | read-only "false" | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsCompareS3Dir       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_COMPARE                | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsCompare            | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_JSON_PATH      | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsCompareJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsCompareJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_TABLE_PATH     | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsCompareTablePath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_TABLE_S3_PATH  | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsSummaryReadsCompareTableS3Key  | string                  |
*---------------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------------*-------------------------*


*----------------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------------*-------------------------*
|                                 ENVIRONMENTAL VARIABLE                                 |     READ ONLY     |                                 TYPE                                 |         GO TYPE         |
*----------------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_ENABLE                                        | read-only "false" | *eksconfig.AddOnSecretsRemote.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_CREATED                                       | read-only "true"  | *eksconfig.AddOnSecretsRemote.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnSecretsRemote.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnSecretsRemote.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_S3_DIR                                        | read-only "false" | *eksconfig.AddOnSecretsRemote.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnSecretsRemote.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REPOSITORY_ACCOUNT_ID                         | read-only "false" | *eksconfig.AddOnSecretsRemote.RepositoryAccountID                    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REPOSITORY_REGION                             | read-only "false" | *eksconfig.AddOnSecretsRemote.RepositoryRegion                       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REPOSITORY_NAME                               | read-only "false" | *eksconfig.AddOnSecretsRemote.RepositoryName                         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REPOSITORY_IMAGE_TAG                          | read-only "false" | *eksconfig.AddOnSecretsRemote.RepositoryImageTag                     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_COMPLETES                                     | read-only "false" | *eksconfig.AddOnSecretsRemote.Completes                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_PARALLELS                                     | read-only "false" | *eksconfig.AddOnSecretsRemote.Parallels                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_OBJECTS                                       | read-only "false" | *eksconfig.AddOnSecretsRemote.Objects                                | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_OBJECT_SIZE                                   | read-only "false" | *eksconfig.AddOnSecretsRemote.ObjectSize                             | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_NAME_PREFIX                                   | read-only "false" | *eksconfig.AddOnSecretsRemote.NamePrefix                             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_OUTPUT_NAME_PREFIX    | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesOutputNamePrefix  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_OUTPUT_NAME_PREFIX     | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsOutputNamePrefix   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryWritesCompareTableS3Key | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawReadsJSONPath               | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_JSON_S3_KEY                | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawReadsJSONS3Key              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_COMPARE_S3_DIR             | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsRawReadsCompareS3Dir           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_JSON_PATH      | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawReadsCompareAllJSONPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawReadsCompareAllJSONS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_CSV_PATH       | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawReadsCompareAllCSVPath      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_CSV_S3_KEY     | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsRawReadsCompareAllCSVS3Key     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS                        | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReads                   | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_JSON_PATH              | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsJSONPath           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_JSON_S3_KEY            | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsJSONS3Key          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_TABLE_PATH             | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsTablePath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_TABLE_S3_PATH          | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsTableS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_S3_DIR         | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsCompareS3Dir       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_COMPARE                | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsCompare            | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_JSON_PATH      | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsCompareJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsCompareJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_TABLE_PATH     | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsCompareTablePath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_TABLE_S3_PATH  | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsSummaryReadsCompareTableS3Key  | 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_TIME_FRAME_CREATE          | read-only "true"  | *eksconfig.AddOnFargate.TimeFrameCreate       | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_TIME_FRAME_DELETE          | read-only "true"  | *eksconfig.AddOnFargate.TimeFrameDelete       | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_S3_DIR                     | read-only "false" | *eksconfig.AddOnFargate.S3Dir                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_NAMESPACE                  | read-only "false" | *eksconfig.AddOnFargate.Namespace             | 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_REGION          | read-only "false" | *eksconfig.AddOnFargate.RepositoryRegion      | 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_IMAGE_TAG       | read-only "false" | *eksconfig.AddOnFargate.RepositoryImageTag    | 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_ROLE_CFN_STACK_YAML_PATH   | read-only "true"  | *eksconfig.AddOnFargate.RoleCFNStackYAMLPath  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_ROLE_CFN_STACK_YAML_S3_KEY | read-only "true"  | *eksconfig.AddOnFargate.RoleCFNStackYAMLS3Key | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_FARGATE_PROFILE_NAME               | read-only "false" | *eksconfig.AddOnFargate.ProfileName           | 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_TIME_FRAME_CREATE          | read-only "true"  | *eksconfig.AddOnIRSA.TimeFrameCreate       | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_TIME_FRAME_DELETE          | read-only "true"  | *eksconfig.AddOnIRSA.TimeFrameDelete       | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_S3_DIR                     | read-only "false" | *eksconfig.AddOnIRSA.S3Dir                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_NAMESPACE                  | read-only "false" | *eksconfig.AddOnIRSA.Namespace             | 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_REGION          | read-only "false" | *eksconfig.AddOnIRSA.RepositoryRegion      | 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_IMAGE_TAG       | read-only "false" | *eksconfig.AddOnIRSA.RepositoryImageTag    | 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_CFN_STACK_ID          | read-only "true"  | *eksconfig.AddOnIRSA.RoleCFNStackID        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_CFN_STACK_YAML_PATH   | read-only "true"  | *eksconfig.AddOnIRSA.RoleCFNStackYAMLPath  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_CFN_STACK_YAML_S3_KEY | read-only "true"  | *eksconfig.AddOnIRSA.RoleCFNStackYAMLS3Key | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_S3_KEY                     | read-only "false" | *eksconfig.AddOnIRSA.S3Key                 | 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_TIME_FRAME_CREATE          | read-only "true"  | *eksconfig.AddOnIRSAFargate.TimeFrameCreate       | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_TIME_FRAME_DELETE          | read-only "true"  | *eksconfig.AddOnIRSAFargate.TimeFrameDelete       | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_S3_DIR                     | read-only "false" | *eksconfig.AddOnIRSAFargate.S3Dir                 | 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_REPOSITORY_ACCOUNT_ID      | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryAccountID   | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_REPOSITORY_REGION          | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryRegion      | 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_IMAGE_TAG       | read-only "false" | *eksconfig.AddOnIRSAFargate.RepositoryImageTag    | 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_ROLE_CFN_STACK_YAML_PATH   | read-only "true"  | *eksconfig.AddOnIRSAFargate.RoleCFNStackYAMLPath  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_FARGATE_ROLE_CFN_STACK_YAML_S3_KEY | read-only "true"  | *eksconfig.AddOnIRSAFargate.RoleCFNStackYAMLS3Key | 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             |
*-------------------------------------------------------------------*-------------------*---------------------------------------------------*--------------------*


*-------------------------------------------------------*-------------------*-------------------------------------------*--------------------*
|                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_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnWordpress.TimeFrameCreate | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_WORDPRESS_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnWordpress.TimeFrameDelete | timeutil.TimeFrame |
| 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_TIME_FRAME_CREATE  | read-only "true"  | *eksconfig.AddOnJupyterHub.TimeFrameCreate  | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_JUPYTER_HUB_TIME_FRAME_DELETE  | read-only "true"  | *eksconfig.AddOnJupyterHub.TimeFrameDelete  | timeutil.TimeFrame |
| 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_TIME_FRAME_CREATE  | read-only "true"  | *eksconfig.AddOnKubeflow.TimeFrameCreate  | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_KUBEFLOW_TIME_FRAME_DELETE  | read-only "true"  | *eksconfig.AddOnKubeflow.TimeFrameDelete  | timeutil.TimeFrame |
| 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_CUDA_VECTOR_ADD_ENABLE            | read-only "false" | *eksconfig.AddOnCUDAVectorAdd.Enable          | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CUDA_VECTOR_ADD_CREATED           | read-only "true"  | *eksconfig.AddOnCUDAVectorAdd.Created         | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CUDA_VECTOR_ADD_TIME_FRAME_CREATE | read-only "true"  | *eksconfig.AddOnCUDAVectorAdd.TimeFrameCreate | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CUDA_VECTOR_ADD_TIME_FRAME_DELETE | read-only "true"  | *eksconfig.AddOnCUDAVectorAdd.TimeFrameDelete | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CUDA_VECTOR_ADD_NAMESPACE         | read-only "false" | *eksconfig.AddOnCUDAVectorAdd.Namespace       | 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_TIME_FRAME_CREATE                  | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.TimeFrameCreate                 | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_TIME_FRAME_DELETE                  | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.TimeFrameDelete                 | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_S3_DIR                             | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.S3Dir                           | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CLUSTER_LOADER_PATH                | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.ClusterLoaderPath               | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CLUSTER_LOADER_DOWNLOAD_URL        | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.ClusterLoaderDownloadURL        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_TEST_CONFIG_PATH                   | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.TestConfigPath                  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_REPORT_DIR                         | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.ReportDir                       | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_REPORT_TAR_GZ_PATH                 | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.ReportTarGzPath                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_REPORT_TAR_GZ_S3_KEY               | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.ReportTarGzS3Key                | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_LOG_PATH                           | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.LogPath                         | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_LOG_S3_KEY                         | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.LogS3Key                        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_POD_STARTUP_LATENCY_PATH           | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.PodStartupLatencyPath           | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_POD_STARTUP_LATENCY_S3_KEY         | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.PodStartupLatencyS3Key          | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_RUNS                               | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.Runs                            | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_TIMEOUT                            | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.Timeout                         | time.Duration      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_NODES                              | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.Nodes                           | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_NODES_PER_NAMESPACE                | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.NodesPerNamespace               | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_PODS_PER_NODE                      | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.PodsPerNode                     | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_BIG_GROUP_SIZE                     | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.BigGroupSize                    | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_MEDIUM_GROUP_SIZE                  | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.MediumGroupSize                 | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_SMALL_GROUP_SIZE                   | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.SmallGroupSize                  | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_SMALL_STATEFUL_SETS_PER_NAMESPACE  | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.SmallStatefulSetsPerNamespace   | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_MEDIUM_STATEFUL_SETS_PER_NAMESPACE | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.MediumStatefulSetsPerNamespace  | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CL2_USE_HOST_NETWORK_PODS          | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.CL2UseHostNetworkPods           | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CL2_LOAD_TEST_THROUGHPUT           | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.CL2LoadTestThroughput           | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CL2_ENABLE_PVS                     | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.CL2EnablePVS                    | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_CL2_SCHEDULER_THROUGHPUT_THRESHOLD | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.CL2SchedulerThroughputThreshold | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_PROMETHEUS_SCRAPE_KUBE_PROXY       | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.PrometheusScrapeKubeProxy       | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_ENABLE_SYSTEM_POD_METRICS          | read-only "false" | *eksconfig.AddOnClusterLoaderLocal.EnableSystemPodMetrics          | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_LOCAL_POD_STARTUP_LATENCY                | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.PodStartupLatency               | util.PerfData      |
*-----------------------------------------------------------------------------------*-------------------*--------------------------------------------------------------------*--------------------*


*------------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------------*--------------------*
|                               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_TIME_FRAME_CREATE                  | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.TimeFrameCreate                 | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_TIME_FRAME_DELETE                  | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.TimeFrameDelete                 | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_S3_DIR                             | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.S3Dir                           | 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_REPOSITORY_ACCOUNT_ID              | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryAccountID             | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPOSITORY_REGION                  | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryRegion                | 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_IMAGE_TAG               | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.RepositoryImageTag              | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CLUSTER_LOADER_PATH                | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.ClusterLoaderPath               | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CLUSTER_LOADER_DOWNLOAD_URL        | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.ClusterLoaderDownloadURL        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPORT_TAR_GZ_PATH                 | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.ReportTarGzPath                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_REPORT_TAR_GZ_S3_KEY               | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.ReportTarGzS3Key                | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_LOG_PATH                           | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.LogPath                         | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_LOG_S3_KEY                         | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.LogS3Key                        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_POD_STARTUP_LATENCY_PATH           | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.PodStartupLatencyPath           | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_POD_STARTUP_LATENCY_S3_KEY         | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.PodStartupLatencyS3Key          | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_RUNS                               | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.Runs                            | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_NODES                              | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.Nodes                           | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_TIMEOUT                            | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.Timeout                         | time.Duration      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_NODES_PER_NAMESPACE                | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.NodesPerNamespace               | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_PODS_PER_NODE                      | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.PodsPerNode                     | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_BIG_GROUP_SIZE                     | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.BigGroupSize                    | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_MEDIUM_GROUP_SIZE                  | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.MediumGroupSize                 | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_SMALL_GROUP_SIZE                   | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.SmallGroupSize                  | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_SMALL_STATEFUL_SETS_PER_NAMESPACE  | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.SmallStatefulSetsPerNamespace   | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_MEDIUM_STATEFUL_SETS_PER_NAMESPACE | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.MediumStatefulSetsPerNamespace  | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CL2_USE_HOST_NETWORK_PODS          | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.CL2UseHostNetworkPods           | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CL2_LOAD_TEST_THROUGHPUT           | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.CL2LoadTestThroughput           | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CL2_ENABLE_PVS                     | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.CL2EnablePVS                    | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_CL2_SCHEDULER_THROUGHPUT_THRESHOLD | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.CL2SchedulerThroughputThreshold | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_PROMETHEUS_SCRAPE_KUBE_PROXY       | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.PrometheusScrapeKubeProxy       | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_ENABLE_SYSTEM_POD_METRICS          | read-only "false" | *eksconfig.AddOnClusterLoaderRemote.EnableSystemPodMetrics          | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_POD_STARTUP_LATENCY                | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.PodStartupLatency               | util.PerfData      |
*------------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------------*--------------------*


*----------------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------------*-------------------------*
|                                 ENVIRONMENTAL VARIABLE                                 |     READ ONLY     |                                 TYPE                                 |         GO TYPE         |
*----------------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_ENABLE                                        | read-only "false" | *eksconfig.AddOnStresserLocal.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_CREATED                                       | read-only "true"  | *eksconfig.AddOnStresserLocal.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnStresserLocal.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnStresserLocal.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_S3_DIR                                        | read-only "false" | *eksconfig.AddOnStresserLocal.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnStresserLocal.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_OBJECT_SIZE                                   | read-only "false" | *eksconfig.AddOnStresserLocal.ObjectSize                             | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_LIST_LIMIT                                    | read-only "false" | *eksconfig.AddOnStresserLocal.ListLimit                              | int64                   |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_DURATION                                      | read-only "false" | *eksconfig.AddOnStresserLocal.Duration                               | time.Duration           |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_DURATION_STRING                               | read-only "true"  | *eksconfig.AddOnStresserLocal.DurationString                         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnStresserLocal.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryWritesCompareTableS3Key | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawReadsJSONPath               | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_JSON_S3_KEY                | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawReadsJSONS3Key              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_COMPARE_S3_DIR             | read-only "false" | *eksconfig.AddOnStresserLocal.RequestsRawReadsCompareS3Dir           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_JSON_PATH      | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawReadsCompareAllJSONPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawReadsCompareAllJSONS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_CSV_PATH       | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawReadsCompareAllCSVPath      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_RAW_READS_COMPARE_ALL_CSV_S3_KEY     | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsRawReadsCompareAllCSVS3Key     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS                        | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReads                   | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_JSON_PATH              | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsJSONPath           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_JSON_S3_KEY            | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsJSONS3Key          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_TABLE_PATH             | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsTablePath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_TABLE_S3_PATH          | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsTableS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_S3_DIR         | read-only "false" | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsCompareS3Dir       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_COMPARE                | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsCompare            | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_JSON_PATH      | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsCompareJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsCompareJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_TABLE_PATH     | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsCompareTablePath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_SUMMARY_READS_COMPARE_TABLE_S3_PATH  | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsSummaryReadsCompareTableS3Key  | string                  |
*----------------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------------*-------------------------*


*-----------------------------------------------------------------------------------------*-------------------*-----------------------------------------------------------------------*-------------------------*
|                                 ENVIRONMENTAL VARIABLE                                  |     READ ONLY     |                                 TYPE                                  |         GO TYPE         |
*-----------------------------------------------------------------------------------------*-------------------*-----------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_ENABLE                                        | read-only "false" | *eksconfig.AddOnStresserRemote.Enable                                 | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_CREATED                                       | read-only "true"  | *eksconfig.AddOnStresserRemote.Created                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_TIME_FRAME_CREATE                             | read-only "true"  | *eksconfig.AddOnStresserRemote.TimeFrameCreate                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_TIME_FRAME_DELETE                             | read-only "true"  | *eksconfig.AddOnStresserRemote.TimeFrameDelete                        | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_S3_DIR                                        | read-only "false" | *eksconfig.AddOnStresserRemote.S3Dir                                  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_NAMESPACE                                     | read-only "false" | *eksconfig.AddOnStresserRemote.Namespace                              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REPOSITORY_ACCOUNT_ID                         | read-only "false" | *eksconfig.AddOnStresserRemote.RepositoryAccountID                    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REPOSITORY_REGION                             | read-only "false" | *eksconfig.AddOnStresserRemote.RepositoryRegion                       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REPOSITORY_NAME                               | read-only "false" | *eksconfig.AddOnStresserRemote.RepositoryName                         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REPOSITORY_IMAGE_TAG                          | read-only "false" | *eksconfig.AddOnStresserRemote.RepositoryImageTag                     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_COMPLETES                                     | read-only "false" | *eksconfig.AddOnStresserRemote.Completes                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_PARALLELS                                     | read-only "false" | *eksconfig.AddOnStresserRemote.Parallels                              | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_OBJECT_SIZE                                   | read-only "false" | *eksconfig.AddOnStresserRemote.ObjectSize                             | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_LIST_LIMIT                                    | read-only "false" | *eksconfig.AddOnStresserRemote.ListLimit                              | int64                   |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_DURATION                                      | read-only "false" | *eksconfig.AddOnStresserRemote.Duration                               | time.Duration           |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_DURATION_STRING                               | read-only "true"  | *eksconfig.AddOnStresserRemote.DurationString                         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_OUTPUT_NAME_PREFIX    | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesOutputNamePrefix  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_OUTPUT_NAME_PREFIX     | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsOutputNamePrefix   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_JSON_PATH                 | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawWritesJSONPath              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_JSON_S3_KEY               | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawWritesJSONS3Key             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_COMPARE_S3_DIR            | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsRawWritesCompareS3Dir          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_PATH     | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawWritesCompareAllJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawWritesCompareAllJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_PATH      | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawWritesCompareAllCSVPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_WRITES_COMPARE_ALL_CSV_S3_KEY    | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawWritesCompareAllCSVS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES                       | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWrites                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_PATH             | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_JSON_S3_KEY           | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesJSONS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_PATH            | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_TABLE_S3_PATH         | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesTableS3Key        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_S3_DIR        | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesCompareS3Dir      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE               | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesCompare           | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_PATH     | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesCompareJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_JSON_S3_KEY   | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesCompareJSONS3Key  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_PATH    | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesCompareTablePath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_WRITES_COMPARE_TABLE_S3_PATH | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryWritesCompareTableS3Key | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawReadsJSONPath               | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_JSON_S3_KEY                | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawReadsJSONS3Key              | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_COMPARE_S3_DIR             | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsRawReadsCompareS3Dir           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_JSON_PATH      | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawReadsCompareAllJSONPath     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawReadsCompareAllJSONS3Key    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_CSV_PATH       | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawReadsCompareAllCSVPath      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_RAW_READS_COMPARE_ALL_CSV_S3_KEY     | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsRawReadsCompareAllCSVS3Key     | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS                        | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReads                   | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_JSON_PATH              | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsJSONPath           | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_JSON_S3_KEY            | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsJSONS3Key          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_TABLE_PATH             | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsTablePath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_TABLE_S3_PATH          | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsTableS3Key         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_S3_DIR         | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsCompareS3Dir       | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_COMPARE                | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsCompare            | metrics.RequestsCompare |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_JSON_PATH      | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsCompareJSONPath    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_JSON_S3_KEY    | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsCompareJSONS3Key   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_TABLE_PATH     | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsCompareTablePath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_SUMMARY_READS_COMPARE_TABLE_S3_PATH  | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsSummaryReadsCompareTableS3Key  | string                  |
*-----------------------------------------------------------------------------------------*-------------------*-----------------------------------------------------------------------*-------------------------*


*------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------*--------------------*
|                            ENVIRONMENTAL VARIABLE                            |     READ ONLY     |                             TYPE                              |      GO TYPE       |
*------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_ENABLE                     | read-only "false" | *eksconfig.AddOnClusterVersionUpgrade.Enable                  | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_CREATED                    | read-only "true"  | *eksconfig.AddOnClusterVersionUpgrade.Created                 | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_TIME_FRAME_CREATE          | read-only "true"  | *eksconfig.AddOnClusterVersionUpgrade.TimeFrameCreate         | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_WAIT_BEFORE_UPGRADE        | read-only "false" | *eksconfig.AddOnClusterVersionUpgrade.WaitBeforeUpgrade       | time.Duration      |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_WAIT_BEFORE_UPGRADE_STRING | read-only "true"  | *eksconfig.AddOnClusterVersionUpgrade.WaitBeforeUpgradeString | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_VERSION                    | read-only "false" | *eksconfig.AddOnClusterVersionUpgrade.Version                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_VERSION_UPGRADE_VERSION_VALUE              | read-only "true"  | *eksconfig.AddOnClusterVersionUpgrade.VersionValue            | float64            |
*------------------------------------------------------------------------------*-------------------*---------------------------------------------------------------*--------------------*


Documentation

Overview

Package eksconfig defines EKS test configuration.

Index

Constants

View Source
const (
	// AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_PREFIX is the environment variable prefix used for "eksconfig".
	AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_PREFIX      = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_MANAGED_NODE_GROUPS_"
	AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_PREFIX = AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_PREFIX + "ROLE_"
)
View Source
const (
	// AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_PREFIX is the environment variable prefix used for "eksconfig".
	AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_PREFIX      = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NODE_GROUPS_"
	AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_PREFIX = AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_PREFIX + "ROLE_"
)
View Source
const (
	// DefaultClients is the default number of clients to create.
	DefaultClients = 2
	// DefaultClientQPS is the default client QPS.
	DefaultClientQPS float32 = 10
	// DefaultClientBurst is the default client burst.
	DefaultClientBurst = 20
	// DefaultClientTimeout is the default client timeout.
	DefaultClientTimeout = 15 * 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

	// DefaultNodeVolumeType is the default EC2 instance volume type for a worker node.
	DefaultNodeVolumeType = aws_ec2_v2_types.VolumeTypeGp3

	// 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 = 5000

	// 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 is the environment variable prefix used for "eksconfig".
	AWS_K8S_TESTER_EKS_PREFIX            = "AWS_K8S_TESTER_EKS_"
	AWS_K8S_TESTER_EKS_S3_PREFIX         = AWS_K8S_TESTER_EKS_PREFIX + "S3_"
	AWS_K8S_TESTER_EKS_ENCRYPTION_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ENCRYPTION_"
	AWS_K8S_TESTER_EKS_ROLE_PREFIX       = AWS_K8S_TESTER_EKS_PREFIX + "ROLE_"
	AWS_K8S_TESTER_EKS_VPC_PREFIX        = AWS_K8S_TESTER_EKS_PREFIX + "VPC_"
)
View Source
const AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CNI_VPC_"

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

View Source
const AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CW_AGENT_"

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

View Source
const AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_FLUENTD_"

AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_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 EnvironmentVariablePrefixAddOnAmiSoftLockupIssue454 = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_AMI_SOFT_LOCKUP_ISSUE_454_"

EnvironmentVariablePrefixAddOnAmiSoftLockupIssue454 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 EnvironmentVariablePrefixAddOnCSRsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSRS_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnCSRsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSRS_REMOTE_"

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

View Source
const EnvironmentVariablePrefixAddOnCUDAVectorAdd = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CUDA_VECTOR_ADD_"

EnvironmentVariablePrefixAddOnCUDAVectorAdd 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 EnvironmentVariablePrefixAddOnClusterVersionUpgrade = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_VERSION_UPGRADE_"

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

View Source
const EnvironmentVariablePrefixAddOnConfigmapsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIGMAPS_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnConfigmapsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIGMAPS_REMOTE_"

EnvironmentVariablePrefixAddOnConfigmapsRemote 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 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 EnvironmentVariablePrefixAddOnMetricsServer = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_METRICS_SERVER_"

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

View Source
const EnvironmentVariablePrefixAddOnNLBGuestbook = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NLB_GUESTBOOK_"

EnvironmentVariablePrefixAddOnNLBGuestbook 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 EnvironmentVariablePrefixAddOnPHPApache = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_PHP_APACHE_"

EnvironmentVariablePrefixAddOnPHPApache 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 EnvironmentVariablePrefixAddOnSecretsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_SECRETS_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnSecretsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_SECRETS_REMOTE_"

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

View Source
const EnvironmentVariablePrefixAddOnStresserLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_STRESSER_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnStresserRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_STRESSER_REMOTE_"

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

View Source
const EnvironmentVariablePrefixAddOnStresserRemoteV2 = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_STRESSER_REMOTE_V2_"

EnvironmentVariablePrefixAddOnStresserRemoteV2 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".

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

	// BootstrapArgs additional bootstrap arguments.
	// e.g. '--pause-container-account 012345678901 --pause-container-version 3.3'
	BootstrapArgs string `json:"bootstrap-args"`

	// ClusterAutoscaler is enabled to run cluster auto-scaler per node group.
	// ref. https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
	ClusterAutoscaler *NGClusterAutoscaler `json:"cluster-autoscaler,omitempty"`
}

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	// DeploymentNodeSelector2048 is configured to overwrite existing node selector
	// for ALB 2048 deployment. If left empty, tester sets default selector.
	DeploymentNodeSelector2048 map[string]string `json:"deployment-node-selector-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 AddOnAmiSoftLockupIssue454 added in v1.5.6

type AddOnAmiSoftLockupIssue454 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	// DeploymentNodeSelector is configured to overwrite existing node selector
	// for deployment. If left empty, tester sets default selector.
	DeploymentNodeSelector map[string]string `json:"deployment-node-selector"`
}

AddOnAmiSoftLockupIssue454 defines parameters for EKS cluster add-on NLB hello-world 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

	// 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"`
	PolicyCFNStackYAMLPath  string `json:"policy-cfn-stack-yaml-path" read-only:"true"`
	PolicyCFNStackYAMLS3Key string `json:"policy-cfn-stack-yaml-s3-key" read-only:"true"`
}

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

type AddOnCNIVPC added in v1.4.8

type AddOnCNIVPC 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// Version defines the release version for https://github.com/aws/amazon-vpc-cni-k8s.
	// Must be at least "v1.7".
	// "v1.6" is not supported.
	// ref. https://github.com/aws/amazon-vpc-cni-k8s/releases
	Version string `json:"version"`

	// RepositoryInitAccountID is the account ID for tester ECR image.
	// e.g. "602401143452" for "602401143452.dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni-init"
	RepositoryInitAccountID string `json:"repository-init-account-id,omitempty"`
	// RepositoryInitRegion is the ECR repository region to pull from.
	RepositoryInitRegion string `json:"repository-init-region,omitempty"`
	// RepositoryInitName is the repositoryName for tester ECR image.
	// e.g. "amazon-k8s-cni-init" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni-init"
	RepositoryInitName string `json:"repository-init-name,omitempty"`
	// RepositoryInitImageTag is the image tag for tester ECR image.
	// e.g. "v1.7.0-rc1" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni-init:v1.7.0-rc1"
	RepositoryInitImageTag string `json:"repository-init-image-tag,omitempty"`

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "602401143452" for "602401143452.dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "amazon-k8s-cni" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "v1.7.0-rc1" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni:v1.7.0-rc1"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// MinimumIPTarget configures "MINIMUM_IP_TARGET" for VPC CNI plugin daemon set.
	// ref. https://github.com/aws/amazon-vpc-cni-k8s#cni-configuration-variables
	MinimumIPTarget int `json:"minimum-ip-target"`
	// WarmIPTarget configures "WARM_IP_TARGET" for VPC CNI plugin daemon set.
	// ref. https://github.com/aws/amazon-vpc-cni-k8s#cni-configuration-variables
	WarmIPTarget int `json:"warm-ip-target"`

	// NodeSelector is configured to overwrite existing node selector
	// for amazon-vpc-cni-k8s DaemonSet.
	NodeSelector map[string]string `json:"node-selector"`
}

AddOnCNIVPC defines parameters for https://github.com/aws/amazon-vpc-cni-k8s. If not enabled, uses the default one. The version must be at least "v1.7". ref. https://github.com/aws/amazon-vpc-cni-k8s/blob/release-1.7/config/v1.7/aws-k8s-cni.yaml

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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 AddOnCSRsLocal added in v1.2.2

type AddOnCSRsLocal 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

	// Objects is the number of "CertificateSigningRequest" objects to create.
	Objects int `json:"objects"`

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

	// CreatedNames is the list of created "CertificateSigningRequest" object names.
	CreatedNames []string `json:"created-names" read-only:"true"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`
}

AddOnCSRsLocal defines parameters for EKS cluster add-on "CertificateSigningRequest" local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency. The main use case is to write a large number of objects to fill up etcd database.

type AddOnCSRsRemote added in v1.2.2

type AddOnCSRsRemote 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// Completes is the desired number of successfully finished pods.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	Parallels int `json:"parallels"`

	// Objects is the number of "CertificateSigningRequest" objects to create.
	Objects int `json:"objects"`

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

	// RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker.
	RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`
}

AddOnCSRsRemote defines parameters for EKS cluster add-on "CertificateSigningRequest" remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. The main use case is to write a large number of objects to fill up etcd database.

type AddOnCUDAVectorAdd added in v1.3.0

type AddOnCUDAVectorAdd 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

AddOnCUDAVectorAdd defines parameters for EKS cluster add-on cuda-vector-add.

type AddOnCWAgent added in v1.4.6

type AddOnCWAgent 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

AddOnCWAgent defines parameters for EKS cluster add-on CloudWatch agent. Publishes worker nodes logs to:

- /aws/containerinsights/[CLUSTER-NAME]/performance

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

	// ClusterLoaderPath is the clusterloader executable binary path.
	// ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2
	ClusterLoaderPath        string `json:"cluster-loader-path"`
	ClusterLoaderDownloadURL string `json:"cluster-loader-download-url"`
	// TestConfigPath is the clusterloader2 test configuration file.
	// Set via "--testconfig" flag.
	TestConfigPath string `json:"test-config-path"`

	// ReportDir is the clusterloader2 test report directory.
	// Set via "--report-dir" flag.
	ReportDir string `json:"report-dir"`

	// ReportTarGzPath is the .tar.gz file path for report directory.
	ReportTarGzPath  string `json:"report-tar-gz-path" read-only:"true"`
	ReportTarGzS3Key string `json:"report-tar-gz-s3-key" read-only:"true"`
	// LogPath is the log file path to stream clusterloader binary runs.
	LogPath  string `json:"log-path" read-only:"true"`
	LogS3Key string `json:"log-s3-key" read-only:"true"`
	// PodStartupLatencyPath is the JSON file path to store pod startup latency.
	PodStartupLatencyPath  string `json:"pod-startup-latency-path" read-only:"true"`
	PodStartupLatencyS3Key string `json:"pod-startup-latency-s3-key" read-only:"true"`

	// Runs is the number of "clusterloader2" runs back-to-back.
	Runs int `json:"runs"`
	// Timeout is the timeout for the total test runs.
	Timeout time.Duration `json:"timeout"`

	// Nodes is the number of nodes.
	// Set via "--nodes" flag.
	Nodes int `json:"nodes"`

	NodesPerNamespace int `json:"nodes-per-namespace"`
	PodsPerNode       int `json:"pods-per-node"`

	BigGroupSize    int `json:"big-group-size"`
	MediumGroupSize int `json:"medium-group-size"`
	SmallGroupSize  int `json:"small-group-size"`

	SmallStatefulSetsPerNamespace  int `json:"small-stateful-sets-per-namespace"`
	MediumStatefulSetsPerNamespace int `json:"medium-stateful-sets-per-namespace"`

	// ref. https://github.com/kubernetes/perf-tests/pull/1345
	CL2UseHostNetworkPods           bool `json:"cl2-use-host-network-pods"`
	CL2LoadTestThroughput           int  `json:"cl2-load-test-throughput"`
	CL2EnablePVS                    bool `json:"cl2-enable-pvs"`
	CL2SchedulerThroughputThreshold int  `json:"cl2-scheduler-throughput-threshold"`
	PrometheusScrapeKubeProxy       bool `json:"prometheus-scrape-kube-proxy"`
	EnableSystemPodMetrics          bool `json:"enable-system-pod-metrics"`

	PodStartupLatency measurement_util.PerfData `json:"pod-startup-latency" read-only:"true"`
}

AddOnClusterLoaderLocal defines parameters for EKS cluster add-on cluster loader local. It generates loads from the local host machine. ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// ClusterLoaderPath is the clusterloader executable binary path.
	// ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2
	ClusterLoaderPath        string `json:"cluster-loader-path"`
	ClusterLoaderDownloadURL string `json:"cluster-loader-download-url"`

	// ReportTarGzPath is the .tar.gz file path for report directory.
	// This is the local path after downloaded from remote nodes.
	ReportTarGzPath  string `json:"report-tar-gz-path" read-only:"true"`
	ReportTarGzS3Key string `json:"report-tar-gz-s3-key" read-only:"true"`
	// LogPath is the log file path to stream clusterloader binary runs.
	LogPath  string `json:"log-path" read-only:"true"`
	LogS3Key string `json:"log-s3-key" read-only:"true"`
	// PodStartupLatencyPath is the JSON file path to store pod startup latency.
	PodStartupLatencyPath  string `json:"pod-startup-latency-path" read-only:"true"`
	PodStartupLatencyS3Key string `json:"pod-startup-latency-s3-key" read-only:"true"`

	// Runs is the number of "clusterloader2" runs back-to-back.
	Runs int `json:"runs"`

	// Nodes is the number of nodes.
	// Set via "--nodes" flag.
	Nodes int `json:"nodes"`
	// Timeout is the timeout for the total test runs.
	Timeout time.Duration `json:"timeout"`

	NodesPerNamespace int `json:"nodes-per-namespace"`
	PodsPerNode       int `json:"pods-per-node"`

	BigGroupSize    int `json:"big-group-size"`
	MediumGroupSize int `json:"medium-group-size"`
	SmallGroupSize  int `json:"small-group-size"`

	SmallStatefulSetsPerNamespace  int `json:"small-stateful-sets-per-namespace"`
	MediumStatefulSetsPerNamespace int `json:"medium-stateful-sets-per-namespace"`

	// ref. https://github.com/kubernetes/perf-tests/pull/1345
	CL2UseHostNetworkPods           bool `json:"cl2-use-host-network-pods"`
	CL2LoadTestThroughput           int  `json:"cl2-load-test-throughput"`
	CL2EnablePVS                    bool `json:"cl2-enable-pvs"`
	CL2SchedulerThroughputThreshold int  `json:"cl2-scheduler-throughput-threshold"`
	PrometheusScrapeKubeProxy       bool `json:"prometheus-scrape-kube-proxy"`
	EnableSystemPodMetrics          bool `json:"enable-system-pod-metrics"`

	PodStartupLatency measurement_util.PerfData `json:"pod-startup-latency" read-only:"true"`
}

AddOnClusterLoaderRemote defines parameters for EKS cluster add-on cluster loader remote. It generates loads from the remote host machine. ref. https://github.com/kubernetes/perf-tests/pull/1295 ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2

type AddOnClusterVersionUpgrade added in v1.3.2

type AddOnClusterVersionUpgrade 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`

	// WaitBeforeUpgrade is the wait duration before it starts cluster version upgrade.
	WaitBeforeUpgrade       time.Duration `json:"wait-before-upgrade"`
	WaitBeforeUpgradeString string        `json:"wait-before-upgrade-string" read-only:"true"`

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

AddOnClusterVersionUpgrade defines parameters for EKS cluster version upgrade add-on.

type AddOnConfigmapsLocal added in v1.3.5

type AddOnConfigmapsLocal 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

	// 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"`
	// ObjectSize is the "ConfigMap" value size in bytes.
	ObjectSize int `json:"object-size"`

	// CreatedNames is the list of created "ConfigMap" object names.
	CreatedNames []string `json:"created-names" read-only:"true"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`
}

AddOnConfigmapsLocal defines parameters for EKS cluster add-on "ConfigMap" local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency. The main use case is to write large objects to fill up etcd database.

type AddOnConfigmapsRemote added in v1.3.5

type AddOnConfigmapsRemote 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// Completes is the desired number of successfully finished pods.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	// The total number of objects to be created is "Completes" * "Objects".
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	// The total number of objects to be created is "Completes" * "Objects".
	Parallels int `json:"parallels"`

	// Objects is the number of "ConfigMap" objects to create.
	Objects int `json:"objects"`
	// ObjectSize is the "ConfigMap" value size in bytes.
	ObjectSize int `json:"object-size"`

	// CreatedNames is the list of created "ConfigMap" object names.
	CreatedNames []string `json:"created-names" read-only:"true"`

	// RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker.
	RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`
}

AddOnConfigmapsRemote defines parameters for EKS cluster add-on "ConfigMap" remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. The main use case is to write large objects to fill up etcd database.

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

	// 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"`
	// SonobuoyE2eRepoConfig File path to e2e registry config
	// ref. https://sonobuoy.io/docs/master/airgap/
	SonobuoyE2eRepoConfig string `json:"sonobuoy-e2e-repo-config"`
	// SonobuoyImage Container override for the sonobuoy worker image
	SonobuoyImage string `json:"sonobuoy-image"`
	// SystemdLogsImage Container override for systemd-logs plugin image
	SystemdLogsImage string `json:"systemd-logs-image"`

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

	SonobuoyRunE2eFocus string `json:"sonobuoy-run-e2e-focus"`
	SonobuoyRunE2eSkip  string `json:"sonobuoy-run-e2e-skip"`

	SonobuoyResultTarGzPath     string `json:"sonobuoy-result-tar-gz-path" read-only:"true"`
	SonobuoyResultTarGzS3Key    string `json:"sonobuoy-result-tar-gz-s3-key" read-only:"true"`
	SonobuoyResultDir           string `json:"sonobuoy-result-dir" read-only:"true"`
	SonobuoyResultE2eLogPath    string `json:"sonobuoy-result-e2e-log-path" read-only:"true"`
	SonobuoyResultE2eLogS3Key   string `json:"sonobuoy-result-e2e-log-s3-key" read-only:"true"`
	SonobuoyResultJunitXMLPath  string `json:"sonobuoy-result-junit-xml-path" read-only:"true"`
	SonobuoyResultJunitXMLS3Key string `json:"sonobuoy-result-junit-xml-s3-key" 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

	// RepositoryBusyboxAccountID is the account ID for tester ECR image.
	// e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox"
	RepositoryBusyboxAccountID string `json:"repository-busybox-account-id,omitempty"`
	// RepositoryBusyboxRegion is the ECR repository region to pull from.
	RepositoryBusyboxRegion string `json:"repository-busybox-region,omitempty"`
	// RepositoryBusyboxName is the repositoryName for tester ECR image.
	// e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox"
	RepositoryBusyboxName string `json:"repository-busybox-name,omitempty"`
	// RepositoryBusyboxImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox:latest"
	RepositoryBusyboxImageTag string `json:"repository-busybox-image-tag,omitempty"`

	// 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// 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"`
	RoleCFNStackYAMLPath  string   `json:"role-cfn-stack-yaml-path" read-only:"true"`
	RoleCFNStackYAMLS3Key string   `json:"role-cfn-stack-yaml-s3-key" read-only:"true"`

	// ProfileName is the profile name for Fargate.
	ProfileName string `json:"profile-name"`

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

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

type AddOnFluentd added in v1.4.6

type AddOnFluentd 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

	// RepositoryBusyboxAccountID is the account ID for tester ECR image.
	// e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox"
	RepositoryBusyboxAccountID string `json:"repository-busybox-account-id,omitempty"`
	// RepositoryBusyboxRegion is the ECR repository region to pull from.
	RepositoryBusyboxRegion string `json:"repository-busybox-region,omitempty"`
	// RepositoryBusyboxName is the repositoryName for tester ECR image.
	// e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox"
	RepositoryBusyboxName string `json:"repository-busybox-name,omitempty"`
	// RepositoryBusyboxImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox:latest"
	RepositoryBusyboxImageTag string `json:"repository-busybox-image-tag,omitempty"`

	// Threads is the number of threads for fluentd.
	// ref. https://docs.fluentd.org/v/0.12/output#num_threads
	Threads int `json:"threads"`
	// MetadataLogLevel is the log level for "@type kubernetes_metadata".
	// ref. https://docs.fluentd.org/deployment/system-config
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataLogLevel string `json:"metadata-log-level"`
	// MetadataCacheSize is the size of the cache of Kubernetes metadata
	// to reduce the requests to the kube-apiserver.
	// ref. "@type kubernetes_metadata"
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataCacheSize int `json:"metadata-cache-size"`
	// MetadataWatch is true to enable watch on pods on the kube-apiserver
	// for updates to the metadata.
	// ref. "@type kubernetes_metadata"
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataWatch bool `json:"metadata-watch"`
	// MetadataSkipLabels is true to skip all label fields from the metadata.
	// ref. "@type kubernetes_metadata"
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataSkipLabels bool `json:"metadata-skip-labels"`
	// MetadataSkipMasterURL is true to skip "master_url" field from the metadata.
	// ref. "@type kubernetes_metadata"
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataSkipMasterURL bool `json:"metadata-skip-master-url"`
	// MetadataSkipContainerMetadata is true to skip some container data of the metadata.
	// For example, if true, it skips container image and image ID fields.
	// ref. "@type kubernetes_metadata"
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataSkipContainerMetadata bool `json:"metadata-skip-container-metadata"`
	// MetadataSkipNamespaceMetadata is true to skip "namespace_id" field from the metadata.
	// If true, the plugin will be faster with less CPU consumption.
	// ref. "@type kubernetes_metadata"
	// ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter
	MetadataSkipNamespaceMetadata bool `json:"metadata-skip-namespace-metadata"`
}

AddOnFluentd defines parameters for EKS cluster add-on Fluentd. Publishes worker nodes logs to:

- /aws/containerinsights/[CLUSTER-NAME]/application
- /aws/containerinsights/[CLUSTER-NAME]/dataplane
- /aws/containerinsights/[CLUSTER-NAME]/host

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// RoleName is the role name for IRSA.
	RoleName string `json:"role-name"`
	// RoleARN is the role ARN for IRSA.
	RoleARN               string `json:"role-arn"`
	RoleCFNStackID        string `json:"role-cfn-stack-id" read-only:"true"`
	RoleCFNStackYAMLPath  string `json:"role-cfn-stack-yaml-path" read-only:"true"`
	RoleCFNStackYAMLS3Key string `json:"role-cfn-stack-yaml-s3-key" read-only:"true"`

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

	// 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// 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"`
	RoleCFNStackYAMLPath  string   `json:"role-cfn-stack-yaml-path" read-only:"true"`
	RoleCFNStackYAMLS3Key string   `json:"role-cfn-stack-yaml-s3-key" 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"`
}

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

	// RepositoryBusyboxAccountID is the account ID for tester ECR image.
	// e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox"
	RepositoryBusyboxAccountID string `json:"repository-busybox-account-id,omitempty"`
	// RepositoryBusyboxRegion is the ECR repository region to pull from.
	RepositoryBusyboxRegion string `json:"repository-busybox-region,omitempty"`
	// RepositoryBusyboxName is the repositoryName for tester ECR image.
	// e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox"
	RepositoryBusyboxName string `json:"repository-busybox-name,omitempty"`
	// RepositoryBusyboxImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox:latest"
	RepositoryBusyboxImageTag string `json:"repository-busybox-image-tag,omitempty"`

	// 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

	Role *Role `json:"role"`

	// 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"`
	// LogsTarGzPath is the .tar.gz archived file for "LogsDir".
	LogsTarGzPath string `json:"logs-tar-gz-path"`
	// 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 AddOnMetricsServer added in v1.3.7

type AddOnMetricsServer 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`
}

AddOnMetricsServer defines parameters for EKS cluster add-on metrics server. ref. https://github.com/kubernetes-sigs/metrics-server/releases

type AddOnNLBGuestbook added in v1.3.9

type AddOnNLBGuestbook 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	// DeploymentNodeSelector is configured to overwrite existing node selector
	// for NLB hello world deployment. If left empty, tester sets default selector.
	DeploymentNodeSelector map[string]string `json:"deployment-node-selector"`

	// 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 guestbook service.
	URL string `json:"url" read-only:"true"`
}

AddOnNLBGuestbook defines parameters for EKS cluster add-on NLB guestbook service. ref. https://github.com/kubernetes/examples/tree/master/guestbook-go ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-guestbook.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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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"`
	// DeploymentNodeSelector is configured to overwrite existing node selector
	// for NLB hello world deployment. If left empty, tester sets default selector.
	DeploymentNodeSelector map[string]string `json:"deployment-node-selector"`

	// 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	Role *Role `json:"role"`

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

	// 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"`
	// LogsTarGzPath is the .tar.gz archived file for "LogsDir".
	LogsTarGzPath string `json:"logs-tar-gz-path"`
	// 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

func (*AddOnNodeGroups) IsEnabledClusterAutoscaler added in v1.4.6

func (addOn *AddOnNodeGroups) IsEnabledClusterAutoscaler() bool

type AddOnPHPApache added in v1.4.6

type AddOnPHPApache 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "php-apache" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/php-apache"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "php-apache" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/php-apache"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/php-apache:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// DeploymentReplicas is the number of replicas to deploy using "Deployment" object.
	DeploymentReplicas int32 `json:"deployment-replicas"`
	// DeploymentNodeSelector is configured to overwrite existing node selector
	// for PHP Apache deployment. If left empty, tester sets default selector.
	DeploymentNodeSelector map[string]string `json:"deployment-node-selector"`
}

AddOnPHPApache defines parameters for EKS cluster add-on PHP Apache.

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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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 AddOnSecretsLocal added in v1.2.2

type AddOnSecretsLocal 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

	// 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"`
	// ObjectSize is the "Secret" value size in bytes.
	ObjectSize int `json:"object-size"`

	// NamePrefix is the prefix of Secret name.
	// If multiple Secret loader is running,
	// this must be unique per worker to avoid name conflicts.
	NamePrefix string `json:"name-prefix"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`

	RequestsRawReadsJSONPath  string `json:"requests-raw-reads-json-path" read-only:"true"`
	RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"`

	// RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawReadsCompareS3Dir        string `json:"requests-raw-reads-compare-s3-dir"`
	RequestsRawReadsCompareAllJSONPath  string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"`
	RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"`
	RequestsRawReadsCompareAllCSVPath   string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"`
	RequestsRawReadsCompareAllCSVS3Key  string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryReads is the reads results.
	RequestsSummaryReads           metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"`
	RequestsSummaryReadsJSONPath   string                  `json:"requests-summary-reads-json-path" read-only:"true"`
	RequestsSummaryReadsJSONS3Key  string                  `json:"requests-summary-reads-json-s3-key" read-only:"true"`
	RequestsSummaryReadsTablePath  string                  `json:"requests-summary-reads-table-path" read-only:"true"`
	RequestsSummaryReadsTableS3Key string                  `json:"requests-summary-reads-table-s3-path" read-only:"true"`

	// RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryReadsCompareS3Dir      string                  `json:"requests-summary-reads-compare-s3-dir"`
	RequestsSummaryReadsCompare           metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"`
	RequestsSummaryReadsCompareJSONPath   string                  `json:"requests-summary-reads-compare-json-path" read-only:"true"`
	RequestsSummaryReadsCompareJSONS3Key  string                  `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"`
	RequestsSummaryReadsCompareTablePath  string                  `json:"requests-summary-reads-compare-table-path" read-only:"true"`
	RequestsSummaryReadsCompareTableS3Key string                  `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"`
}

AddOnSecretsLocal defines parameters for EKS cluster add-on "Secrets" local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency. The main use case is to write a large number of objects to fill up etcd database. And measure latencies for secret encryption.

type AddOnSecretsRemote added in v1.2.2

type AddOnSecretsRemote 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// Completes is the desired number of successfully finished pods.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	Parallels int `json:"parallels"`

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

	// NamePrefix is the prefix of Secret name.
	// If multiple Secret loader is running,
	// this must be unique per worker to avoid name conflicts.
	NamePrefix string `json:"name-prefix"`

	// RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker.
	RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"`
	// RequestsSummaryReadsOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker.
	RequestsSummaryReadsOutputNamePrefix string `json:"requests-summary-reads-output-name-prefix"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`

	RequestsRawReadsJSONPath  string `json:"requests-raw-reads-json-path" read-only:"true"`
	RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"`

	// RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawReadsCompareS3Dir        string `json:"requests-raw-reads-compare-s3-dir"`
	RequestsRawReadsCompareAllJSONPath  string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"`
	RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"`
	RequestsRawReadsCompareAllCSVPath   string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"`
	RequestsRawReadsCompareAllCSVS3Key  string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryReads is the reads results.
	RequestsSummaryReads           metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"`
	RequestsSummaryReadsJSONPath   string                  `json:"requests-summary-reads-json-path" read-only:"true"`
	RequestsSummaryReadsJSONS3Key  string                  `json:"requests-summary-reads-json-s3-key" read-only:"true"`
	RequestsSummaryReadsTablePath  string                  `json:"requests-summary-reads-table-path" read-only:"true"`
	RequestsSummaryReadsTableS3Key string                  `json:"requests-summary-reads-table-s3-path" read-only:"true"`

	// RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryReadsCompareS3Dir      string                  `json:"requests-summary-reads-compare-s3-dir"`
	RequestsSummaryReadsCompare           metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"`
	RequestsSummaryReadsCompareJSONPath   string                  `json:"requests-summary-reads-compare-json-path" read-only:"true"`
	RequestsSummaryReadsCompareJSONS3Key  string                  `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"`
	RequestsSummaryReadsCompareTablePath  string                  `json:"requests-summary-reads-compare-table-path" read-only:"true"`
	RequestsSummaryReadsCompareTableS3Key string                  `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"`
}

AddOnSecretsRemote defines parameters for EKS cluster add-on "Secrets" remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. The main use case is to write a large number of objects to fill up etcd database. And measure latencies for secret encryption.

type AddOnStresserLocal added in v1.2.2

type AddOnStresserLocal 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// ObjectSize is the value size in bytes for write objects.
	ObjectSize int `json:"object-size"`
	// ListLimit is the maximum number of items in the list call.
	// Sets "metav1.ListOptions".Limit field.
	// 0 to list all.
	ListLimit int64 `json:"list-limit"`
	// Duration is the duration to run load testing.
	Duration       time.Duration `json:"duration,omitempty"`
	DurationString string        `json:"duration-string,omitempty" read-only:"true"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`

	RequestsRawReadsJSONPath  string `json:"requests-raw-reads-json-path" read-only:"true"`
	RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"`

	// RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawReadsCompareS3Dir        string `json:"requests-raw-reads-compare-s3-dir"`
	RequestsRawReadsCompareAllJSONPath  string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"`
	RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"`
	RequestsRawReadsCompareAllCSVPath   string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"`
	RequestsRawReadsCompareAllCSVS3Key  string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryReads is the reads results.
	RequestsSummaryReads           metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"`
	RequestsSummaryReadsJSONPath   string                  `json:"requests-summary-reads-json-path" read-only:"true"`
	RequestsSummaryReadsJSONS3Key  string                  `json:"requests-summary-reads-json-s3-key" read-only:"true"`
	RequestsSummaryReadsTablePath  string                  `json:"requests-summary-reads-table-path" read-only:"true"`
	RequestsSummaryReadsTableS3Key string                  `json:"requests-summary-reads-table-s3-path" read-only:"true"`

	// RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryReadsCompareS3Dir      string                  `json:"requests-summary-reads-compare-s3-dir"`
	RequestsSummaryReadsCompare           metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"`
	RequestsSummaryReadsCompareJSONPath   string                  `json:"requests-summary-reads-compare-json-path" read-only:"true"`
	RequestsSummaryReadsCompareJSONS3Key  string                  `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"`
	RequestsSummaryReadsCompareTablePath  string                  `json:"requests-summary-reads-compare-table-path" read-only:"true"`
	RequestsSummaryReadsCompareTableS3Key string                  `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"`
}

AddOnStresserLocal defines parameters for EKS cluster add-on cluster loader local. It generates loads from the local host machine. Every request for write/read is sent serially with no concurrency. Use remote tester to write and read with concurrency.

type AddOnStresserRemote added in v1.2.2

type AddOnStresserRemote 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// S3Dir is the S3 directory to store all test results.
	// It is under the bucket "eksconfig.Config.S3BucketName".
	S3Dir string `json:"s3-dir"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// Completes is the desired number of successfully finished pods.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	Completes int `json:"completes"`
	// Parallels is the the maximum desired number of pods the
	// job should run at any given time.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	Parallels int `json:"parallels"`

	// ObjectSize is the value size in bytes for write objects.
	// If 0, do not write anything.
	ObjectSize int `json:"object-size"`
	// ListLimit is the maximum number of items in the list call.
	// Sets "metav1.ListOptions".Limit field.
	// 0 to list all.
	ListLimit int64 `json:"list-limit"`
	// Duration is the duration to run load testing.
	Duration       time.Duration `json:"duration,omitempty"`
	DurationString string        `json:"duration-string,omitempty" read-only:"true"`

	// RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker.
	RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"`
	// RequestsSummaryReadsOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker.
	RequestsSummaryReadsOutputNamePrefix string `json:"requests-summary-reads-output-name-prefix"`

	RequestsRawWritesJSONPath  string `json:"requests-raw-writes-json-path" read-only:"true"`
	RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"`

	// RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawWritesCompareS3Dir        string `json:"requests-raw-writes-compare-s3-dir"`
	RequestsRawWritesCompareAllJSONPath  string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"`
	RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"`
	RequestsRawWritesCompareAllCSVPath   string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"`
	RequestsRawWritesCompareAllCSVS3Key  string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryWrites is the writes results.
	RequestsSummaryWrites           metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"`
	RequestsSummaryWritesJSONPath   string                  `json:"requests-summary-writes-json-path" read-only:"true"`
	RequestsSummaryWritesJSONS3Key  string                  `json:"requests-summary-writes-json-s3-key" read-only:"true"`
	RequestsSummaryWritesTablePath  string                  `json:"requests-summary-writes-table-path" read-only:"true"`
	RequestsSummaryWritesTableS3Key string                  `json:"requests-summary-writes-table-s3-path" read-only:"true"`

	// RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryWritesCompareS3Dir      string                  `json:"requests-summary-writes-compare-s3-dir"`
	RequestsSummaryWritesCompare           metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"`
	RequestsSummaryWritesCompareJSONPath   string                  `json:"requests-summary-writes-compare-json-path" read-only:"true"`
	RequestsSummaryWritesCompareJSONS3Key  string                  `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"`
	RequestsSummaryWritesCompareTablePath  string                  `json:"requests-summary-writes-compare-table-path" read-only:"true"`
	RequestsSummaryWritesCompareTableS3Key string                  `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"`

	RequestsRawReadsJSONPath  string `json:"requests-raw-reads-json-path" read-only:"true"`
	RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"`

	// RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points.
	// Used to comparison results.
	// ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
	RequestsRawReadsCompareS3Dir        string `json:"requests-raw-reads-compare-s3-dir"`
	RequestsRawReadsCompareAllJSONPath  string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"`
	RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"`
	RequestsRawReadsCompareAllCSVPath   string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"`
	RequestsRawReadsCompareAllCSVS3Key  string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"`

	// RequestsSummaryReads is the reads results.
	RequestsSummaryReads           metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"`
	RequestsSummaryReadsJSONPath   string                  `json:"requests-summary-reads-json-path" read-only:"true"`
	RequestsSummaryReadsJSONS3Key  string                  `json:"requests-summary-reads-json-s3-key" read-only:"true"`
	RequestsSummaryReadsTablePath  string                  `json:"requests-summary-reads-table-path" read-only:"true"`
	RequestsSummaryReadsTableS3Key string                  `json:"requests-summary-reads-table-s3-path" read-only:"true"`

	// RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary".
	// Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName".
	// Use for regression tests. Specify the value not bound to the cluster directory.
	// Different runs from different clusters reads and writes in this directory.
	RequestsSummaryReadsCompareS3Dir      string                  `json:"requests-summary-reads-compare-s3-dir"`
	RequestsSummaryReadsCompare           metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"`
	RequestsSummaryReadsCompareJSONPath   string                  `json:"requests-summary-reads-compare-json-path" read-only:"true"`
	RequestsSummaryReadsCompareJSONS3Key  string                  `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"`
	RequestsSummaryReadsCompareTablePath  string                  `json:"requests-summary-reads-compare-table-path" read-only:"true"`
	RequestsSummaryReadsCompareTableS3Key string                  `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"`
}

AddOnStresserRemote defines parameters for EKS cluster add-on cluster loader remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes and reads serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. ref. https://github.com/kubernetes/perf-tests

type AddOnStresserRemoteV2 added in v1.5.9

type AddOnStresserRemoteV2 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

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

	// RepositoryAccountID is the account ID for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryAccountID string `json:"repository-account-id,omitempty"`
	// RepositoryRegion is the ECR repository region to pull from.
	RepositoryRegion string `json:"repository-region,omitempty"`
	// RepositoryName is the repositoryName for tester ECR image.
	// e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester"
	RepositoryName string `json:"repository-name,omitempty"`
	// RepositoryImageTag is the image tag for tester ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest"
	RepositoryImageTag string `json:"repository-image-tag,omitempty"`

	// RepositoryBusyBoxName is the repositoryName for busybox ECR image.
	// e.g. "busybox" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/busybox:latest"
	RepositoryBusyBoxName string `json:"repository-busybox-name,omitempty"`
	// RepositoryBusyBoxImageTag is the image tag for busybox ECR image.
	// e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/busybox:latest"
	RepositoryBusyBoxImageTag string `json:"repository-busybox-image-tag,omitempty"`

	// Schedule is the cron schedule (e.g. "*/5 * * * *").
	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"`

	// ObjectSize is the value size in bytes for write objects.
	// If 0, do not write anything.
	ObjectSize int `json:"object-size"`

	// Duration is the duration to run stress2 testing.
	Duration       time.Duration `json:"duration,omitempty"`
	DurationString string        `json:"duration-string,omitempty" read-only:"true"`

	// Coroutines is the number of concurrent go routines run per job
	Coroutines int `json:"coroutines"`
	// Secrets is the number of secrets generated per job
	Secrets int `json:"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"`

	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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 Addon added in v1.5.0

type Addon interface {
	// Validate the addon against the config.
	Validate(cfg *Config) error
	// Default the addon with the config.
	Default(cfg *Config)
}

Addon is an interface for configuration initialization

type AddonStatus added in v1.5.0

type AddonStatus struct {
	// Installed is true after the configuration has been applied
	Installed bool `json:"installed"`
	// Ready is true after the addon's health check has passed
	Ready bool `json:"ready"`
}

AddonStatus contains shared status fields for all addons

type CloudProvider added in v1.5.0

type CloudProvider string

CloudProvider enum for ClusterAutoscaler

const (
	CloudProviderKubemark CloudProvider = "kubemark"
	CloudProviderAWS      CloudProvider = "aws"
)

CloudProvider options

type ClusterAutoscalerSpec added in v1.5.0

type ClusterAutoscalerSpec struct {
	Image          string                      `json:"image,omitempty"`
	CloudProvider  CloudProvider               `json:"cloudProvider,omitempty"`
	MinNodes       int                         `json:"minNodes,omitempty"`
	MaxNodes       int                         `json:"maxNodes,omitempty"`
	Resources      corev1.ResourceRequirements `json:"resources,omitempty"`
	ScaleDownDelay string                      `json:"scaleDownDelay,omitempty"`
}

ClusterAutoscalerSpec defines the spec for the Addon

func (*ClusterAutoscalerSpec) Default added in v1.5.0

func (spec *ClusterAutoscalerSpec) Default(cfg *Config)

Default installs the addon

func (*ClusterAutoscalerSpec) Validate added in v1.5.0

func (spec *ClusterAutoscalerSpec) Validate(cfg *Config) error

Validate installs the addon

type ClusterAutoscalerStatus added in v1.5.0

type ClusterAutoscalerStatus struct {
	AddonStatus `json:",inline"`
}

ClusterAutoscalerStatus defines the status for the Addon

type ClusterLoaderSpec added in v1.5.0

type ClusterLoaderSpec struct {
	Image          string   `json:"image,omitempty"`
	Nodes          int32    `json:"nodes,omitempty"`
	TestConfigUris []string `json:"testConfigUris,omitempty"`
	TestOverrides  []string `json:"testOverrides,omitempty"`
	// Specifies which instance type the clusterloader2 pod will be able to be scheduled on
	// Leaving this empty will allow it to be scheduled on any instance type
	Affinities map[string][]string `json:"affinities,omitempty"`
}

ClusterLoaderSpec defines the spec for the Addon

func (*ClusterLoaderSpec) Default added in v1.5.0

func (spec *ClusterLoaderSpec) Default(cfg *Config)

Default installs the addon

func (*ClusterLoaderSpec) Validate added in v1.5.0

func (spec *ClusterLoaderSpec) Validate(cfg *Config) error

Validate installs the addon

type ClusterLoaderStatus added in v1.5.0

type ClusterLoaderStatus struct {
	AddonStatus `json:",inline"`
}

ClusterLoaderStatus defines the status for the Addon

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 {

	// TODO, Migrate metadata fields to here
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// 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"`
	// AvailabilityZoneNames lists the availability zones for the specified region.
	// ref. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html
	AvailabilityZoneNames []string `json:"availability-zone-names,omitempty" read-only:"true"`

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

	// LogColor is true to output logs in color.
	LogColor bool `json:"log-color"`
	// LogColorOverride is not empty to override "LogColor" setting.
	// If not empty, the automatic color check is not even run and use this value instead.
	// For instance, github action worker might not support color device,
	// thus exiting color check with the exit code 1.
	// Useful to output in color in HTML based log outputs (e.g., Prow).
	// Useful to skip terminal color check when there is no color device (e.g., Github action worker).
	LogColorOverride string `json:"log-color-override"`

	// 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.
	// Required for 'aws eks update-kubeconfig'.
	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"`

	// CWNamespace is the CloudWatch namespace to put metric datum.
	CWNamespace string `json:"cw-namespace"`

	// SkipDeleteClusterAndNodes is true to skip EKS "cluster" and "nodes" deletion.
	// The created EKS "cluster" and all resources created "before" cluster are kept.
	// For example, CMK key, VPC, IAM role are not deleted if cluster is to be kept.
	// All node groups and managed node groups are kept.
	// Use this to use existing clusters to create/delete add-ons.
	SkipDeleteClusterAndNodes bool `json:"skip-delete-cluster-and-nodes"`

	S3         *S3         `json:"s3"`
	Encryption *Encryption `json:"encryption"`
	Role       *Role       `json:"role"`
	VPC        *VPC        `json:"vpc"`

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

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

	// KubeAPIServerMaxRequestsInflight is the EKS kube-apiserver max-requests-inflight
	// The maximum number of non-mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.
	// --max-requests-inflight int     Default: 400
	KubeAPIServerMaxRequestsInflight string `json:"kube-apiserver-max-requests-inflight"`
	// KubeControllerManagerQPS is the EKS kube-controller-manager qps
	// --kube-api-qps float32     Default: 20
	KubeControllerManagerQPS string `json:"kube-controller-manager-qps,omitempty"`
	// KubeControllerManagerBurst is the EKS kube-controller-manager burst
	// --kube-api-burst int32     Default: 30
	KubeControllerManagerBurst string `json:"kube-controller-manager-burst,omitempty"`
	// KubeSchedulerQPS is the internal EKS kube-scheduler qps
	// --kube-api-qps float32     Default: 50
	KubeSchedulerQPS string `json:"kube-scheduler-qps,omitempty"`
	// KubeSchedulerBurst is the internal EKS kube-scheduler burst
	// --kube-api-burst int32     Default: 100
	KubeSchedulerBurst string `json:"kube-scheduler-burst,omitempty"`
	// FEUpdateMasterFlagsURL is the internal EKS update master flags endpoint
	FEUpdateMasterFlagsURL string `json:"fe-update-master-flags-url,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/stresser" 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/stresser" 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/stresser" 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"`

	// AddOnCNIVPC defines parameters for https://github.com/aws/amazon-vpc-cni-k8s.
	AddOnCNIVPC *AddOnCNIVPC `json:"add-on-cni-vpc"`
	// 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"`

	// TotalNodes is the total number of nodes from all node groups.
	TotalNodes int32 `json:"total-nodes" read-only:"true"`

	// AddOnCWAgent defines parameters for EKS cluster
	// add-on Fluentd.
	AddOnCWAgent *AddOnCWAgent `json:"add-on-cw-agent,omitempty"`
	// AddOnFluentd defines parameters for EKS cluster
	// add-on Fluentd.
	AddOnFluentd *AddOnFluentd `json:"add-on-fluentd,omitempty"`
	// AddOnMetricsServer defines parameters for EKS cluster
	// add-on metrics server.
	AddOnMetricsServer *AddOnMetricsServer `json:"add-on-metrics-server,omitempty"`

	// AddOnConformance defines parameters for EKS cluster
	// add-on Conformance.
	AddOnConformance *AddOnConformance `json:"add-on-conformance,omitempty"`

	// AddOnAppMesh defines parameters for EKS cluster
	// add-on "EKS App Mesh Integration".
	AddOnAppMesh *AddOnAppMesh `json:"add-on-app-mesh,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"`

	// AddOnPHPApache defines parameters for EKS cluster
	// add-on PHP Apache.
	AddOnPHPApache *AddOnPHPApache `json:"add-on-php-apache,omitempty"`
	// AddOnNLBHelloWorld defines parameters for EKS cluster
	// add-on NLB hello-world service.
	AddOnNLBHelloWorld *AddOnNLBHelloWorld `json:"add-on-nlb-hello-world,omitempty"`
	// AddOnNLBGuestbook defines parameters for EKS cluster
	// add-on NLB guestbook service.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-guestbook.html
	AddOnNLBGuestbook *AddOnNLBGuestbook `json:"add-on-nlb-guestbook,omitempty"`
	// AddOnALB2048 defines parameters for EKS cluster
	// add-on ALB 2048 service.
	AddOnALB2048 *AddOnALB2048 `json:"add-on-alb-2048,omitempty"`
	// AddOnJobsPi defines parameters for EKS cluster
	// add-on Job with pi Perl command.
	AddOnJobsPi *AddOnJobsPi `json:"add-on-jobs-pi,omitempty"`
	// AddOnJobsEcho defines parameters for EKS cluster
	// add-on Job with echo.
	AddOnJobsEcho *AddOnJobsEcho `json:"add-on-jobs-echo,omitempty"`
	// AddOnCronJobs defines parameters for EKS cluster
	// add-on with CronJob.
	AddOnCronJobs *AddOnCronJobs `json:"add-on-cron-jobs,omitempty"`

	// AddOnCSRsLocal defines parameters for EKS cluster
	// add-on "CertificateSigningRequest" local.
	// It generates loads from the local host machine.
	AddOnCSRsLocal *AddOnCSRsLocal `json:"add-on-csrs-local,omitempty"`
	// AddOnCSRsRemote defines parameters for EKS cluster
	// add-on "CertificateSigningRequest" remote.
	// It generates loads from the remote workers (Pod) in the cluster.
	AddOnCSRsRemote *AddOnCSRsRemote `json:"add-on-csrs-remote,omitempty"`

	// AddOnConfigmapsLocal defines parameters for EKS cluster
	// add-on "ConfigMap" local.
	// It generates loads from the local host machine.
	AddOnConfigmapsLocal *AddOnConfigmapsLocal `json:"add-on-configmaps-local,omitempty"`
	// AddOnConfigmapsRemote defines parameters for EKS cluster
	// add-on "ConfigMap" remote.
	// It generates loads from the remote workers (Pod) in the cluster.
	AddOnConfigmapsRemote *AddOnConfigmapsRemote `json:"add-on-configmaps-remote,omitempty"`

	// AddOnSecretsLocal defines parameters for EKS cluster
	// add-on "Secrets" local.
	// It generates loads from the local host machine.
	AddOnSecretsLocal *AddOnSecretsLocal `json:"add-on-secrets-local,omitempty"`
	// AddOnSecretsRemote defines parameters for EKS cluster
	// add-on "Secrets" remote.
	// It generates loads from the remote workers (Pod) in the cluster.
	AddOnSecretsRemote *AddOnSecretsRemote `json:"add-on-secrets-remote,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"`
	// AddOnCUDAVectorAdd defines parameters for EKS cluster
	// add-on cuda-vector-add.
	AddOnCUDAVectorAdd *AddOnCUDAVectorAdd `json:"add-on-cuda-vector-add,omitempty"`

	// AddOnClusterLoaderLocal defines parameters for EKS cluster
	// add-on cluster loader local.
	// It generates loads from the local host machine.
	// ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2
	AddOnClusterLoaderLocal *AddOnClusterLoaderLocal `json:"add-on-cluster-loader-local,omitempty"`
	// AddOnClusterLoaderRemote defines parameters for EKS cluster
	// add-on cluster loader remote.
	// It generates loads from the remote host machine.
	// ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2
	AddOnClusterLoaderRemote *AddOnClusterLoaderRemote `json:"add-on-cluster-loader-remote,omitempty"`

	// AddOnStresserLocal defines parameters for EKS cluster
	// add-on cluster loader local.
	// It generates loads from the local host machine.
	// ref. https://github.com/kubernetes/perf-tests
	AddOnStresserLocal *AddOnStresserLocal `json:"add-on-stresser-local,omitempty"`
	// AddOnStresserRemote defines parameters for EKS cluster
	// add-on cluster loader remote.
	// It generates loads from the remote workers (Pod) in the cluster.
	// ref. https://github.com/kubernetes/perf-tests
	AddOnStresserRemote *AddOnStresserRemote `json:"add-on-stresser-remote,omitempty"`
	// AddOnStresserRemoteV2 defines parameters for EKS cluster
	// add-on cluster loader remote v2.
	// It generates loads from the remote workers (Pod) in the cluster.
	// ref. https://github.com/kubernetes/perf-tests
	AddOnStresserRemoteV2 *AddOnStresserRemoteV2 `json:"add-on-stresser-remote-v2,omitempty"`

	// AddOnClusterVersionUpgrade defines parameters
	// for EKS cluster version upgrade add-on.
	AddOnClusterVersionUpgrade *AddOnClusterVersionUpgrade `json:"add-on-cluster-version-upgrade,omitempty"`

	// AddOnAmiSoftLockupIssue454 defines parameters
	// for testing the AMI soft lockup issue.
	AddOnAmiSoftLockupIssue454 *AddOnAmiSoftLockupIssue454 `json:"add-on-ami-soft-lockup-issue-454,omitempty"`

	// Spec contains addons and other configuration
	// Note: New addons should be implemented inside spec
	Spec Spec `json:"spec,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) Colorize added in v1.4.6

func (c Config) Colorize(input string) string

Colorize prints colorized input, if color output is supported.

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) GetAddOnCNIVPCRepositoryRegion added in v1.4.8

func (cfg *Config) GetAddOnCNIVPCRepositoryRegion() string

func (*Config) GetAddOnCSRsRemoteRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnCSRsRemoteRepositoryRegion() string

func (*Config) GetAddOnClusterLoaderRemoteRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnClusterLoaderRemoteRepositoryRegion() string

func (*Config) GetAddOnConfigmapsRemoteRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnConfigmapsRemoteRepositoryRegion() string

func (*Config) GetAddOnCronJobsRepositoryBusyboxRegion added in v1.4.6

func (cfg *Config) GetAddOnCronJobsRepositoryBusyboxRegion() string

func (*Config) GetAddOnFargateRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnFargateRepositoryRegion() string

func (*Config) GetAddOnFluentdRepositoryBusyboxRegion added in v1.4.6

func (cfg *Config) GetAddOnFluentdRepositoryBusyboxRegion() string

func (*Config) GetAddOnIRSAFargateRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnIRSAFargateRepositoryRegion() string

func (*Config) GetAddOnIRSARepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnIRSARepositoryRegion() string

func (*Config) GetAddOnJobsEchoRepositoryBusyboxRegion added in v1.4.6

func (cfg *Config) GetAddOnJobsEchoRepositoryBusyboxRegion() string

func (*Config) GetAddOnPHPApacheRepositoryRegion added in v1.4.8

func (cfg *Config) GetAddOnPHPApacheRepositoryRegion() string

func (*Config) GetAddOnSecretsRemoteRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnSecretsRemoteRepositoryRegion() string

func (*Config) GetAddOnStresserRemoteRepositoryRegion added in v1.4.6

func (cfg *Config) GetAddOnStresserRemoteRepositoryRegion() string

func (*Config) GetAddOnStresserRemoteV2RepositoryRegion added in v1.5.9

func (cfg *Config) GetAddOnStresserRemoteV2RepositoryRegion() string

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) IsEnabledAddOnAmiSoftLockupIssue454 added in v1.5.6

func (cfg *Config) IsEnabledAddOnAmiSoftLockupIssue454() bool

IsEnabledAddOnAmiSoftLockupIssue454 returns true if "AddOnAmiSoftLockupIssue454" 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) IsEnabledAddOnCNIVPC added in v1.4.8

func (cfg *Config) IsEnabledAddOnCNIVPC() bool

IsEnabledAddOnCNIVPC returns true if "AddOnCNIVPC" 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) IsEnabledAddOnCSRsLocal added in v1.2.2

func (cfg *Config) IsEnabledAddOnCSRsLocal() bool

IsEnabledAddOnCSRsLocal returns true if "AddOnCSRsLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnCSRsRemote added in v1.2.2

func (cfg *Config) IsEnabledAddOnCSRsRemote() bool

IsEnabledAddOnCSRsRemote returns true if "AddOnCSRsRemote" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnCUDAVectorAdd added in v1.3.0

func (cfg *Config) IsEnabledAddOnCUDAVectorAdd() bool

IsEnabledAddOnCUDAVectorAdd returns true if "AddOnCUDAVectorAdd" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnCWAgent added in v1.4.6

func (cfg *Config) IsEnabledAddOnCWAgent() bool

IsEnabledAddOnCWAgent returns true if "AddOnCWAgent" 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) IsEnabledAddOnClusterVersionUpgrade added in v1.3.2

func (cfg *Config) IsEnabledAddOnClusterVersionUpgrade() bool

IsEnabledAddOnClusterVersionUpgrade returns true if "AddOnClusterVersionUpgrade" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnConfigmapsLocal added in v1.3.5

func (cfg *Config) IsEnabledAddOnConfigmapsLocal() bool

IsEnabledAddOnConfigmapsLocal returns true if "AddOnConfigmapsLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnConfigmapsRemote added in v1.3.5

func (cfg *Config) IsEnabledAddOnConfigmapsRemote() bool

IsEnabledAddOnConfigmapsRemote returns true if "AddOnConfigmapsRemote" 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) IsEnabledAddOnFluentd added in v1.4.6

func (cfg *Config) IsEnabledAddOnFluentd() bool

IsEnabledAddOnFluentd returns true if "AddOnFluentd" 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) IsEnabledAddOnMetricsServer added in v1.3.7

func (cfg *Config) IsEnabledAddOnMetricsServer() bool

IsEnabledAddOnMetricsServer returns true if "AddOnMetricsServer" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnNLBGuestbook added in v1.3.9

func (cfg *Config) IsEnabledAddOnNLBGuestbook() bool

IsEnabledAddOnNLBGuestbook returns true if "AddOnNLBGuestbook" 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) IsEnabledAddOnPHPApache added in v1.4.6

func (cfg *Config) IsEnabledAddOnPHPApache() bool

IsEnabledAddOnPHPApache returns true if "AddOnPHPApache" 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) IsEnabledAddOnSecretsLocal added in v1.2.2

func (cfg *Config) IsEnabledAddOnSecretsLocal() bool

IsEnabledAddOnSecretsLocal returns true if "AddOnSecretsLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnSecretsRemote added in v1.2.2

func (cfg *Config) IsEnabledAddOnSecretsRemote() bool

IsEnabledAddOnSecretsRemote returns true if "AddOnSecretsRemote" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnStresserLocal added in v1.2.2

func (cfg *Config) IsEnabledAddOnStresserLocal() bool

IsEnabledAddOnStresserLocal returns true if "AddOnStresserLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnStresserRemote added in v1.2.2

func (cfg *Config) IsEnabledAddOnStresserRemote() bool

IsEnabledAddOnStresserRemote returns true if "AddOnStresserRemote" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnStresserRemoteV2 added in v1.5.9

func (cfg *Config) IsEnabledAddOnStresserRemoteV2() bool

IsEnabledAddOnStresserRemote returns true if "AddOnStresserRemote" 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. Every call overwrites the previous contents if any.

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 Encryption added in v1.6.1

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

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

	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" 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.
	// e.g. "1.16.8-20200609"
	// 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"`
	ReleaseVersionValue float64 `json:"release-version-value" read-only:"true"`

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

	// RemoteAccessSecurityGroupID is the security group ID for the MNG.
	// Returned from EKS MNG API.
	RemoteAccessSecurityGroupID string `json:"remote-access-security-group-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"`

	// ScaleUpdates configures MNG scale update.
	ScaleUpdates []MNGScaleUpdate `json:"scale-updates,omitempty"`

	// VersionUpgrade configures MNG version upgarde.
	VersionUpgrade *MNGVersionUpgrade `json:"version-upgrade,omitempty"`
}

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

type MNGScaleUpdate added in v1.4.6

type MNGScaleUpdate 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"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	// InitialWait is the wait time before triggering version upgrades.
	// All managed node group upgrades are triggered after all existing
	// add-on installation is complete.
	InitialWait       time.Duration `json:"initial-wait" read-only:"true"`
	InitialWaitString string        `json:"initial-wait-string"`

	ID                 string `json:"id"`
	ASGMinSize         int64  `json:"asg-min-size,omitempty"`
	ASGMaxSize         int64  `json:"asg-max-size,omitempty"`
	ASGDesiredCapacity int64  `json:"asg-desired-capacity,omitempty"`
}

MNGScaleUpdate contains the minimum, maximum, and desired node counts for a nodegroup. ref, https://docs.aws.amazon.com/cli/latest/reference/eks/update-nodegroup-config.html

type MNGVersionUpgrade added in v1.3.6

type MNGVersionUpgrade struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// InitialWait is the wait time before triggering version upgrades.
	// All managed node group upgrades are triggered after all existing
	// add-on installation is complete.
	InitialWait       time.Duration `json:"initial-wait" read-only:"true"`
	InitialWaitString string        `json:"initial-wait-string"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`

	// Version is the target version of EKS managed node group.
	// This cannot be empty. Must be provided by the user.
	// The value is passed via "aws eks update-nodegroup-version --kubernetes-version".
	// e.g. Upgrade to "Version" == "1.17" when Parameters.Version is "1.16"
	// that has created "1.16" MNG by default.
	Version      string  `json:"version"`
	VersionValue float64 `json:"version-value" read-only:"true"`
}

MNGVersionUpgrade defines parameters for EKS managed node group version upgrade add-on. ref. https://docs.aws.amazon.com/cli/latest/reference/eks/update-nodegroup-version.html

type MetricsServerSpec added in v1.5.0

type MetricsServerSpec struct {
}

MetricsServerSpec defines the spec for the Addon

func (*MetricsServerSpec) Default added in v1.5.0

func (spec *MetricsServerSpec) Default(cfg *Config)

Default installs the addon

func (*MetricsServerSpec) Validate added in v1.5.0

func (spec *MetricsServerSpec) Validate(cfg *Config) error

Validate installs the addon

type MetricsServerStatus added in v1.5.0

type MetricsServerStatus struct {
	AddonStatus `json:",inline"`
}

MetricsServerStatus defines the status for the Addon

type NGClusterAutoscaler added in v1.4.6

type NGClusterAutoscaler struct {
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
}

NGClusterAutoscaler represents cluster auto-scaler. ref. https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler

type NodeInfo added in v1.4.6

type NodeInfo struct {
	NodeGroupName string `json:"node-group-name"`
	AMIType       string `json:"ami-type"`
	PublicIP      string `json:"public-ip"`
	PublicDNSName string `json:"public-dns-name"`
	UserName      string `json:"user-name"`
}

NodeInfo represents basic SSH access configuration for worker nodes.

func (NodeInfo) ToString added in v1.4.6

func (sc NodeInfo) ToString() string

type OverprovisioningSpec added in v1.5.0

type OverprovisioningSpec struct {
	Namespace       string                      `json:"namespace,omitempty"`
	Image           string                      `json:"image,omitempty"`
	Replicas        int                         `json:"replicas,omitempty"`
	Resources       corev1.ResourceRequirements `json:"resources,omitempty"`
	KubemarkEnabled bool                        `json:"kubemarkEnabled,omitempty"`
}

OverprovisioningSpec defines the spec for the Addon

func (*OverprovisioningSpec) Default added in v1.5.0

func (spec *OverprovisioningSpec) Default(cfg *Config)

Default installs the addon

func (*OverprovisioningSpec) Validate added in v1.5.0

func (spec *OverprovisioningSpec) Validate(cfg *Config) error

Validate installs the addon

type OverprovisioningStatus added in v1.5.0

type OverprovisioningStatus struct {
	AddonStatus `json:",inline"`
}

OverprovisioningStatus defines the status for the Addon

type Role added in v1.6.1

type Role struct {
	// Name is the name of cluster role.
	Name string `json:"name"`
	// Create is true to auto-create and delete cluster role.
	Create bool `json:"create"`
	// ARN is the role ARN that EKS uses to create AWS resources for Kubernetes.
	// By default, it's empty which triggers tester to create one.
	ARN string `json:"arn"`

	// ServicePrincipals is the EKS Role Service Principals
	ServicePrincipals []string `json:"service-principals"`
	// ManagedPolicyARNs is EKS Role managed policy ARNs.
	ManagedPolicyARNs []string `json:"managed-policy-arns"`

	// PolicyName is the name of the policy.
	PolicyName string `json:"policy-name" read-only:"true"`
	// PolicyARN is the attached policy ARN.
	PolicyARN string `json:"policy-arn" read-only:"true"`

	// InstanceProfileName is the instance profile name for the node group.
	InstanceProfileName string `json:"instance-profile-name" read-only:"true"`
	// InstanceProfileARN is the instance profile ARN for the node group.
	InstanceProfileARN string `json:"instance-profile-arn" read-only:"true"`
}

type S3 added in v1.6.1

type S3 struct {
	// BucketCreate is true to auto-create S3 bucket.
	BucketCreate bool `json:"bucket-create"`
	// BucketCreateKeep is true to not delete auto-created S3 bucket.
	// The created S3 bucket is kept.
	BucketCreateKeep bool `json:"bucket-create-keep"`
	// BucketName is the name of cluster S3.
	BucketName string `json:"bucket-name"`
	// BucketLifecycleExpirationDays is expiration in days for the lifecycle of the object.
	BucketLifecycleExpirationDays int64 `json:"bucket-lifecycle-expiration-days"`
}

type Spec added in v1.5.0

type Spec struct {
	// ClusterAutoscaler defines the addon's spec
	ClusterAutoscaler *ClusterAutoscalerSpec `json:"clusterAutoscaler,omitempty"`
	// Overprovisioning defines the addon's spec
	Overprovisioning *OverprovisioningSpec `json:"overprovisioning,omitempty"`
	// MetricsServer defines the addon's spec
	MetricsServer *MetricsServerSpec `json:"metricsServer,omitempty"`
	// ClusterLoader2 defines the addon's spec
	ClusterLoader *ClusterLoaderSpec `json:"clusterLoader,omitempty"`
}

Spec contains specs for addons

type Status added in v0.5.0

type Status struct {
	// Up is true if the cluster is up.
	// If "Up" is set true, cluster creation is skipped.
	Up bool `json:"up"`

	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// ServerVersionInfo is the server version from EKS kube-apiserver.
	ServerVersionInfo k8s_client.ServerVersionInfo `json:"server-version-info" 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"`

	ClusterARN string `json:"cluster-arn"`

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

	// ClusterAutoscaler defines the addon's status
	ClusterAutoscaler *ClusterAutoscalerStatus `json:"clusterAutoscaler,omitempty"`
	// Overprovisioning defines the addon's status
	Overprovisioning *OverprovisioningStatus `json:"overprovisioning,omitempty"`
	// MetricsServer defines the addon's status
	MetricsServer *MetricsServerStatus `json:"metricsServer,omitempty"`
	// ClusterLoader defines the addon's status
	ClusterLoader *ClusterLoaderStatus `json:"clusterLoader,omitempty"`

	// PrivateDNSToNodeInfo maps each worker node's private IP to its public IP,
	// public DNS, and SSH access user name.
	// Kubernetes node object name is the node's EC2 instance private DNS.
	// This is used for SSH access.
	PrivateDNSToNodeInfo map[string]NodeInfo `json:"private-dns-to-node-info"`

	DeletedResources map[string]string `json:"deleted-resources"`
}

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

type VPC added in v1.6.1

type VPC struct {
	// Create is true to auto-create and delete VPC.
	Create bool `json:"create"`
	// ID 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.
	ID              string `json:"id"`
	SecurityGroupID string `json:"security-group-id" read-only:"true"`

	// CIDRs is the list of CIDR blocks with IP range (CIDR notation) for the primary VPC Block.
	// Must be a valid RFC 1918 CIDR range.
	CIDRs []string `json:"cidrs"`

	// PublicSubnetCIDRs is the CIDR blocks for public subnets.
	PublicSubnetCIDRs                    []string `json:"public-subnet-cidrs"`
	PublicSubnetIDs                      []string `json:"public-subnet-ids" read-only:"true"`
	InternetGatewayID                    string   `json:"internet-gateway-id" read-only:"true"`
	PublicRouteTableID                   string   `json:"public-route-table-id" read-only:"true"`
	PublicSubnetRouteTableAssociationIDs []string `json:"public-subnet-route-table-association-ids" read-only:"true"`
	EIPAllocationIDs                     []string `json:"eip-allocation-ids" read-only:"true"`
	NATGatewayIDs                        []string `json:"nat-gateway-ids" read-only:"true"`

	// PrivateSubnetCIDRs is the CIDR blocks for private subnets.
	PrivateSubnetCIDRs                    []string `json:"private-subnet-cidrs,omitempty"`
	PrivateSubnetIDs                      []string `json:"private-subnet-ids" read-only:"true"`
	PrivateRouteTableIDs                  []string `json:"private-route-table-ids" read-only:"true"`
	PrivateSubnetRouteTableAssociationIDs []string `json:"private-subnet-route-table-association-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,omitempty"`
	// 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,omitempty"`
	DHCPOptionsID                string   `json:"dhcp-options-id,omitempty" read-only:"true"`

	// NodeGroupSecurityGroupName is the name of the node security group.
	NodeGroupSecurityGroupName string `json:"node-group-security-group-name" read-only:"true"`
	// NodeGroupSecurityGroupID is the security group ID for the node group.
	NodeGroupSecurityGroupID string `json:"node-group-security-group-id" read-only:"true"`
}

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