eksconfig

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2020 License: Apache-2.0 Imports: 30 Imported by: 8

README

# set the following *_ENABLE env vars to enable add-ons, rest are set with default values
AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSI_EBS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_KUBERNETES_DASHBOARD_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_PROMETHEUS_GRAFANA_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_NLB_HELLO_WORLD_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_ALB_2048_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_PI_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_JOBS_ECHO_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CRON_JOBS_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_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_HOLLOW_NODES_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_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_LOADER_LOCAL_ENABLE=true \
AWS_K8S_TESTER_EKS_ADD_ON_CLUSTER_LOADER_REMOTE_ENABLE=true \



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


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


*------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------*--------------------------*
|                            ENVIRONMENTAL VARIABLE                            |     READ ONLY     |                            TYPE                             |         GO TYPE          |
*------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------*--------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ENABLE                                 | read-only "false" | *eksconfig.AddOnNodeGroups.Enable                           | bool                     |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_CREATED                                | read-only "true"  | *eksconfig.AddOnNodeGroups.Created                          | bool                     |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_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_ROLE_NAME                              | read-only "false" | *eksconfig.AddOnNodeGroups.RoleName                         | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_CREATE                            | read-only "false" | *eksconfig.AddOnNodeGroups.RoleCreate                       | bool                     |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_ARN                               | read-only "false" | *eksconfig.AddOnNodeGroups.RoleARN                          | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_SERVICE_PRINCIPALS                | read-only "false" | *eksconfig.AddOnNodeGroups.RoleServicePrincipals            | []string                 |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_MANAGED_POLICY_ARNS               | read-only "false" | *eksconfig.AddOnNodeGroups.RoleManagedPolicyARNs            | []string                 |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_CFN_STACK_ID                      | read-only "true"  | *eksconfig.AddOnNodeGroups.RoleCFNStackID                   | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_NODE_GROUP_SECURITY_GROUP_ID           | read-only "true"  | *eksconfig.AddOnNodeGroups.NodeGroupSecurityGroupID         | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_NODE_GROUP_SECURITY_GROUP_CFN_STACK_ID | read-only "true"  | *eksconfig.AddOnNodeGroups.NodeGroupSecurityGroupCFNStackID | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_LOGS_DIR                               | read-only "false" | *eksconfig.AddOnNodeGroups.LogsDir                          | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_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_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_ROLE_NAME                | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RoleName              | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_CREATE              | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RoleCreate            | bool                     |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_ARN                 | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RoleARN               | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_SERVICE_PRINCIPALS  | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RoleServicePrincipals | []string                 |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_MANAGED_POLICY_ARNS | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RoleManagedPolicyARNs | []string                 |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_CFN_STACK_ID        | read-only "true"  | *eksconfig.AddOnManagedNodeGroups.RoleCFNStackID        | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_REQUEST_HEADER_KEY       | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RequestHeaderKey      | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_REQUEST_HEADER_VALUE     | read-only "false" | *eksconfig.AddOnManagedNodeGroups.RequestHeaderValue    | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_RESOLVER_URL             | read-only "false" | *eksconfig.AddOnManagedNodeGroups.ResolverURL           | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_SIGNING_NAME             | read-only "false" | *eksconfig.AddOnManagedNodeGroups.SigningName           | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_LOGS_DIR                 | read-only "false" | *eksconfig.AddOnManagedNodeGroups.LogsDir               | string                   |
| AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_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_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_NAMESPACE                           | read-only "false" | *eksconfig.AddOnConformance.Namespace                       | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_PATH                       | read-only "false" | *eksconfig.AddOnConformance.SonobuoyPath                    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_DOWNLOAD_URL               | read-only "false" | *eksconfig.AddOnConformance.SonobuoyDownloadURL             | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_DELETE_TIMEOUT             | read-only "false" | *eksconfig.AddOnConformance.SonobuoyDeleteTimeout           | time.Duration      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_DELETE_TIMEOUT_STRING      | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyDeleteTimeoutString     | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_TIMEOUT                | read-only "false" | *eksconfig.AddOnConformance.SonobuoyRunTimeout              | time.Duration      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_TIMEOUT_STRING         | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyRunTimeoutString        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_MODE                   | read-only "false" | *eksconfig.AddOnConformance.SonobuoyRunMode                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RUN_KUBE_CONFORMANCE_IMAGE | read-only "false" | *eksconfig.AddOnConformance.SonobuoyRunKubeConformanceImage | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_TAR_GZ_PATH         | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultTarGzPath         | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_DIR                 | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultDir               | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_E2E_LOG_PATH        | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultE2eLogPath        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFORMANCE_SONOBUOY_RESULT_JUNIT_XML_PATH      | read-only "true"  | *eksconfig.AddOnConformance.SonobuoyResultJunitXMLPath      | string             |
*---------------------------------------------------------------------------*-------------------*-------------------------------------------------------------*--------------------*


