diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 20e5a3a7..b2142005 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: "1.6.1" +appVersion: "1.6.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.5.3 +version: 2.6.0 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/README.md b/charts/argo-cd/README.md index 8b1f0bb9..44a907a0 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -311,6 +311,7 @@ through `xxx.extraArgs` | redis.podLabels | Labels for the Redis server pods | `{}` | | redis.priorityClassName | Priority class for redis | `""` | | redis.resources | Resource limits and requests for redis | `{}` | +| redis.securityContext | Redis Pod Security Context | See [values.yaml](values.yaml) | | redis.servicePort | Redis service port | `6379` | | redis.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` | | redis-ha | Configures [Redis HA subchart](https://github.com/helm/charts/tree/master/stable/redis-ha) The properties below have been changed from the subchart defaults | | diff --git a/charts/argo-cd/templates/redis/deployment.yaml b/charts/argo-cd/templates/redis/deployment.yaml index e5c673de..58934683 100755 --- a/charts/argo-cd/templates/redis/deployment.yaml +++ b/charts/argo-cd/templates/redis/deployment.yaml @@ -41,8 +41,8 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} automountServiceAccountToken: false - {{- if .Values.global.securityContext }} - securityContext: {{- toYaml .Values.global.securityContext | nindent 8 }} + {{- if .Values.redis.securityContext }} + securityContext: {{- toYaml .Values.redis.securityContext | nindent 8 }} {{- end }} containers: - name: {{ template "argo-cd.redis.fullname" . }} diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index 05b0a276..21ef54a9 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -10,7 +10,7 @@ installCRDs: true global: image: repository: argoproj/argocd - tag: v1.6.1 + tag: v1.6.2 imagePullPolicy: IfNotPresent securityContext: {} # runAsUser: 999 @@ -28,7 +28,7 @@ controller: image: repository: # argoproj/argocd - tag: # v1.6.1 + tag: # v1.6.2 imagePullPolicy: # IfNotPresent ## Argo controller commandline flags @@ -277,6 +277,12 @@ redis: # drop: # - all + ## Redis Pod specific security context + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + runAsNonRoot: true resources: {} # limits: 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..16f55e46 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: @@ -83,6 +85,7 @@ rules: - "apps" resources: - deployments + - statefulsets verbs: - create - get @@ -92,3 +95,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..d6de39d2 --- /dev/null +++ b/charts/argo-events/templates/argo-events-roles.yaml @@ -0,0 +1,100 @@ +{{- 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 + - statefulsets + 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 diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml index 06d2e97b..1d05de0b 100644 --- a/charts/argo-rollouts/Chart.yaml +++ b/charts/argo-rollouts/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: "0.8.0" +appVersion: "0.8.3" description: A Helm chart for Argo Rollouts name: argo-rollouts -version: 0.3.2 +version: 0.3.4 icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo-rollouts/values.yaml b/charts/argo-rollouts/values.yaml index fcb2d198..fda9bf7a 100644 --- a/charts/argo-rollouts/values.yaml +++ b/charts/argo-rollouts/values.yaml @@ -13,7 +13,7 @@ controller: affinity: {} image: repository: argoproj/argo-rollouts - tag: v0.8.0 + tag: v0.8.3 pullPolicy: IfNotPresent resources: {} diff --git a/charts/argocd-notifications/Chart.yaml b/charts/argocd-notifications/Chart.yaml index 64d77c9a..1b497590 100644 --- a/charts/argocd-notifications/Chart.yaml +++ b/charts/argocd-notifications/Chart.yaml @@ -3,7 +3,7 @@ appVersion: 0.7.0 description: A Helm chart for ArgoCD notifications, an add-on to ArgoCD. name: argocd-notifications type: application -version: 1.0.7 +version: 1.0.10 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argocd-notifications/templates/_helpers.tpl b/charts/argocd-notifications/templates/_helpers.tpl index 18235d26..373c5495 100644 --- a/charts/argocd-notifications/templates/_helpers.tpl +++ b/charts/argocd-notifications/templates/_helpers.tpl @@ -43,6 +43,19 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end -}} +{{/* +Common metrics labels +*/}} +{{- define "argocd-notifications.metrics.labels" -}} +helm.sh/chart: {{ include "argocd-notifications.chart" . }} +{{ include "argocd-notifications.metrics.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + + {{/* Common slack bot labels */}} @@ -63,6 +76,14 @@ app.kubernetes.io/name: {{ include "argocd-notifications.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} +{{/* +Selector metrics labels +*/}} +{{- define "argocd-notifications.metrics.selectorLabels" -}} +app.kubernetes.io/name: {{ include "argocd-notifications.name" . }}-metrics +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + {{/* Selector slack bot labels */}} diff --git a/charts/argocd-notifications/templates/bots/slack/service.yaml b/charts/argocd-notifications/templates/bots/slack/service.yaml index 1878fe9d..68881a36 100644 --- a/charts/argocd-notifications/templates/bots/slack/service.yaml +++ b/charts/argocd-notifications/templates/bots/slack/service.yaml @@ -3,6 +3,10 @@ apiVersion: v1 kind: Service metadata: name: {{ include "argocd-notifications.name" . }}-bot + {{- if .Values.bots.slack.service.annotations }} + annotations: + {{- toYaml .Values.bots.slack.service.annotations | nindent 4 }} + {{- end }} spec: ports: - name: server diff --git a/charts/argocd-notifications/templates/deployment.yaml b/charts/argocd-notifications/templates/deployment.yaml index cbe71ca7..239c6eb7 100644 --- a/charts/argocd-notifications/templates/deployment.yaml +++ b/charts/argocd-notifications/templates/deployment.yaml @@ -12,6 +12,12 @@ spec: {{- include "argocd-notifications.selectorLabels" . | nindent 6 }} template: metadata: + {{- if .Values.podAnnotations }} + annotations: + {{- range $key, $value := .Values.podAnnotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} labels: {{- include "argocd-notifications.selectorLabels" . | nindent 8 }} spec: @@ -29,6 +35,19 @@ spec: command: - /app/argocd-notifications - controller + - --loglevel={{ .Values.logLevel }} + {{- if .Values.metrics.enabled }} + - --metrics-port={{ .Values.metrics.port }} + {{- end }} + {{- range .Values.extraArgs }} + - {{ . | squote }} + {{- end }} + ports: + {{- if .Values.metrics.enabled }} + - containerPort: {{ .Values.metrics.port }} + name: metrics + protocol: TCP + {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/charts/argocd-notifications/templates/service-metrics.yaml b/charts/argocd-notifications/templates/service-metrics.yaml new file mode 100644 index 00000000..5645a4d3 --- /dev/null +++ b/charts/argocd-notifications/templates/service-metrics.yaml @@ -0,0 +1,15 @@ +{{- if .Values.metrics.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "argocd-notifications.name" . }}-metrics + labels: + {{- include "argocd-notifications.metrics.labels" . | nindent 4 }} +spec: + selector: + {{- include "argocd-notifications.selectorLabels" . | nindent 4 }} + ports: + - name: metrics + port: {{ .Values.metrics.port }} + targetPort: {{ .Values.metrics.port }} +{{- end }} diff --git a/charts/argocd-notifications/templates/servicemonitor.yaml b/charts/argocd-notifications/templates/servicemonitor.yaml new file mode 100644 index 00000000..b04851f3 --- /dev/null +++ b/charts/argocd-notifications/templates/servicemonitor.yaml @@ -0,0 +1,30 @@ +{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "argocd-notifications.name" . }}-metrics + {{- if .Values.metrics.serviceMonitor.namespace }} + namespace: {{ .Values.metrics.serviceMonitor.namespace }} + {{- end }} + labels: + {{- include "argocd-notifications.metrics.labels" . | nindent 4 }} + {{- if .Values.metrics.serviceMonitor.additionalLabels }} + {{- toYaml .Values.metrics.serviceMonitor.additionalLabels | nindent 4 }} + {{- end }} +spec: + endpoints: + - port: metrics + path: /metrics + {{- if .Values.metrics.serviceMonitor.interval }} + interval: {{ .Values.metrics.serviceMonitor.interval }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }} + {{- end }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + {{- include "argocd-notifications.metrics.selectorLabels" . | nindent 6 }} +{{- end }} diff --git a/charts/argocd-notifications/values.yaml b/charts/argocd-notifications/values.yaml index fe732362..e9a97421 100644 --- a/charts/argocd-notifications/values.yaml +++ b/charts/argocd-notifications/values.yaml @@ -87,6 +87,22 @@ secret: # email address in from field from: +logLevel: info + +extraArgs: [] + +metrics: + enabled: false + port: 9001 + serviceMonitor: + enabled: false + additionalLabels: {} + # namespace: monitoring + # interval: 30s + # scrapeTimeout: 10s + +podAnnotations: {} + resources: {} # limits: # cpu: 100m @@ -194,6 +210,7 @@ bots: imagePullSecrets: [] service: + annotations: {} type: LoadBalancer serviceAccount: