Skip to content

Commit 3ca9b49

Browse files
Merge pull request #1026 from rancher/revert-909-add-admission-configuration
Revert "Add admission_configuration configuration"
2 parents 6bdf0e0 + 5788729 commit 3ca9b49

4 files changed

Lines changed: 22 additions & 435 deletions

docs/resources/cluster.md

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,41 +1228,6 @@ The following attributes are exported:
12281228
* `service_cluster_ip_range` - (Optional/Computed) Service Cluster IP Range option for kube API service (string)
12291229
* `service_node_port_range` - (Optional/Computed) Service Node Port Range option for kube API service (string)
12301230

1231-
1232-
###### `admission_configuration`
1233-
1234-
###### Arguments
1235-
1236-
* `api_version` - (Optional) Admission configuration ApiVersion. Default: `apiserver.config.k8s.io/v1` (string)
1237-
* `kind` - (Optional) Admission configuration Kind. Default: `AdmissionConfiguration` (string)
1238-
* `plugins` - (Optional) Admission configuration plugins. (list `plugin`)
1239-
1240-
###### `plugin`
1241-
1242-
###### Arguments
1243-
1244-
* `name` - (Optional) Plugin name. (string)
1245-
* `path` - (Optional) Plugin path. Default: `""` (string)
1246-
* `configuration` - (Optional) Plugin configuration. (string) Ex:
1247-
1248-
```
1249-
configuration = <<EOF
1250-
apiVersion: pod-security.admission.config.k8s.io/v1alpha1
1251-
kind: PodSecurityConfiguration
1252-
defaults:
1253-
enforce: restricted
1254-
enforce-version: latest
1255-
audit: restricted
1256-
audit-version: latest
1257-
warn: restricted
1258-
warn-version: latest
1259-
exemptions:
1260-
usernames: []
1261-
runtimeClasses: []
1262-
namespaces: []
1263-
EOF
1264-
1265-
12661231
###### `audit_log`
12671232

12681233
###### Arguments

rancher2/schema_cluster_rke_config_services_kube_api.go

Lines changed: 3 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,9 @@ const (
1515
clusterRKEConfigServicesKubeAPIAuditLogConfigPolicyAPIDefault = "audit.k8s.io/v1"
1616
clusterRKEConfigServicesKubeAPIEventRateLimitConfigAPIDefault = "eventratelimit.admission.k8s.io/v1alpha1"
1717
clusterRKEConfigServicesKubeAPIEncryptionConfigAPIDefault = "apiserver.config.k8s.io/v1"
18-
clusterRKEConfigServicesKubeAPIAdmissionConfigAPIDefault = "apiserver.config.k8s.io/v1"
1918
clusterRKEConfigServicesKubeAPIAuditLogConfigPolicyKindDefault = "Policy"
2019
clusterRKEConfigServicesKubeAPIEventRateLimitConfigKindDefault = "Configuration"
2120
clusterRKEConfigServicesKubeAPIEncryptionConfigKindDefault = "EncryptionConfiguration"
22-
clusterRKEConfigServicesKubeAPIAdmissionConfigKindDefault = "AdmissionConfiguration"
2321
)
2422

2523
var (
@@ -125,127 +123,6 @@ func clusterRKEConfigServicesKubeAPIAuditLogFields() map[string]*schema.Schema {
125123
return s
126124
}
127125

128-
func clusterRKEConfigServicesKubeAPIAdmissionConfigurationFieldsV0() map[string]*schema.Schema {
129-
s := map[string]*schema.Schema{
130-
"api_version": {
131-
Type: schema.TypeString,
132-
Optional: true,
133-
Default: clusterRKEConfigServicesKubeAPIAdmissionConfigAPIDefault,
134-
Description: "Admission configuration ApiVersion",
135-
},
136-
"kind": {
137-
Type: schema.TypeString,
138-
Optional: true,
139-
Default: clusterRKEConfigServicesKubeAPIAdmissionConfigKindDefault,
140-
Description: "Admission configuration Kind",
141-
},
142-
"plugins": {
143-
Type: schema.TypeList,
144-
Optional: true,
145-
Computed: true,
146-
Elem: &schema.Resource{
147-
Schema: clusterRKEConfigServicesKubeAPIAdmissionConfigPluginsFieldsV0(),
148-
},
149-
Description: "Admission configuration plugins",
150-
},
151-
}
152-
return s
153-
}
154-
155-
func clusterRKEConfigServicesKubeAPIAdmissionConfigurationFields() map[string]*schema.Schema {
156-
s := map[string]*schema.Schema{
157-
"api_version": {
158-
Type: schema.TypeString,
159-
Optional: true,
160-
Default: clusterRKEConfigServicesKubeAPIAdmissionConfigAPIDefault,
161-
Description: "Admission configuration ApiVersion",
162-
},
163-
"kind": {
164-
Type: schema.TypeString,
165-
Optional: true,
166-
Default: clusterRKEConfigServicesKubeAPIAdmissionConfigKindDefault,
167-
Description: "Admission configuration Kind",
168-
},
169-
"plugins": {
170-
Type: schema.TypeList,
171-
Optional: true,
172-
Computed: true,
173-
Elem: &schema.Resource{
174-
Schema: clusterRKEConfigServicesKubeAPIAdmissionConfigPluginsFields(),
175-
},
176-
Description: "Admission configuration plugins",
177-
},
178-
}
179-
return s
180-
}
181-
182-
func clusterRKEConfigServicesKubeAPIAdmissionConfigPluginsFieldsV0() map[string]*schema.Schema {
183-
s := map[string]*schema.Schema{
184-
"name": {
185-
Type: schema.TypeString,
186-
Optional: true,
187-
Computed: true,
188-
Description: "Plugin name",
189-
},
190-
"path": {
191-
Type: schema.TypeString,
192-
Optional: true,
193-
Default: "",
194-
Description: "Plugin path",
195-
},
196-
"configuration": {
197-
Type: schema.TypeString,
198-
Optional: true,
199-
Computed: true,
200-
Description: "Plugin configuration",
201-
},
202-
}
203-
return s
204-
}
205-
func clusterRKEConfigServicesKubeAPIAdmissionConfigPluginsFields() map[string]*schema.Schema {
206-
s := map[string]*schema.Schema{
207-
"name": {
208-
Type: schema.TypeString,
209-
Optional: true,
210-
Computed: true,
211-
Description: "Plugin name",
212-
},
213-
"path": {
214-
Type: schema.TypeString,
215-
Optional: true,
216-
Default: "",
217-
Description: "Plugin path",
218-
},
219-
"configuration": {
220-
Type: schema.TypeString,
221-
Optional: true,
222-
Computed: true,
223-
ValidateFunc: func(val interface{}, key string) (warns []string, errs []error) {
224-
v, ok := val.(string)
225-
if !ok || len(v) == 0 {
226-
return
227-
}
228-
_, err := ghodssyamlToMapInterface(v)
229-
if err != nil {
230-
errs = append(errs, fmt.Errorf("%q must be in yaml format, error: %v", key, err))
231-
return
232-
}
233-
return
234-
},
235-
DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {
236-
if old == "" || new == "" {
237-
return false
238-
}
239-
oldMap, _ := ghodssyamlToMapInterface(old)
240-
newMap, _ := ghodssyamlToMapInterface(new)
241-
return reflect.DeepEqual(oldMap, newMap)
242-
},
243-
Description: "Plugin configuration",
244-
},
245-
}
246-
return s
247-
}
248-
249126
func clusterRKEConfigServicesKubeAPIEventRateLimitFieldsV0() map[string]*schema.Schema {
250127
s := map[string]*schema.Schema{
251128
"configuration": {
@@ -406,13 +283,8 @@ func clusterRKEConfigServicesKubeAPISecretsEncryptionConfigFieldsData() map[stri
406283
func clusterRKEConfigServicesKubeAPIFieldsV0() map[string]*schema.Schema {
407284
s := map[string]*schema.Schema{
408285
"admission_configuration": {
409-
Type: schema.TypeList,
410-
MaxItems: 1,
286+
Type: schema.TypeMap,
411287
Optional: true,
412-
Elem: &schema.Resource{
413-
Schema: clusterRKEConfigServicesKubeAPIAdmissionConfigurationFieldsV0(),
414-
},
415-
Description: "Cluster admission configuration",
416288
},
417289
"always_pull_images": {
418290
Type: schema.TypeBool,
@@ -489,13 +361,8 @@ func clusterRKEConfigServicesKubeAPIFieldsV0() map[string]*schema.Schema {
489361
func clusterRKEConfigServicesKubeAPIFields() map[string]*schema.Schema {
490362
s := map[string]*schema.Schema{
491363
"admission_configuration": {
492-
Type: schema.TypeList,
493-
MaxItems: 1,
364+
Type: schema.TypeMap,
494365
Optional: true,
495-
Elem: &schema.Resource{
496-
Schema: clusterRKEConfigServicesKubeAPIAdmissionConfigurationFields(),
497-
},
498-
Description: "Cluster admission configuration",
499366
},
500367
"always_pull_images": {
501368
Type: schema.TypeBool,
@@ -573,13 +440,8 @@ func clusterRKEConfigServicesKubeAPIFields() map[string]*schema.Schema {
573440
func clusterRKEConfigServicesKubeAPIFieldsData() map[string]*schema.Schema {
574441
s := map[string]*schema.Schema{
575442
"admission_configuration": {
576-
Type: schema.TypeList,
577-
MaxItems: 1,
443+
Type: schema.TypeMap,
578444
Optional: true,
579-
Elem: &schema.Resource{
580-
Schema: clusterRKEConfigServicesKubeAPIAdmissionConfigurationFields(),
581-
},
582-
Description: "Cluster admission configuration",
583445
},
584446
"always_pull_images": {
585447
Type: schema.TypeBool,

rancher2/structure_cluster_rke_config_services_kube_api.go

Lines changed: 3 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -86,67 +86,14 @@ func flattenClusterRKEConfigServicesKubeAPISecretsEncryptionConfig(in *managemen
8686
return []interface{}{obj}, nil
8787
}
8888

89-
func flattenClusterRKEConfigServicesKubeAPIAdmissionConfigurationPlugins(in []interface{}) ([]interface{}, error) {
90-
obj := []interface{}{}
91-
if len(in) == 0 {
92-
return []interface{}{}, nil
93-
}
94-
95-
for _, plugin := range in {
96-
pluginMap, ok := plugin.(map[string]interface{})
97-
if !ok || len(pluginMap) == 0 {
98-
continue // or return, if this is an error condition
99-
}
100-
var newObj = map[string]interface{}{}
101-
newObj["name"] = pluginMap["name"].(string)
102-
newObj["path"] = pluginMap["path"].(string)
103-
configurationStr, err := mapInterfaceToYAML(pluginMap["configuration"].(map[string]interface{}))
104-
if err != nil {
105-
return []interface{}{}, fmt.Errorf("Marshalling plugin configuration to yaml for %v: %v", pluginMap["name"], err)
106-
}
107-
newObj["configuration"] = configurationStr
108-
obj = append(obj, newObj)
109-
}
110-
return obj, nil
111-
}
112-
113-
func flattenClusterRKEConfigServicesKubeAPIAdmissionConfiguration(in map[string]interface{}) ([]interface{}, error) {
114-
obj := make(map[string]interface{})
115-
if in == nil {
116-
return []interface{}{}, nil
117-
}
118-
119-
if v, ok := in["apiVersion"].(string); ok {
120-
obj["api_version"] = v
121-
}
122-
123-
if v, ok := in["kind"].(string); ok {
124-
obj["kind"] = v
125-
}
126-
127-
if v, ok := in["plugins"].([]interface{}); ok {
128-
plugins, err := flattenClusterRKEConfigServicesKubeAPIAdmissionConfigurationPlugins(v)
129-
if err != nil {
130-
return []interface{}{}, err
131-
}
132-
obj["plugins"] = plugins
133-
}
134-
return []interface{}{obj}, nil
135-
}
136-
13789
func flattenClusterRKEConfigServicesKubeAPI(in *managementClient.KubeAPIService) ([]interface{}, error) {
13890
obj := make(map[string]interface{})
13991
if in == nil {
14092
return []interface{}{}, nil
14193
}
14294

14395
if len(in.AdmissionConfiguration) > 0 {
144-
admissionConfig, err := flattenClusterRKEConfigServicesKubeAPIAdmissionConfiguration(in.AdmissionConfiguration)
145-
if err != nil {
146-
return []interface{}{}, err
147-
}
148-
149-
obj["admission_configuration"] = admissionConfig
96+
obj["admission_configuration"] = in.AdmissionConfiguration
15097
}
15198

15299
obj["always_pull_images"] = in.AlwaysPullImages
@@ -263,55 +210,6 @@ func expandClusterRKEConfigServicesKubeAPIAuditLog(p []interface{}) (*management
263210
return obj, nil
264211
}
265212

266-
func expandClusterRKEConfigServicesKubeAPIAdmissionConfigurationPlugins(p []interface{}) ([]interface{}, error) {
267-
obj := []interface{}{}
268-
if len(p) == 0 || p[0] == nil {
269-
return obj, nil
270-
}
271-
for _, plugin := range p {
272-
pluginMap, ok := plugin.(map[string]interface{})
273-
if !ok || len(pluginMap) == 0 {
274-
continue // or return, if this is an error condition
275-
}
276-
var newObj = map[string]interface{}{}
277-
newObj["name"] = pluginMap["name"].(string)
278-
newObj["path"] = pluginMap["path"].(string)
279-
configuration, err := ghodssyamlToMapInterface(pluginMap["configuration"].(string))
280-
if err != nil {
281-
return obj, fmt.Errorf("Unmarshalling plugin configuration from yaml for %v: %v", pluginMap["name"], err)
282-
}
283-
newObj["configuration"] = configuration
284-
obj = append(obj, newObj)
285-
}
286-
return obj, nil
287-
}
288-
289-
func expandClusterRKEConfigServicesKubeAPIAdmissionConfiguration(p []interface{}) (map[string]interface{}, error) {
290-
obj := make(map[string]interface{})
291-
if len(p) == 0 || p[0] == nil {
292-
return obj, nil
293-
}
294-
in := p[0].(map[string]interface{})
295-
296-
if v, ok := in["api_version"].(string); ok && len(v) > 0 {
297-
obj["apiVersion"] = v
298-
}
299-
300-
if v, ok := in["kind"].(string); ok && len(v) > 0 {
301-
obj["kind"] = v
302-
}
303-
304-
if v, ok := in["plugins"].([]interface{}); ok && len(v) > 0 {
305-
plugins, err := expandClusterRKEConfigServicesKubeAPIAdmissionConfigurationPlugins(v)
306-
if err != nil {
307-
return nil, err
308-
}
309-
obj["plugins"] = plugins
310-
}
311-
312-
return obj, nil
313-
}
314-
315213
func expandClusterRKEConfigServicesKubeAPIEventRateLimit(p []interface{}) *managementClient.EventRateLimit {
316214
obj := &managementClient.EventRateLimit{}
317215
if len(p) == 0 || p[0] == nil {
@@ -364,12 +262,8 @@ func expandClusterRKEConfigServicesKubeAPI(p []interface{}) (*managementClient.K
364262
}
365263
in := p[0].(map[string]interface{})
366264

367-
if v, ok := in["admission_configuration"].([]interface{}); ok && len(v) > 0 {
368-
admissionConfig, err := expandClusterRKEConfigServicesKubeAPIAdmissionConfiguration(v)
369-
if err != nil {
370-
return nil, err
371-
}
372-
obj.AdmissionConfiguration = admissionConfig
265+
if v, ok := in["admission_configuration"].(map[string]interface{}); ok && len(v) > 0 {
266+
obj.AdmissionConfiguration = v
373267
}
374268

375269
if v, ok := in["always_pull_images"].(bool); ok {

0 commit comments

Comments
 (0)