*-----------------------------------------------------*-------------------*----------------------------------------*--------------------*
|               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_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_NAMESPACE           | read-only "false" | *eksconfig.AddOnAppMesh.Namespace        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_CONTROLLER_IMAGE    | read-only "false" | *eksconfig.AddOnAppMesh.ControllerImage  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_INJECTOR_IMAGE      | read-only "false" | *eksconfig.AddOnAppMesh.InjectorImage    | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_APP_MESH_POLICY_CFN_STACK_ID | read-only "true"  | *eksconfig.AddOnAppMesh.PolicyCFNStackID | string             |
*--------------------------------------------------------*-------------------*------------------------------------------*--------------------*


*---------------------------------------------------------------------*-------------------*---------------------------------------------------------*--------------------*
|                       ENVIRONMENTAL VARIABLE                        |     READ ONLY     |                          TYPE                           |      GO TYPE       |
*---------------------------------------------------------------------*-------------------*---------------------------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_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_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_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_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_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_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_WRITES_JSON_PATH          | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsWritesJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_WRITES_SUMMARY            | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsWritesSummary          | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_WRITES_SUMMARY_JSON_PATH  | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsWritesSummaryJSONPath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_LOCAL_REQUESTS_WRITES_SUMMARY_TABLE_PATH | read-only "true"  | *eksconfig.AddOnCSRsLocal.RequestsWritesSummaryTablePath | 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_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_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_DEPLOYMENT_REPLICAS                        | read-only "false" | *eksconfig.AddOnCSRsRemote.DeploymentReplicas                    | int32                   |
| 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_WRITES_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsWritesJSONPath                | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_WRITES_SUMMARY                    | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsWritesSummary                 | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_WRITES_SUMMARY_JSON_PATH          | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsWritesSummaryJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_WRITES_SUMMARY_TABLE_PATH         | read-only "true"  | *eksconfig.AddOnCSRsRemote.RequestsWritesSummaryTablePath        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CSRS_REMOTE_REQUESTS_WRITES_SUMMARY_OUTPUT_NAME_PREFIX | read-only "false" | *eksconfig.AddOnCSRsRemote.RequestsWritesSummaryOutputNamePrefix | string                  |
*----------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------*-------------------------*


*--------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------*-------------------------*
|                             ENVIRONMENTAL VARIABLE                             |     READ ONLY     |                              TYPE                              |         GO TYPE         |
*--------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_ENABLE                             | read-only "false" | *eksconfig.AddOnConfigMapsLocal.Enable                         | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_CREATED                            | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.Created                        | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_TIME_FRAME_CREATE                  | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.TimeFrameCreate                | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_TIME_FRAME_DELETE                  | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.TimeFrameDelete                | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_NAMESPACE                          | read-only "false" | *eksconfig.AddOnConfigMapsLocal.Namespace                      | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_OBJECTS                            | read-only "false" | *eksconfig.AddOnConfigMapsLocal.Objects                        | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_OBJECT_SIZE                        | read-only "false" | *eksconfig.AddOnConfigMapsLocal.ObjectSize                     | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_CREATED_NAMES                      | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.CreatedNames                   | []string                |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_REQUESTS_WRITES_JSON_PATH          | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.RequestsWritesJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_REQUESTS_WRITES_SUMMARY            | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.RequestsWritesSummary          | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_REQUESTS_WRITES_SUMMARY_JSON_PATH  | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.RequestsWritesSummaryJSONPath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_LOCAL_REQUESTS_WRITES_SUMMARY_TABLE_PATH | read-only "true"  | *eksconfig.AddOnConfigMapsLocal.RequestsWritesSummaryTablePath | string                  |
*--------------------------------------------------------------------------------*-------------------*----------------------------------------------------------------*-------------------------*


