Skip to content

Commit cba3f11

Browse files
authored
Merge pull request #5409 from stormqueen1990/refactor/move-reusable-set-bits
refactor: move reusable bits in preparation for new 'edit set' commands
2 parents 0f2618b + 5568521 commit cba3f11

File tree

7 files changed

+94
-90
lines changed

7 files changed

+94
-90
lines changed

go.work.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
202202
go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
203203
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 h1:hb9wdF1z5waM+dSIICn1l0DkLVDT3hqhhQsDNUmHPRE=
204204
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
205+
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
205206
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 h1:QE6XYQK6naiK1EPAe1g/ILLxN5RBoH5xkJk3CqlMI/Y=
206207
golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4=
207208
golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
@@ -210,6 +211,7 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91
210211
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
211212
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
212213
golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
214+
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
213215
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
214216
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
215217
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -221,8 +223,6 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
221223
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
222224
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
223225
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
224-
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
225-
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
226226
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
227227
golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
228228
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=

kustomize/commands/edit/add/configmap.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"sigs.k8s.io/kustomize/api/resource"
1212
"sigs.k8s.io/kustomize/api/types"
1313
"sigs.k8s.io/kustomize/kustomize/v5/commands/internal/kustfile"
14+
"sigs.k8s.io/kustomize/kustomize/v5/commands/internal/util"
1415
"sigs.k8s.io/kustomize/kyaml/filesys"
1516
)
1617

