From ad5baea3e6cf2c5193932ba2e1596ed921141497 Mon Sep 17 00:00:00 2001 From: Erin Call Date: Mon, 23 Dec 2019 14:02:46 -0800 Subject: [PATCH] Document helm.Config's struct fields more clearly [#9] --- internal/helm/config.go | 50 +++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/internal/helm/config.go b/internal/helm/config.go index a57c578..f2041e0 100644 --- a/internal/helm/config.go +++ b/internal/helm/config.go @@ -12,33 +12,29 @@ import ( // `envconfig:` tag so that envconfig will look for a non-prefixed env var. type Config struct { // Configuration for drone-helm itself - Command helmCommand `envconfig:"HELM_COMMAND"` // Helm command to run - DroneEvent string `envconfig:"DRONE_BUILD_EVENT"` // Drone event that invoked this plugin. - UpdateDependencies bool `split_words:"true"` // call `helm dependency update` before the main command - Repos []string `envconfig:"HELM_REPOS"` // call `helm repo add` before the main command - Prefix string `` // Prefix to use when looking up secret env vars - - // Global helm config - Debug bool `` // global helm flag (also applies to drone-helm itself) - Values string `` - StringValues string `split_words:"true"` - ValuesFiles []string `split_words:"true"` - Namespace string `` - KubeToken string `envconfig:"KUBERNETES_TOKEN"` - SkipTLSVerify bool `envconfig:"SKIP_TLS_VERIFY"` - Certificate string `envconfig:"KUBERNETES_CERTIFICATE"` - APIServer string `envconfig:"API_SERVER"` - ServiceAccount string `envconfig:"SERVICE_ACCOUNT"` // Can't just use split_words; need envconfig to find the non-prefixed form - - // Config specifically for `helm upgrade` - ChartVersion string `split_words:"true"` // - DryRun bool `split_words:"true"` // also available for `delete` - Wait bool `` // - ReuseValues bool `split_words:"true"` // - Timeout string `` // - Chart string `` // Also available for `lint`, in which case it must be a path to a chart directory - Release string `` - Force bool `` // + Command helmCommand `envconfig:"HELM_COMMAND"` // Helm command to run + DroneEvent string `envconfig:"DRONE_BUILD_EVENT"` // Drone event that invoked this plugin. + UpdateDependencies bool `split_words:"true"` // Call `helm dependency update` before the main command + Repos []string `envconfig:"HELM_REPOS"` // Call `helm repo add` before the main command + Prefix string `` // Prefix to use when looking up secret env vars + Debug bool `` // Generate debug output and pass --debug to all helm commands + Values string `` // Argument to pass to --set in applicable helm commands + StringValues string `split_words:"true"` // Argument to pass to --set-string in applicable helm commands + ValuesFiles []string `split_words:"true"` // Arguments to pass to --values in applicable helm commands + Namespace string `` // Kubernetes namespace for all helm commands + KubeToken string `envconfig:"KUBERNETES_TOKEN"` // Kubernetes authentication token to put in .kube/config + SkipTLSVerify bool `envconfig:"SKIP_TLS_VERIFY"` // Put insecure-skip-tls-verify in .kube/config + Certificate string `envconfig:"KUBERNETES_CERTIFICATE"` // The Kubernetes cluster CA's self-signed certificate (must be base64-encoded) + APIServer string `envconfig:"API_SERVER"` // The Kubernetes cluster's API endpoint + ServiceAccount string `envconfig:"SERVICE_ACCOUNT"` // Account to use for connecting to the Kubernetes cluster + ChartVersion string `split_words:"true"` // Specific chart version to use in `helm upgrade` + DryRun bool `split_words:"true"` // Pass --dry-run to applicable helm commands + Wait bool `` // Pass --wait to applicable helm commands + ReuseValues bool `split_words:"true"` // Pass --reuse-values to `helm upgrade` + Timeout string `` // Argument to pass to --timeout in applicable helm commands + Chart string `` // Chart argument to use in applicable helm commands + Release string `` // Release argument to use in applicable helm commands + Force bool `` // Pass --force to applicable helm commands } type helmCommand string