*-----------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*-------------------------*
|                                 ENVIRONMENTAL VARIABLE                                  |     READ ONLY     |                                  TYPE                                  |         GO TYPE         |
*-----------------------------------------------------------------------------------------*-------------------*------------------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_ENABLE                                     | read-only "false" | *eksconfig.AddOnConfigMapsRemote.Enable                                | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_CREATED                                    | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.Created                               | bool                    |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_TIME_FRAME_CREATE                          | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.TimeFrameCreate                       | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_TIME_FRAME_DELETE                          | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.TimeFrameDelete                       | timeutil.TimeFrame      |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_NAMESPACE                                  | read-only "false" | *eksconfig.AddOnConfigMapsRemote.Namespace                             | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REPOSITORY_ACCOUNT_ID                      | read-only "false" | *eksconfig.AddOnConfigMapsRemote.RepositoryAccountID                   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REPOSITORY_NAME                            | read-only "false" | *eksconfig.AddOnConfigMapsRemote.RepositoryName                        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REPOSITORY_IMAGE_TAG                       | read-only "false" | *eksconfig.AddOnConfigMapsRemote.RepositoryImageTag                    | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_DEPLOYMENT_REPLICAS                        | read-only "false" | *eksconfig.AddOnConfigMapsRemote.DeploymentReplicas                    | int32                   |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_OBJECTS                                    | read-only "false" | *eksconfig.AddOnConfigMapsRemote.Objects                               | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_OBJECT_SIZE                                | read-only "false" | *eksconfig.AddOnConfigMapsRemote.ObjectSize                            | int                     |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_CREATED_NAMES                              | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.CreatedNames                          | []string                |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REQUESTS_WRITES_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.RequestsWritesJSONPath                | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REQUESTS_WRITES_SUMMARY                    | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.RequestsWritesSummary                 | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REQUESTS_WRITES_SUMMARY_JSON_PATH          | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.RequestsWritesSummaryJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REQUESTS_WRITES_SUMMARY_TABLE_PATH         | read-only "true"  | *eksconfig.AddOnConfigMapsRemote.RequestsWritesSummaryTablePath        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_CONFIG_MAPS_REMOTE_REQUESTS_WRITES_SUMMARY_OUTPUT_NAME_PREFIX | read-only "false" | *eksconfig.AddOnConfigMapsRemote.RequestsWritesSummaryOutputNamePrefix | 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_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_WRITES_JSON_PATH          | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsWritesJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_WRITES_SUMMARY            | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsWritesSummary          | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_WRITES_SUMMARY_JSON_PATH  | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsWritesSummaryJSONPath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_WRITES_SUMMARY_TABLE_PATH | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsWritesSummaryTablePath | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_READS_JSON_PATH           | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsReadsJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_READS_SUMMARY             | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsReadsSummary           | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_READS_SUMMARY_JSON_PATH   | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsReadsSummaryJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_LOCAL_REQUESTS_READS_SUMMARY_TABLE_PATH  | read-only "true"  | *eksconfig.AddOnSecretsLocal.RequestsReadsSummaryTablePath  | 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_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_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_DEPLOYMENT_REPLICAS                        | read-only "false" | *eksconfig.AddOnSecretsRemote.DeploymentReplicas                    | int32                   |
| 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_WRITES_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsWritesJSONPath                | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_WRITES_SUMMARY                    | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsWritesSummary                 | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_WRITES_SUMMARY_JSON_PATH          | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsWritesSummaryJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_WRITES_SUMMARY_TABLE_PATH         | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsWritesSummaryTablePath        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_READS_JSON_PATH                   | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsReadsJSONPath                 | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_READS_SUMMARY                     | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsReadsSummary                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_READS_SUMMARY_JSON_PATH           | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsReadsSummaryJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_READS_SUMMARY_TABLE_PATH          | read-only "true"  | *eksconfig.AddOnSecretsRemote.RequestsReadsSummaryTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_WRITES_SUMMARY_OUTPUT_NAME_PREFIX | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsWritesSummaryOutputNamePrefix | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_SECRETS_REMOTE_REQUESTS_READS_SUMMARY_OUTPUT_NAME_PREFIX  | read-only "false" | *eksconfig.AddOnSecretsRemote.RequestsReadsSummaryOutputNamePrefix  | 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_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_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_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_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_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_MANAGED_POLICY_ARNS | read-only "false" | *eksconfig.AddOnIRSA.RoleManagedPolicyARNs | []string           |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_ROLE_CFN_STACK_ID        | read-only "true"  | *eksconfig.AddOnIRSA.RoleCFNStackID        | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_S3_KEY                   | read-only "false" | *eksconfig.AddOnIRSA.S3Key                 | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_IRSA_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_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_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_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_HOLLOW_NODES_LOCAL_ENABLE             | read-only "false" | *eksconfig.AddOnHollowNodesLocal.Enable           | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_CREATED            | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.Created          | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_TIME_FRAME_CREATE  | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.TimeFrameCreate  | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_TIME_FRAME_DELETE  | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.TimeFrameDelete  | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODES              | read-only "false" | *eksconfig.AddOnHollowNodesLocal.Nodes            | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODE_NAME_PREFIX   | read-only "false" | *eksconfig.AddOnHollowNodesLocal.NodeNamePrefix   | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODE_LABEL_PREFIX  | read-only "false" | *eksconfig.AddOnHollowNodesLocal.NodeLabelPrefix  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_NODE_LABELS        | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.NodeLabels       | map[string]string  |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_MAX_OPEN_FILES     | read-only "false" | *eksconfig.AddOnHollowNodesLocal.MaxOpenFiles     | int64              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_LOCAL_CREATED_NODE_NAMES | read-only "true"  | *eksconfig.AddOnHollowNodesLocal.CreatedNodeNames | []string           |
*-----------------------------------------------------------------*-------------------*---------------------------------------------------*--------------------*


