kubernetes / kops

Kubernetes Operations (kOps) - Production Grade k8s Installation, Upgrades and Management
https://kops.sigs.k8s.io/
Apache License 2.0
15.93k stars 4.65k forks source link

kops -h should show ENV variables #1764

Open chrislovecnm opened 7 years ago

chrislovecnm commented 7 years ago

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.

fejta-bot commented 6 years ago

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

chrislovecnm commented 6 years ago

/lifecycle frozen

chrislovecnm commented 6 years ago

Most of the env variables are in urls.go

arehmandev commented 6 years ago

@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?

chrislovecnm commented 6 years ago

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