in k8s-tester/config.go [560:950]
func (cfg *Config) UpdateFromEnvs() (err error) {
var vv interface{}
vv, err = parseEnvs(ENV_PREFIX, cfg)
if err != nil {
return err
}
if av, ok := vv.(*Config); ok {
cfg = av
} else {
return fmt.Errorf("expected *Config, got %T", vv)
}
// tester order is defined as https://github.com/aws/aws-k8s-tester/blob/v1.5.9/eks/eks.go#L617
vv, err = parseEnvs(ENV_PREFIX+cloudwatch_agent.Env()+"_", cfg.AddOnCloudwatchAgent)
if err != nil {
return err
}
if av, ok := vv.(*cloudwatch_agent.Config); ok {
cfg.AddOnCloudwatchAgent = av
} else {
return fmt.Errorf("expected *cloudwatch_agent.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+fluent_bit.Env()+"_", cfg.AddOnFluentBit)
if err != nil {
return err
}
if av, ok := vv.(*fluent_bit.Config); ok {
cfg.AddOnFluentBit = av
} else {
return fmt.Errorf("expected *fluent_bit.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+metrics_server.Env()+"_", cfg.AddOnMetricsServer)
if err != nil {
return err
}
if av, ok := vv.(*metrics_server.Config); ok {
cfg.AddOnMetricsServer = av
} else {
return fmt.Errorf("expected *metrics_server.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+kubecost.Env()+"_", cfg.AddOnKubecost)
if err != nil {
return err
}
if av, ok := vv.(*kubecost.Config); ok {
cfg.AddOnKubecost = av
} else {
return fmt.Errorf("expected *kubecost.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+cni.Env()+"_", cfg.AddOnCNI)
if err != nil {
return err
}
if av, ok := vv.(*cni.Config); ok {
cfg.AddOnCNI = av
} else {
return fmt.Errorf("expected *cni.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+conformance.Env()+"_", cfg.AddOnConformance)
if err != nil {
return err
}
if av, ok := vv.(*conformance.Config); ok {
cfg.AddOnConformance = av
} else {
return fmt.Errorf("expected *conformance.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+csi_ebs.Env()+"_", cfg.AddOnCSIEBS)
if err != nil {
return err
}
if av, ok := vv.(*csi_ebs.Config); ok {
cfg.AddOnCSIEBS = av
} else {
return fmt.Errorf("expected *csi_ebs.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+csi_efs.Env()+"_", cfg.AddOnCSIEFS)
if err != nil {
return err
}
if av, ok := vv.(*csi_efs.Config); ok {
cfg.AddOnCSIEFS = av
} else {
return fmt.Errorf("expected *csi_efs.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+kubernetes_dashboard.Env()+"_", cfg.AddOnKubernetesDashboard)
if err != nil {
return err
}
if av, ok := vv.(*kubernetes_dashboard.Config); ok {
cfg.AddOnKubernetesDashboard = av
} else {
return fmt.Errorf("expected *kubernetes_dashboard.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+falco.Env()+"_", cfg.AddOnFalco)
if err != nil {
return err
}
if av, ok := vv.(*falco.Config); ok {
cfg.AddOnFalco = av
} else {
return fmt.Errorf("expected *falco.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+php_apache.Env()+"_", cfg.AddOnPHPApache)
if err != nil {
return err
}
if av, ok := vv.(*php_apache.Config); ok {
cfg.AddOnPHPApache = av
} else {
return fmt.Errorf("expected *php_apache.Config, got %T", vv)
}
if cfg.AddOnPHPApache != nil {
vv, err = parseEnvs(ENV_PREFIX+php_apache.EnvRepository()+"_", cfg.AddOnPHPApache.Repository)
if err != nil {
return err
}
if av, ok := vv.(*aws_v1_ecr.Repository); ok {
cfg.AddOnPHPApache.Repository = av
} else {
return fmt.Errorf("expected *aws_v1_ecr.Repository, got %T", vv)
}
}
vv, err = parseEnvs(ENV_PREFIX+nlb_guestbook.Env()+"_", cfg.AddOnNLBGuestbook)
if err != nil {
return err
}
if av, ok := vv.(*nlb_guestbook.Config); ok {
cfg.AddOnNLBGuestbook = av
} else {
return fmt.Errorf("expected *nlb_guestbook.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+nlb_hello_world.Env()+"_", cfg.AddOnNLBHelloWorld)
if err != nil {
return err
}
if av, ok := vv.(*nlb_hello_world.Config); ok {
cfg.AddOnNLBHelloWorld = av
} else {
return fmt.Errorf("expected *nlb_hello_world.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+wordpress.Env()+"_", cfg.AddOnWordpress)
if err != nil {
return err
}
if av, ok := vv.(*wordpress.Config); ok {
cfg.AddOnWordpress = av
} else {
return fmt.Errorf("expected *wordpress.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+vault.Env()+"_", cfg.AddOnVault)
if err != nil {
return err
}
if av, ok := vv.(*vault.Config); ok {
cfg.AddOnVault = av
} else {
return fmt.Errorf("expected *vault.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+jobs_pi.Env()+"_", cfg.AddOnJobsPi)
if err != nil {
return err
}
if av, ok := vv.(*jobs_pi.Config); ok {
cfg.AddOnJobsPi = av
} else {
return fmt.Errorf("expected *jobs_pi.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+jobs_echo.Env("Job")+"_", cfg.AddOnJobsEcho)
if err != nil {
return err
}
if av, ok := vv.(*jobs_echo.Config); ok {
cfg.AddOnJobsEcho = av
} else {
return fmt.Errorf("expected *jobs_echo.Config, got %T", vv)
}
if cfg.AddOnJobsEcho != nil {
vv, err = parseEnvs(ENV_PREFIX+jobs_echo.EnvRepository("Job")+"_", cfg.AddOnJobsEcho.Repository)
if err != nil {
return err
}
if av, ok := vv.(*aws_v1_ecr.Repository); ok {
cfg.AddOnJobsEcho.Repository = av
} else {
return fmt.Errorf("expected *aws_v1_ecr.Repository, got %T", vv)
}
}
vv, err = parseEnvs(ENV_PREFIX+jobs_echo.Env("CronJob")+"_", cfg.AddOnCronJobsEcho)
if err != nil {
return err
}
if av, ok := vv.(*jobs_echo.Config); ok {
cfg.AddOnCronJobsEcho = av
} else {
return fmt.Errorf("expected *jobs_echo.Config, got %T", vv)
}
if cfg.AddOnCronJobsEcho != nil {
vv, err = parseEnvs(ENV_PREFIX+jobs_echo.EnvRepository("CronJob")+"_", cfg.AddOnCronJobsEcho.Repository)
if err != nil {
return err
}
if av, ok := vv.(*aws_v1_ecr.Repository); ok {
cfg.AddOnCronJobsEcho.Repository = av
} else {
return fmt.Errorf("expected *aws_v1_ecr.Repository, got %T", vv)
}
}
vv, err = parseEnvs(ENV_PREFIX+configmaps.Env()+"_", cfg.AddOnConfigmaps)
if err != nil {
return err
}
if av, ok := vv.(*configmaps.Config); ok {
cfg.AddOnConfigmaps = av
} else {
return fmt.Errorf("expected *configmaps.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+csrs.Env()+"_", cfg.AddOnCSRs)
if err != nil {
return err
}
if av, ok := vv.(*csrs.Config); ok {
cfg.AddOnCSRs = av
} else {
return fmt.Errorf("expected *csrs.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+secrets.Env()+"_", cfg.AddOnSecrets)
if err != nil {
return err
}
if av, ok := vv.(*secrets.Config); ok {
cfg.AddOnSecrets = av
} else {
return fmt.Errorf("expected *secrets.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+clusterloader.Env()+"_", cfg.AddOnClusterloader)
if err != nil {
return err
}
if av, ok := vv.(*clusterloader.Config); ok {
cfg.AddOnClusterloader = av
} else {
return fmt.Errorf("expected *clusterloader.Config, got %T", vv)
}
if cfg.AddOnClusterloader != nil {
vv, err = parseEnvs(ENV_PREFIX+clusterloader.EnvTestOverride()+"_", cfg.AddOnClusterloader.TestOverride)
if err != nil {
return err
}
if av, ok := vv.(*clusterloader.TestOverride); ok {
cfg.AddOnClusterloader.TestOverride = av
} else {
return fmt.Errorf("expected *clusterloader.TestOverride, got %T", vv)
}
}
vv, err = parseEnvs(ENV_PREFIX+stress.Env()+"_", cfg.AddOnStress)
if err != nil {
return err
}
if av, ok := vv.(*stress.Config); ok {
cfg.AddOnStress = av
} else {
return fmt.Errorf("expected *stress.Config, got %T", vv)
}
if cfg.AddOnStress != nil {
vv, err = parseEnvs(ENV_PREFIX+stress.EnvRepository()+"_", cfg.AddOnStress.Repository)
if err != nil {
return err
}
if av, ok := vv.(*aws_v1_ecr.Repository); ok {
cfg.AddOnStress.Repository = av
} else {
return fmt.Errorf("expected *aws_v1_ecr.Repository, got %T", vv)
}
}
vv, err = parseEnvs(ENV_PREFIX+stress_in_cluster.Env()+"_", cfg.AddOnStressInCluster)
if err != nil {
return err
}
if av, ok := vv.(*stress_in_cluster.Config); ok {
cfg.AddOnStressInCluster = av
} else {
return fmt.Errorf("expected *stress_in_cluster.Config, got %T", vv)
}
if cfg.AddOnStressInCluster != nil {
vv, err = parseEnvs(ENV_PREFIX+stress_in_cluster.EnvK8sTesterStressRepository()+"_", cfg.AddOnStressInCluster.K8sTesterStressRepository)
if err != nil {
return err
}
if av, ok := vv.(*aws_v1_ecr.Repository); ok {
cfg.AddOnStressInCluster.K8sTesterStressRepository = av
} else {
return fmt.Errorf("expected *aws_v1_ecr.Repository, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+stress_in_cluster.EnvK8sTesterStressCLI()+"_", cfg.AddOnStressInCluster.K8sTesterStressCLI)
if err != nil {
return err
}
if av, ok := vv.(*stress_in_cluster.K8sTesterStressCLI); ok {
cfg.AddOnStressInCluster.K8sTesterStressCLI = av
} else {
return fmt.Errorf("expected *stress_in_cluster.K8sTesterStressCLI, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+stress_in_cluster.EnvK8sTesterStressCLIBusyboxRepository()+"_", cfg.AddOnStressInCluster.K8sTesterStressCLI.BusyboxRepository)
if err != nil {
return err
}
if av, ok := vv.(*aws_v1_ecr.Repository); ok {
cfg.AddOnStressInCluster.K8sTesterStressCLI.BusyboxRepository = av
} else {
return fmt.Errorf("expected *aws_v1_ecr.Repository, got %T", vv)
}
}
vv, err = parseEnvs(ENV_PREFIX+aqua.Env()+"_", cfg.AddOnAqua)
if err != nil {
return err
}
if av, ok := vv.(*aqua.Config); ok {
cfg.AddOnAqua = av
} else {
return fmt.Errorf("expected *aqua.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+armory.Env()+"_", cfg.AddOnArmory)
if err != nil {
return err
}
if av, ok := vv.(*armory.Config); ok {
cfg.AddOnArmory = av
} else {
return fmt.Errorf("expected *armory.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+epsagon.Env()+"_", cfg.AddOnEpsagon)
if err != nil {
return err
}
if av, ok := vv.(*epsagon.Config); ok {
cfg.AddOnEpsagon = av
} else {
return fmt.Errorf("expected *epsagon.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+sysdig.Env()+"_", cfg.AddOnSysdig)
if err != nil {
return err
}
if av, ok := vv.(*sysdig.Config); ok {
cfg.AddOnSysdig = av
} else {
return fmt.Errorf("expected *sysdig.Config, got %T", vv)
}
vv, err = parseEnvs(ENV_PREFIX+splunk.Env()+"_", cfg.AddOnSplunk)
if err != nil {
return err
}
if av, ok := vv.(*splunk.Config); ok {
cfg.AddOnSplunk = av
} else {
return fmt.Errorf("expected *splunk.Config, got %T", vv)
}
return err
}