mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
deprecate enable-managedby-label flag in favor of a field
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/internal/builtins"
|
"sigs.k8s.io/kustomize/api/internal/builtins"
|
||||||
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/internal/target"
|
"sigs.k8s.io/kustomize/api/internal/target"
|
||||||
|
"sigs.k8s.io/kustomize/api/internal/utils"
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"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"
|
||||||
@@ -95,7 +96,7 @@ func (b *Kustomizer) Run(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if b.options.AddManagedbyLabel {
|
if b.options.AddManagedbyLabel || utils.StringSliceContains(kt.Kustomization().BuildMetadata, types.ManagedByLabelOption) {
|
||||||
t := builtins.LabelTransformerPlugin{
|
t := builtins.LabelTransformerPlugin{
|
||||||
Labels: map[string]string{
|
Labels: map[string]string{
|
||||||
konfig.ManagedbyLabelKey: fmt.Sprintf("kustomize-%s", provenance.GetProvenance().Semver()),
|
konfig.ManagedbyLabelKey: fmt.Sprintf("kustomize-%s", provenance.GetProvenance().Semver()),
|
||||||
|
|||||||
@@ -9,7 +9,46 @@ import (
|
|||||||
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const expected = `apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/managed-by: kustomize-v444.333.222
|
||||||
|
name: myService
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 7002
|
||||||
|
`
|
||||||
|
|
||||||
func TestAddManagedbyLabel(t *testing.T) {
|
func TestAddManagedbyLabel(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
kustFile string
|
||||||
|
managedByFlag bool
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
kustFile: `
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- service.yaml
|
||||||
|
`,
|
||||||
|
managedByFlag: true,
|
||||||
|
expected: expected,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
kustFile: `
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- service.yaml
|
||||||
|
buildMetadata: [managedByLabel]
|
||||||
|
`,
|
||||||
|
managedByFlag: false,
|
||||||
|
expected: expected,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tc := range tests {
|
||||||
th := kusttest_test.MakeHarness(t)
|
th := kusttest_test.MakeHarness(t)
|
||||||
th.WriteF("service.yaml", `
|
th.WriteF("service.yaml", `
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -20,24 +59,10 @@ spec:
|
|||||||
ports:
|
ports:
|
||||||
- port: 7002
|
- port: 7002
|
||||||
`)
|
`)
|
||||||
th.WriteK(".", `
|
th.WriteK(".", tc.kustFile)
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- service.yaml
|
|
||||||
`)
|
|
||||||
options := th.MakeDefaultOptions()
|
options := th.MakeDefaultOptions()
|
||||||
options.AddManagedbyLabel = true
|
options.AddManagedbyLabel = tc.managedByFlag
|
||||||
m := th.Run(".", options)
|
m := th.Run(".", options)
|
||||||
th.AssertActualEqualsExpected(m, `
|
th.AssertActualEqualsExpected(m, tc.expected)
|
||||||
apiVersion: v1
|
}
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/managed-by: kustomize-v444.333.222
|
|
||||||
name: myService
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 7002
|
|
||||||
`)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,9 @@ const (
|
|||||||
ComponentVersion = "kustomize.config.k8s.io/v1alpha1"
|
ComponentVersion = "kustomize.config.k8s.io/v1alpha1"
|
||||||
ComponentKind = "Component"
|
ComponentKind = "Component"
|
||||||
MetadataNamespacePath = "metadata/namespace"
|
MetadataNamespacePath = "metadata/namespace"
|
||||||
|
|
||||||
OriginAnnotations = "originAnnotations"
|
OriginAnnotations = "originAnnotations"
|
||||||
|
ManagedByLabelOption = "managedByLabel"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Kustomization holds the information needed to generate customized k8s api resources.
|
// Kustomization holds the information needed to generate customized k8s api resources.
|
||||||
|
|||||||
@@ -104,6 +104,8 @@ func NewCmdBuild(
|
|||||||
AddFlagEnablePlugins(cmd.Flags())
|
AddFlagEnablePlugins(cmd.Flags())
|
||||||
AddFlagReorderOutput(cmd.Flags())
|
AddFlagReorderOutput(cmd.Flags())
|
||||||
AddFlagEnableManagedbyLabel(cmd.Flags())
|
AddFlagEnableManagedbyLabel(cmd.Flags())
|
||||||
|
cmd.Flags().MarkDeprecated(managedByFlag,
|
||||||
|
"The flag `enable-managedby-label` has been deprecated. Use the `managedByLabel` option in the `buildMetadata` field instead.")
|
||||||
AddFlagEnableHelm(cmd.Flags())
|
AddFlagEnableHelm(cmd.Flags())
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,12 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const managedByFlag = "enable-managedby-label"
|
||||||
|
|
||||||
func AddFlagEnableManagedbyLabel(set *pflag.FlagSet) {
|
func AddFlagEnableManagedbyLabel(set *pflag.FlagSet) {
|
||||||
set.BoolVar(
|
set.BoolVar(
|
||||||
&theFlags.enable.managedByLabel,
|
&theFlags.enable.managedByLabel,
|
||||||
"enable-managedby-label",
|
managedByFlag,
|
||||||
false,
|
false,
|
||||||
`enable adding `+konfig.ManagedbyLabelKey)
|
`enable adding `+konfig.ManagedbyLabelKey)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user