Implement PR-1 review comments

This commit is contained in:
faizanahmad055
2018-07-12 16:16:46 +05:00
parent bf34e3a691
commit f73318f25e
3 changed files with 74 additions and 4 deletions

View File

@@ -7,12 +7,13 @@ metadata:
name: {{ template "reloader-name" . }}
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
kind: Role
metadata:
labels:
{{ include "reloader-labels.stakater" . | indent 4 }}
{{ include "reloader-labels.chart" . | indent 4 }}
name: {{ template "reloader-name" . }}-role
namespace: {{ .Release.Namespace }}
rules:
- apiGroups:
- ""
@@ -25,15 +26,16 @@ rules:
- watch
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
kind: RoleBinding
metadata:
labels:
{{ include "reloader-labels.stakater" . | indent 4 }}
{{ include "reloader-labels.chart" . | indent 4 }}
name: {{ template "reloader-name" . }}-role-binding
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
kind: Role
name: {{ template "reloader-name" . }}-role
subjects:
- kind: ServiceAccount

View File

@@ -6,4 +6,4 @@ import "github.com/stakater/Reloader/internal/pkg/cmd"
func Run() error {
cmd := cmd.NewReloaderCommand()
return cmd.Execute()
}
}

View File

@@ -14,6 +14,7 @@ import (
var (
client, err = kube.GetClient()
configmapNamePrefix = "testconfigmap-reloader"
secretNamePrefix = "testsecret-reloader"
letters = []rune("abcdefghijklmnopqrstuvwxyz")
)
@@ -72,6 +73,51 @@ func TestControllerForUpdatingConfigmapShouldUpdateDeployment(t *testing.T) {
time.Sleep(15 * time.Second)
}
func TestControllerForUpdatingSecretShouldUpdateDeployment(t *testing.T) {
namespace := "test-reloader-secrets"
createNamespace(t, namespace)
defer deleteNamespace(t, namespace)
controller, err := NewController(client, "secrets", namespace)
if err != nil {
logrus.Infof("Unable to create NewController error = %v", err)
return
}
stop := make(chan struct{})
defer close(stop)
go controller.Run(1, stop)
time.Sleep(10 * time.Second)
secretName := secretNamePrefix + "-update-" + randSeq(5)
secretClient := client.CoreV1().Secrets(namespace)
secret := initSecret(namespace, secretName)
secret, err = secretClient.Create(secret)
if err != nil {
panic(err)
}
logrus.Infof("Created Secret %q.\n", secret.GetObjectMeta().GetName())
time.Sleep(10 * time.Second)
logrus.Infof("Updating Secret %q.\n", secret.GetObjectMeta().GetName())
secret, err = secretClient.Get(secretName, metav1.GetOptions{})
if err != nil {
}
secret = updateSecret(namespace, secretName)
_, updateErr := secretClient.Update(secret)
// TODO: Add functionality to verify reloader functionality here
if updateErr != nil {
controller.client.CoreV1().Secrets(namespace).Delete(secretName, &metav1.DeleteOptions{})
panic(updateErr)
}
time.Sleep(10 * time.Second)
logrus.Infof("Deleting Secret %q.\n", secret.GetObjectMeta().GetName())
controller.client.CoreV1().Secrets(namespace).Delete(secretName, &metav1.DeleteOptions{})
time.Sleep(15 * time.Second)
}
func initConfigmap(namespace string, configmapName string) *v1.ConfigMap {
return &v1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
@@ -83,6 +129,17 @@ func initConfigmap(namespace string, configmapName string) *v1.ConfigMap {
}
}
func initSecret(namespace string, secretName string) *v1.Secret {
return &v1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: namespace,
Labels: map[string]string{"firstLabel": "temp"},
},
Data: map[string][]byte{"test.url": []byte("dGVzdFNlY3JldEVuY29kaW5nRm9yUmVsb2FkZXI=")},
}
}
func createNamespace(t *testing.T, namespace string) {
_, err := client.CoreV1().Namespaces().Create(&v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: namespace}})
if err != nil {
@@ -111,3 +168,14 @@ func updateConfigmap(namespace string, configmapName string) *v1.ConfigMap {
Data: map[string]string{"test.url": "www.stakater.com"},
}
}
func updateSecret(namespace string, secretName string) *v1.Secret {
return &v1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: namespace,
Labels: map[string]string{"firstLabel": "temp"},
},
Data: map[string][]byte{"test.url": []byte("dGVzdFVwZGF0ZWRTZWNyZXRFbmNvZGluZ0ZvclJlbG9hZGVy")},
}
}