*---------------------------------------------------------------------*-------------------*-------------------------------------------------------*--------------------*
|                       ENVIRONMENTAL VARIABLE                        |     READ ONLY     |                         TYPE                          |      GO TYPE       |
*---------------------------------------------------------------------*-------------------*-------------------------------------------------------*--------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_ENABLE                | read-only "false" | *eksconfig.AddOnHollowNodesRemote.Enable              | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_CREATED               | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.Created             | bool               |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_TIME_FRAME_CREATE     | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.TimeFrameCreate     | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_TIME_FRAME_DELETE     | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.TimeFrameDelete     | timeutil.TimeFrame |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NAMESPACE             | read-only "false" | *eksconfig.AddOnHollowNodesRemote.Namespace           | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_ACCOUNT_ID | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryAccountID | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_NAME       | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryName      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_REPOSITORY_IMAGE_TAG  | read-only "false" | *eksconfig.AddOnHollowNodesRemote.RepositoryImageTag  | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_DEPLOYMENT_REPLICAS   | read-only "false" | *eksconfig.AddOnHollowNodesRemote.DeploymentReplicas  | int32              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NODES                 | read-only "false" | *eksconfig.AddOnHollowNodesRemote.Nodes               | int                |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NODE_NAME_PREFIX      | read-only "false" | *eksconfig.AddOnHollowNodesRemote.NodeNamePrefix      | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_NODE_LABEL_PREFIX     | read-only "false" | *eksconfig.AddOnHollowNodesRemote.NodeLabelPrefix     | string             |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_MAX_OPEN_FILES        | read-only "false" | *eksconfig.AddOnHollowNodesRemote.MaxOpenFiles        | int64              |
| AWS_K8S_TESTER_EKS_ADD_ON_HOLLOW_NODES_REMOTE_CREATED_NODE_NAMES    | read-only "true"  | *eksconfig.AddOnHollowNodesRemote.CreatedNodeNames    | []string           |
*---------------------------------------------------------------------*-------------------*-------------------------------------------------------*--------------------*


*-----------------------------------------------------------------------------*-------------------*--------------------------------------------------------------*-------------------------*
|                           ENVIRONMENTAL VARIABLE                            |     READ ONLY     |                             TYPE                             |         GO TYPE         |
*-----------------------------------------------------------------------------*-------------------*--------------------------------------------------------------*-------------------------*
| AWS_K8S_TESTER_EKS_ADD_ON_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_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_WRITES_JSON_PATH          | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsWritesJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_WRITES_SUMMARY            | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsWritesSummary          | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_WRITES_SUMMARY_JSON_PATH  | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsWritesSummaryJSONPath  | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_WRITES_SUMMARY_TABLE_PATH | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsWritesSummaryTablePath | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_READS_JSON_PATH           | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsReadsJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_READS_SUMMARY             | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsReadsSummary           | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_READS_SUMMARY_JSON_PATH   | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsReadsSummaryJSONPath   | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_LOCAL_REQUESTS_READS_SUMMARY_TABLE_PATH  | read-only "true"  | *eksconfig.AddOnStresserLocal.RequestsReadsSummaryTablePath  | 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_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_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_DEPLOYMENT_REPLICAS                        | read-only "false" | *eksconfig.AddOnStresserRemote.DeploymentReplicas                    | int32                   |
| 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_WRITES_JSON_PATH                  | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsWritesJSONPath                | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_WRITES_SUMMARY                    | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsWritesSummary                 | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_WRITES_SUMMARY_JSON_PATH          | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsWritesSummaryJSONPath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_WRITES_SUMMARY_TABLE_PATH         | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsWritesSummaryTablePath        | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_READS_JSON_PATH                   | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsReadsJSONPath                 | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_READS_SUMMARY                     | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsReadsSummary                  | metrics.RequestsSummary |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_READS_SUMMARY_JSON_PATH           | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsReadsSummaryJSONPath          | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_READS_SUMMARY_TABLE_PATH          | read-only "true"  | *eksconfig.AddOnStresserRemote.RequestsReadsSummaryTablePath         | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_WRITES_SUMMARY_OUTPUT_NAME_PREFIX | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsWritesSummaryOutputNamePrefix | string                  |
| AWS_K8S_TESTER_EKS_ADD_ON_STRESSER_REMOTE_REQUESTS_READS_SUMMARY_OUTPUT_NAME_PREFIX  | read-only "false" | *eksconfig.AddOnStresserRemote.RequestsReadsSummaryOutputNamePrefix  | 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_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_LOG_PATH                           | read-only "true"  | *eksconfig.AddOnClusterLoaderLocal.LogPath                        | 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_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_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               |
*-----------------------------------------------------------------------------------*-------------------*-------------------------------------------------------------------*--------------------*


