mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Add kustomize build flag --enable_managedby_label
This commit is contained in:
@@ -30,4 +30,10 @@ const (
|
|||||||
|
|
||||||
// A program name, for use in help, finding the XDG_CONFIG_DIR, etc.
|
// A program name, for use in help, finding the XDG_CONFIG_DIR, etc.
|
||||||
ProgramName = "kustomize"
|
ProgramName = "kustomize"
|
||||||
|
|
||||||
|
// Label key that indicates the resources are built from Kustomize
|
||||||
|
ManagedbyLabelKey = "app.kubernetes.io/managed-by"
|
||||||
|
|
||||||
|
// An environment variable to turn on/off adding the ManagedByLabelKey
|
||||||
|
EnableManagedbyLabelEnv = "KUSTOMIZE_ENABLE_MANAGEDBY_LABEL"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/internal/target"
|
"sigs.k8s.io/kustomize/api/internal/target"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/validator"
|
"sigs.k8s.io/kustomize/api/k8sdeps/validator"
|
||||||
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
"sigs.k8s.io/kustomize/api/provenance"
|
"sigs.k8s.io/kustomize/api/provenance"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
@@ -20,10 +21,6 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
managedbyLabelKey = "app.kubernetes.io/managed-by"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Kustomizer performs kustomizations. It's meant to behave
|
// Kustomizer performs kustomizations. It's meant to behave
|
||||||
// similarly to the kustomize CLI, and can be used instead of
|
// similarly to the kustomize CLI, and can be used instead of
|
||||||
// performing an exec to a kustomize CLI subprocess.
|
// performing an exec to a kustomize CLI subprocess.
|
||||||
@@ -87,7 +84,7 @@ func (b *Kustomizer) Run(path string) (resmap.ResMap, error) {
|
|||||||
}
|
}
|
||||||
if b.options.AddManagedbyLabel {
|
if b.options.AddManagedbyLabel {
|
||||||
t := builtins.LabelTransformerPlugin{
|
t := builtins.LabelTransformerPlugin{
|
||||||
Labels: map[string]string{managedbyLabelKey: fmt.Sprintf("kustomize-%s", provenance.GetProvenance().Version)},
|
Labels: map[string]string{konfig.ManagedbyLabelKey: fmt.Sprintf("kustomize-%s", provenance.GetProvenance().Version)},
|
||||||
FieldSpecs: []types.FieldSpec{{
|
FieldSpecs: []types.FieldSpec{{
|
||||||
Path: "metadata/labels",
|
Path: "metadata/labels",
|
||||||
CreateIfNotPresent: true,
|
CreateIfNotPresent: true,
|
||||||
|
|||||||
@@ -23,3 +23,5 @@ exclude (
|
|||||||
github.com/russross/blackfriday v2.0.0+incompatible
|
github.com/russross/blackfriday v2.0.0+incompatible
|
||||||
sigs.k8s.io/kustomize/api v0.2.0
|
sigs.k8s.io/kustomize/api v0.2.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
replace sigs.k8s.io/kustomize/api => ../api
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ func NewCmdBuild(out io.Writer) *cobra.Command {
|
|||||||
addFlagLoadRestrictor(cmd.Flags())
|
addFlagLoadRestrictor(cmd.Flags())
|
||||||
addFlagEnablePlugins(cmd.Flags())
|
addFlagEnablePlugins(cmd.Flags())
|
||||||
addFlagReorderOutput(cmd.Flags())
|
addFlagReorderOutput(cmd.Flags())
|
||||||
|
addFlagEnableManagedbyLabel(cmd.Flags())
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,6 +115,9 @@ func (o *Options) makeOptions() *krusty.Options {
|
|||||||
} else {
|
} else {
|
||||||
opts.PluginConfig = konfig.DisabledPluginConfig()
|
opts.PluginConfig = konfig.DisabledPluginConfig()
|
||||||
}
|
}
|
||||||
|
if isManagedbyLabelEnabled() {
|
||||||
|
opts.AddManagedbyLabel = true
|
||||||
|
}
|
||||||
return opts
|
return opts
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
38
kustomize/internal/commands/build/flagaddmanagedby.go
Normal file
38
kustomize/internal/commands/build/flagaddmanagedby.go
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
package build
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
flagEnableManagedbyLabelName = "enable_managedby_label"
|
||||||
|
flagEnableManagedbyLabelHelp = `enable adding ` + konfig.ManagedbyLabelKey
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
flagEnableManagedbyLabelValue = false
|
||||||
|
)
|
||||||
|
|
||||||
|
func addFlagEnableManagedbyLabel(set *pflag.FlagSet) {
|
||||||
|
set.BoolVar(
|
||||||
|
&flagEnableManagedbyLabelValue, flagEnableManagedbyLabelName,
|
||||||
|
false, flagEnableManagedbyLabelHelp)
|
||||||
|
}
|
||||||
|
|
||||||
|
func isManagedbyLabelEnabled() bool {
|
||||||
|
if flagEnableManagedbyLabelValue {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
enableLabel, isSet := os.LookupEnv(konfig.EnableManagedbyLabelEnv)
|
||||||
|
if isSet && enableLabel == "on" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
BIN
kustomize/kustomize
Executable file
BIN
kustomize/kustomize
Executable file
Binary file not shown.
Reference in New Issue
Block a user