From 596a043af03a3fd77526276644e43f45a90f7d07 Mon Sep 17 00:00:00 2001 From: Jyoti Mahapatra Date: Tue, 3 May 2022 15:55:51 -0700 Subject: [PATCH] revert use of upstream yaml parsing --- pkg/mapper/configmap/configmap.go | 20 +++++-------------- .../yaml/aws-auth-crazy-case-keys.yaml | 19 ------------------ .../yaml/aws-auth-open-source-case-keys.yaml | 19 ------------------ pkg/mapper/configmap/yaml_test.go | 10 ---------- 4 files changed, 5 insertions(+), 63 deletions(-) delete mode 100644 pkg/mapper/configmap/yaml/aws-auth-crazy-case-keys.yaml delete mode 100644 pkg/mapper/configmap/yaml/aws-auth-open-source-case-keys.yaml diff --git a/pkg/mapper/configmap/configmap.go b/pkg/mapper/configmap/configmap.go index d77790057..c38e1b9a1 100644 --- a/pkg/mapper/configmap/configmap.go +++ b/pkg/mapper/configmap/configmap.go @@ -2,11 +2,12 @@ package configmap import ( "context" - "encoding/json" "errors" + "sync" + "fmt" + "strings" - "sync" "time" "github.com/sirupsen/logrus" @@ -14,7 +15,6 @@ import ( core_v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" - utilyaml "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/kubernetes" v1 "k8s.io/client-go/kubernetes/typed/core/v1" @@ -115,27 +115,17 @@ func ParseMap(m map[string]string) (userMappings []config.UserMapping, roleMappi errs := make([]error, 0) userMappings = make([]config.UserMapping, 0) if userData, ok := m["mapUsers"]; ok { - userJson, err := utilyaml.ToJSON([]byte(userData)) + err := yaml.Unmarshal([]byte(userData), &userMappings) if err != nil { errs = append(errs, err) - } else { - err = json.Unmarshal(userJson, &userMappings) - if err != nil { - errs = append(errs, err) - } } } roleMappings = make([]config.RoleMapping, 0) if roleData, ok := m["mapRoles"]; ok { - roleJson, err := utilyaml.ToJSON([]byte(roleData)) + err := yaml.Unmarshal([]byte(roleData), &roleMappings) if err != nil { errs = append(errs, err) - } else { - err = json.Unmarshal(roleJson, &roleMappings) - if err != nil { - errs = append(errs, err) - } } } diff --git a/pkg/mapper/configmap/yaml/aws-auth-crazy-case-keys.yaml b/pkg/mapper/configmap/yaml/aws-auth-crazy-case-keys.yaml deleted file mode 100644 index 3da994a84..000000000 --- a/pkg/mapper/configmap/yaml/aws-auth-crazy-case-keys.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: aws-auth - namespace: kube-system -data: - mapRoles: | - - rOlEaRn: arn:aws:iam::555555555555:role/devel-worker-nodes-NodeInstanceRole-74RF4UBDUKL6 - UsErNaMe: system:node:{{EC2PrivateDNSName}} - gRoUpS: - - system:bootstrappers - - system:nodes - mapUsers: | - - uSeRaRn: arn:aws:iam::555555555555:user/admin - UsErNaMe: admin - gRoUpS: - - system:masters - mapAccounts: | - - 555555555555 diff --git a/pkg/mapper/configmap/yaml/aws-auth-open-source-case-keys.yaml b/pkg/mapper/configmap/yaml/aws-auth-open-source-case-keys.yaml deleted file mode 100644 index 9c82c8c04..000000000 --- a/pkg/mapper/configmap/yaml/aws-auth-open-source-case-keys.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: aws-auth - namespace: kube-system -data: - mapRoles: | - - roleARN: arn:aws:iam::555555555555:role/devel-worker-nodes-NodeInstanceRole-74RF4UBDUKL6 - username: system:node:{{EC2PrivateDNSName}} - groups: - - system:bootstrappers - - system:nodes - mapUsers: | - - userARN: arn:aws:iam::555555555555:user/admin - username: admin - groups: - - system:masters - mapAccounts: | - - 555555555555 diff --git a/pkg/mapper/configmap/yaml_test.go b/pkg/mapper/configmap/yaml_test.go index 81222b4fc..67c850780 100644 --- a/pkg/mapper/configmap/yaml_test.go +++ b/pkg/mapper/configmap/yaml_test.go @@ -56,16 +56,6 @@ func TestConfigMap(t *testing.T) { // Valid aws-auth.yaml based on one in EKS documentation. "aws-auth.yaml", validRoleMappings, validUserMappings, validAWSAccounts, false, }, - { - // RoLeArN instead of rolearn - // parsing succeeds, values are case-insensitive for compatibility with upstream - "aws-auth-crazy-case-keys.yaml", validRoleMappings, validUserMappings, validAWSAccounts, false, - }, - { - // roleARN instead of rolearn - // parsing succeeds, values are case-insensitive for compatibility with upstream - "aws-auth-open-source-case-keys.yaml", validRoleMappings, validUserMappings, validAWSAccounts, false, - }, // Fail cases -- ideally, validation should reject these before they reach us { // mapusers instead of mapUsers