*------------------------------------------------------------------------------------*-------------------*--------------------------------------------------------------------*--------------------*
|                               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_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_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_DEPLOYMENT_REPLICAS                | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.DeploymentReplicas             | int32              |
| 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_LOG_PATH                           | read-only "true"  | *eksconfig.AddOnClusterLoaderRemote.LogPath                        | 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_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_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               |
*------------------------------------------------------------------------------------*-------------------*--------------------------------------------------------------------*--------------------*


Documentation

Overview

Package eksconfig defines EKS test configuration.

Index

Constants

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

	// 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 = "AWS_K8S_TESTER_EKS_"

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

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

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

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

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

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

View Source
const EnvironmentVariablePrefixAddOnAppMesh = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_APP_MESH_"

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

View Source
const EnvironmentVariablePrefixAddOnCSIEBS = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSI_EBS_"

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

View Source
const 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 EnvironmentVariablePrefixAddOnConfigMapsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIG_MAPS_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnConfigMapsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIG_MAPS_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 EnvironmentVariablePrefixAddOnHollowNodesLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_LOCAL_"

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

View Source
const EnvironmentVariablePrefixAddOnHollowNodesRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_REMOTE_"

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

View Source
const EnvironmentVariablePrefixAddOnIRSA = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_IRSA_"

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

View Source
const EnvironmentVariablePrefixAddOnIRSAFargate = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_IRSA_FARGATE_"

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

View Source
const EnvironmentVariablePrefixAddOnJobsEcho = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JOBS_ECHO_"

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

View Source
const EnvironmentVariablePrefixAddOnJobsPi = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JOBS_PI_"

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

View Source
const EnvironmentVariablePrefixAddOnJupyterHub = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JUPYTER_HUB_"

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

View Source
const EnvironmentVariablePrefixAddOnKubeflow = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_KUBEFLOW_"

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

View Source
const EnvironmentVariablePrefixAddOnKubernetesDashboard = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_KUBERNETES_DASHBOARD_"

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

View Source
const EnvironmentVariablePrefixAddOnManagedNodeGroups = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_MANAGED_NODE_GROUPS_"

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

View Source
const EnvironmentVariablePrefixAddOnNLBHelloWorld = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NLB_HELLO_WORLD_"

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

View Source
const EnvironmentVariablePrefixAddOnNodeGroups = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NODE_GROUPS_"

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

View Source
const EnvironmentVariablePrefixAddOnPrometheusGrafana = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_PROMETHEUS_GRAFANA_"

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

View Source
const 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 EnvironmentVariablePrefixAddOnWordpress = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_WORDPRESS_"

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

View Source
const EnvironmentVariablePrefixParameters = AWS_K8S_TESTER_EKS_PREFIX + "PARAMETERS_"

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

Variables

This section is empty.

Functions

This section is empty.

Types

type ASG added in v1.0.1

type ASG struct {
	ec2config.ASG

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

ASG represents an EKS Node Group ASG.

type AddOnALB2048 added in v0.5.0

type AddOnALB2048 struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	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 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"`

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

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

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

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

type AddOnCSIEBS added in v1.0.6

type AddOnCSIEBS struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	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"`

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

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-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"`

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

	// DeploymentReplicas is the number of replicas to create for workers.
	// The total number of objects to be created is "DeploymentReplicas" * "Objects".
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`
	// 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"`

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-path" read-only:"true"`

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

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

	// 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"`
	// LogPath is the log file path to stream clusterloader binary runs.
	LogPath string `json:"log-path" 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"`

	CL2LoadTestThroughput     int  `json:"cl2-load-test-throughput"`
	CL2EnablePVS              bool `json:"cl2-enable-pvs"`
	PrometheusScrapeKubeProxy bool `json:"prometheus-scrape-kube-proxy"`
	EnableSystemPodMetrics    bool `json:"enable-system-pod-metrics"`
}

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

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

	// DeploymentReplicas is the number of "clusterloader2" Pods to run.
	// For now, only 1 is supported.
	DeploymentReplicas int32 `json:"deployment-replicas" read-only:"true"`

	// 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"`
	// LogPath is the log file path to stream clusterloader binary runs.
	LogPath string `json:"log-path" 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"`

	CL2LoadTestThroughput     int  `json:"cl2-load-test-throughput"`
	CL2EnablePVS              bool `json:"cl2-enable-pvs"`
	PrometheusScrapeKubeProxy bool `json:"prometheus-scrape-kube-proxy"`
	EnableSystemPodMetrics    bool `json:"enable-system-pod-metrics"`
}

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 AddOnConfigMapsLocal added in v1.2.2

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

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

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-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.2.2

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

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

	// DeploymentReplicas is the number of replicas to create for workers.
	// The total number of objects to be created is "DeploymentReplicas" * "Objects".
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`
	// 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"`

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-path" read-only:"true"`

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

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

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

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

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

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

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

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

type AddOnCronJobs added in v0.9.8

type AddOnCronJobs struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	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"`

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

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

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

