Our ENV variables are hidden from the user. I would recommend having another section in the help that describes which ENV variables we have and how to use them.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Prevent issues from auto-closing with an /lifecycle frozen comment.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale
/lifecycle frozen
Most of the env variables are in urls.go
@chrislovecnm - Hi Chris I'd like to add the documentation for this. Quick look and I can only see the following Environment Variables:
defaultStateStore := os.Getenv("KOPS_STATE_STORE")
defaultClusterName := os.Getenv("KOPS_CLUSTER_NAME")
Any others you can find?
I did a search for os.Getenv
// developer only
./cmd/kops/integration_test.go: if os.Getenv("KEEP_TEMP_DIR") == "" {
./cmd/kops/root.go: defaultStateStore := os.Getenv("KOPS_STATE_STORE")
./cmd/kops/root.go: defaultClusterName := os.Getenv("KOPS_CLUSTER_NAME")
./cmd/kops/toolbox_bundle.go: sshUser := os.Getenv("USER")
./cmd/kops/toolbox_bundle.go: sshIdentity := filepath.Join(os.Getenv("HOME"), ".ssh", "id_rsa")
// no need to document
./cmd/kops-server/main.go: if len(os.Getenv("GOMAXPROCS")) == 0 {
// developer advanced use only
./pkg/apis/kops/register.go://var Registry = registered.NewOrDie(os.Getenv("KOPS_API_VERSIONS"))
./pkg/assets/builder.go: override := os.Getenv("DNSCONTROLLER_IMAGE")
./pkg/client/clientset_generated/clientset/scheme/register.go:var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
./pkg/client/clientset_generated/internalclientset/scheme/register.go:var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
./pkg/featureflag/featureflag.go: ParseFlags(os.Getenv("KOPS_FEATURE_FLAGS"))
./pkg/k8scodecs/codecs.go:var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
./pkg/kopscodecs/codecs.go:var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
./pkg/pki/privatekey.go: if os.Getenv("KOPS_RSA_PRIVATE_KEY_SIZE") != "" {
./pkg/pki/privatekey.go: rsaKeySize, intErr = strconv.ParseInt(os.Getenv("KOPS_RSA_PRIVATE_KEY_SIZE"), 0, 0)
// DO in alpha support - work is not done for digital ocean
./pkg/resources/digitalocean/cloud.go: accessToken := os.Getenv("DO_ACCESS_TOKEN")
./pkg/resources/digitalocean/dns/dns.go: accessToken := os.Getenv("DO_ACCESS_TOKEN")
./pkg/testutils/integrationtestharness.go: if os.Getenv("KEEP_TEMP_DIR") != "" {
./upup/pkg/fi/cloudup/apply_cluster.go: if os.Getenv("KOPS_RUN_OBSOLETE_VERSION") == "" {
./upup/pkg/fi/cloudup/apply_cluster.go: if os.Getenv("KOPS_RUN_OBSOLETE_VERSION") == "" {
./upup/pkg/fi/cloudup/awsup/aws_utils.go: awsRegion := os.Getenv("AWS_REGION")
./upup/pkg/fi/cloudup/awsup/aws_utils.go: if os.Getenv("SKIP_REGION_CHECK") != "" {
./upup/pkg/fi/cloudup/dns.go: if os.Getenv("DNS_IGNORE_NS_CHECK") == "" {
./upup/pkg/fi/cloudup/gce/gce_cloud.go: if os.Getenv("GOOGLE_APPLICATION_CREDENTIALS") != "" {
./upup/pkg/fi/cloudup/gce/gce_cloud.go: glog.Infof("Will load GOOGLE_APPLICATION_CREDENTIALS from %s", os.Getenv("GOOGLE_APPLICATION_CREDENTIALS"))
./upup/pkg/fi/cloudup/networking.go: if cniVersionURL := os.Getenv(ENV_VAR_CNI_VERSION_URL); cniVersionURL != "" {
./upup/pkg/fi/cloudup/networking.go: if cniAssetHashString := os.Getenv(ENV_VAR_CNI_ASSET_HASH_STRING); cniAssetHashString != "" {
./upup/pkg/fi/cloudup/template_functions.go: if strings.HasPrefix(os.Getenv("AWS_REGION"), "cn-") {
./upup/pkg/fi/cloudup/urls.go: baseUrlString := os.Getenv("KOPS_BASE_URL")
./upup/pkg/fi/cloudup/urls.go: env := os.Getenv("NODEUP_URL")
./upup/pkg/fi/cloudup/urls.go: env := os.Getenv("PROTOKUBE_IMAGE")
./upup/pkg/fi/cloudup/validation_test.go: //c.SSHPublicKey = path.Join(os.Getenv("HOME"), ".ssh", "id_rsa.pub")
// vCloud alpha support
./upup/pkg/fi/cloudup/vsphere/vsphere_cloud.go: username := os.Getenv("VSPHERE_USERNAME")
./upup/pkg/fi/cloudup/vsphere/vsphere_cloud.go: password := os.Getenv("VSPHERE_PASSWORD")
./upup/pkg/fi/utils/sanitize.go: p = os.Getenv("HOME") + p[1:]
// not sure how any of these vfs env variables work
./util/pkg/vfs/s3context.go: endpoint := os.Getenv("S3_ENDPOINT")
./util/pkg/vfs/s3context.go: accessKeyID := os.Getenv("S3_ACCESS_KEY_ID")
./util/pkg/vfs/s3context.go: secretAccessKey := os.Getenv("S3_SECRET_ACCESS_KEY")
./util/pkg/vfs/s3context.go: endpoint := os.Getenv("S3_ENDPOINT")
./util/pkg/vfs/s3context.go: region = os.Getenv("S3_REGION")
./util/pkg/vfs/s3context.go: awsRegion := os.Getenv("AWS_REGION")
./util/pkg/vfs/s3fs.go: acl := os.Getenv("KOPS_STATE_S3_ACL")
// openstack is in alpha support
./util/pkg/vfs/swiftfs.go: name := os.Getenv("OPENSTACK_CREDENTIAL_FILE")
./util/pkg/vfs/swiftfs.go: homeDir = os.Getenv("USERPROFILE")
./util/pkg/vfs/swiftfs.go: homeDir = os.Getenv("HOME")
Most helpful comment
I did a search for os.Getenv