@@ -38,22 +38,20 @@ import (
38
38
39
39
// ConfigMapFactory makes ConfigMaps.
40
40
type ConfigMapFactory struct {
41
- args * types.ConfigMapArgs
42
41
fSys fs.FileSystem
43
42
ldr loader.Loader
44
43
}
45
44
46
45
// NewConfigMapFactory returns a new ConfigMapFactory.
47
46
func NewConfigMapFactory (
48
- args * types.ConfigMapArgs ,
49
- l loader.Loader ,
50
- fSys fs.FileSystem ) * ConfigMapFactory {
51
- return & ConfigMapFactory {args : args , ldr : l , fSys : fSys }
47
+ fSys fs.FileSystem , l loader.Loader ) * ConfigMapFactory {
48
+ return & ConfigMapFactory {fSys : fSys , ldr : l }
52
49
}
53
50
54
51
// MakeUnstructAndGenerateName returns an configmap and the name appended with a hash.
55
- func (f * ConfigMapFactory ) MakeUnstructAndGenerateName () (* unstructured.Unstructured , string , error ) {
56
- cm , err := f .MakeConfigMap1 ()
52
+ func (f * ConfigMapFactory ) MakeUnstructAndGenerateName (
53
+ args * types.ConfigMapArgs ) (* unstructured.Unstructured , string , error ) {
54
+ cm , err := f .MakeConfigMap1 (args )
57
55
if err != nil {
58
56
return nil , "" , err
59
57
}
@@ -76,31 +74,32 @@ func objectToUnstructured(in runtime.Object) (*unstructured.Unstructured, error)
76
74
return & out , err
77
75
}
78
76
79
- func (f * ConfigMapFactory ) makeFreshConfigMap () * corev1.ConfigMap {
77
+ func (f * ConfigMapFactory ) makeFreshConfigMap (
78
+ args * types.ConfigMapArgs ) * corev1.ConfigMap {
80
79
cm := & corev1.ConfigMap {}
81
80
cm .APIVersion = "v1"
82
81
cm .Kind = "ConfigMap"
83
- cm .Name = f . args .Name
82
+ cm .Name = args .Name
84
83
cm .Data = map [string ]string {}
85
84
return cm
86
85
}
87
86
88
87
// MakeConfigMap1 returns a new ConfigMap, or nil and an error.
89
- func (f * ConfigMapFactory ) MakeConfigMap1 () ( * corev1. ConfigMap , error ) {
90
- cm := f . makeFreshConfigMap ()
91
-
92
- if f . args .EnvSource != "" {
93
- if err := f .handleConfigMapFromEnvFileSource (cm ); err != nil {
88
+ func (f * ConfigMapFactory ) MakeConfigMap1 (
89
+ args * types. ConfigMapArgs ) ( * corev1. ConfigMap , error ) {
90
+ cm := f . makeFreshConfigMap ( args )
91
+ if args .EnvSource != "" {
92
+ if err := f .handleConfigMapFromEnvFileSource (cm , args ); err != nil {
94
93
return nil , err
95
94
}
96
95
}
97
- if f . args .FileSources != nil {
98
- if err := f .handleConfigMapFromFileSources (cm ); err != nil {
96
+ if args .FileSources != nil {
97
+ if err := f .handleConfigMapFromFileSources (cm , args ); err != nil {
99
98
return nil , err
100
99
}
101
100
}
102
- if f . args .LiteralSources != nil {
103
- if err := f .handleConfigMapFromLiteralSources (cm ); err != nil {
101
+ if args .LiteralSources != nil {
102
+ if err := f .handleConfigMapFromLiteralSources (cm , args ); err != nil {
104
103
return nil , err
105
104
}
106
105
}
@@ -109,35 +108,30 @@ func (f *ConfigMapFactory) MakeConfigMap1() (*corev1.ConfigMap, error) {
109
108
110
109
// MakeConfigMap2 returns a new ConfigMap, or nil and an error.
111
110
// TODO: Get rid of the nearly duplicated code in MakeConfigMap1 vs MakeConfigMap2
112
- func (f * ConfigMapFactory ) MakeConfigMap2 () (* corev1.ConfigMap , error ) {
111
+ func (f * ConfigMapFactory ) MakeConfigMap2 (
112
+ args * types.ConfigMapArgs ) (* corev1.ConfigMap , error ) {
113
113
var envPairs , literalPairs , filePairs []kvPair
114
114
var err error
115
-
116
- cm := f .makeFreshConfigMap ()
117
-
118
- if f .args .EnvSource != "" {
119
- envPairs , err = keyValuesFromEnvFile (f .ldr , f .args .EnvSource )
115
+ cm := f .makeFreshConfigMap (args )
116
+ if args .EnvSource != "" {
117
+ envPairs , err = keyValuesFromEnvFile (f .ldr , args .EnvSource )
120
118
if err != nil {
121
119
return nil , fmt .Errorf (
122
120
"error reading keys from env source file: %s %v" ,
123
- f . args .EnvSource , err )
121
+ args .EnvSource , err )
124
122
}
125
123
}
126
-
127
- literalPairs , err = keyValuesFromLiteralSources (f .args .LiteralSources )
124
+ literalPairs , err = keyValuesFromLiteralSources (args .LiteralSources )
128
125
if err != nil {
129
126
return nil , fmt .Errorf (
130
127
"error reading key values from literal sources: %v" , err )
131
128
}
132
-
133
- filePairs , err = keyValuesFromFileSources (f .ldr , f .args .FileSources )
129
+ filePairs , err = keyValuesFromFileSources (f .ldr , args .FileSources )
134
130
if err != nil {
135
131
return nil , fmt .Errorf (
136
132
"error reading key values from file sources: %v" , err )
137
133
}
138
-
139
134
allPairs := append (append (envPairs , literalPairs ... ), filePairs ... )
140
-
141
135
// merge key value pairs from all the sources
142
136
for _ , kv := range allPairs {
143
137
err = addKV (cm .Data , kv )
@@ -163,8 +157,8 @@ func keyValuesFromLiteralSources(sources []string) ([]kvPair, error) {
163
157
// handleConfigMapFromLiteralSources adds the specified literal source
164
158
// information into the provided configMap.
165
159
func (f * ConfigMapFactory ) handleConfigMapFromLiteralSources (
166
- configMap * v1.ConfigMap ) error {
167
- for _ , literalSource := range f . args .LiteralSources {
160
+ configMap * v1.ConfigMap , args * types. ConfigMapArgs ) error {
161
+ for _ , literalSource := range args .LiteralSources {
168
162
keyName , value , err := ParseLiteralSource (literalSource )
169
163
if err != nil {
170
164
return err
@@ -195,8 +189,9 @@ func keyValuesFromFileSources(ldr loader.Loader, sources []string) ([]kvPair, er
195
189
196
190
// handleConfigMapFromFileSources adds the specified file source information
197
191
// into the provided configMap
198
- func (f * ConfigMapFactory ) handleConfigMapFromFileSources (configMap * v1.ConfigMap ) error {
199
- for _ , fileSource := range f .args .FileSources {
192
+ func (f * ConfigMapFactory ) handleConfigMapFromFileSources (
193
+ configMap * v1.ConfigMap , args * types.ConfigMapArgs ) error {
194
+ for _ , fileSource := range args .FileSources {
200
195
keyName , filePath , err := ParseFileSource (fileSource )
201
196
if err != nil {
202
197
return err
@@ -241,14 +236,15 @@ func keyValuesFromEnvFile(l loader.Loader, path string) ([]kvPair, error) {
241
236
242
237
// HandleConfigMapFromEnvFileSource adds the specified env file source information
243
238
// into the provided configMap
244
- func (f * ConfigMapFactory ) handleConfigMapFromEnvFileSource (configMap * v1.ConfigMap ) error {
245
- if ! f .fSys .Exists (f .args .EnvSource ) {
246
- return fmt .Errorf ("unable to read configmap env file %s" , f .args .EnvSource )
239
+ func (f * ConfigMapFactory ) handleConfigMapFromEnvFileSource (
240
+ configMap * v1.ConfigMap , args * types.ConfigMapArgs ) error {
241
+ if ! f .fSys .Exists (args .EnvSource ) {
242
+ return fmt .Errorf ("unable to read configmap env file %s" , args .EnvSource )
247
243
}
248
- if f .fSys .IsDir (f . args .EnvSource ) {
249
- return fmt .Errorf ("env config file %s cannot be a directory" , f . args .EnvSource )
244
+ if f .fSys .IsDir (args .EnvSource ) {
245
+ return fmt .Errorf ("env config file %s cannot be a directory" , args .EnvSource )
250
246
}
251
- return addFromEnvFile (f . args .EnvSource , func (key , value string ) error {
247
+ return addFromEnvFile (args .EnvSource , func (key , value string ) error {
252
248
return addKeyFromLiteralToConfigMap (configMap , key , value )
253
249
})
254
250
}
0 commit comments