type AddOnHollowNodesLocal struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`
	TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"`

	// Nodes is the number of hollow nodes to create.
	Nodes int `json:"nodes"`

	// NodeNamePrefix is the node name prefix for node names.
	NodeNamePrefix string `json:"node-name-prefix"`
	// NodeLabelPrefix is the node prefix.
	NodeLabelPrefix string `json:"node-label-prefix"`
	// NodeLabels is the node labels to attach when creating hollow nodes.
	NodeLabels map[string]string `json:"node-labels" read-only:"true"`

	// MaxOpenFiles is number of files that can be opened by hollow node kubelet process.
	// "cmd/kubelet/app.rlimit.SetNumFiles(MaxOpenFiles)" sets this for the host.
	// More than >100 node may exceed local system file descriptor limits.
	// e.g. too many open files
	MaxOpenFiles int64 `json:"max-open-files"`

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

AddOnHollowNodesLocal defines parameters for EKS cluster add-on hollow nodes local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency.

type AddOnHollowNodesRemote added in v1.1.9

type AddOnHollowNodesRemote struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	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"`
	// 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"`

	// DeploymentReplicas is the number of replicas to create for workers.
	// The total number of objects to be created is "DeploymentReplicas" * "Nodes".
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`
	// Nodes is the number of hollow nodes to create.
	// The total number of objects to be created is "DeploymentReplicas" * "Nodes".
	Nodes int `json:"nodes"`

	// NodeNamePrefix is the node name prefix for node names.
	NodeNamePrefix string `json:"node-name-prefix"`
	// NodeLabelPrefix is the node prefix.
	NodeLabelPrefix string `json:"node-label-prefix"`

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

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

AddOnHollowNodesRemote defines parameters for EKS cluster add-on hollow nodes 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.

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

	// 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"`
	// 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"`
	// RoleManagedPolicyARNs is IRSA role managed policy ARNs.
	// ref. https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
	RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"`
	RoleCFNStackID        string   `json:"role-cfn-stack-id" read-only:"true"`

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

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

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

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

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

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

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

	// LogsDir is set to specify the target directory to store all remote log files.
	// If empty, it stores in the same directory as "ConfigPath".
	LogsDir string `json:"logs-dir,omitempty"`
	// 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 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"`

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

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

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

	// LogsDir is set to specify the target directory to store all remote log files.
	// If empty, it stores in the same directory as "ConfigPath".
	LogsDir string `json:"logs-dir,omitempty"`
	// 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

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

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

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-path" read-only:"true"`

	// RequestsReadsJSONPath is the file path to store reads requests in JSON format.
	RequestsReadsJSONPath string `json:"requests-reads-json-path" read-only:"true"`
	// RequestsReadsSummary is the reads results.
	RequestsReadsSummary metrics.RequestsSummary `json:"requests-reads-summary,omitempty" read-only:"true"`
	// RequestsReadsSummaryJSONPath is the file path to store reads requests summary in JSON format.
	RequestsReadsSummaryJSONPath string `json:"requests-reads-summary-json-path" read-only:"true"`
	// RequestsReadsSummaryTablePath is the file path to store reads requests summary in table format.
	RequestsReadsSummaryTablePath string `json:"requests-reads-summary-table-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"`

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

	// DeploymentReplicas is the number of replicas to create for workers.
	// The total number of objects to be created is "DeploymentReplicas" * "Objects".
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`
	// 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"`

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-path" read-only:"true"`

	// RequestsReadsJSONPath is the file path to store reads requests in JSON format.
	RequestsReadsJSONPath string `json:"requests-reads-json-path" read-only:"true"`
	// RequestsReadsSummary is the reads results.
	// Reads happen inside "Pod" where it reads "Secret" objects from the mounted volume.
	RequestsReadsSummary metrics.RequestsSummary `json:"requests-reads-summary,omitempty" read-only:"true"`
	// RequestsReadsSummaryJSONPath is the file path to store reads requests summary in JSON format.
	RequestsReadsSummaryJSONPath string `json:"requests-reads-summary-json-path" read-only:"true"`
	// RequestsReadsSummaryTablePath is the file path to store reads requests summary in table format.
	RequestsReadsSummaryTablePath string `json:"requests-reads-summary-table-path" read-only:"true"`

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

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

	// 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.
	// The cluster loader waits "one" "Duration" for hollow ones.
	// And other one for cluster loader.
	Duration       time.Duration `json:"duration,omitempty"`
	DurationString string        `json:"duration-string,omitempty" read-only:"true"`

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-path" read-only:"true"`

	// RequestsReadsJSONPath is the file path to store reads requests in JSON format.
	RequestsReadsJSONPath string `json:"requests-reads-json-path" read-only:"true"`
	// RequestsReadsSummary is the reads results.
	RequestsReadsSummary metrics.RequestsSummary `json:"requests-reads-summary,omitempty" read-only:"true"`
	// RequestsReadsSummaryJSONPath is the file path to store reads requests summary in JSON format.
	RequestsReadsSummaryJSONPath string `json:"requests-reads-summary-json-path" read-only:"true"`
	// RequestsReadsSummaryTablePath is the file path to store reads requests summary in table format.
	RequestsReadsSummaryTablePath string `json:"requests-reads-summary-table-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"`

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

	// DeploymentReplicas is the number of replicas to create for workers.
	// Write QPS will be client QPS * replicas.
	// Read QPS will be client QPS * replicas.
	DeploymentReplicas int32 `json:"deployment-replicas,omitempty"`
	// 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.
	// The cluster loader waits "one" "Duration" for hollow ones.
	// And other one for cluster loader.
	Duration       time.Duration `json:"duration,omitempty"`
	DurationString string        `json:"duration-string,omitempty" read-only:"true"`

	// RequestsWritesJSONPath is the file path to store writes requests in JSON format.
	RequestsWritesJSONPath string `json:"requests-writes-json-path" read-only:"true"`
	// RequestsWritesSummary is the writes results.
	RequestsWritesSummary metrics.RequestsSummary `json:"requests-writes-summary,omitempty" read-only:"true"`
	// RequestsWritesSummaryJSONPath is the file path to store writes requests summary in JSON format.
	RequestsWritesSummaryJSONPath string `json:"requests-writes-summary-json-path" read-only:"true"`
	// RequestsWritesSummaryTablePath is the file path to store writes requests summary in table format.
	RequestsWritesSummaryTablePath string `json:"requests-writes-summary-table-path" read-only:"true"`

	// RequestsReadsJSONPath is the file path to store reads requests in JSON format.
	RequestsReadsJSONPath string `json:"requests-reads-json-path" read-only:"true"`
	// RequestsReadsSummary is the reads results.
	RequestsReadsSummary metrics.RequestsSummary `json:"requests-reads-summary,omitempty" read-only:"true"`
	// RequestsReadsSummaryJSONPath is the file path to store reads requests summary in JSON format.
	RequestsReadsSummaryJSONPath string `json:"requests-reads-summary-json-path" read-only:"true"`
	// RequestsReadsSummaryTablePath is the file path to store reads requests summary in table format.
	RequestsReadsSummaryTablePath string `json:"requests-reads-summary-table-path" read-only:"true"`

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

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 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 ClusterStatus added in v0.6.5

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