@@ -20,7 +21,7 @@ func newCmdAddConfigMap(
2021
ldr ifc.KvLoader,
2122
rf *resource.Factory,
2223
) *cobra.Command {
23-
var flags configmapSecretFlagsAndArgs
24+
var flags util.ConfigMapSecretFlagsAndArgs
2425
cmd := &cobra.Command{
2526
Use: "configmap NAME [--namespace=namespace-name] [--behavior={create|merge|replace}] [--from-file=[key=]source] [--from-literal=key1=value1]",
2627
Short: "Adds a configmap to the kustomization file",
@@ -48,44 +49,44 @@ func newCmdAddConfigMap(
4849

4950
cmd.Flags().StringSliceVar(
5051
&flags.FileSources,
51-
fromFileFlag,
52+
util.FromFileFlag,
5253
[]string{},
5354
"Key file can be specified using its file path, in which case file basename will be used as configmap "+
5455
"key, or optionally with a key and file path, in which case the given key will be used. Specifying a "+
5556
"directory will iterate each named file in the directory whose basename is a valid configmap key.")
5657
cmd.Flags().StringArrayVar(
5758
&flags.LiteralSources,
58-
fromLiteralFlag,
59+
util.FromLiteralFlag,
5960
[]string{},
6061
"Specify a key and literal value to insert in configmap (i.e. mykey=somevalue)")
6162
cmd.Flags().StringVar(
6263
&flags.EnvFileSource,
63-
fromEnvFileFlag,
64+
util.FromEnvFileFlag,
6465
"",
6566
"Specify the path to a file to read lines of key=val pairs to create a configmap (i.e. a Docker .env file).")
6667
cmd.Flags().BoolVar(
6768
&flags.DisableNameSuffixHash,
68-
disableNameSuffixHashFlag,
69+
util.DisableNameSuffixHashFlag,
6970
false,
7071
"Disable the name suffix for the configmap")
7172
cmd.Flags().StringVar(
7273
&flags.Behavior,
73-
behaviorFlag,
74+
util.BehaviorFlag,
7475
"",
7576
"Specify the behavior for config map generation, i.e whether to create a new configmap (the default), "+
7677
"to merge with a previously defined one, or to replace an existing one. Merge and replace should be used only "+
7778
" when overriding an existing configmap defined in a base")
7879
cmd.Flags().StringVar(
7980
&flags.Namespace,
80-
namespaceFlag,
81+
util.NamespaceFlag,
8182
"",
8283
"Specify the namespace of the ConfigMap")
8384

8485
return cmd
8586
}
8687

8788
func runEditAddConfigMap(
88-
flags configmapSecretFlagsAndArgs,
89+
flags util.ConfigMapSecretFlagsAndArgs,
8990
fSys filesys.FileSystem,
9091
args []string,
9192
ldr ifc.KvLoader,
@@ -133,11 +134,11 @@ func runEditAddConfigMap(
133134
func addConfigMap(
134135
ldr ifc.KvLoader,
135136
k *types.Kustomization,
136-
flags configmapSecretFlagsAndArgs,
137+
flags util.ConfigMapSecretFlagsAndArgs,
137138
rf *resource.Factory,
138139
) error {
139140
args := findOrMakeConfigMapArgs(k, flags.Name, flags.Namespace)
140-
mergeFlagsIntoGeneratorArgs(&args.GeneratorArgs, flags)
141+
util.MergeFlagsIntoGeneratorArgs(&args.GeneratorArgs, flags)
141142
// Validate by trying to create corev1.configmap.
142143
args.Options = types.MergeGlobalOptionsIntoLocal(
143144
args.Options, k.GeneratorOptions)

kustomize/commands/edit/add/configmap_test.go

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"sigs.k8s.io/kustomize/api/types"
1717
"sigs.k8s.io/kustomize/kustomize/v5/commands/internal/kustfile"
1818
testutils_test "sigs.k8s.io/kustomize/kustomize/v5/commands/internal/testutils"
19+
"sigs.k8s.io/kustomize/kustomize/v5/commands/internal/util"
1920
"sigs.k8s.io/kustomize/kyaml/filesys"
2021
)
2122

@@ -54,38 +55,38 @@ func TestMakeConfigMapArgs(t *testing.T) {
5455
func TestMergeFlagsIntoConfigMapArgs_LiteralSources(t *testing.T) {
5556
k := &types.Kustomization{}
5657
args := findOrMakeConfigMapArgs(k, "foo", configMapNamespace)
57-
mergeFlagsIntoGeneratorArgs(
58+
util.MergeFlagsIntoGeneratorArgs(
5859
&args.GeneratorArgs,
59-
configmapSecretFlagsAndArgs{LiteralSources: []string{"k1=v1"}})
60-
mergeFlagsIntoGeneratorArgs(
60+
util.ConfigMapSecretFlagsAndArgs{LiteralSources: []string{"k1=v1"}})
61+
util.MergeFlagsIntoGeneratorArgs(
6162
&args.GeneratorArgs,
62-
configmapSecretFlagsAndArgs{LiteralSources: []string{"k2=v2"}})
63+
util.ConfigMapSecretFlagsAndArgs{LiteralSources: []string{"k2=v2"}})
6364
assert.Equal(t, "k1=v1", k.ConfigMapGenerator[0].LiteralSources[0])
6465
assert.Equal(t, "k2=v2", k.ConfigMapGenerator[0].LiteralSources[1])
6566
}
6667

6768
func TestMergeFlagsIntoConfigMapArgs_FileSources(t *testing.T) {
6869
k := &types.Kustomization{}
6970
args := findOrMakeConfigMapArgs(k, "foo", configMapNamespace)
70-
mergeFlagsIntoGeneratorArgs(
71+
util.MergeFlagsIntoGeneratorArgs(
7172
&args.GeneratorArgs,
72-
configmapSecretFlagsAndArgs{FileSources: []string{"file1"}})
73-
mergeFlagsIntoGeneratorArgs(
73+
util.ConfigMapSecretFlagsAndArgs{FileSources: []string{"file1"}})
74+
util.MergeFlagsIntoGeneratorArgs(
7475
&args.GeneratorArgs,
75-
configmapSecretFlagsAndArgs{FileSources: []string{"file2"}})
76+
util.ConfigMapSecretFlagsAndArgs{FileSources: []string{"file2"}})
7677
assert.Equal(t, "file1", k.ConfigMapGenerator[0].FileSources[0])
7778
assert.Equal(t, "file2", k.ConfigMapGenerator[0].FileSources[1])
7879
}
7980

8081
func TestMergeFlagsIntoConfigMapArgs_EnvSource(t *testing.T) {
8182
k := &types.Kustomization{}
8283
args := findOrMakeConfigMapArgs(k, "foo", configMapNamespace)
83-
mergeFlagsIntoGeneratorArgs(
84+
util.MergeFlagsIntoGeneratorArgs(
8485
&args.GeneratorArgs,
85-
configmapSecretFlagsAndArgs{EnvFileSource: "env1"})
86-
mergeFlagsIntoGeneratorArgs(
86+
util.ConfigMapSecretFlagsAndArgs{EnvFileSource: "env1"})
87+
util.MergeFlagsIntoGeneratorArgs(
8788
&args.GeneratorArgs,
88-
configmapSecretFlagsAndArgs{EnvFileSource: "env2"})
89+
util.ConfigMapSecretFlagsAndArgs{EnvFileSource: "env2"})
8990
assert.Equal(t, "env1", k.ConfigMapGenerator[0].EnvSources[0])
9091
assert.Equal(t, "env2", k.ConfigMapGenerator[0].EnvSources[1])
9192
}
@@ -94,31 +95,31 @@ func TestMergeFlagsIntoConfigMapArgs_Behavior(t *testing.T) {
9495
k := &types.Kustomization{}
9596
args := findOrMakeConfigMapArgs(k, "foo", configMapNamespace)
9697

97-
createBehaviorFlags := configmapSecretFlagsAndArgs{
98+
createBehaviorFlags := util.ConfigMapSecretFlagsAndArgs{
9899
Behavior: "create",
99100
EnvFileSource: "env1",
100101
}
101-
mergeFlagsIntoGeneratorArgs(
102+
util.MergeFlagsIntoGeneratorArgs(
102103
&args.GeneratorArgs,
103104
createBehaviorFlags)
104105
require.Equal(t, configMapNamespace, k.ConfigMapGenerator[0].Namespace)
105106
assert.Equal(t, "create", k.ConfigMapGenerator[0].Behavior)
106107

107-
mergeBehaviorFlags := configmapSecretFlagsAndArgs{
108+
mergeBehaviorFlags := util.ConfigMapSecretFlagsAndArgs{
108109
Behavior: "merge",
109110
EnvFileSource: "env1",
110111
}
111-
mergeFlagsIntoGeneratorArgs(
112+
util.MergeFlagsIntoGeneratorArgs(
112113
&args.GeneratorArgs,
113114
mergeBehaviorFlags)
114115
require.Equal(t, configMapNamespace, k.ConfigMapGenerator[0].Namespace)
115116
assert.Equal(t, "merge", k.ConfigMapGenerator[0].Behavior)
116117

117-
replaceBehaviorFlags := configmapSecretFlagsAndArgs{
118+
replaceBehaviorFlags := util.ConfigMapSecretFlagsAndArgs{
118119
Behavior: "replace",
119120
EnvFileSource: "env1",
120121
}
121-
mergeFlagsIntoGeneratorArgs(
122+
util.MergeFlagsIntoGeneratorArgs(
122123
&args.GeneratorArgs,
123124
replaceBehaviorFlags)
124125
require.Equal(t, configMapNamespace, k.ConfigMapGenerator[0].Namespace)
@@ -162,8 +163,8 @@ func TestEditAddConfigMapWithLiteralSource(t *testing.T) {
162163

163164
args := []string{
164165
tc.configMapName,
165-
fmt.Sprintf(flagFormat, fromLiteralFlag, tc.literalSource),
166-
fmt.Sprintf(flagFormat, namespaceFlag, tc.configMapNamespace),
166+
fmt.Sprintf(util.FlagFormat, util.FromLiteralFlag, tc.literalSource),
167+
fmt.Sprintf(util.FlagFormat, util.NamespaceFlag, tc.configMapNamespace),
167168
}
168169
cmd := newCmdAddConfigMap(fSys, ldr, pvd.GetResourceFactory())
169170
cmd.SetArgs(args)
@@ -243,8 +244,8 @@ func TestEditAddConfigMapWithEnvSource(t *testing.T) {
243244

244245
args := []string{
245246
tc.configMapName,
246-
fmt.Sprintf(flagFormat, fromEnvFileFlag, tc.envSource),
247-
fmt.Sprintf(flagFormat, namespaceFlag, tc.configMapNamespace),
247+
fmt.Sprintf(util.FlagFormat, util.FromEnvFileFlag, tc.envSource),
248+
fmt.Sprintf(util.FlagFormat, util.NamespaceFlag, tc.configMapNamespace),
248249
}
249250
cmd := newCmdAddConfigMap(fSys, ldr, pvd.GetResourceFactory())
250251
cmd.SetArgs(args)
@@ -323,8 +324,8 @@ func TestEditAddConfigMapWithFileSource(t *testing.T) {
323324

324325
args := []string{
325326
tc.configMapName,
326-
fmt.Sprintf(flagFormat, fromFileFlag, tc.fileSource),
327-
fmt.Sprintf(flagFormat, namespaceFlag, tc.configMapNamespace),
327+
fmt.Sprintf(util.FlagFormat, util.FromFileFlag, tc.fileSource),
328+
fmt.Sprintf(util.FlagFormat, util.NamespaceFlag, tc.configMapNamespace),
328329
}
329330
cmd := newCmdAddConfigMap(fSys, ldr, pvd.GetResourceFactory())
330331
cmd.SetArgs(args)

kustomize/commands/edit/add/secret.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"sigs.k8s.io/kustomize/api/resource"
1212
"sigs.k8s.io/kustomize/api/types"
1313
"sigs.k8s.io/kustomize/kustomize/v5/commands/internal/kustfile"
14+
"sigs.k8s.io/kustomize/kustomize/v5/commands/internal/util"
1415
"sigs.k8s.io/kustomize/kyaml/filesys"
1516
)
1617

@@ -20,7 +21,7 @@ func newCmdAddSecret(
2021
ldr ifc.KvLoader,
2122
rf *resource.Factory,
2223
) *cobra.Command {
23-
var flags configmapSecretFlagsAndArgs
24+
var flags util.ConfigMapSecretFlagsAndArgs
2425
cmd := &cobra.Command{
2526
Use: "secret NAME [--from-file=[key=]source] [--from-literal=key1=value1] [--type=Opaque|kubernetes.io/tls]",
2627
Short: "Adds a secret to the kustomization file.",
@@ -42,19 +43,19 @@ func newCmdAddSecret(
4243

4344
cmd.Flags().StringSliceVar(
4445
&flags.FileSources,
45-
fromFileFlag,
46+
util.FromFileFlag,
4647
[]string{},
4748
"Key file can be specified using its file path, in which case file basename will be used as secret "+
4849
"key, or optionally with a key and file path, in which case the given key will be used. Specifying a "+
4950
"directory will iterate each named file in the directory whose basename is a valid secret key.")
5051
cmd.Flags().StringArrayVar(
5152
&flags.LiteralSources,
52-
fromLiteralFlag,
53+
util.FromLiteralFlag,
5354
[]string{},
5455
"Specify a key and literal value to insert in secret (i.e. mykey=somevalue)")
5556
cmd.Flags().StringVar(
5657
&flags.EnvFileSource,
57-
fromEnvFileFlag,
58+
util.FromEnvFileFlag,
5859
"",
5960
"Specify the path to a file to read lines of key=val pairs to create a secret (i.e. a Docker .env file).")
6061
cmd.Flags().StringVar(
@@ -64,20 +65,20 @@ func newCmdAddSecret(
6465
"Specify the secret type this can be 'Opaque' (default), or 'kubernetes.io/tls'")
6566
cmd.Flags().StringVar(
6667
&flags.Namespace,
67-
namespaceFlag,
68+
util.NamespaceFlag,
6869
"",
6970
"Specify the namespace of the secret")
7071
cmd.Flags().BoolVar(
7172
&flags.DisableNameSuffixHash,
72-
disableNameSuffixHashFlag,
73+
util.DisableNameSuffixHashFlag,
7374
false,
7475
"Disable the name suffix for the secret")
7576

7677
return cmd
7778
}
7879

7980
func runEditAddSecret(
80-
flags configmapSecretFlagsAndArgs,
81+
flags util.ConfigMapSecretFlagsAndArgs,
8182
fSys filesys.FileSystem,
8283
args []string,
8384
ldr ifc.KvLoader,
@@ -125,11 +126,11 @@ func runEditAddSecret(
125126
func addSecret(
126127
ldr ifc.KvLoader,
127128
k *types.Kustomization,
128-
flags configmapSecretFlagsAndArgs,
129+
flags util.ConfigMapSecretFlagsAndArgs,
129130
rf *resource.Factory,
130131
) error {
131132
args := findOrMakeSecretArgs(k, flags.Name, flags.Namespace, flags.Type)
132-
mergeFlagsIntoGeneratorArgs(&args.GeneratorArgs, flags)
133+
util.MergeFlagsIntoGeneratorArgs(&args.GeneratorArgs, flags)
133134
// Validate by trying to create corev1.secret.
134135
args.Options = types.MergeGlobalOptionsIntoLocal(
135136
args.Options, k.GeneratorOptions)

0 commit comments

Comments
 (0)