From f89f59c5b26931e4298abd3e0909d879d7e080a4 Mon Sep 17 00:00:00 2001 From: faizanahmad055 Date: Wed, 18 Jul 2018 19:56:12 +0500 Subject: [PATCH] Fix rbac permission issue --- .../kubernetes/chart/reloader/templates/rbac.yaml | 14 ++++++++++++++ internal/pkg/handler/created-handler.go | 4 ++-- internal/pkg/handler/updated-handler.go | 13 +++++++------ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/deployments/kubernetes/chart/reloader/templates/rbac.yaml b/deployments/kubernetes/chart/reloader/templates/rbac.yaml index 678725d..88c2cbb 100644 --- a/deployments/kubernetes/chart/reloader/templates/rbac.yaml +++ b/deployments/kubernetes/chart/reloader/templates/rbac.yaml @@ -24,6 +24,20 @@ rules: - list - get - watch + - apiGroups: + - "" + - "extensions" + - "apps" + resources: + - deployments + - daemonsets + - statefulsets + verbs: + - list + - get + - update + - patch + - watch --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: RoleBinding diff --git a/internal/pkg/handler/created-handler.go b/internal/pkg/handler/created-handler.go index e61bd19..67d1deb 100644 --- a/internal/pkg/handler/created-handler.go +++ b/internal/pkg/handler/created-handler.go @@ -18,9 +18,9 @@ func (r ResourceCreatedHandler) Handle() error { logrus.Infof("Detected changes in object %s", r.Resource) // process resource based on its type if _, ok := r.Resource.(*v1.ConfigMap); ok { - logrus.Infof("Performing 'Added' action for resource of type 'configmap'") + logrus.Infof("A 'configmap' has been 'Added' but no implementation found to take action") } else if _, ok := r.Resource.(*v1.Secret); ok { - logrus.Infof("Performing 'Added' action for resource of type 'secret'") + logrus.Infof("A 'secret' has been 'Added' but no implementation found to take action") } else { logrus.Warnf("Invalid resource: Resource should be 'Secret' or 'Configmap' but found, %v", r.Resource) } diff --git a/internal/pkg/handler/updated-handler.go b/internal/pkg/handler/updated-handler.go index 5d5ce22..428bf71 100644 --- a/internal/pkg/handler/updated-handler.go +++ b/internal/pkg/handler/updated-handler.go @@ -66,15 +66,15 @@ func rollingUpgrade(r ResourceUpdatedHandler, resourceType string, rollingUpgrad } if rollingUpgradeType == "deployments" { - rollingUpgradeForDeployment(client, r, namespace, name, sshData, envName) + rollingUpgradeForDeployment(client, namespace, name, sshData, envName) } else if rollingUpgradeType == "daemonsets" { - rollingUpgradeForDaemonSets(client, r, namespace, name, sshData, envName) + rollingUpgradeForDaemonSets(client, namespace, name, sshData, envName) } else if rollingUpgradeType == "statefulSets" { - rollingUpgradeForStatefulSets(client, r, namespace, name, sshData, envName) + rollingUpgradeForStatefulSets(client, namespace, name, sshData, envName) } } -func rollingUpgradeForDeployment(client kubernetes.Interface, r ResourceUpdatedHandler, namespace string, name string, sshData string, envName string) error { +func rollingUpgradeForDeployment(client kubernetes.Interface, namespace string, name string, sshData string, envName string) error { deployments, err := client.ExtensionsV1beta1().Deployments(namespace).List(meta_v1.ListOptions{}) if err != nil { logrus.Fatalf("Failed to list deployments %v", err) @@ -118,11 +118,12 @@ func rollingUpgradeForDeployment(client kubernetes.Interface, r ResourceUpdatedH return nil } -func rollingUpgradeForDaemonSets(client kubernetes.Interface, r ResourceUpdatedHandler, namespace string, name string, sshData string, envName string) error { +func rollingUpgradeForDaemonSets(client kubernetes.Interface, namespace string, name string, sshData string, envName string) error { daemonSets, err := client.ExtensionsV1beta1().DaemonSets(namespace).List(meta_v1.ListOptions{}) if err != nil { logrus.Fatalf("Failed to list daemonSets %v", err) } + var updateOnChangeAnnotation string if envName == "_CONFIGMAP" { updateOnChangeAnnotation = configmapUpdateOnChangeAnnotation @@ -162,7 +163,7 @@ func rollingUpgradeForDaemonSets(client kubernetes.Interface, r ResourceUpdatedH return nil } -func rollingUpgradeForStatefulSets(client kubernetes.Interface, r ResourceUpdatedHandler, namespace string, name string, sshData string, envName string) error { +func rollingUpgradeForStatefulSets(client kubernetes.Interface, namespace string, name string, sshData string, envName string) error { statefulSets, err := client.AppsV1beta1().StatefulSets(namespace).List(meta_v1.ListOptions{}) if err != nil { logrus.Fatalf("Failed to list statefulSets %v", err)