ClusterStatus represents the cluster status.

type Config

type Config struct {

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

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

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

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

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

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

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

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

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

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

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

	// Clients is the number of kubernetes clients to create.
	// Default is 1.
	// This field is used for "eks/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"`

	// 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 int64 `json:"total-nodes" read-only:"true"`

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

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

	// AddOnNLBHelloWorld defines parameters for EKS cluster
	// add-on NLB hello-world service.
	AddOnNLBHelloWorld *AddOnNLBHelloWorld `json:"add-on-nlb-hello-world,omitempty"`
	// AddOnALB2048 defines parameters for EKS cluster
	// add-on ALB 2048 service.
	AddOnALB2048 *AddOnALB2048 `json:"add-on-alb-2048,omitempty"`
	// AddOnJobsPi defines parameters for EKS cluster
	// add-on Job with pi Perl command.
	AddOnJobsPi *AddOnJobsPi `json:"add-on-jobs-pi,omitempty"`
	// AddOnJobsEcho defines parameters for EKS cluster
	// add-on Job with echo.
	AddOnJobsEcho *AddOnJobsEcho `json:"add-on-jobs-echo,omitempty"`
	// AddOnCronJobs defines parameters for EKS cluster
	// add-on with CronJob.
	AddOnCronJobs *AddOnCronJobs `json:"add-on-cron-jobs,omitempty"`

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

	// AddOnHollowNodesLocal defines parameters for EKS cluster
	// add-on hollow nodes local.
	// It generates loads from the local host machine.
	AddOnHollowNodesLocal *AddOnHollowNodesLocal `json:"add-on-hollow-nodes-local,omitempty"`
	// AddOnHollowNodesRemote defines parameters for EKS cluster
	// add-on hollow nodes remote.
	// It generates loads from the remote workers (Pod) in the cluster.
	AddOnHollowNodesRemote *AddOnHollowNodesRemote `json:"add-on-hollow-nodes-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"`

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

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

Config defines EKS configuration.

func Load

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

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

Example usage:

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

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

func NewDefault

func NewDefault() *Config

NewDefault returns a default configuration.

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

func (*Config) EvaluateCommandRefs added in v1.0.6

func (cfg *Config) EvaluateCommandRefs() error

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

func (*Config) IsEnabledAddOnALB2048 added in v0.7.5

func (cfg *Config) IsEnabledAddOnALB2048() bool

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

func (*Config) IsEnabledAddOnAppMesh added in v0.7.5

func (cfg *Config) IsEnabledAddOnAppMesh() bool

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

func (*Config) IsEnabledAddOnCSIEBS added in v1.0.6

func (cfg *Config) IsEnabledAddOnCSIEBS() bool

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

func (*Config) 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) 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) IsEnabledAddOnConfigMapsLocal added in v1.2.2

