From 1fbc0768823c3001fba9322423bc52f13703cc43 Mon Sep 17 00:00:00 2001 From: Vaibhav Date: Wed, 13 Feb 2019 17:14:36 -0500 Subject: [PATCH] Update Argo Events chart (#35) --- charts/.DS_Store | Bin 0 -> 6148 bytes charts/argo-events/Chart.yaml | 9 +- charts/argo-events/README.md | 14 ++- charts/argo-events/templates/_helpers.tpl | 21 ---- charts/argo-events/templates/_sensor-crd.tpl | 20 ---- .../templates/apply-sensor-crd-job.yaml | 19 ---- .../templates/argo-events-cluster-roles.yaml | 94 ++++++++++++++++++ .../argo-events/templates/argo-events-sa.yaml | 7 ++ .../gateway-controller-configmap.yaml | 12 +++ .../gateway-controller-deployment.yaml | 33 ++++++ charts/argo-events/templates/gateway-crd.yaml | 14 +++ .../sensor-controller-clusterrole.yaml | 15 --- .../sensor-controller-configmap.yaml | 8 +- .../templates/sensor-controller-crb.yaml | 12 --- .../sensor-controller-deployment.yaml | 18 ++-- .../templates/sensor-controller-sa.yaml | 4 - charts/argo-events/templates/sensor-crd.yaml | 14 +++ .../templates/signals-clusterrole.yaml | 11 -- charts/argo-events/templates/signals-crb.yaml | 12 --- charts/argo-events/templates/signals-sa.yaml | 4 - charts/argo-events/values.yaml | 32 +++--- 21 files changed, 210 insertions(+), 163 deletions(-) create mode 100644 charts/.DS_Store delete mode 100644 charts/argo-events/templates/_sensor-crd.tpl delete mode 100644 charts/argo-events/templates/apply-sensor-crd-job.yaml create mode 100644 charts/argo-events/templates/argo-events-cluster-roles.yaml create mode 100644 charts/argo-events/templates/argo-events-sa.yaml create mode 100644 charts/argo-events/templates/gateway-controller-configmap.yaml create mode 100644 charts/argo-events/templates/gateway-controller-deployment.yaml create mode 100644 charts/argo-events/templates/gateway-crd.yaml delete mode 100644 charts/argo-events/templates/sensor-controller-clusterrole.yaml delete mode 100644 charts/argo-events/templates/sensor-controller-crb.yaml delete mode 100644 charts/argo-events/templates/sensor-controller-sa.yaml create mode 100644 charts/argo-events/templates/sensor-crd.yaml delete mode 100644 charts/argo-events/templates/signals-clusterrole.yaml delete mode 100644 charts/argo-events/templates/signals-crb.yaml delete mode 100644 charts/argo-events/templates/signals-sa.yaml diff --git a/charts/.DS_Store b/charts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..beead66a02843c49bfcbb920658416449832a8c2 GIT binary patch literal 6148 zcmeHKu}TC{3`}&v1Dh)?x3saawpos|u=WS^P7vW>L9pM>Z}BVdW|EwE`>?f;2_&=c zCG(b@V)J5VzWR8%HCvk50#39~hSr#;H+EJ#MCTa~yK%eOjT@}vz=qLoklWd_z1ype zGyWZN*ZZ&_UL5P}#^-wq^A_McJ0+Z@BVt7pso^<4gs-F^*ZXR#OIrV0* z3B_yh@IK1TheSmwAO%hpIM3yh{r?{R%lv;z(n<UusSKNL=hLC1d3fw~A#7nv0J3k42B%q8&v literal 0 HcmV?d00001 diff --git a/charts/argo-events/Chart.yaml b/charts/argo-events/Chart.yaml index d32cb2be..8c05a032 100644 --- a/charts/argo-events/Chart.yaml +++ b/charts/argo-events/Chart.yaml @@ -1,15 +1,14 @@ apiVersion: v1 description: A Helm chart to install Argo-Events in k8s Cluster name: argo-events -version: 0.2.0 +version: 0.3.0 keywords: - argo-events - sensor-controller +- gateway-controller sources: - https://github.com/argoproj/argo-events maintainers: -- name: Matt Magaldi - email: mmagaldi@blackrock.com - name: Vaibhav Page - email: vpage@blackrock.com -appVersion: 0.1.0 +- name: Matt Magaldi +appVersion: 0.7.0 diff --git a/charts/argo-events/README.md b/charts/argo-events/README.md index e08cf4ba..d09f9e8a 100644 --- a/charts/argo-events/README.md +++ b/charts/argo-events/README.md @@ -1,13 +1,11 @@ # Argo-Events Helm Chart This helm chart installs the [argo-events](https://github.com/argoproj/argo-events) application. This application comes packaged with: - Sensor Custom Resource Definition +- Gateway Custom Resource Definition - Sensor Controller Deployment - Sensor Controller ConfigMap -- Sensor Controller Service Account -- Sensor Controller Cluster Roles -- Sensor Controller Cluster Role Bindings - - -Note: the associated `argo-events` cluster role and cluster role bindings can be found in the [roles](https://blade-git.blackrock.com/cloud-native/roles) repository. The purpose that these aren't included in this Helm chart is that we do not have the required permissions to create these resources in the Kubernetes clusters. Reach out to `+Group Kubernetes Support` for help in setting up these roles. - -## Chart Values +- Gateway Controller Deployment +- Gateway Controller ConfigMap +- Service Account +- Cluster Roles +- Cluster Role Bindings diff --git a/charts/argo-events/templates/_helpers.tpl b/charts/argo-events/templates/_helpers.tpl index 55c1142c..f0d83d2e 100644 --- a/charts/argo-events/templates/_helpers.tpl +++ b/charts/argo-events/templates/_helpers.tpl @@ -14,24 +14,3 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- $name := default .Chart.Name .Values.nameOverride -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} {{- end -}} - -{{- define "sensor-crd-json" }} -{ - "apiVersion": "apiextensions.k8s.io/v1beta1", - "kind": "CustomResourceDefinition", - "metadata": { - "name": "sensors.argoproj.io" - }, - "spec": { - "group": "argoproj.io", - "names": { - "kind": "Sensor", - "listKind": "SensorList", - "plural": "sensors", - "singular": "sensor" - }, - "scope": "Namespaced", - "version": "v1alpha1" - } -} -{{- end}} diff --git a/charts/argo-events/templates/_sensor-crd.tpl b/charts/argo-events/templates/_sensor-crd.tpl deleted file mode 100644 index 48fb2ab5..00000000 --- a/charts/argo-events/templates/_sensor-crd.tpl +++ /dev/null @@ -1,20 +0,0 @@ -{{- define "sensor-crd-json" }} -{ - "apiVersion": "apiextensions.k8s.io/{{ .Values.crd.version }}", - "kind": "CustomResourceDefinition", - "metadata": { - "name": "sensors.argoproj.io" - }, - "spec": { - "group": "argoproj.io", - "names": { - "kind": "Sensor", - "listKind": "SensorList", - "plural": "sensors", - "singular": "sensor" - }, - "scope": "Namespaced", - "version": "v1alpha1" - } -} -{{- end}} diff --git a/charts/argo-events/templates/apply-sensor-crd-job.yaml b/charts/argo-events/templates/apply-sensor-crd-job.yaml deleted file mode 100644 index 8360d0fd..00000000 --- a/charts/argo-events/templates/apply-sensor-crd-job.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ .Release.Name }}-apply-sensor-crd - annotations: - helm.sh/hook: pre-install - helm.sh/hook-delete-policy: hook-succeeded -spec: - backoffLimit: 5 - activeDeadlineSeconds: 100 - template: - spec: - serviceAccountName: {{ .Values.crd.jobServiceAccount }} - containers: - - name: kubectl-apply - image: lachlanevenson/k8s-kubectl - command: ["/bin/sh"] - args: ["-c", 'echo ''{{- include "sensor-crd-json" .}}'' | kubectl apply -f -'] - restartPolicy: Never diff --git a/charts/argo-events/templates/argo-events-cluster-roles.yaml b/charts/argo-events/templates/argo-events-cluster-roles.yaml new file mode 100644 index 00000000..4d7e9db4 --- /dev/null +++ b/charts/argo-events/templates/argo-events-cluster-roles.yaml @@ -0,0 +1,94 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: argo-events-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argo-events-role +subjects: + - kind: ServiceAccount + name: argo-events-sa + namespace: argo-events +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: argo-events-role +rules: + - apiGroups: + - apiextensions.k8s.io + - apiextensions.k8s.io/v1beta1 + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + resources: + - customresourcedefinitions + - apiGroups: + - argoproj.io + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + resources: + - workflows + - workflows/finalizers + - gateways + - gateways/finalizers + - sensors + - sensors/finalizers + - apiGroups: + - "" + resources: + - pods + - pods/exec + - configmaps + - secrets + - services + - events + - persistentvolumeclaims + verbs: + - create + - get + - list + - watch + - update + - patch + - delete + - apiGroups: + - "batch" + resources: + - jobs + verbs: + - create + - get + - list + - watch + - update + - patch + - delete + - apiGroups: + - "apps/v1" + - "apps/v1beta2" + - "apps/v1beta1" + resources: + - deployments + verbs: + - create + - get + - list + - watch + - update + - patch + - delete diff --git a/charts/argo-events/templates/argo-events-sa.yaml b/charts/argo-events/templates/argo-events-sa.yaml new file mode 100644 index 00000000..2d0f9de5 --- /dev/null +++ b/charts/argo-events/templates/argo-events-sa.yaml @@ -0,0 +1,7 @@ +# All argo-events services are bound to the "argo-events" service account. +# In RBAC enabled setups, this SA is bound to specific roles. +apiVersion: v1 +kind: ServiceAccount +metadata: + name: argo-events-sa + namespace: argo-events diff --git a/charts/argo-events/templates/gateway-controller-configmap.yaml b/charts/argo-events/templates/gateway-controller-configmap.yaml new file mode 100644 index 00000000..1f0a0fd7 --- /dev/null +++ b/charts/argo-events/templates/gateway-controller-configmap.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-{{ .Values.gatewayController.name }}-configmap + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: + config: | + instanceID: {{ .Values.instanceID }} + namespace: {{ .Values.namespace }} diff --git a/charts/argo-events/templates/gateway-controller-deployment.yaml b/charts/argo-events/templates/gateway-controller-deployment.yaml new file mode 100644 index 00000000..7c699639 --- /dev/null +++ b/charts/argo-events/templates/gateway-controller-deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-{{ .Values.gatewayController.name }} + labels: + app: {{ .Release.Name }}-{{ .Values.gatewayController.name }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.gatewayController.replicaCount }} + selector: + matchLabels: + app: {{ .Release.Name }}-{{ .Values.gatewayController.name }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ .Release.Name }}-{{ .Values.gatewayController.name }} + release: {{ .Release.Name }} + spec: + serviceAccountName: {{ .Values.serviceAccount }} + containers: + - name: {{ .Values.gatewayController.name }} + image: "{{ .Values.registry }}/{{ .Values.gatewayController.image }}:{{ .Values.gatewayController.tag }}" + imagePullPolicy: {{ .Values.imagePullPolicy }} + env: + - name: GATEWAY_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: GATEWAY_CONTROLLER_CONFIG_MAP + value: {{ .Release.Name }}-{{ .Values.gatewayController.name }}-configmap diff --git a/charts/argo-events/templates/gateway-crd.yaml b/charts/argo-events/templates/gateway-crd.yaml new file mode 100644 index 00000000..6cab34ba --- /dev/null +++ b/charts/argo-events/templates/gateway-crd.yaml @@ -0,0 +1,14 @@ +# Define a "gateway" custom resource definition +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: gateways.argoproj.io +spec: + group: argoproj.io + names: + kind: Gateway + listKind: GatewayList + plural: gateways + singular: gateway + scope: Namespaced + version: v1alpha1 diff --git a/charts/argo-events/templates/sensor-controller-clusterrole.yaml b/charts/argo-events/templates/sensor-controller-clusterrole.yaml deleted file mode 100644 index a1d53e8d..00000000 --- a/charts/argo-events/templates/sensor-controller-clusterrole.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ .Release.name }}-{{ .Values.controller.name}}-cluster-role -rules: -- apiGroups: ["argoproj.io"] - resources: ["sensors"] - verbs: ["get", "list", "watch", "update", "patch"] -# The following rules define what the triggers can do -- apiGroups: ["argoproj.io"] - resources: ["workflows"] - verbs: ["create", "delete"] -- apiGroups: [""] - resources: ["configmaps", "secrets", "pods"] - verbs: ["get", "watch", "list", "patch"] diff --git a/charts/argo-events/templates/sensor-controller-configmap.yaml b/charts/argo-events/templates/sensor-controller-configmap.yaml index c3dc4661..abd1c8b9 100644 --- a/charts/argo-events/templates/sensor-controller-configmap.yaml +++ b/charts/argo-events/templates/sensor-controller-configmap.yaml @@ -1,16 +1,12 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Release.Name }}-{{ .Values.controller.name }}-configmap + name: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap labels: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} data: config: | - namespace: {{ .Release.Namespace }} - {{- if .Values.useReleaseAsInstanceID }} - instanceID: {{ .Release.Name }} - {{- else }} instanceID: {{ .Values.instanceID }} - {{- end }} + namespace: {{ .Values.namespace }} \ No newline at end of file diff --git a/charts/argo-events/templates/sensor-controller-crb.yaml b/charts/argo-events/templates/sensor-controller-crb.yaml deleted file mode 100644 index b7d54544..00000000 --- a/charts/argo-events/templates/sensor-controller-crb.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: {{ .Release.name }}-{{ .Values.controller.name}}-binding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ .Release.name }}-{{ .Values.controller.name}}-cluster-role -subjects: -- kind: ServiceAccount - name: {{ .Values.controller.serviceAccount }} - namespace: {{ .Release.Namespace }} diff --git a/charts/argo-events/templates/sensor-controller-deployment.yaml b/charts/argo-events/templates/sensor-controller-deployment.yaml index a53780f5..48ae0f56 100644 --- a/charts/argo-events/templates/sensor-controller-deployment.yaml +++ b/charts/argo-events/templates/sensor-controller-deployment.yaml @@ -1,28 +1,28 @@ apiVersion: apps/v1beta1 kind: Deployment metadata: - name: {{ .Release.Name }}-{{ .Values.controller.name }} + name: {{ .Release.Name }}-{{ .Values.sensorController.name }} labels: - app: {{ .Release.Name }}-{{ .Values.controller.name }} + app: {{ .Release.Name }}-{{ .Values.sensorController.name }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} spec: - replicas: {{ .Values.controller.replicaCount }} + replicas: {{ .Values.sensorController.replicaCount }} selector: matchLabels: - app: {{ .Release.Name }}-{{ .Values.controller.name }} + app: {{ .Release.Name }}-{{ .Values.sensorController.name }} release: {{ .Release.Name }} template: metadata: labels: - app: {{ .Release.Name }}-{{ .Values.controller.name }} + app: {{ .Release.Name }}-{{ .Values.sensorController.name }} release: {{ .Release.Name }} spec: - serviceAccountName: {{ .Values.controller.serviceAccount }} + serviceAccountName: {{ .Values.serviceAccount }} containers: - - name: {{ .Values.controller.name }} - image: "{{ .Values.registry }}/{{ .Values.controller.image }}:{{ .Values.controller.tag }}" + - name: {{ .Values.sensorController.name }} + image: "{{ .Values.registry }}/{{ .Values.sensorController.image }}:{{ .Values.sensorController.tag }}" imagePullPolicy: {{ .Values.imagePullPolicy }} env: - name: SENSOR_NAMESPACE @@ -30,4 +30,4 @@ spec: fieldRef: fieldPath: metadata.namespace - name: SENSOR_CONFIG_MAP - value: {{ .Release.Name }}-{{ .Values.controller.name }}-configmap + value: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap diff --git a/charts/argo-events/templates/sensor-controller-sa.yaml b/charts/argo-events/templates/sensor-controller-sa.yaml deleted file mode 100644 index af3ef519..00000000 --- a/charts/argo-events/templates/sensor-controller-sa.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ .Values.controller.serviceAccount }} diff --git a/charts/argo-events/templates/sensor-crd.yaml b/charts/argo-events/templates/sensor-crd.yaml new file mode 100644 index 00000000..5b50b240 --- /dev/null +++ b/charts/argo-events/templates/sensor-crd.yaml @@ -0,0 +1,14 @@ +# Define a "sensor" custom resource definition +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: sensors.argoproj.io +spec: + group: argoproj.io + names: + kind: Sensor + listKind: SensorList + plural: sensors + singular: sensor + scope: Namespaced + version: v1alpha1 diff --git a/charts/argo-events/templates/signals-clusterrole.yaml b/charts/argo-events/templates/signals-clusterrole.yaml deleted file mode 100644 index dfec0e27..00000000 --- a/charts/argo-events/templates/signals-clusterrole.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ .Release.name }}-signals-cluster-role -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["watch", "list", "patch"] -- apiGroups: {{ .Values.signals.listenRoles.apiGroups }} - resources: {{ .Values.signals.listenRoles.resources }} - verbs: ["get", "list", "watch"] \ No newline at end of file diff --git a/charts/argo-events/templates/signals-crb.yaml b/charts/argo-events/templates/signals-crb.yaml deleted file mode 100644 index 3a265e5b..00000000 --- a/charts/argo-events/templates/signals-crb.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: {{ .Release.name }}-signals-binding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ .Release.name }}-signals-cluster-role -subjects: -- kind: ServiceAccount - name: {{ .Values.signals.serviceAccount }} - namespace: {{ .Release.Namespace }} diff --git a/charts/argo-events/templates/signals-sa.yaml b/charts/argo-events/templates/signals-sa.yaml deleted file mode 100644 index 9baaa73b..00000000 --- a/charts/argo-events/templates/signals-sa.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ .Values.signals.serviceAccount }} diff --git a/charts/argo-events/values.yaml b/charts/argo-events/values.yaml index c68ca7cc..09579cb3 100644 --- a/charts/argo-events/values.yaml +++ b/charts/argo-events/values.yaml @@ -1,27 +1,25 @@ +# docker registry registry: argoproj + +# The image pull policy imagePullPolicy: Always -# Version of the Sensor CRD -crd: - version: v1beta1 - jobServiceAccount: default +# ServiceAccount to use for running controller. +serviceAccount: argo-events-sa -# If set to true then chart set controller instance id to release name -useReleaseAsInstanceID: true -instanceID: 1 +instanceID: argo-events -# controller -controller: +namespace: argo-events + +# sensor controller +sensorController: name: sensor-controller image: sensor-controller tag: latest replicaCount: 1 - serviceAccount: argo-events -# signal microservices -signals: - serviceAccount: argo-signals - # this controls what the resource signal pod can listen to - listenRoles: - apiGroups: ["argoproj.io", ""] - resources: ["sensors", "workflows", "pods"] +gatewayController: + name: gateway-controller + image: gateway-controller + tag: latest + replicaCount: 1