diff --git a/charts/argo-events/Chart.yaml b/charts/argo-events/Chart.yaml index 4d953bcf..f63ec1a8 100644 --- a/charts/argo-events/Chart.yaml +++ b/charts/argo-events/Chart.yaml @@ -1,15 +1,17 @@ apiVersion: v1 description: A Helm chart to install Argo-Events in k8s Cluster name: argo-events -version: 0.14.0 +version: 0.17.0 keywords: - argo-events - sensor-controller - - gateway-controller + - eventsource-controller + - eventbus-controller sources: - https://github.com/argoproj/argo-events maintainers: - name: VaibhavPage -appVersion: 0.14.0 + - name: whynowy +appVersion: 0.17.0 icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png home: https://github.com/argoproj/argo-helm diff --git a/charts/argo-events/README.md b/charts/argo-events/README.md index 5dd63adb..3c375c3a 100644 --- a/charts/argo-events/README.md +++ b/charts/argo-events/README.md @@ -2,13 +2,14 @@ This is a **community maintained** chart. It installs the [argo-events](https://github.com/argoproj/argo-events) application. This application comes packaged with: - Sensor Custom Resource Definition (See CRD Notes) -- Gateway Custom Resource Definition (See CRD Notes) - EventSource Custom Resource Definition (See CRD Notes) +- EventBus Custom Resource Definition (See CRD Notes) - Sensor Controller Deployment -- Sensor Controller ConfigMap -- Gateway Controller Deployment -- Gateway Controller ConfigMap +- EventSource Controller Deployment +- EventBus Controller Deployment - Service Account +- Roles +- Role Bindings - Cluster Roles - Cluster Role Bindings @@ -16,10 +17,4 @@ This is a **community maintained** chart. It installs the [argo-events](https:// Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of this chart by using `--set installCRD=false` when installing the chart. -You can install the CRDs manually like so: - -``` -kubectl apply -f https://github.com/argoproj/argo-events/raw/v0.14.0/hack/k8s/manifests/sensor-crd.yaml -kubectl apply -f https://github.com/argoproj/argo-events/raw/v0.14.0/hack/k8s/manifests/gateway-crd.yaml -kubectl apply -f https://github.com/argoproj/argo-events/raw/v0.14.0/hack/k8s/manifests/event-source-crd.yaml -``` +You can install the CRDs manually from `crds` folder. \ No newline at end of file diff --git a/charts/argo-events/crds/gateway-crd.yml b/charts/argo-events/crds/eventbus-crd.yml similarity index 50% rename from charts/argo-events/crds/gateway-crd.yml rename to charts/argo-events/crds/eventbus-crd.yml index 7b9178f4..340d4989 100644 --- a/charts/argo-events/crds/gateway-crd.yml +++ b/charts/argo-events/crds/eventbus-crd.yml @@ -1,16 +1,15 @@ ---- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - name: gateways.argoproj.io + name: eventbus.argoproj.io spec: group: argoproj.io names: - kind: Gateway - listKind: GatewayList - plural: gateways - singular: gateway + kind: EventBus + listKind: EventBusList + plural: eventbus shortNames: - - gw + - eb + singular: eventbus scope: Namespaced - version: "v1alpha1" + version: v1alpha1 diff --git a/charts/argo-events/crds/event-source-crd.yml b/charts/argo-events/crds/eventsource-crd.yml similarity index 100% rename from charts/argo-events/crds/event-source-crd.yml rename to charts/argo-events/crds/eventsource-crd.yml diff --git a/charts/argo-events/templates/argo-events-cluster-roles.yaml b/charts/argo-events/templates/argo-events-cluster-roles.yaml index a0b79f78..6ce6060d 100644 --- a/charts/argo-events/templates/argo-events-cluster-roles.yaml +++ b/charts/argo-events/templates/argo-events-cluster-roles.yaml @@ -1,3 +1,5 @@ +{{- if not .Values.singleNamespace }} + apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: @@ -43,12 +45,12 @@ rules: - workflows/finalizers - workflowtemplates - workflowtemplates/finalizers - - gateways - - gateways/finalizers - sensors - sensors/finalizers - eventsources - eventsources/finalizers + - eventbus + - eventbus/finalizers - apiGroups: - "" resources: @@ -92,3 +94,4 @@ rules: - patch - delete +{{- end }} diff --git a/charts/argo-events/templates/argo-events-roles.yaml b/charts/argo-events/templates/argo-events-roles.yaml new file mode 100644 index 00000000..e522610d --- /dev/null +++ b/charts/argo-events/templates/argo-events-roles.yaml @@ -0,0 +1,99 @@ +{{- if .Values.singleNamespace }} + +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: argo-events-binding + namespace: {{ .Release.Namespace }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argo-events-role +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount }} + namespace: {{ .Release.Namespace }} + {{- if .Values.additionalSaNamespaces }} + {{ $sa := .Values.serviceAccount }} + {{- range $namespace := .Values.additionalSaNamespaces }} + - kind: ServiceAccount + name: {{ $sa }} + namespace: {{ $namespace }} + {{- end }} + {{- end }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: argo-events-role + namespace: {{ .Release.Namespace }} +rules: + {{- if .Values.additionalServiceAccountRules }} + {{ .Values.additionalServiceAccountRules | toYaml | nindent 2}} + {{- end }} + - apiGroups: + - argoproj.io + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + resources: + - workflows + - workflows/finalizers + - workflowtemplates + - workflowtemplates/finalizers + - sensors + - sensors/finalizers + - eventsources + - eventsources/finalizers + - eventbus + - eventbus/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" + resources: + - deployments + verbs: + - create + - get + - list + - watch + - update + - patch + - delete + +{{- end }} diff --git a/charts/argo-events/templates/eventbus-controller-deployment.yaml b/charts/argo-events/templates/eventbus-controller-deployment.yaml new file mode 100644 index 00000000..8d0ec2b3 --- /dev/null +++ b/charts/argo-events/templates/eventbus-controller-deployment.yaml @@ -0,0 +1,39 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-{{ .Values.eventbusController.name }} + labels: + app: {{ .Release.Name }}-{{ .Values.eventbusController.name }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.eventbusController.replicaCount }} + selector: + matchLabels: + app: {{ .Release.Name }}-{{ .Values.eventbusController.name }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ .Release.Name }}-{{ .Values.eventbusController.name }} + release: {{ .Release.Name }} + spec: + serviceAccountName: {{ .Values.serviceAccount }} + containers: + - name: {{ .Values.eventbusController.name }} + image: "{{ .Values.registry }}/{{ .Values.eventbusController.image }}:{{ .Values.eventbusController.tag }}" + imagePullPolicy: {{ .Values.imagePullPolicy }} + {{- if .Values.singleNamespace }} + args: + - --namespaced + {{- end }} + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: NATS_STREAMING_IMAGE + value: {{ .Values.eventbusController.natsStreamingImage }} + - name: NATS_METRICS_EXPORTER_IMAGE + value: {{ .Values.eventbusController.natsMetricsExporterImage }} diff --git a/charts/argo-events/templates/eventbus-crd.yaml b/charts/argo-events/templates/eventbus-crd.yaml new file mode 100644 index 00000000..dfc7b2cb --- /dev/null +++ b/charts/argo-events/templates/eventbus-crd.yaml @@ -0,0 +1,21 @@ +{{- if .Values.installCRD }} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: eventbus.argoproj.io +spec: + group: argoproj.io + names: + kind: EventBus + listKind: EventBusList + plural: eventbus + shortNames: + - eb + singular: eventbus + scope: Namespaced + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +{{- end }} diff --git a/charts/argo-events/templates/eventsource-controller-deployment.yaml b/charts/argo-events/templates/eventsource-controller-deployment.yaml new file mode 100644 index 00000000..3b050eda --- /dev/null +++ b/charts/argo-events/templates/eventsource-controller-deployment.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-{{ .Values.eventsourceController.name }} + labels: + app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.eventsourceController.replicaCount }} + selector: + matchLabels: + app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }} + release: {{ .Release.Name }} + spec: + serviceAccountName: {{ .Values.serviceAccount }} + containers: + - name: {{ .Values.eventsourceController.name }} + image: "{{ .Values.registry }}/{{ .Values.eventsourceController.image }}:{{ .Values.eventsourceController.tag }}" + imagePullPolicy: {{ .Values.imagePullPolicy }} + {{- if .Values.singleNamespace }} + args: + - --namespaced + {{- end }} + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: EVENTSOURCE_IMAGE + value: "{{ .Values.registry }}/{{ .Values.eventsourceController.eventsourceImage }}:{{ .Values.eventsourceController.tag }}" diff --git a/charts/argo-events/templates/gateway-controller-configmap.yaml b/charts/argo-events/templates/gateway-controller-configmap.yaml deleted file mode 100644 index 5e01b9b8..00000000 --- a/charts/argo-events/templates/gateway-controller-configmap.yaml +++ /dev/null @@ -1,14 +0,0 @@ -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 }} -{{- if .Values.singleNamespace }} - namespace: {{ .Values.namespace }} -{{- end }} diff --git a/charts/argo-events/templates/gateway-controller-deployment.yaml b/charts/argo-events/templates/gateway-controller-deployment.yaml deleted file mode 100644 index 63350fbf..00000000 --- a/charts/argo-events/templates/gateway-controller-deployment.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: apps/v1 -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: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: 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 deleted file mode 100644 index fd6e1d26..00000000 --- a/charts/argo-events/templates/gateway-crd.yaml +++ /dev/null @@ -1,18 +0,0 @@ -{{- if .Values.installCRD }} -# 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 - shortNames: - - gw - scope: Namespaced - version: "v1alpha1" -{{- end }} diff --git a/charts/argo-events/templates/sensor-controller-configmap.yaml b/charts/argo-events/templates/sensor-controller-configmap.yaml deleted file mode 100644 index 17735823..00000000 --- a/charts/argo-events/templates/sensor-controller-configmap.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap - labels: - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -data: - config: | - instanceID: {{ .Values.instanceID }} -{{- if .Values.singleNamespace }} - namespace: {{ .Values.namespace }} -{{- end }} diff --git a/charts/argo-events/templates/sensor-controller-deployment.yaml b/charts/argo-events/templates/sensor-controller-deployment.yaml index 2dd9602e..24986d82 100644 --- a/charts/argo-events/templates/sensor-controller-deployment.yaml +++ b/charts/argo-events/templates/sensor-controller-deployment.yaml @@ -24,10 +24,14 @@ spec: - name: {{ .Values.sensorController.name }} image: "{{ .Values.registry }}/{{ .Values.sensorController.image }}:{{ .Values.sensorController.tag }}" imagePullPolicy: {{ .Values.imagePullPolicy }} + {{- if .Values.singleNamespace }} + args: + - --namespaced + {{- end }} env: - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - - name: CONTROLLER_CONFIG_MAP - value: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap + - name: SENSOR_IMAGE + value: "{{ .Values.registry }}/{{ .Values.sensorController.sensorImage }}:{{ .Values.sensorController.tag }}" diff --git a/charts/argo-events/values.yaml b/charts/argo-events/values.yaml index 4ac26da1..59fa2209 100644 --- a/charts/argo-events/values.yaml +++ b/charts/argo-events/values.yaml @@ -42,11 +42,21 @@ singleNamespace: true sensorController: name: sensor-controller image: sensor-controller - tag: v0.14.0 + tag: v0.17.0 replicaCount: 1 + sensorImage: sensor -gatewayController: - name: gateway-controller - image: gateway-controller - tag: v0.14.0 +eventsourceController: + name: eventsource-controller + image: eventsource-controller + tag: v0.17.0 replicaCount: 1 + eventsourceImage: eventsource + +eventbusController: + name: eventbus-controller + image: eventbus-controller + tag: v0.17.0 + replicaCount: 1 + natsStreamingImage: nats-streaming:0.17.0 + natsMetricsExporterImage: synadia/prometheus-nats-exporter:0.6.2