func (cfg *Config) IsEnabledAddOnConfigMapsLocal() bool

IsEnabledAddOnConfigMapsLocal returns true if "AddOnConfigMapsLocal" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnConfigMapsRemote added in v1.2.2

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) IsEnabledAddOnHollowNodesLocal added in v1.1.9

func (cfg *Config) IsEnabledAddOnHollowNodesLocal() bool

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

func (*Config) IsEnabledAddOnHollowNodesRemote added in v1.1.9

func (cfg *Config) IsEnabledAddOnHollowNodesRemote() bool

IsEnabledAddOnHollowNodesRemote returns true if "AddOnHollowNodesRemote" is enabled. Otherwise, nil the field for "omitempty".

func (*Config) IsEnabledAddOnIRSA added in v0.7.5

func (cfg *Config) IsEnabledAddOnIRSA() bool

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

func (*Config) IsEnabledAddOnIRSAFargate added in v1.0.7

func (cfg *Config) IsEnabledAddOnIRSAFargate() bool

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

func (*Config) IsEnabledAddOnJobsEcho added in v0.9.8

func (cfg *Config) IsEnabledAddOnJobsEcho() bool

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

func (*Config) IsEnabledAddOnJobsPi added in v0.9.8

func (cfg *Config) IsEnabledAddOnJobsPi() bool

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

func (*Config) IsEnabledAddOnJupyterHub added in v1.0.8

func (cfg *Config) IsEnabledAddOnJupyterHub() bool

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

func (*Config) IsEnabledAddOnKubeflow added in v1.0.6

func (cfg *Config) IsEnabledAddOnKubeflow() bool

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

func (*Config) IsEnabledAddOnKubernetesDashboard added in v1.0.6

func (cfg *Config) IsEnabledAddOnKubernetesDashboard() bool

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

func (*Config) IsEnabledAddOnManagedNodeGroups added in v0.7.5

func (cfg *Config) IsEnabledAddOnManagedNodeGroups() bool

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

func (*Config) IsEnabledAddOnNLBHelloWorld added in v0.7.5

func (cfg *Config) IsEnabledAddOnNLBHelloWorld() bool

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

func (*Config) IsEnabledAddOnNodeGroups added in v0.7.5

func (cfg *Config) IsEnabledAddOnNodeGroups() bool

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

func (*Config) IsEnabledAddOnPrometheusGrafana added in v1.0.6

func (cfg *Config) IsEnabledAddOnPrometheusGrafana() bool

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

func (*Config) 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) IsEnabledAddOnWordpress added in v1.0.6

func (cfg *Config) IsEnabledAddOnWordpress() bool

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

func (*Config) KubectlCommand added in v0.5.8

func (cfg *Config) KubectlCommand() string

KubectlCommand returns the kubectl command.

func (*Config) KubectlCommands

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

KubectlCommands returns the various kubectl commands.

func (*Config) RecordStatus added in v0.6.5

func (cfg *Config) RecordStatus(status string)

RecordStatus records cluster status.

func (*Config) SSHCommands

func (cfg *Config) SSHCommands() string

SSHCommands returns the SSH commands.

func (*Config) Sync

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

Sync persists current configuration and states to disk.

func (*Config) UpdateFromEnvs

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

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

func (*Config) ValidateAndSetDefaults

func (cfg *Config) ValidateAndSetDefaults() error

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

type MNG added in v0.5.5

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

	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.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html
	ReleaseVersion string `json:"release-version,omitempty"`

	// AMIType is the AMI type for the node group.
	// Allowed values are AL2_x86_64 and AL2_x86_64_GPU.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	AMIType string `json:"ami-type,omitempty"`

	// InstanceTypes is the EC2 instance types for the node instances.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	InstanceTypes []string `json:"instance-types,omitempty"`
	// VolumeSize is the node volume size.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	VolumeSize int `json:"volume-size,omitempty"`

	// ASGMinSize is the minimum size of Node Group Auto Scaling Group.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	ASGMinSize int `json:"asg-min-size,omitempty"`
	// ASGMaxSize is the maximum size of Node Group Auto Scaling Group.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	ASGMaxSize int `json:"asg-max-size,omitempty"`
	// ASGDesiredCapacity is is the desired capacity of Node Group ASG.
	// ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html
	// ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html
	ASGDesiredCapacity int `json:"asg-desired-capacity,omitempty"`

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

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

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

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

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

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

type Parameters added in v0.5.0

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

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

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

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

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

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

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

Parameters defines parameters for EKS "cluster" creation.

type Status added in v0.5.0

type Status struct {
	// Up is true if the cluster is up.
	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"`

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

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

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

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

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

Directories

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

Jump to

Keyboard shortcuts

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