diff --git a/cmd/flux/create_helmrelease.go b/cmd/flux/create_helmrelease.go index d662f14accb1b5090d6022d0b7c66bdd3c4bb37b..3abb3da7fe21851420fb65057a7a7c0a082e5136 100644 --- a/cmd/flux/create_helmrelease.go +++ b/cmd/flux/create_helmrelease.go @@ -107,6 +107,7 @@ var ( hrTargetNamespace string hrValuesFile string hrValuesFrom flags.HelmReleaseValuesFrom + hrSAName string ) func init() { @@ -116,6 +117,7 @@ func init() { createHelmReleaseCmd.Flags().StringVar(&hrChartVersion, "chart-version", "", "Helm chart version, accepts a semver range (ignored for charts from GitRepository sources)") createHelmReleaseCmd.Flags().StringArrayVar(&hrDependsOn, "depends-on", nil, "HelmReleases that must be ready before this release can be installed, supported formats '<name>' and '<namespace>/<name>'") createHelmReleaseCmd.Flags().StringVar(&hrTargetNamespace, "target-namespace", "", "namespace to install this release, defaults to the HelmRelease namespace") + createHelmReleaseCmd.Flags().StringVar(&hrSAName, "service-account", "", "the name of the service account to impersonate when reconciling this HelmRelease") createHelmReleaseCmd.Flags().StringVar(&hrValuesFile, "values", "", "local path to the values.yaml file") createHelmReleaseCmd.Flags().Var(&hrValuesFrom, "values-from", hrValuesFrom.Description()) createCmd.AddCommand(createHelmReleaseCmd) @@ -167,6 +169,10 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error { }, } + if hrSAName != "" { + helmRelease.Spec.ServiceAccountName = hrSAName + } + if hrValuesFile != "" { data, err := ioutil.ReadFile(hrValuesFile) if err != nil { diff --git a/cmd/flux/create_kustomization.go b/cmd/flux/create_kustomization.go index 402a5812759e3c77c8295e9bfc21caee69c19e9b..af9799c00b47ed0d54fe72a2c70d1bf6d0f827f1 100644 --- a/cmd/flux/create_kustomization.go +++ b/cmd/flux/create_kustomization.go @@ -88,13 +88,13 @@ var ( func init() { createKsCmd.Flags().Var(&ksSource, "source", ksSource.Description()) - createKsCmd.Flags().StringVar(&ksPath, "path", "./", "path to the directory containing the Kustomization file") + createKsCmd.Flags().StringVar(&ksPath, "path", "./", "path to the directory containing a kustomization.yaml file") createKsCmd.Flags().BoolVar(&ksPrune, "prune", false, "enable garbage collection") createKsCmd.Flags().StringArrayVar(&ksHealthCheck, "health-check", nil, "workload to be included in the health assessment, in the format '<kind>/<name>.<namespace>'") createKsCmd.Flags().DurationVar(&ksHealthTimeout, "health-check-timeout", 2*time.Minute, "timeout of health checking operations") createKsCmd.Flags().StringVar(&ksValidation, "validation", "", "validate the manifests before applying them on the cluster, can be 'client' or 'server'") createKsCmd.Flags().StringArrayVar(&ksDependsOn, "depends-on", nil, "Kustomization that must be ready before this Kustomization can be applied, supported formats '<name>' and '<namespace>/<name>'") - createKsCmd.Flags().StringVar(&ksSAName, "sa-name", "", "service account name") + createKsCmd.Flags().StringVar(&ksSAName, "service-account", "", "the name of the service account to impersonate when reconciling this Kustomization") createKsCmd.Flags().Var(&ksDecryptionProvider, "decryption-provider", ksDecryptionProvider.Description()) createKsCmd.Flags().StringVar(&ksDecryptionSecret, "decryption-secret", "", "set the Kubernetes secret name that contains the OpenPGP private keys used for sops decryption") createKsCmd.Flags().StringVar(&ksTargetNamespace, "target-namespace", "", "overrides the namespace of all Kustomization objects reconciled by this Kustomization") diff --git a/docs/cmd/flux_create_helmrelease.md b/docs/cmd/flux_create_helmrelease.md index 5042d80f675fc0e5b433041241baea8dbea64998..136c365bb00c22f7f50cbfb110251846a5bda909 100644 --- a/docs/cmd/flux_create_helmrelease.md +++ b/docs/cmd/flux_create_helmrelease.md @@ -75,6 +75,7 @@ flux create helmrelease [name] [flags] --depends-on stringArray HelmReleases that must be ready before this release can be installed, supported formats '<name>' and '<namespace>/<name>' -h, --help help for helmrelease --release-name string name used for the Helm release, defaults to a composition of '[<target-namespace>-]<HelmRelease-name>' + --service-account string the name of the service account to impersonate when reconciling this HelmRelease --source helmChartSource source that contains the chart in the format '<kind>/<name>',where kind can be one of: (HelmRepository, GitRepository, Bucket) --target-namespace string namespace to install this release, defaults to the HelmRelease namespace --values string local path to the values.yaml file diff --git a/docs/cmd/flux_create_kustomization.md b/docs/cmd/flux_create_kustomization.md index 6652be25386c8c9be0f8ed12a9db71f39c865d82..4d6466aae2e3866c569c59856f0174158c411081 100644 --- a/docs/cmd/flux_create_kustomization.md +++ b/docs/cmd/flux_create_kustomization.md @@ -50,9 +50,9 @@ flux create kustomization [name] [flags] --health-check stringArray workload to be included in the health assessment, in the format '<kind>/<name>.<namespace>' --health-check-timeout duration timeout of health checking operations (default 2m0s) -h, --help help for kustomization - --path string path to the directory containing the Kustomization file (default "./") + --path string path to the directory containing a kustomization.yaml file (default "./") --prune enable garbage collection - --sa-name string service account name + --service-account string the name of the service account to impersonate when reconciling this Kustomization --source kustomizationSource source that contains the Kubernetes manifests in the format '[<kind>/]<name>',where kind can be one of: (GitRepository, Bucket), if kind is not specified it defaults to GitRepository --target-namespace string overrides the namespace of all Kustomization objects reconciled by this Kustomization --validation string validate the manifests before applying them on the cluster, can be 'client' or 'server'