k8s_tester

package module
v0.0.0-...-6d46272 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: Apache-2.0 Imports: 59 Imported by: 2

README

k8s-tester implements defines Kubernetes "tester client" interface without "cluster provisioner" dependency. This replaces all test cases under eks/* (< aws-k8s-tester v1.6). The tester assumes an existing Kubernetes cluster (e.g., EKS, vanilla Kubernetes) and worker nodes to run testing components.

Each test case:

  • MUST comply with "github.com/aws/aws-k8s-tester/k8s-tester/tester.Tester" interface
  • MUST be generic enough to run against any Kubernetes cluster on AWS
  • MUST implement clean-up in a non-destrutive way
  • MUST implement a package that can be easily imported as a library (e.g., integrates with EKS tester)
  • MUST control their own dependencies (e.g., vending Kubernetes client-go) in case a user does not want to carry out other dependencies
  • MAY require certain AWS API calls and assume correct IAM or instance role for required AWS actions
  • MAY implement a CLI with the sub-commands of "apply" and "delete"

To add a new tester,

  • Create a new directory under github.com/aws/aws-k8s-tester/k8s-tester.
  • Implement github.com/aws/aws-k8s-tester/k8s-tester/tester.Tester interface within the new package github.com/aws/aws-k8s-tester/k8s-tester/NEW-TESTER.
  • (Optional) Implement a stand-alone CLI for the test case under github.com/aws/aws-k8s-tester/k8s-tester/NEW-TESTER/cmd/k8s-tester-NEW-TESTER.
  • Import the new configuration struct to k8s-tester/config.go with test cases in k8s-tester/config_test.go.
  • Add the new tester to github.com/aws/aws-k8s-tester/k8s-tester/tester.go.
  • Update github.com/aws/aws-k8s-tester/k8s-tester/go.mod.
  • Run github.com/aws/aws-k8s-tester/k8s-tester/vend.sh.
  • Add the new tester to github.com/aws/aws-k8s-tester/k8s-tester/cmd/readme-gen/main.go.
  • Update github.com/aws/aws-k8s-tester/k8s-tester/cmd/readme-gen/go.mod.
  • Run github.com/aws/aws-k8s-tester/k8s-tester/cmd/readme-gen/vend.sh.
  • Update and run github.com/aws/aws-k8s-tester/k8s-tester/fmt.sh.
  • Update github.com/aws/aws-k8s-tester/k8s-tester/cmd/k8s-tester/go.mod.
  • Run github.com/aws/aws-k8s-tester/k8s-tester/cmd/k8s-tester/vend.sh.
  • Run github.com/aws/aws-k8s-tester/k8s-tester/gen.sh.

See example commits:

Environmental variables

Total 30 test cases!

*----------------------------------*----------------------*----------------------------------------*---------------*
|      ENVIRONMENTAL VARIABLE      |      FIELD TYPE      |                  TYPE                  |    GO TYPE    |
*----------------------------------*----------------------*----------------------------------------*---------------*
| K8S_TESTER_PROMPT                | SETTABLE VIA ENV VAR | *k8s_tester.Config.Prompt              | bool          |
| K8S_TESTER_CLUSTER_NAME          | SETTABLE VIA ENV VAR | *k8s_tester.Config.ClusterName         | string        |
| K8S_TESTER_CONFIG_PATH           | SETTABLE VIA ENV VAR | *k8s_tester.Config.ConfigPath          | string        |
| K8S_TESTER_LOG_COLOR             | SETTABLE VIA ENV VAR | *k8s_tester.Config.LogColor            | bool          |
| K8S_TESTER_LOG_COLOR_OVERRIDE    | SETTABLE VIA ENV VAR | *k8s_tester.Config.LogColorOverride    | string        |
| K8S_TESTER_LOG_LEVEL             | SETTABLE VIA ENV VAR | *k8s_tester.Config.LogLevel            | string        |
| K8S_TESTER_LOG_OUTPUTS           | SETTABLE VIA ENV VAR | *k8s_tester.Config.LogOutputs          | []string      |
| K8S_TESTER_KUBECTL_DOWNLOAD_URL  | SETTABLE VIA ENV VAR | *k8s_tester.Config.KubectlDownloadURL  | string        |
| K8S_TESTER_KUBECTL_PATH          | SETTABLE VIA ENV VAR | *k8s_tester.Config.KubectlPath         | string        |
| K8S_TESTER_KUBECONFIG_PATH       | SETTABLE VIA ENV VAR | *k8s_tester.Config.KubeconfigPath      | string        |
| K8S_TESTER_KUBECONFIG_CONTEXT    | SETTABLE VIA ENV VAR | *k8s_tester.Config.KubeconfigContext   | string        |
| K8S_TESTER_CLIENTS               | SETTABLE VIA ENV VAR | *k8s_tester.Config.Clients             | int           |
| K8S_TESTER_CLIENT_QPS            | SETTABLE VIA ENV VAR | *k8s_tester.Config.ClientQPS           | float32       |
| K8S_TESTER_CLIENT_BURST          | SETTABLE VIA ENV VAR | *k8s_tester.Config.ClientBurst         | int           |
| K8S_TESTER_CLIENT_TIMEOUT        | SETTABLE VIA ENV VAR | *k8s_tester.Config.ClientTimeout       | time.Duration |
| K8S_TESTER_CLIENT_TIMEOUT_STRING | READ-ONLY            | *k8s_tester.Config.ClientTimeoutString | string        |
| K8S_TESTER_MINIMUM_NODES         | SETTABLE VIA ENV VAR | *k8s_tester.Config.MinimumNodes        | int           |
| K8S_TESTER_TOTAL_NODES           | READ-ONLY            | *k8s_tester.Config.TotalNodes          | int           |
*----------------------------------*----------------------*----------------------------------------*---------------*

*--------------------------------------------------*----------------------*---------------------------------------*---------*
|              ENVIRONMENTAL VARIABLE              |      FIELD TYPE      |                 TYPE                  | GO TYPE |
*--------------------------------------------------*----------------------*---------------------------------------*---------*
| K8S_TESTER_ADD_ON_CLOUDWATCH_AGENT_ENABLE        | SETTABLE VIA ENV VAR | *cloudwatch_agent.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_CLOUDWATCH_AGENT_REGION        | SETTABLE VIA ENV VAR | *cloudwatch_agent.Config.Region       | string  |
| K8S_TESTER_ADD_ON_CLOUDWATCH_AGENT_CLUSTER_NAME  | READ-ONLY            | *cloudwatch_agent.Config.ClusterName  | string  |
| K8S_TESTER_ADD_ON_CLOUDWATCH_AGENT_MINIMUM_NODES | SETTABLE VIA ENV VAR | *cloudwatch_agent.Config.MinimumNodes | int     |
| K8S_TESTER_ADD_ON_CLOUDWATCH_AGENT_NAMESPACE     | SETTABLE VIA ENV VAR | *cloudwatch_agent.Config.Namespace    | string  |
*--------------------------------------------------*----------------------*---------------------------------------*---------*

*--------------------------------------------*----------------------*---------------------------------*---------*
|           ENVIRONMENTAL VARIABLE           |      FIELD TYPE      |              TYPE               | GO TYPE |
*--------------------------------------------*----------------------*---------------------------------*---------*
| K8S_TESTER_ADD_ON_FLUENT_BIT_ENABLE        | SETTABLE VIA ENV VAR | *fluent_bit.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_FLUENT_BIT_MINIMUM_NODES | SETTABLE VIA ENV VAR | *fluent_bit.Config.MinimumNodes | int     |
| K8S_TESTER_ADD_ON_FLUENT_BIT_NAMESPACE     | SETTABLE VIA ENV VAR | *fluent_bit.Config.Namespace    | string  |
*--------------------------------------------*----------------------*---------------------------------*---------*

*------------------------------------------------*----------------------*-------------------------------------*---------*
|             ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |                TYPE                 | GO TYPE |
*------------------------------------------------*----------------------*-------------------------------------*---------*
| K8S_TESTER_ADD_ON_METRICS_SERVER_ENABLE        | SETTABLE VIA ENV VAR | *metrics_server.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_METRICS_SERVER_MINIMUM_NODES | SETTABLE VIA ENV VAR | *metrics_server.Config.MinimumNodes | int     |
*------------------------------------------------*----------------------*-------------------------------------*---------*

*------------------------------------------------*----------------------*-----------------------------------*---------*
|             ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |               TYPE                | GO TYPE |
*------------------------------------------------*----------------------*-----------------------------------*---------*
| K8S_TESTER_ADD_ON_KUBECOST_ENABLE              | SETTABLE VIA ENV VAR | *kubecost.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_KUBECOST_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *kubecost.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_KUBECOST_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *kubecost.Config.HelmChartRepoURL | string  |
| K8S_TESTER_ADD_ON_KUBECOST_NAMESPACE           | SETTABLE VIA ENV VAR | *kubecost.Config.Namespace        | string  |
*------------------------------------------------*----------------------*-----------------------------------*---------*

*-------------------------------------*----------------------*--------------------------*---------*
|       ENVIRONMENTAL VARIABLE        |      FIELD TYPE      |           TYPE           | GO TYPE |
*-------------------------------------*----------------------*--------------------------*---------*
| K8S_TESTER_ADD_ON_CNI_ENABLE        | SETTABLE VIA ENV VAR | *cni.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_CNI_MINIMUM_NODES | SETTABLE VIA ENV VAR | *cni.Config.MinimumNodes | int     |
| K8S_TESTER_ADD_ON_CNI_NAMESPACE     | SETTABLE VIA ENV VAR | *cni.Config.Namespace    | string  |
| K8S_TESTER_ADD_ON_CNI_CNI_NAMESPACE | SETTABLE VIA ENV VAR | *cni.Config.CNINamespace | string  |
*-------------------------------------*----------------------*--------------------------*---------*

*-------------------------------------------------------------------*----------------------*-----------------------------------------------------*---------------*
|                      ENVIRONMENTAL VARIABLE                       |      FIELD TYPE      |                        TYPE                         |    GO TYPE    |
*-------------------------------------------------------------------*----------------------*-----------------------------------------------------*---------------*
| K8S_TESTER_ADD_ON_CONFORMANCE_ENABLE                              | SETTABLE VIA ENV VAR | *conformance.Config.Enable                          | bool          |
| K8S_TESTER_ADD_ON_CONFORMANCE_MINIMUM_NODES                       | SETTABLE VIA ENV VAR | *conformance.Config.MinimumNodes                    | int           |
| K8S_TESTER_ADD_ON_CONFORMANCE_NAMESPACE                           | SETTABLE VIA ENV VAR | *conformance.Config.Namespace                       | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_PATH                       | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyPath                    | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_DOWNLOAD_URL               | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyDownloadURL             | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_TIMEOUT                | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunTimeout              | time.Duration |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_TIMEOUT_STRING         | READ-ONLY            | *conformance.Config.SonobuoyRunTimeoutString        | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_DELETE_TIMEOUT             | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyDeleteTimeout           | time.Duration |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_DELETE_TIMEOUT_STRING      | READ-ONLY            | *conformance.Config.SonobuoyDeleteTimeoutString     | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_MODE                   | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunMode                 | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_E2E_FOCUS              | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunE2EFocus             | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_E2E_SKIP               | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunE2ESkip              | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_KUBE_CONFORMANCE_IMAGE | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunKubeConformanceImage | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_E2E_REPO_CONFIG        | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunE2ERepoConfig        | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_IMAGE                  | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunImage                | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RUN_SYSTEMD_LOGS_IMAGE     | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyRunSystemdLogsImage     | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RESULTS_TAR_GZ_PATH        | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyResultsTarGzPath        | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RESULTS_E2E_LOG_PATH       | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyResultsE2ELogPath       | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RESULTS_JUNIT_XML_PATH     | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyResultsJunitXMLPath     | string        |
| K8S_TESTER_ADD_ON_CONFORMANCE_SONOBUOY_RESULTS_OUTPUT_DIR         | SETTABLE VIA ENV VAR | *conformance.Config.SonobuoyResultsOutputDir        | string        |
*-------------------------------------------------------------------*----------------------*-----------------------------------------------------*---------------*

*-----------------------------------------------*----------------------*----------------------------------*---------*
|            ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |               TYPE               | GO TYPE |
*-----------------------------------------------*----------------------*----------------------------------*---------*
| K8S_TESTER_ADD_ON_CSI_EBS_ENABLE              | SETTABLE VIA ENV VAR | *csi_ebs.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_CSI_EBS_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *csi_ebs.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_CSI_EBS_NAMESPACE           | SETTABLE VIA ENV VAR | *csi_ebs.Config.Namespace        | string  |
| K8S_TESTER_ADD_ON_CSI_EBS_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *csi_ebs.Config.HelmChartRepoURL | string  |
*-----------------------------------------------*----------------------*----------------------------------*---------*

*-----------------------------------------------*----------------------*----------------------------------*---------*
|            ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |               TYPE               | GO TYPE |
*-----------------------------------------------*----------------------*----------------------------------*---------*
| K8S_TESTER_ADD_ON_CSI_EFS_ENABLE              | SETTABLE VIA ENV VAR | *csi_efs.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_CSI_EFS_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *csi_efs.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_CSI_EFS_NAMESPACE           | SETTABLE VIA ENV VAR | *csi_efs.Config.Namespace        | string  |
| K8S_TESTER_ADD_ON_CSI_EFS_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *csi_efs.Config.HelmChartRepoURL | string  |
*-----------------------------------------------*----------------------*----------------------------------*---------*

*------------------------------------------------------*----------------------*-------------------------------------------*---------*
|                ENVIRONMENTAL VARIABLE                |      FIELD TYPE      |                   TYPE                    | GO TYPE |
*------------------------------------------------------*----------------------*-------------------------------------------*---------*
| K8S_TESTER_ADD_ON_KUBERNETES_DASHBOARD_ENABLE        | SETTABLE VIA ENV VAR | *kubernetes_dashboard.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_KUBERNETES_DASHBOARD_MINIMUM_NODES | SETTABLE VIA ENV VAR | *kubernetes_dashboard.Config.MinimumNodes | int     |
*------------------------------------------------------*----------------------*-------------------------------------------*---------*

*---------------------------------------------*----------------------*--------------------------------*---------*
|           ENVIRONMENTAL VARIABLE            |      FIELD TYPE      |              TYPE              | GO TYPE |
*---------------------------------------------*----------------------*--------------------------------*---------*
| K8S_TESTER_ADD_ON_FALCO_ENABLE              | SETTABLE VIA ENV VAR | *falco.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_FALCO_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *falco.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_FALCO_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *falco.Config.HelmChartRepoURL | string  |
| K8S_TESTER_ADD_ON_FALCO_NAMESPACE           | SETTABLE VIA ENV VAR | *falco.Config.Namespace        | string  |
*---------------------------------------------*----------------------*--------------------------------*---------*

*-----------------------------------------------*----------------------*-----------------------------------*---------*
|            ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |               TYPE                | GO TYPE |
*-----------------------------------------------*----------------------*-----------------------------------*---------*
| K8S_TESTER_ADD_ON_FALCON_ENABLE               | SETTABLE VIA ENV VAR | *falcon.Config.Enable             | bool    |
| K8S_TESTER_ADD_ON_FALCON_FALCON_CLIENT_ID     | SETTABLE VIA ENV VAR | *falcon.Config.FalconClientId     | string  |
| K8S_TESTER_ADD_ON_FALCON_FALCON_CLIENT_SECRET | SETTABLE VIA ENV VAR | *falcon.Config.FalconClientSecret | string  |
*-----------------------------------------------*----------------------*-----------------------------------*---------*

*-------------------------------------------------------*----------------------*-------------------------------------------*-------------------*
|                ENVIRONMENTAL VARIABLE                 |      FIELD TYPE      |                   TYPE                    |      GO TYPE      |
*-------------------------------------------------------*----------------------*-------------------------------------------*-------------------*
| K8S_TESTER_ADD_ON_PHP_APACHE_ENABLE                   | SETTABLE VIA ENV VAR | *php_apache.Config.Enable                 | bool              |
| K8S_TESTER_ADD_ON_PHP_APACHE_MINIMUM_NODES            | SETTABLE VIA ENV VAR | *php_apache.Config.MinimumNodes           | int               |
| K8S_TESTER_ADD_ON_PHP_APACHE_NAMESPACE                | SETTABLE VIA ENV VAR | *php_apache.Config.Namespace              | string            |
| K8S_TESTER_ADD_ON_PHP_APACHE_DEPLOYMENT_NODE_SELECTOR | SETTABLE VIA ENV VAR | *php_apache.Config.DeploymentNodeSelector | map[string]string |
| K8S_TESTER_ADD_ON_PHP_APACHE_DEPLOYMENT_REPLICAS      | SETTABLE VIA ENV VAR | *php_apache.Config.DeploymentReplicas     | int32             |
*-------------------------------------------------------*----------------------*-------------------------------------------*-------------------*

*----------------------------------------------------*----------------------*---------------------------*---------*
|               ENVIRONMENTAL VARIABLE               |      FIELD TYPE      |           TYPE            | GO TYPE |
*----------------------------------------------------*----------------------*---------------------------*---------*
| K8S_TESTER_ADD_ON_PHP_APACHE_REPOSITORY_PARTITION  | SETTABLE VIA ENV VAR | *ecr.Repository.Partition | string  |
| K8S_TESTER_ADD_ON_PHP_APACHE_REPOSITORY_ACCOUNT_ID | SETTABLE VIA ENV VAR | *ecr.Repository.AccountID | string  |
| K8S_TESTER_ADD_ON_PHP_APACHE_REPOSITORY_REGION     | SETTABLE VIA ENV VAR | *ecr.Repository.Region    | string  |
| K8S_TESTER_ADD_ON_PHP_APACHE_REPOSITORY_NAME       | SETTABLE VIA ENV VAR | *ecr.Repository.Name      | string  |
| K8S_TESTER_ADD_ON_PHP_APACHE_REPOSITORY_IMAGE_TAG  | SETTABLE VIA ENV VAR | *ecr.Repository.ImageTag  | string  |
*----------------------------------------------------*----------------------*---------------------------*---------*

*----------------------------------------------------------*----------------------*----------------------------------------------*-------------------*
|                  ENVIRONMENTAL VARIABLE                  |      FIELD TYPE      |                     TYPE                     |      GO TYPE      |
*----------------------------------------------------------*----------------------*----------------------------------------------*-------------------*
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_ENABLE                   | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.Enable                 | bool              |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_ACCOUNT_ID               | READ-ONLY            | *nlb_guestbook.Config.AccountID              | string            |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_PARTITION                | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.Partition              | string            |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_REGION                   | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.Region                 | string            |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_MINIMUM_NODES            | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.MinimumNodes           | int               |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_NAMESPACE                | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.Namespace              | string            |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_DEPLOYMENT_NODE_SELECTOR | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.DeploymentNodeSelector | map[string]string |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_DEPLOYMENT_REPLICAS      | SETTABLE VIA ENV VAR | *nlb_guestbook.Config.DeploymentReplicas     | int32             |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_ELB_ARN                  | READ-ONLY            | *nlb_guestbook.Config.ELBARN                 | string            |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_ELB_NAME                 | READ-ONLY            | *nlb_guestbook.Config.ELBName                | string            |
| K8S_TESTER_ADD_ON_NLB_GUESTBOOK_ELB_URL                  | READ-ONLY            | *nlb_guestbook.Config.ELBURL                 | string            |
*----------------------------------------------------------*----------------------*----------------------------------------------*-------------------*

*------------------------------------------------------------*----------------------*------------------------------------------------*-------------------*
|                   ENVIRONMENTAL VARIABLE                   |      FIELD TYPE      |                      TYPE                      |      GO TYPE      |
*------------------------------------------------------------*----------------------*------------------------------------------------*-------------------*
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_ENABLE                   | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.Enable                 | bool              |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_ACCOUNT_ID               | READ-ONLY            | *nlb_hello_world.Config.AccountID              | string            |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_PARTITION                | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.Partition              | string            |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_REGION                   | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.Region                 | string            |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_MINIMUM_NODES            | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.MinimumNodes           | int               |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_NAMESPACE                | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.Namespace              | string            |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_DEPLOYMENT_NODE_SELECTOR | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.DeploymentNodeSelector | map[string]string |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_DEPLOYMENT_REPLICAS      | SETTABLE VIA ENV VAR | *nlb_hello_world.Config.DeploymentReplicas     | int32             |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_ELB_ARN                  | READ-ONLY            | *nlb_hello_world.Config.ELBARN                 | string            |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_ELB_NAME                 | READ-ONLY            | *nlb_hello_world.Config.ELBName                | string            |
| K8S_TESTER_ADD_ON_NLB_HELLO_WORLD_ELB_URL                  | READ-ONLY            | *nlb_hello_world.Config.ELBURL                 | string            |
*------------------------------------------------------------*----------------------*------------------------------------------------*-------------------*

*-------------------------------------------*----------------------*--------------------------------*---------*
|          ENVIRONMENTAL VARIABLE           |      FIELD TYPE      |              TYPE              | GO TYPE |
*-------------------------------------------*----------------------*--------------------------------*---------*
| K8S_TESTER_ADD_ON_WORDPRESS_ENABLE        | SETTABLE VIA ENV VAR | *wordpress.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_WORDPRESS_ACCOUNT_ID    | READ-ONLY            | *wordpress.Config.AccountID    | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_PARTITION     | SETTABLE VIA ENV VAR | *wordpress.Config.Partition    | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_REGION        | SETTABLE VIA ENV VAR | *wordpress.Config.Region       | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_MINIMUM_NODES | SETTABLE VIA ENV VAR | *wordpress.Config.MinimumNodes | int     |
| K8S_TESTER_ADD_ON_WORDPRESS_NAMESPACE     | SETTABLE VIA ENV VAR | *wordpress.Config.Namespace    | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_USER_NAME     | SETTABLE VIA ENV VAR | *wordpress.Config.UserName     | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_PASSWORD      | SETTABLE VIA ENV VAR | *wordpress.Config.Password     | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_ELB_ARN       | READ-ONLY            | *wordpress.Config.ELBARN       | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_ELB_NAME      | READ-ONLY            | *wordpress.Config.ELBName      | string  |
| K8S_TESTER_ADD_ON_WORDPRESS_ELB_URL       | READ-ONLY            | *wordpress.Config.ELBURL       | string  |
*-------------------------------------------*----------------------*--------------------------------*---------*

*---------------------------------------------*----------------------*--------------------------------*---------*
|           ENVIRONMENTAL VARIABLE            |      FIELD TYPE      |              TYPE              | GO TYPE |
*---------------------------------------------*----------------------*--------------------------------*---------*
| K8S_TESTER_ADD_ON_VAULT_ENABLE              | SETTABLE VIA ENV VAR | *vault.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_VAULT_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *vault.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_VAULT_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *vault.Config.HelmChartRepoURL | string  |
| K8S_TESTER_ADD_ON_VAULT_NAMESPACE           | SETTABLE VIA ENV VAR | *vault.Config.Namespace        | string  |
*---------------------------------------------*----------------------*--------------------------------*---------*

*-----------------------------------------*----------------------*------------------------------*---------*
|         ENVIRONMENTAL VARIABLE          |      FIELD TYPE      |             TYPE             | GO TYPE |
*-----------------------------------------*----------------------*------------------------------*---------*
| K8S_TESTER_ADD_ON_JOBS_PI_ENABLE        | SETTABLE VIA ENV VAR | *jobs_pi.Config.Enable       | bool    |
| K8S_TESTER_ADD_ON_JOBS_PI_MINIMUM_NODES | SETTABLE VIA ENV VAR | *jobs_pi.Config.MinimumNodes | int     |
| K8S_TESTER_ADD_ON_JOBS_PI_NAMESPACE     | SETTABLE VIA ENV VAR | *jobs_pi.Config.Namespace    | string  |
| K8S_TESTER_ADD_ON_JOBS_PI_COMPLETES     | SETTABLE VIA ENV VAR | *jobs_pi.Config.Completes    | int32   |
| K8S_TESTER_ADD_ON_JOBS_PI_PARALLELS     | SETTABLE VIA ENV VAR | *jobs_pi.Config.Parallels    | int32   |
*-----------------------------------------*----------------------*------------------------------*---------*

*-----------------------------------------------------------*----------------------*----------------------------------------------*---------*
|                  ENVIRONMENTAL VARIABLE                   |      FIELD TYPE      |                     TYPE                     | GO TYPE |
*-----------------------------------------------------------*----------------------*----------------------------------------------*---------*
| K8S_TESTER_ADD_ON_JOBS_ECHO_ENABLE                        | SETTABLE VIA ENV VAR | *jobs_echo.Config.Enable                     | bool    |
| K8S_TESTER_ADD_ON_JOBS_ECHO_MINIMUM_NODES                 | SETTABLE VIA ENV VAR | *jobs_echo.Config.MinimumNodes               | int     |
| K8S_TESTER_ADD_ON_JOBS_ECHO_NAMESPACE                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.Namespace                  | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_JOB_TYPE                      | SETTABLE VIA ENV VAR | *jobs_echo.Config.JobType                    | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_COMPLETES                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.Completes                  | int32   |
| K8S_TESTER_ADD_ON_JOBS_ECHO_PARALLELS                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.Parallels                  | int32   |
| K8S_TESTER_ADD_ON_JOBS_ECHO_ECHO_SIZE                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.EchoSize                   | int32   |
| K8S_TESTER_ADD_ON_JOBS_ECHO_SCHEDULE                      | SETTABLE VIA ENV VAR | *jobs_echo.Config.Schedule                   | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_SUCCESSFUL_JOBS_HISTORY_LIMIT | SETTABLE VIA ENV VAR | *jobs_echo.Config.SuccessfulJobsHistoryLimit | int32   |
| K8S_TESTER_ADD_ON_JOBS_ECHO_FAILED_JOBS_HISTORY_LIMIT     | SETTABLE VIA ENV VAR | *jobs_echo.Config.FailedJobsHistoryLimit     | int32   |
*-----------------------------------------------------------*----------------------*----------------------------------------------*---------*

*---------------------------------------------------*----------------------*---------------------------*---------*
|              ENVIRONMENTAL VARIABLE               |      FIELD TYPE      |           TYPE            | GO TYPE |
*---------------------------------------------------*----------------------*---------------------------*---------*
| K8S_TESTER_ADD_ON_JOBS_ECHO_REPOSITORY_PARTITION  | SETTABLE VIA ENV VAR | *ecr.Repository.Partition | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_REPOSITORY_ACCOUNT_ID | SETTABLE VIA ENV VAR | *ecr.Repository.AccountID | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_REPOSITORY_REGION     | SETTABLE VIA ENV VAR | *ecr.Repository.Region    | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_REPOSITORY_NAME       | SETTABLE VIA ENV VAR | *ecr.Repository.Name      | string  |
| K8S_TESTER_ADD_ON_JOBS_ECHO_REPOSITORY_IMAGE_TAG  | SETTABLE VIA ENV VAR | *ecr.Repository.ImageTag  | string  |
*---------------------------------------------------*----------------------*---------------------------*---------*

*----------------------------------------------------------------*----------------------*----------------------------------------------*---------*
|                     ENVIRONMENTAL VARIABLE                     |      FIELD TYPE      |                     TYPE                     | GO TYPE |
*----------------------------------------------------------------*----------------------*----------------------------------------------*---------*
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_ENABLE                        | SETTABLE VIA ENV VAR | *jobs_echo.Config.Enable                     | bool    |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_MINIMUM_NODES                 | SETTABLE VIA ENV VAR | *jobs_echo.Config.MinimumNodes               | int     |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_NAMESPACE                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.Namespace                  | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_JOB_TYPE                      | SETTABLE VIA ENV VAR | *jobs_echo.Config.JobType                    | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_COMPLETES                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.Completes                  | int32   |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_PARALLELS                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.Parallels                  | int32   |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_ECHO_SIZE                     | SETTABLE VIA ENV VAR | *jobs_echo.Config.EchoSize                   | int32   |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_SCHEDULE                      | SETTABLE VIA ENV VAR | *jobs_echo.Config.Schedule                   | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_SUCCESSFUL_JOBS_HISTORY_LIMIT | SETTABLE VIA ENV VAR | *jobs_echo.Config.SuccessfulJobsHistoryLimit | int32   |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_FAILED_JOBS_HISTORY_LIMIT     | SETTABLE VIA ENV VAR | *jobs_echo.Config.FailedJobsHistoryLimit     | int32   |
*----------------------------------------------------------------*----------------------*----------------------------------------------*---------*

*--------------------------------------------------------*----------------------*---------------------------*---------*
|                 ENVIRONMENTAL VARIABLE                 |      FIELD TYPE      |           TYPE            | GO TYPE |
*--------------------------------------------------------*----------------------*---------------------------*---------*
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_REPOSITORY_PARTITION  | SETTABLE VIA ENV VAR | *ecr.Repository.Partition | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_REPOSITORY_ACCOUNT_ID | SETTABLE VIA ENV VAR | *ecr.Repository.AccountID | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_REPOSITORY_REGION     | SETTABLE VIA ENV VAR | *ecr.Repository.Region    | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_REPOSITORY_NAME       | SETTABLE VIA ENV VAR | *ecr.Repository.Name      | string  |
| K8S_TESTER_ADD_ON_CRON_JOBS_ECHO_REPOSITORY_IMAGE_TAG  | SETTABLE VIA ENV VAR | *ecr.Repository.ImageTag  | string  |
*--------------------------------------------------------*----------------------*---------------------------*---------*

*-------------------------------------------------------*----------------------*------------------------------------------*-----------------*
|                ENVIRONMENTAL VARIABLE                 |      FIELD TYPE      |                   TYPE                   |     GO TYPE     |
*-------------------------------------------------------*----------------------*------------------------------------------*-----------------*
| K8S_TESTER_ADD_ON_CSRS_ENABLE                         | SETTABLE VIA ENV VAR | *csrs.Config.Enable                      | bool            |
| K8S_TESTER_ADD_ON_CSRS_MINIMUM_NODES                  | SETTABLE VIA ENV VAR | *csrs.Config.MinimumNodes                | int             |
| K8S_TESTER_ADD_ON_CSRS_OBJECTS                        | SETTABLE VIA ENV VAR | *csrs.Config.Objects                     | int             |
| K8S_TESTER_ADD_ON_CSRS_INITIAL_REQUEST_CONDITION_TYPE | SETTABLE VIA ENV VAR | *csrs.Config.InitialRequestConditionType | string          |
| K8S_TESTER_ADD_ON_CSRS_LATENCY_SUMMARY                | READ-ONLY            | *csrs.Config.LatencySummary              | latency.Summary |
*-------------------------------------------------------*----------------------*------------------------------------------*-----------------*

*----------------------------------------------*----------------------*-----------------------------------*-----------------*
|            ENVIRONMENTAL VARIABLE            |      FIELD TYPE      |               TYPE                |     GO TYPE     |
*----------------------------------------------*----------------------*-----------------------------------*-----------------*
| K8S_TESTER_ADD_ON_CONFIGMAPS_ENABLE          | SETTABLE VIA ENV VAR | *configmaps.Config.Enable         | bool            |
| K8S_TESTER_ADD_ON_CONFIGMAPS_MINIMUM_NODES   | SETTABLE VIA ENV VAR | *configmaps.Config.MinimumNodes   | int             |
| K8S_TESTER_ADD_ON_CONFIGMAPS_NAMESPACE       | SETTABLE VIA ENV VAR | *configmaps.Config.Namespace      | string          |
| K8S_TESTER_ADD_ON_CONFIGMAPS_OBJECTS         | SETTABLE VIA ENV VAR | *configmaps.Config.Objects        | int             |
| K8S_TESTER_ADD_ON_CONFIGMAPS_OBJECT_SIZE     | SETTABLE VIA ENV VAR | *configmaps.Config.ObjectSize     | int             |
| K8S_TESTER_ADD_ON_CONFIGMAPS_LATENCY_SUMMARY | READ-ONLY            | *configmaps.Config.LatencySummary | latency.Summary |
*----------------------------------------------*----------------------*-----------------------------------*-----------------*

*-------------------------------------------*----------------------*--------------------------------*-----------------*
|          ENVIRONMENTAL VARIABLE           |      FIELD TYPE      |              TYPE              |     GO TYPE     |
*-------------------------------------------*----------------------*--------------------------------*-----------------*
| K8S_TESTER_ADD_ON_SECRETS_ENABLE          | SETTABLE VIA ENV VAR | *secrets.Config.Enable         | bool            |
| K8S_TESTER_ADD_ON_SECRETS_MINIMUM_NODES   | SETTABLE VIA ENV VAR | *secrets.Config.MinimumNodes   | int             |
| K8S_TESTER_ADD_ON_SECRETS_NAMESPACE       | SETTABLE VIA ENV VAR | *secrets.Config.Namespace      | string          |
| K8S_TESTER_ADD_ON_SECRETS_OBJECTS         | SETTABLE VIA ENV VAR | *secrets.Config.Objects        | int             |
| K8S_TESTER_ADD_ON_SECRETS_OBJECT_SIZE     | SETTABLE VIA ENV VAR | *secrets.Config.ObjectSize     | int             |
| K8S_TESTER_ADD_ON_SECRETS_LATENCY_SUMMARY | READ-ONLY            | *secrets.Config.LatencySummary | latency.Summary |
*-------------------------------------------*----------------------*--------------------------------*-----------------*

*-------------------------------------------------------------*----------------------*------------------------------------------------*------------------------*
|                   ENVIRONMENTAL VARIABLE                    |      FIELD TYPE      |                      TYPE                      |        GO TYPE         |
*-------------------------------------------------------------*----------------------*------------------------------------------------*------------------------*
| K8S_TESTER_ADD_ON_CLUSTERLOADER_ENABLE                      | SETTABLE VIA ENV VAR | *clusterloader.Config.Enable                   | bool                   |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_MINIMUM_NODES               | SETTABLE VIA ENV VAR | *clusterloader.Config.MinimumNodes             | int                    |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_CLUSTERLOADER_PATH          | SETTABLE VIA ENV VAR | *clusterloader.Config.ClusterloaderPath        | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_CLUSTERLOADER_DOWNLOAD_URL  | SETTABLE VIA ENV VAR | *clusterloader.Config.ClusterloaderDownloadURL | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_PROVIDER                    | SETTABLE VIA ENV VAR | *clusterloader.Config.Provider                 | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_RUNS                        | SETTABLE VIA ENV VAR | *clusterloader.Config.Runs                     | int                    |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_RUN_TIMEOUT                 | SETTABLE VIA ENV VAR | *clusterloader.Config.RunTimeout               | time.Duration          |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_RUN_TIMEOUT_STRING          | READ-ONLY            | *clusterloader.Config.RunTimeoutString         | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_CONFIG_PATH            | SETTABLE VIA ENV VAR | *clusterloader.Config.TestConfigPath           | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_RUN_FROM_CLUSTER            | SETTABLE VIA ENV VAR | *clusterloader.Config.RunFromCluster           | bool                   |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_NODES                       | SETTABLE VIA ENV VAR | *clusterloader.Config.Nodes                    | int                    |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_ENABLE_EXEC_SERVICE         | SETTABLE VIA ENV VAR | *clusterloader.Config.EnableExecService        | bool                   |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_REPORT_DIR             | READ-ONLY            | *clusterloader.Config.TestReportDir            | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_REPORT_DIR_TAR_GZ_PATH | READ-ONLY            | *clusterloader.Config.TestReportDirTarGzPath   | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_LOG_PATH               | READ-ONLY            | *clusterloader.Config.TestLogPath              | string                 |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_POD_STARTUP_LATENCY         | READ-ONLY            | *clusterloader.Config.PodStartupLatency        | clusterloader.PerfData |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_POD_STARTUP_LATENCY_PATH    | READ-ONLY            | *clusterloader.Config.PodStartupLatencyPath    | string                 |
*-------------------------------------------------------------*----------------------*------------------------------------------------*------------------------*

*----------------------------------------------------------------------------------*----------------------*-------------------------------------------------------------*---------*
|                              ENVIRONMENTAL VARIABLE                              |      FIELD TYPE      |                            TYPE                             | GO TYPE |
*----------------------------------------------------------------------------------*----------------------*-------------------------------------------------------------*---------*
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_PATH                               | READ-ONLY            | *clusterloader.TestOverride.Path                            | string  |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_NODES_PER_NAMESPACE                | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.NodesPerNamespace               | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_PODS_PER_NODE                      | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.PodsPerNode                     | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_BIG_GROUP_SIZE                     | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.BigGroupSize                    | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_MEDIUM_GROUP_SIZE                  | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.MediumGroupSize                 | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_SMALL_GROUP_SIZE                   | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.SmallGroupSize                  | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_SMALL_STATEFUL_SETS_PER_NAMESPACE  | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.SmallStatefulSetsPerNamespace   | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_MEDIUM_STATEFUL_SETS_PER_NAMESPACE | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.MediumStatefulSetsPerNamespace  | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_CL2_USE_HOST_NETWORK_PODS          | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.CL2UseHostNetworkPods           | bool    |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_CL2_LOAD_TEST_THROUGHPUT           | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.CL2LoadTestThroughput           | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_CL2_ENABLE_PVS                     | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.CL2EnablePVS                    | bool    |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_CL2_SCHEDULER_THROUGHPUT_THRESHOLD | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.CL2SchedulerThroughputThreshold | int     |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_PROMETHEUS_SCRAPE_KUBE_PROXY       | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.PrometheusScrapeKubeProxy       | bool    |
| K8S_TESTER_ADD_ON_CLUSTERLOADER_TEST_OVERRIDE_ENABLE_SYSTEM_POD_METRICS          | SETTABLE VIA ENV VAR | *clusterloader.TestOverride.EnableSystemPodMetrics          | bool    |
*----------------------------------------------------------------------------------*----------------------*-------------------------------------------------------------*---------*

*-----------------------------------------------------*----------------------*----------------------------------------*-----------------*
|               ENVIRONMENTAL VARIABLE                |      FIELD TYPE      |                  TYPE                  |     GO TYPE     |
*-----------------------------------------------------*----------------------*----------------------------------------*-----------------*
| K8S_TESTER_ADD_ON_STRESS_ENABLE                     | SETTABLE VIA ENV VAR | *stress.Config.Enable                  | bool            |
| K8S_TESTER_ADD_ON_STRESS_MINIMUM_NODES              | SETTABLE VIA ENV VAR | *stress.Config.MinimumNodes            | int             |
| K8S_TESTER_ADD_ON_STRESS_NAMESPACE                  | SETTABLE VIA ENV VAR | *stress.Config.Namespace               | string          |
| K8S_TESTER_ADD_ON_STRESS_SKIP_NAMESPACE_CREATION    | SETTABLE VIA ENV VAR | *stress.Config.SkipNamespaceCreation   | bool            |
| K8S_TESTER_ADD_ON_STRESS_ECR_BUSYBOX_IMAGE          | SETTABLE VIA ENV VAR | *stress.Config.ECRBusyboxImage         | string          |
| K8S_TESTER_ADD_ON_STRESS_RUN_TIMEOUT                | SETTABLE VIA ENV VAR | *stress.Config.RunTimeout              | time.Duration   |
| K8S_TESTER_ADD_ON_STRESS_RUN_TIMEOUT_STRING         | READ-ONLY            | *stress.Config.RunTimeoutString        | string          |
| K8S_TESTER_ADD_ON_STRESS_OBJECT_KEY_PREFIX          | SETTABLE VIA ENV VAR | *stress.Config.ObjectKeyPrefix         | string          |
| K8S_TESTER_ADD_ON_STRESS_OBJECTS                    | SETTABLE VIA ENV VAR | *stress.Config.Objects                 | int             |
| K8S_TESTER_ADD_ON_STRESS_OBJECT_SIZE                | SETTABLE VIA ENV VAR | *stress.Config.ObjectSize              | int             |
| K8S_TESTER_ADD_ON_STRESS_UPDATE_CONCURRENCY         | SETTABLE VIA ENV VAR | *stress.Config.UpdateConcurrency       | int             |
| K8S_TESTER_ADD_ON_STRESS_LIST_BATCH_LIMIT           | SETTABLE VIA ENV VAR | *stress.Config.ListBatchLimit          | int64           |
| K8S_TESTER_ADD_ON_STRESS_LATENCY_SUMMARY_WRITES     | READ-ONLY            | *stress.Config.LatencySummaryWrites    | latency.Summary |
| K8S_TESTER_ADD_ON_STRESS_LATENCY_SUMMARY_GETS       | READ-ONLY            | *stress.Config.LatencySummaryGets      | latency.Summary |
| K8S_TESTER_ADD_ON_STRESS_LATENCY_SUMMARY_RANGE_GETS | READ-ONLY            | *stress.Config.LatencySummaryRangeGets | latency.Summary |
*-----------------------------------------------------*----------------------*----------------------------------------*-----------------*

*------------------------------------------------*----------------------*---------------------------*---------*
|             ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |           TYPE            | GO TYPE |
*------------------------------------------------*----------------------*---------------------------*---------*
| K8S_TESTER_ADD_ON_STRESS_REPOSITORY_PARTITION  | SETTABLE VIA ENV VAR | *ecr.Repository.Partition | string  |
| K8S_TESTER_ADD_ON_STRESS_REPOSITORY_ACCOUNT_ID | SETTABLE VIA ENV VAR | *ecr.Repository.AccountID | string  |
| K8S_TESTER_ADD_ON_STRESS_REPOSITORY_REGION     | SETTABLE VIA ENV VAR | *ecr.Repository.Region    | string  |
| K8S_TESTER_ADD_ON_STRESS_REPOSITORY_NAME       | SETTABLE VIA ENV VAR | *ecr.Repository.Name      | string  |
| K8S_TESTER_ADD_ON_STRESS_REPOSITORY_IMAGE_TAG  | SETTABLE VIA ENV VAR | *ecr.Repository.ImageTag  | string  |
*------------------------------------------------*----------------------*---------------------------*---------*

*-------------------------------------------------------------------*----------------------*-----------------------------------------------*---------*
|                      ENVIRONMENTAL VARIABLE                       |      FIELD TYPE      |                     TYPE                      | GO TYPE |
*-------------------------------------------------------------------*----------------------*-----------------------------------------------*---------*
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_ENABLE                        | SETTABLE VIA ENV VAR | *in_cluster.Config.Enable                     | bool    |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_MINIMUM_NODES                 | SETTABLE VIA ENV VAR | *in_cluster.Config.MinimumNodes               | int     |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_NAMESPACE                     | SETTABLE VIA ENV VAR | *in_cluster.Config.Namespace                  | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_COMPLETES                     | SETTABLE VIA ENV VAR | *in_cluster.Config.Completes                  | int32   |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_PARALLELS                     | SETTABLE VIA ENV VAR | *in_cluster.Config.Parallels                  | int32   |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_SCHEDULE                      | SETTABLE VIA ENV VAR | *in_cluster.Config.Schedule                   | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_SUCCESSFUL_JOBS_HISTORY_LIMIT | SETTABLE VIA ENV VAR | *in_cluster.Config.SuccessfulJobsHistoryLimit | int32   |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_FAILED_JOBS_HISTORY_LIMIT     | SETTABLE VIA ENV VAR | *in_cluster.Config.FailedJobsHistoryLimit     | int32   |
*-------------------------------------------------------------------*----------------------*-----------------------------------------------*---------*

*-----------------------------------------------------------------------------*----------------------*---------------------------*---------*
|                           ENVIRONMENTAL VARIABLE                            |      FIELD TYPE      |           TYPE            | GO TYPE |
*-----------------------------------------------------------------------------*----------------------*---------------------------*---------*
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_REPOSITORY_PARTITION  | SETTABLE VIA ENV VAR | *ecr.Repository.Partition | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_REPOSITORY_ACCOUNT_ID | SETTABLE VIA ENV VAR | *ecr.Repository.AccountID | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_REPOSITORY_REGION     | SETTABLE VIA ENV VAR | *ecr.Repository.Region    | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_REPOSITORY_NAME       | SETTABLE VIA ENV VAR | *ecr.Repository.Name      | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_REPOSITORY_IMAGE_TAG  | SETTABLE VIA ENV VAR | *ecr.Repository.ImageTag  | string  |
*-----------------------------------------------------------------------------*----------------------*---------------------------*---------*

*------------------------------------------------------------------------------*----------------------*--------------------------------------------------*---------------*
|                            ENVIRONMENTAL VARIABLE                            |      FIELD TYPE      |                       TYPE                       |    GO TYPE    |
*------------------------------------------------------------------------------*----------------------*--------------------------------------------------*---------------*
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_RUN_TIMEOUT        | SETTABLE VIA ENV VAR | *in_cluster.K8sTesterStressCLI.RunTimeout        | time.Duration |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_RUN_TIMEOUT_STRING | READ-ONLY            | *in_cluster.K8sTesterStressCLI.RunTimeoutString  | string        |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_OBJECT_KEY_PREFIX  | SETTABLE VIA ENV VAR | *in_cluster.K8sTesterStressCLI.ObjectKeyPrefix   | string        |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_OBJECTS            | SETTABLE VIA ENV VAR | *in_cluster.K8sTesterStressCLI.Objects           | int           |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_OBJECT_SIZE        | SETTABLE VIA ENV VAR | *in_cluster.K8sTesterStressCLI.ObjectSize        | int           |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_UPDATE_CONCURRENCY | SETTABLE VIA ENV VAR | *in_cluster.K8sTesterStressCLI.UpdateConcurrency | int           |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_LIST_BATCH_LIMIT   | SETTABLE VIA ENV VAR | *in_cluster.K8sTesterStressCLI.ListBatchLimit    | int64         |
*------------------------------------------------------------------------------*----------------------*--------------------------------------------------*---------------*

*-----------------------------------------------------------------------------------------*----------------------*---------------------------*---------*
|                                 ENVIRONMENTAL VARIABLE                                  |      FIELD TYPE      |           TYPE            | GO TYPE |
*-----------------------------------------------------------------------------------------*----------------------*---------------------------*---------*
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_BUSYBOX_REPOSITORY_PARTITION  | SETTABLE VIA ENV VAR | *ecr.Repository.Partition | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_BUSYBOX_REPOSITORY_ACCOUNT_ID | SETTABLE VIA ENV VAR | *ecr.Repository.AccountID | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_BUSYBOX_REPOSITORY_REGION     | SETTABLE VIA ENV VAR | *ecr.Repository.Region    | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_BUSYBOX_REPOSITORY_NAME       | SETTABLE VIA ENV VAR | *ecr.Repository.Name      | string  |
| K8S_TESTER_ADD_ON_STRESS_IN_CLUSTER_K8S_TESTER_STRESS_CLI_BUSYBOX_REPOSITORY_IMAGE_TAG  | SETTABLE VIA ENV VAR | *ecr.Repository.ImageTag  | string  |
*-----------------------------------------------------------------------------------------*----------------------*---------------------------*---------*

*--------------------------------------------*----------------------*-------------------------------*---------*
|           ENVIRONMENTAL VARIABLE           |      FIELD TYPE      |             TYPE              | GO TYPE |
*--------------------------------------------*----------------------*-------------------------------*---------*
| K8S_TESTER_ADD_ON_AQUA_ENABLE              | SETTABLE VIA ENV VAR | *aqua.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_AQUA_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *aqua.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_AQUA_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *aqua.Config.HelmChartRepoURL | string  |
| K8S_TESTER_ADD_ON_AQUA_NAMESPACE           | SETTABLE VIA ENV VAR | *aqua.Config.Namespace        | string  |
| K8S_TESTER_ADD_ON_AQUA_AQUA_LICENSE        | SETTABLE VIA ENV VAR | *aqua.Config.AquaLicense      | string  |
| K8S_TESTER_ADD_ON_AQUA_AQUA_USERNAME       | SETTABLE VIA ENV VAR | *aqua.Config.AquaUsername     | string  |
| K8S_TESTER_ADD_ON_AQUA_AQUA_PASSWORD       | SETTABLE VIA ENV VAR | *aqua.Config.AquaPassword     | string  |
*--------------------------------------------*----------------------*-------------------------------*---------*

*----------------------------------------------*----------------------*---------------------------------*---------*
|            ENVIRONMENTAL VARIABLE            |      FIELD TYPE      |              TYPE               | GO TYPE |
*----------------------------------------------*----------------------*---------------------------------*---------*
| K8S_TESTER_ADD_ON_ARMORY_ENABLE              | SETTABLE VIA ENV VAR | *armory.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_ARMORY_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *armory.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_ARMORY_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *armory.Config.HelmChartRepoURL | string  |
| K8S_TESTER_ADD_ON_ARMORY_NAMESPACE           | SETTABLE VIA ENV VAR | *armory.Config.Namespace        | string  |
*----------------------------------------------*----------------------*---------------------------------*---------*

*-----------------------------------------------*----------------------*-----------------------------------*---------*
|            ENVIRONMENTAL VARIABLE             |      FIELD TYPE      |               TYPE                | GO TYPE |
*-----------------------------------------------*----------------------*-----------------------------------*---------*
| K8S_TESTER_ADD_ON_EPSAGON_ENABLE              | SETTABLE VIA ENV VAR | *epsagon.Config.Enable            | bool    |
| K8S_TESTER_ADD_ON_EPSAGON_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *epsagon.Config.MinimumNodes      | int     |
| K8S_TESTER_ADD_ON_EPSAGON_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *epsagon.Config.HelmChartRepoURL  | string  |
| K8S_TESTER_ADD_ON_EPSAGON_NAMESPACE           | SETTABLE VIA ENV VAR | *epsagon.Config.Namespace         | string  |
| K8S_TESTER_ADD_ON_EPSAGON_COLLECTOR_ENDPOINT  | SETTABLE VIA ENV VAR | *epsagon.Config.CollectorEndpoint | string  |
| K8S_TESTER_ADD_ON_EPSAGON_API_TOKEN           | SETTABLE VIA ENV VAR | *epsagon.Config.APIToken          | string  |
| K8S_TESTER_ADD_ON_EPSAGON_CLUSTER_NAME        | SETTABLE VIA ENV VAR | *epsagon.Config.ClusterName       | string  |
*-----------------------------------------------*----------------------*-----------------------------------*---------*

*----------------------------------------------*----------------------*----------------------------------*---------*
|            ENVIRONMENTAL VARIABLE            |      FIELD TYPE      |               TYPE               | GO TYPE |
*----------------------------------------------*----------------------*----------------------------------*---------*
| K8S_TESTER_ADD_ON_SYSDIG_ENABLE              | SETTABLE VIA ENV VAR | *sysdig.Config.Enable            | bool    |
| K8S_TESTER_ADD_ON_SYSDIG_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *sysdig.Config.MinimumNodes      | int     |
| K8S_TESTER_ADD_ON_SYSDIG_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *sysdig.Config.HelmChartRepoURL  | string  |
| K8S_TESTER_ADD_ON_SYSDIG_NAMESPACE           | SETTABLE VIA ENV VAR | *sysdig.Config.Namespace         | string  |
| K8S_TESTER_ADD_ON_SYSDIG_ACCESS_KEY          | SETTABLE VIA ENV VAR | *sysdig.Config.AccessKey         | string  |
| K8S_TESTER_ADD_ON_SYSDIG_COLLECTOR_ENDPOINT  | SETTABLE VIA ENV VAR | *sysdig.Config.CollectorEndpoint | string  |
*----------------------------------------------*----------------------*----------------------------------*---------*

*----------------------------------------------*----------------------*---------------------------------*---------*
|            ENVIRONMENTAL VARIABLE            |      FIELD TYPE      |              TYPE               | GO TYPE |
*----------------------------------------------*----------------------*---------------------------------*---------*
| K8S_TESTER_ADD_ON_SPLUNK_ENABLE              | SETTABLE VIA ENV VAR | *splunk.Config.Enable           | bool    |
| K8S_TESTER_ADD_ON_SPLUNK_MINIMUM_NODES       | SETTABLE VIA ENV VAR | *splunk.Config.MinimumNodes     | int     |
| K8S_TESTER_ADD_ON_SPLUNK_HELM_CHART_REPO_URL | SETTABLE VIA ENV VAR | *splunk.Config.HelmChartRepoURL | string  |
| K8S_TESTER_ADD_ON_SPLUNK_NAMESPACE           | SETTABLE VIA ENV VAR | *splunk.Config.Namespace        | string  |
| K8S_TESTER_ADD_ON_SPLUNK_ACCESS_KEY          | SETTABLE VIA ENV VAR | *splunk.Config.AccessKey        | string  |
| K8S_TESTER_ADD_ON_SPLUNK_SPLUNK_REALM        | SETTABLE VIA ENV VAR | *splunk.Config.SplunkRealm      | string  |
*----------------------------------------------*----------------------*---------------------------------*---------*

Documentation

Overview

Package k8s_tester implements k8s-tester. Same run order as https://github.com/aws/aws-k8s-tester/blob/v1.5.9/eks/eks.go#L617.

Index

Constants

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

	DefaultMinimumNodes = 1
)
View Source
const ENV_PREFIX = "K8S_TESTER_"

ENV_PREFIX is the environment variable prefix.

Variables

This section is empty.

Functions

func New

func New(cfg *Config) k8s_tester.Tester

Types

type Config

type Config struct {

	// Prompt is true to enable prompt mode.
	Prompt bool `json:"prompt"`

	// ClusterName is the Kubernetes cluster name.
	ClusterName string `json:"cluster_name"`
	// ConfigPath is the configuration file path.
	ConfigPath string `json:"config_path"`

	// LogColor is true to output logs in color.
	LogColor bool `json:"log_color"`
	// LogColorOverride is not empty to override "LogColor" setting.
	// If not empty, the automatic color check is not even run and use this value instead.
	// For instance, github action worker might not support color device,
	// thus exiting color check with the exit code 1.
	// Useful to output in color in HTML based log outputs (e.g., Prow).
	// Useful to skip terminal color check when there is no color device (e.g., Github action worker).
	LogColorOverride string `json:"log_color_override"`
	// LogLevel configures log level. Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
	LogLevel string `json:"log_level"`
	// LogOutputs is a list of log outputs. Valid values are 'default', 'stderr', 'stdout', or file names.
	// Logs are appended to the existing file, if any.
	// Multiple values are accepted. If empty, it sets to 'default', which outputs to stderr.
	// See https://pkg.go.dev/go.uber.org/zap#Open and https://pkg.go.dev/go.uber.org/zap#Config for more details.
	LogOutputs []string `json:"log_outputs"`

	KubectlDownloadURL string `json:"kubectl_download_url"`
	KubectlPath        string `json:"kubectl_path"`
	KubeconfigPath     string `json:"kubeconfig_path"`
	KubeconfigContext  string `json:"kubeconfig_context"`

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

	// MinimumNodes is the minimum number of Kubernetes nodes required for installing this addon.
	MinimumNodes int `json:"minimum_nodes"`
	// TotalNodes is the total number of nodes from all node groups.
	TotalNodes int `json:"total_nodes" read-only:"true"`

	// tester order is defined as https://github.com/aws/aws-k8s-tester/blob/v1.5.9/eks/eks.go#L617
	AddOnCloudwatchAgent     *cloudwatch_agent.Config     `json:"add_on_cloudwatch_agent"`
	AddOnFluentBit           *fluent_bit.Config           `json:"add_on_fluent_bit"`
	AddOnMetricsServer       *metrics_server.Config       `json:"add_on_metrics_server"`
	AddOnKubecost            *kubecost.Config             `json:"add_on_kubecost"`
	AddOnConformance         *conformance.Config          `json:"add_on_conformance"`
	AddOnCNI                 *cni.Config                  `json:"add_on_cni"`
	AddOnCSIEBS              *csi_ebs.Config              `json:"add_on_csi_ebs"`
	AddOnCSIEFS              *csi_efs.Config              `json:"add_on_csi_efs"`
	AddOnKubernetesDashboard *kubernetes_dashboard.Config `json:"add_on_kubernetes_dashboard"`
	AddOnFalco               *falco.Config                `json:"add_on_falco"`
	AddOnFalcon              *falcon.Config               `json:"add_on_falcon"`
	AddOnPHPApache           *php_apache.Config           `json:"add_on_php_apache"`
	AddOnNLBGuestbook        *nlb_guestbook.Config        `json:"add_on_nlb_guestbook"`
	AddOnNLBHelloWorld       *nlb_hello_world.Config      `json:"add_on_nlb_hello_world"`
	AddOnWordpress           *wordpress.Config            `json:"add_on_wordpress"`
	AddOnVault               *vault.Config                `json:"add_on_vault"`
	AddOnJobsPi              *jobs_pi.Config              `json:"add_on_jobs_pi"`
	AddOnJobsEcho            *jobs_echo.Config            `json:"add_on_jobs_echo"`
	AddOnCronJobsEcho        *jobs_echo.Config            `json:"add_on_cron_jobs_echo"`
	AddOnCSRs                *csrs.Config                 `json:"add_on_csrs"`
	AddOnConfigmaps          *configmaps.Config           `json:"add_on_configmaps"`
	AddOnSecrets             *secrets.Config              `json:"add_on_secrets"`
	AddOnClusterloader       *clusterloader.Config        `json:"add_on_clusterloader"`
	AddOnStress              *stress.Config               `json:"add_on_stress"`
	AddOnStressInCluster     *stress_in_cluster.Config    `json:"add_on_stress_in_cluster"`
	AddOnAqua                *aqua.Config                 `json:"add_on_aqua"`
	AddOnArmory              *armory.Config               `json:"add_on_armory"`
	AddOnEpsagon             *epsagon.Config              `json:"add_on_epsagon"`
	AddOnSysdig              *sysdig.Config               `json:"add_on_sysdig"`
	AddOnSplunk              *splunk.Config               `json:"add_on_splunk"`
	// contains filtered or unexported fields
}

Config defines k8s-tester configurations. tester order is defined as https://github.com/aws/aws-k8s-tester/blob/v1.5.9/eks/eks.go#L617 By default, it uses the environmental variables as https://github.com/aws/aws-k8s-tester/blob/v1.5.9/eksconfig/env.go. TODO: support https://github.com/onsi/ginkgo.

func Load

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

func NewDefault

func NewDefault() *Config

func (*Config) Colorize

func (cfg *Config) Colorize(input string) string

Colorize prints colorized input, if color output is supported.

func (*Config) KubectlCommand

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) Sync

func (cfg *Config) Sync() error

Sync writes the configuration file 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.

Directories

Path Synopsis
aqua module
armory module
cmd
k8s-tester Module
readme-gen Module
cni module
configmaps module
conformance module
csi-ebs module
csi-efs module
csrs module
epsagon module
falco module
falcon module
fluent-bit module
helm module
jobs-echo module
jobs-pi module
kubecost module
php-apache module
secrets module
splunk module
stress module
sysdig module
tester module
vault module
Package version defines k8s-tester version.
Package version defines k8s-tester version.
wordpress module

Jump to

Keyboard shortcuts

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