mirror of
https://github.com/bitnami/charts.git
synced 2026-03-08 17:27:20 +08:00
[bitnami/argo-cd] Add the notifications service to the solution (#15633)
* [bitnami/argo-cd] Add the notifications service to the solution Signed-off-by: jotamartos <jotamartos@vmware.com> * Remove duplicated block in the values.yml and document new variables Signed-off-by: jotamartos <jotamartos@vmware.com> * Minor changes to deploy notifications and bots services Signed-off-by: jotamartos <jotamartos@vmware.com> * apply feedback Signed-off-by: jotamartos <jotamartos@vmware.com> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com> --------- Signed-off-by: jotamartos <jotamartos@vmware.com> Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com> Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
@@ -30,4 +30,4 @@ sources:
|
||||
- https://github.com/argoproj/argo-cd/
|
||||
- https://github.com/bitnami/containers/tree/main/bitnami/dex
|
||||
- https://github.com/dexidp/dex
|
||||
version: 4.4.16
|
||||
version: 4.5.0
|
||||
|
||||
@@ -305,6 +305,135 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `applicationSet.webhook.ingress.extraTls` | Extra TLS configuration for the Argo CD applicationSet ingress | `[]` |
|
||||
| `applicationSet.webhook.ingress.tls` | Ingress TLS configuration | `[]` |
|
||||
|
||||
### Argo CD notifications controller parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------- |
|
||||
| `notifications.enabled` | Enable notifications controller | `false` |
|
||||
| `notifications.command` | Override default container command (useful when using custom images) | `[]` |
|
||||
| `notifications.args` | Override default container args (useful when using custom images). | `[]` |
|
||||
| `notifications.extraArgs` | Add extra arguments to the default arguments for the Argo CD notifications controller | `[]` |
|
||||
| `notifications.logFormat` | Format for the Argo CD notifications controller logs. Options: [text, json] | `text` |
|
||||
| `notifications.logLevel` | Log level for the Argo CD notifications controller | `info` |
|
||||
| `notifications.containerPorts.metrics` | Argo CD notifications controller metrics port number | `8085` |
|
||||
| `notifications.metrics.enabled` | Enable Argo CD notifications controller metrics | `false` |
|
||||
| `notifications.metrics.service.type` | Argo CD notifications controller service type | `ClusterIP` |
|
||||
| `notifications.metrics.service.port` | Argo CD notifications controller metrics service port | `8085` |
|
||||
| `notifications.metrics.service.nodePort` | Node port for the notifications controller service | `""` |
|
||||
| `notifications.metrics.service.clusterIP` | Argo CD notifications controller metrics service Cluster IP | `""` |
|
||||
| `notifications.metrics.service.loadBalancerIP` | Argo CD notifications controller service Load Balancer IP | `""` |
|
||||
| `notifications.metrics.service.loadBalancerSourceRanges` | Argo CD notifications controller service Load Balancer sources | `[]` |
|
||||
| `notifications.metrics.service.externalTrafficPolicy` | Argo CD notifications controller service external traffic policy | `Cluster` |
|
||||
| `notifications.metrics.service.annotations` | Additional custom annotations for Argo CD notifications controller service | `{}` |
|
||||
| `notifications.metrics.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `notifications.metrics.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `notifications.metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `notifications.metrics.serviceMonitor.namespace` | Namespace which Prometheus is running in | `""` |
|
||||
| `notifications.metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
|
||||
| `notifications.metrics.serviceMonitor.interval` | Interval at which metrics should be scraped | `30s` |
|
||||
| `notifications.metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `10s` |
|
||||
| `notifications.metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
|
||||
| `notifications.metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
|
||||
| `notifications.metrics.serviceMonitor.selector` | ServiceMonitor selector labels | `{}` |
|
||||
| `notifications.metrics.serviceMonitor.honorLabels` | honorLabels chooses the metric's labels on collisions with target labels | `false` |
|
||||
| `notifications.service.type` | Argo CD notifications controller service type | `ClusterIP` |
|
||||
| `notifications.service.port` | Argo CD notifications controller service port | `7000` |
|
||||
| `notifications.service.nodePort` | Node port for Argo CD notifications controller service | `""` |
|
||||
| `notifications.service.clusterIP` | Argo CD notifications controller service Cluster IP | `""` |
|
||||
| `notifications.service.loadBalancerIP` | Argo CD notifications controller service Load Balancer IP | `""` |
|
||||
| `notifications.service.loadBalancerSourceRanges` | Argo CD notifications controller service Load Balancer sources | `[]` |
|
||||
| `notifications.service.externalTrafficPolicy` | Argo CD notifications controller service external traffic policy | `Cluster` |
|
||||
| `notifications.service.annotations` | Additional custom annotations for Argo CD notifications controller service | `{}` |
|
||||
| `notifications.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
|
||||
| `notifications.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `notifications.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `notifications.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
|
||||
| `notifications.serviceAccount.name` | The name of the ServiceAccount to use. | `""` |
|
||||
| `notifications.serviceAccount.automountServiceAccountToken` | Automount service account token for the notifications controller service account | `true` |
|
||||
| `notifications.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` |
|
||||
| `notifications.podAffinityPreset` | Pod affinity preset. Ignored if `notifications.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `notifications.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `notifications.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `notifications.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `notifications.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `notifications.nodeAffinityPreset.key` | Node label key to match. Ignored if `notifications.affinity` is set | `""` |
|
||||
| `notifications.nodeAffinityPreset.values` | Node label values to match. Ignored if `notifications.affinity` is set | `[]` |
|
||||
| `notifications.affinity` | Affinity for Argo CD notifications controller pods assignment | `{}` |
|
||||
| `notifications.podAnnotations` | Annotations for Argo CD notifications controller pods | `{}` |
|
||||
| `notifications.podLabels` | Extra labels for Argo CD notifications controller pods | `{}` |
|
||||
| `notifications.containerSecurityContext.enabled` | Enabled Argo CD notifications controller containers' Security Context | `true` |
|
||||
| `notifications.containerSecurityContext.runAsUser` | Set Argo CD notifications controller containers' Security Context runAsUser | `1001` |
|
||||
| `notifications.containerSecurityContext.allowPrivilegeEscalation` | Set Argo CD notifications controller containers' Security Context allowPrivilegeEscalation | `false` |
|
||||
| `notifications.containerSecurityContext.capabilities.drop` | Set Argo CD notifications controller containers' Security Context capabilities to be dropped | `["all"]` |
|
||||
| `notifications.containerSecurityContext.readOnlyRootFilesystem` | Set Argo CD notifications controller containers' Security Context readOnlyRootFilesystem | `false` |
|
||||
| `notifications.containerSecurityContext.runAsNonRoot` | Set Argo CD notifications controller container's Security Context runAsNonRoot | `true` |
|
||||
| `notifications.resources.limits` | The resources limits for the Argo CD notifications controller containers | `{}` |
|
||||
| `notifications.resources.requests` | The requested resources for the Argo CD notifications controller containers | `{}` |
|
||||
| `notifications.podSecurityContext.enabled` | Enabled Argo CD notifications controller pods' Security Context | `true` |
|
||||
| `notifications.podSecurityContext.fsGroup` | Set Argo CD notifications controller pod's Security Context fsGroup | `1001` |
|
||||
| `notifications.nodeSelector` | Node labels for Argo CD notifications controller pods assignment | `{}` |
|
||||
| `notifications.tolerations` | Tolerations for Argo CD notifications controller pods assignment | `[]` |
|
||||
| `notifications.priorityClassName` | Argo CD notifications controller pods' priorityClassName | `""` |
|
||||
| `notifications.extraVolumes` | Optionally specify extra list of additional volumes for the Argo CD notifications controller pod(s) | `[]` |
|
||||
| `notifications.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Argo CD notifications controller container(s) | `[]` |
|
||||
| `notifications.extraEnvVars` | Array with extra environment variables to add to Argo CD notifications controller nodes | `[]` |
|
||||
| `notifications.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Argo CD notifications controller nodes | `""` |
|
||||
| `notifications.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Argo CD notifications controller nodes | `""` |
|
||||
| `notifications.webhook.ingress.enabled` | Enable an ingress resource for Webhooks | `false` |
|
||||
| `notifications.webhook.ingress.annotations` | Additional ingress annotations | `{}` |
|
||||
| `notifications.webhook.ingress.labels` | Additional ingress labels | `{}` |
|
||||
| `notifications.webhook.ingress.ingressClassName` | Defines which ingress controller will implement the resource | `""` |
|
||||
| `notifications.webhook.ingress.hostname` | Ingress hostname for the Argo CD notifications ingress | `""` |
|
||||
| `notifications.webhook.ingress.path` | Argo CD notifications ingress path | `/api/webhook` |
|
||||
| `notifications.webhook.ingress.pathType` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` | `Prefix` |
|
||||
| `notifications.webhook.ingress.extraHosts` | Extra hosts array for the Argo CD notifications ingress | `[]` |
|
||||
| `notifications.webhook.ingress.extraPaths` | Extra paths for the Argo CD notifications ingress | `[]` |
|
||||
| `notifications.webhook.ingress.extraTls` | Extra TLS configuration for the Argo CD notifications ingress | `[]` |
|
||||
| `notifications.webhook.ingress.tls` | Ingress TLS configuration | `[]` |
|
||||
| `notifications.bots.slack.enabled` | Enable notifications controller | `false` |
|
||||
| `notifications.bots.slack.command` | Override default container command (useful when using custom images) | `[]` |
|
||||
| `notifications.bots.slack.args` | Override default container args (useful when using custom images). | `[]` |
|
||||
| `notifications.bots.slack.extraArgs` | Add extra arguments to the default arguments for the Argo CD Slack bot | `[]` |
|
||||
| `notifications.bots.slack.service.type` | Argo CD Slack bot service type | `LoadBalancer` |
|
||||
| `notifications.bots.slack.service.port` | Argo CD Slack bot service port | `80` |
|
||||
| `notifications.bots.slack.service.nodePort` | Node port for Argo CD Slack bot service | `""` |
|
||||
| `notifications.bots.slack.service.clusterIP` | Argo CD Slack bot service Cluster IP | `""` |
|
||||
| `notifications.bots.slack.service.loadBalancerIP` | Argo CD Slack bot service Load Balancer IP | `""` |
|
||||
| `notifications.bots.slack.service.loadBalancerSourceRanges` | Argo CD Slack bot service Load Balancer sources | `[]` |
|
||||
| `notifications.bots.slack.service.externalTrafficPolicy` | Argo CD Slack bot service external traffic policy | `Cluster` |
|
||||
| `notifications.bots.slack.service.annotations` | Additional custom annotations for Argo CD Slack bot service | `{}` |
|
||||
| `notifications.bots.slack.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
|
||||
| `notifications.bots.slack.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `notifications.bots.slack.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `notifications.bots.slack.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
|
||||
| `notifications.bots.slack.serviceAccount.name` | The name of the ServiceAccount to use. | `""` |
|
||||
| `notifications.bots.slack.serviceAccount.automountServiceAccountToken` | Automount service account token for the notifications controller service account | `true` |
|
||||
| `notifications.bots.slack.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` |
|
||||
| `notifications.bots.slack.podAffinityPreset` | Pod affinity preset. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `notifications.bots.slack.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `notifications.bots.slack.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `notifications.bots.slack.nodeAffinityPreset.key` | Node label key to match. Ignored if `notifications.bots.slack.affinity` is set | `""` |
|
||||
| `notifications.bots.slack.nodeAffinityPreset.values` | Node label values to match. Ignored if `notifications.bots.slack.affinity` is set | `[]` |
|
||||
| `notifications.bots.slack.affinity` | Affinity for Argo CD Slack bot pods assignment | `{}` |
|
||||
| `notifications.bots.slack.podAnnotations` | Annotations for Argo CD Slack bot pods | `{}` |
|
||||
| `notifications.bots.slack.podLabels` | Extra labels for Argo CD Slack bot pods | `{}` |
|
||||
| `notifications.bots.slack.containerSecurityContext.enabled` | Enabled Argo CD Slack bot containers' Security Context | `true` |
|
||||
| `notifications.bots.slack.containerSecurityContext.runAsUser` | Set Argo CD Slack bot containers' Security Context runAsUser | `1001` |
|
||||
| `notifications.bots.slack.containerSecurityContext.allowPrivilegeEscalation` | Set Argo CD Slack bot containers' Security Context allowPrivilegeEscalation | `false` |
|
||||
| `notifications.bots.slack.containerSecurityContext.capabilities.drop` | Set Argo CD Slack bot containers' Security Context capabilities to be dropped | `["all"]` |
|
||||
| `notifications.bots.slack.containerSecurityContext.readOnlyRootFilesystem` | Set Argo CD Slack bot containers' Security Context readOnlyRootFilesystem | `false` |
|
||||
| `notifications.bots.slack.containerSecurityContext.runAsNonRoot` | Set Argo CD Slack bot container's Security Context runAsNonRoot | `true` |
|
||||
| `notifications.bots.slack.resources.limits` | The resources limits for the Argo CD Slack bot containers | `{}` |
|
||||
| `notifications.bots.slack.resources.requests` | The requested resources for the Argo CD Slack bot containers | `{}` |
|
||||
| `notifications.bots.slack.podSecurityContext.enabled` | Enabled Argo CD Slack bot pods' Security Context | `true` |
|
||||
| `notifications.bots.slack.podSecurityContext.fsGroup` | Set Argo CD Slack bot pod's Security Context fsGroup | `1001` |
|
||||
| `notifications.bots.slack.nodeSelector` | Node labels for Argo CD Slack bot pods assignment | `{}` |
|
||||
| `notifications.bots.slack.tolerations` | Tolerations for Argo CD Slack bot pods assignment | `[]` |
|
||||
| `notifications.bots.slack.priorityClassName` | Argo CD Slack bot pods' priorityClassName | `""` |
|
||||
| `notifications.bots.slack.extraVolumes` | Optionally specify extra list of additional volumes for the Argo CD Slack bot pod(s) | `[]` |
|
||||
| `notifications.bots.slack.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Argo CD Slack bot container(s) | `[]` |
|
||||
| `notifications.bots.slack.extraEnvVars` | Array with extra environment variables to add to Argo CD Slack bot nodes | `[]` |
|
||||
| `notifications.bots.slack.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Argo CD Slack bot nodes | `""` |
|
||||
| `notifications.bots.slack.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Argo CD Slack bot nodes | `""` |
|
||||
|
||||
### Argo CD server Parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
@@ -838,4 +967,4 @@ Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
limitations under the License.
|
||||
|
||||
@@ -47,6 +47,13 @@ Return the proper service name for Argo CD applicationSet controller
|
||||
{{- printf "%s-applicationset-controller" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper service name for Argo CD notifications controller
|
||||
*/}}
|
||||
{{- define "argocd.notifications" -}}
|
||||
{{- printf "%s-notifications" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper service name for Argo CD server
|
||||
*/}}
|
||||
@@ -128,6 +135,28 @@ Create the name of the service account to use for the Argo CD applicationSet con
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the Argo CD notifications controller
|
||||
*/}}
|
||||
{{- define "argocd.notifications.serviceAccountName" -}}
|
||||
{{- if .Values.notifications.serviceAccount.create -}}
|
||||
{{ default (printf "%s-notifications" (include "common.names.fullname" .)) .Values.notifications.serviceAccount.name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.notifications.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the Argo CD Slack bot
|
||||
*/}}
|
||||
{{- define "argocd.notifications.bots.slack.serviceAccountName" -}}
|
||||
{{- if .Values.notifications.bots.slack.serviceAccount.create -}}
|
||||
{{ default (printf "%s-notifications-slack-bot" (include "common.names.fullname" .)) .Values.notifications.bots.slack.serviceAccount.name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.notifications.bots.slack.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the Argo CD repo server
|
||||
*/}}
|
||||
|
||||
@@ -41,6 +41,7 @@ spec:
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http-metrics
|
||||
targetPort: metrics
|
||||
port: {{ .Values.applicationSet.metrics.service.port }}
|
||||
protocol: TCP
|
||||
{{- if (and (or (eq .Values.applicationSet.service.type "NodePort") (eq .Values.applicationSet.service.type "LoadBalancer")) (not (empty .Values.applicationSet.metrics.service.nodePort))) }}
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
{{ if and .Values.notifications.enabled .Values.notifications.bots.slack.enabled }}
|
||||
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}-slack-bot
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications-slack-bot
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: notifications-slack-bot
|
||||
template:
|
||||
metadata:
|
||||
{{- if .Values.notifications.bots.slack.podAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.podAnnotations "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
app.kubernetes.io/component: notifications-slack-bot
|
||||
{{- if .Values.notifications.bots.slack.podLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.podLabels "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceAccountName: {{ include "argocd.notifications.bots.slack.serviceAccountName" . }}
|
||||
{{- include "argocd.imagePullSecrets" . | nindent 6 }}
|
||||
{{- if .Values.notifications.bots.slack.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.notifications.bots.slack.nodeSelector "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.notifications.bots.slack.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.notifications.bots.slack.podAffinityPreset "component" "notifications" "context" $) | nindent 10 }}
|
||||
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.notifications.bots.slack.podAntiAffinityPreset "component" "notifications" "context" $) | nindent 10 }}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.notifications.bots.slack.nodeAffinityPreset.type "key" .Values.notifications.bots.slack.nodeAffinityPreset.key "values" .Values.notifications.bots.slack.nodeAffinityPreset.values) | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.tolerations "context" .) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.priorityClassName }}
|
||||
priorityClassName: {{ .Values.notifications.bots.slack.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.notifications.bots.slack.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: notifications-slack-bot
|
||||
image: {{ include "argocd.image" . }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.notifications.bots.slack.command }}
|
||||
command: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.command "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.args }}
|
||||
args: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.args "context" $) | nindent 12 }}
|
||||
{{- else }}
|
||||
args:
|
||||
- argocd-notifications
|
||||
- bot
|
||||
{{- if .Values.notifications.bots.slack.extraArgs }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraArgs "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if .Values.notifications.bots.slack.extraEnvVars }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraEnvVars "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
envFrom:
|
||||
{{- if .Values.notifications.bots.slack.extraEnvVarsCM }}
|
||||
- configMapRef:
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraEnvVarsCM "context" $) }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.extraEnvVarsSecret }}
|
||||
- secretRef:
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraEnvVarsSecret "context" $) }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
protocol: TCP
|
||||
{{- if .Values.notifications.bots.slack.resources }}
|
||||
resources: {{- toYaml .Values.notifications.bots.slack.resources | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.notifications.bots.slack.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.extraVolumeMounts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraVolumeMounts "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- if .Values.notifications.bots.slack.extraVolumes }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraVolumes "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
32
bitnami/argo-cd/templates/notifications/bots/slack/role.yaml
Normal file
32
bitnami/argo-cd/templates/notifications/bots/slack/role.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
{{ if and .Values.notifications.enabled .Values.notifications.bots.slack.enabled .Values.rbac.create }}
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
kind: Role
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}-slack-bot
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
- configmaps
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- argoproj.io
|
||||
resources:
|
||||
- applications
|
||||
- appprojects
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- update
|
||||
- patch
|
||||
{{ end }}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{ if and .Values.notifications.enabled .Values.notifications.bots.slack.enabled .Values.rbac.create }}
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}-slack-bot
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ include "argocd.notifications.bots.slack.serviceAccountName" . }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: {{ include "argocd.notifications" . }}-slack-bot
|
||||
{{ end }}
|
||||
@@ -0,0 +1,22 @@
|
||||
{{- if and .Values.notifications.enabled .Values.notifications.bots.slack.enabled .Values.notifications.bots.slack.serviceAccount.create .Values.rbac.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications.bots.slack.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
{{- if or .Values.notifications.serviceAccount.annotations .Values.commonAnnotations }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications-slack-bot
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.serviceAccount.annotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
automountServiceAccountToken: {{ .Values.notifications.bots.slack.serviceAccount.automountServiceAccountToken }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,55 @@
|
||||
{{ if and .Values.notifications.enabled .Values.notifications.bots.slack.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}-slack-bot
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications-slack-bot
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.commonAnnotations .Values.notifications.bots.slack.service.annotations }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.service.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.notifications.bots.slack.service.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.notifications.bots.slack.service.type }}
|
||||
{{- if and .Values.notifications.bots.slack.service.clusterIP (eq .Values.notifications.bots.slack.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.notifications.bots.slack.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if (or (eq .Values.notifications.bots.slack.service.type "LoadBalancer") (eq .Values.notifications.bots.slack.service.type "NodePort")) }}
|
||||
externalTrafficPolicy: {{ .Values.notifications.bots.slack.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.notifications.bots.slack.service.type "LoadBalancer" }}
|
||||
loadBalancerSourceRanges: {{ .Values.notifications.bots.slack.service.loadBalancerSourceRanges }}
|
||||
{{- end }}
|
||||
{{- if (and (eq .Values.notifications.bots.slack.service.type "LoadBalancer") (not (empty .Values.notifications.bots.slack.service.loadBalancerIP))) }}
|
||||
loadBalancerIP: {{ .Values.notifications.bots.slack.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.service.sessionAffinity }}
|
||||
sessionAffinity: {{ .Values.notifications.bots.slack.service.sessionAffinity }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.service.sessionAffinityConfig }}
|
||||
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.service.sessionAffinityConfig "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
port: {{ .Values.notifications.bots.slack.service.port }}
|
||||
targetPort: http
|
||||
{{- if (and (or (eq .Values.notifications.bots.slack.service.type "NodePort") (eq .Values.notifications.bots.slack.service.type "LoadBalancer")) (not (empty .Values.notifications.bots.slack.service.nodePort))) }}
|
||||
nodePort: {{ .Values.notifications.bots.slack.service.nodePort }}
|
||||
{{- else if eq .Values.notifications.bots.slack.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.bots.slack.service.extraPorts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.service.extraPorts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications-slack-bot
|
||||
{{ end }}
|
||||
132
bitnami/argo-cd/templates/notifications/deployment.yaml
Normal file
132
bitnami/argo-cd/templates/notifications/deployment.yaml
Normal file
@@ -0,0 +1,132 @@
|
||||
{{- if .Values.notifications.enabled }}
|
||||
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: notifications
|
||||
template:
|
||||
metadata:
|
||||
{{- if .Values.notifications.podAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.podAnnotations "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
app.kubernetes.io/component: notifications
|
||||
{{- if .Values.notifications.podLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.podLabels "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceAccountName: {{ include "argocd.notifications.serviceAccountName" . }}
|
||||
{{- include "argocd.imagePullSecrets" . | nindent 6 }}
|
||||
{{- if .Values.notifications.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.notifications.nodeSelector "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.notifications.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.notifications.podAffinityPreset "component" "notifications" "context" $) | nindent 10 }}
|
||||
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.notifications.podAntiAffinityPreset "component" "notifications" "context" $) | nindent 10 }}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.notifications.nodeAffinityPreset.type "key" .Values.notifications.nodeAffinityPreset.key "values" .Values.notifications.nodeAffinityPreset.values) | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.tolerations "context" .) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.priorityClassName }}
|
||||
priorityClassName: {{ .Values.notifications.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.notifications.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: notifications
|
||||
image: {{ include "argocd.image" . }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.notifications.command }}
|
||||
command: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.command "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.args }}
|
||||
args: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.args "context" $) | nindent 12 }}
|
||||
{{- else }}
|
||||
args:
|
||||
- argocd-notifications
|
||||
- --logformat
|
||||
- {{ .Values.notifications.logFormat | quote }}
|
||||
- --loglevel
|
||||
- {{ .Values.notifications.logLevel | quote }}
|
||||
- --metrics-port
|
||||
- {{ .Values.notifications.containerPorts.metrics | quote }}
|
||||
- --argocd-repo-server
|
||||
- {{ include "argocd.repo-server" . }}:{{ .Values.repoServer.service.port }}
|
||||
{{- if .Values.notifications.extraArgs }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.extraArgs "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if .Values.notifications.extraEnvVars }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.extraEnvVars "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
envFrom:
|
||||
{{- if .Values.notifications.extraEnvVarsCM }}
|
||||
- configMapRef:
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.notifications.extraEnvVarsCM "context" $) }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.extraEnvVarsSecret }}
|
||||
- secretRef:
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.notifications.extraEnvVarsSecret "context" $) }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: metrics
|
||||
containerPort: {{ .Values.notifications.containerPorts.metrics }}
|
||||
protocol: TCP
|
||||
{{- if .Values.notifications.resources }}
|
||||
resources: {{- toYaml .Values.notifications.resources | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.notifications.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- if .Values.config.tlsCerts }}
|
||||
- mountPath: /app/config/tls
|
||||
name: tls-certs
|
||||
{{- end }}
|
||||
- mountPath: /app/config/server/tls
|
||||
name: argocd-repo-server-tls
|
||||
{{- if .Values.notifications.extraVolumeMounts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.extraVolumeMounts "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- if .Values.config.tlsCerts }}
|
||||
- name: tls-certs
|
||||
configMap:
|
||||
name: argocd-tls-certs-cm
|
||||
{{- end }}
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
items:
|
||||
- key: tls.crt
|
||||
path: tls.crt
|
||||
- key: tls.key
|
||||
path: tls.key
|
||||
- key: ca.crt
|
||||
path: ca.crt
|
||||
optional: true
|
||||
secretName: argocd-repo-server-tls
|
||||
{{- if .Values.notifications.extraVolumes }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.extraVolumes "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
54
bitnami/argo-cd/templates/notifications/metrics-svc.yaml
Normal file
54
bitnami/argo-cd/templates/notifications/metrics-svc.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
{{- if and .Values.notifications.enabled .Values.notifications.metrics.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}-metrics
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: metrics
|
||||
app.kubernetes.io/part-of: notifications
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.commonAnnotations .Values.notifications.metrics.service.annotations }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.service.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.notifications.metrics.service.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.notifications.metrics.service.type }}
|
||||
{{- if and .Values.notifications.metrics.service.clusterIP (eq .Values.notifications.metrics.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.notifications.metrics.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if (or (eq .Values.notifications.metrics.service.type "LoadBalancer") (eq .Values.notifications.metrics.service.type "NodePort")) }}
|
||||
externalTrafficPolicy: {{ .Values.notifications.metrics.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.notifications.metrics.service.type "LoadBalancer" }}
|
||||
loadBalancerSourceRanges: {{ .Values.notifications.metrics.service.loadBalancerSourceRanges }}
|
||||
{{- end }}
|
||||
{{- if (and (eq .Values.notifications.metrics.service.type "LoadBalancer") (not (empty .Values.notifications.metrics.service.loadBalancerIP))) }}
|
||||
loadBalancerIP: {{ .Values.notifications.metrics.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.service.sessionAffinity }}
|
||||
sessionAffinity: {{ .Values.notifications.metrics.service.sessionAffinity }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.service.sessionAffinityConfig }}
|
||||
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.metrics.service.sessionAffinityConfig "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http-metrics
|
||||
targetPort: metrics
|
||||
port: {{ .Values.notifications.metrics.service.port }}
|
||||
protocol: TCP
|
||||
{{- if (and (or (eq .Values.notifications.service.type "NodePort") (eq .Values.notifications.service.type "LoadBalancer")) (not (empty .Values.notifications.metrics.service.nodePort))) }}
|
||||
nodePort: {{ .Values.notifications.metrics.service.nodePort }}
|
||||
{{- else if eq .Values.notifications.metrics.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications
|
||||
{{- end }}
|
||||
47
bitnami/argo-cd/templates/notifications/role.yaml
Normal file
47
bitnami/argo-cd/templates/notifications/role.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
{{- if and .Values.notifications.enabled .Values.rbac.create }}
|
||||
kind: Role
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- argoproj.io
|
||||
resources:
|
||||
- applications
|
||||
- appprojects
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- update
|
||||
- patch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- secrets
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resourceNames:
|
||||
- argocd-notifications-cm
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- get
|
||||
- apiGroups:
|
||||
- ""
|
||||
resourceNames:
|
||||
- argocd-notifications-secret
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- get
|
||||
{{- end }}
|
||||
18
bitnami/argo-cd/templates/notifications/rolebinding.yaml
Normal file
18
bitnami/argo-cd/templates/notifications/rolebinding.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
{{- if and .Values.notifications.enabled .Values.notifications.serviceAccount.create .Values.rbac.create }}
|
||||
kind: RoleBinding
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ include "argocd.notifications.serviceAccountName" . }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: {{ include "argocd.notifications" . }}
|
||||
{{- end }}
|
||||
22
bitnami/argo-cd/templates/notifications/service-account.yaml
Normal file
22
bitnami/argo-cd/templates/notifications/service-account.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
{{- if and .Values.notifications.enabled .Values.notifications.serviceAccount.create .Values.rbac.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "argocd.notifications.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
{{- if or .Values.notifications.serviceAccount.annotations .Values.commonAnnotations }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: notifications
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.serviceAccount.annotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
automountServiceAccountToken: {{ .Values.notifications.serviceAccount.automountServiceAccountToken }}
|
||||
{{- end }}
|
||||
49
bitnami/argo-cd/templates/notifications/servicemonitor.yaml
Normal file
49
bitnami/argo-cd/templates/notifications/servicemonitor.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
{{- if and .Values.notifications.enabled .Values.notifications.metrics.enabled .Values.notifications.metrics.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ include "argo-cd.notifications" . }}
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.namespace }}
|
||||
namespace: {{ .Values.notifications.metrics.serviceMonitor.namespace | quote }}
|
||||
{{- else }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.selector }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.notifications.metrics.serviceMonitor.selector "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/component: notifications
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
endpoints:
|
||||
- port: http-metrics
|
||||
path: /metrics
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.interval }}
|
||||
interval: {{ .Values.notifications.metrics.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ .Values.notifications.metrics.serviceMonitor.scrapeTimeout }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.honorLabels }}
|
||||
honorLabels: {{ .Values.notifications.metrics.serviceMonitor.honorLabels }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.notifications.metrics.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.notifications.metrics.serviceMonitor.relabelings }}
|
||||
relabelings: {- include "common.tplvalues.render" ( dict "value" .Values.notifications.metrics.serviceMonitor.relabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: metrics
|
||||
app.kubernetes.io/part-of: notifications
|
||||
{{- end }}
|
||||
@@ -962,6 +962,550 @@ applicationSet:
|
||||
##
|
||||
tls: []
|
||||
|
||||
## @section Argo CD notifications controller parameters
|
||||
|
||||
## notifications controller
|
||||
##
|
||||
notifications:
|
||||
## @param notifications.enabled Enable notifications controller
|
||||
##
|
||||
enabled: false
|
||||
## @param notifications.command Override default container command (useful when using custom images)
|
||||
##
|
||||
command: []
|
||||
## @param notifications.args Override default container args (useful when using custom images).
|
||||
##
|
||||
args: []
|
||||
## @param notifications.extraArgs Add extra arguments to the default arguments for the Argo CD notifications controller
|
||||
##
|
||||
extraArgs: []
|
||||
## Argo CD notifications controller log format: text|json
|
||||
## @param notifications.logFormat Format for the Argo CD notifications controller logs. Options: [text, json]
|
||||
##
|
||||
logFormat: text
|
||||
## Argo CD notifications controller log level
|
||||
## @param notifications.logLevel Log level for the Argo CD notifications controller
|
||||
##
|
||||
logLevel: info
|
||||
## Argo CD notifications controller ports
|
||||
## @param notifications.containerPorts.metrics Argo CD notifications controller metrics port number
|
||||
##
|
||||
containerPorts:
|
||||
metrics: 8085
|
||||
## Metrics configuration for Argo CD notifications controller
|
||||
##
|
||||
metrics:
|
||||
## @param notifications.metrics.enabled Enable Argo CD notifications controller metrics
|
||||
##
|
||||
enabled: false
|
||||
service:
|
||||
## @param notifications.metrics.service.type Argo CD notifications controller service type
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param notifications.metrics.service.port Argo CD notifications controller metrics service port
|
||||
##
|
||||
port: 8085
|
||||
## Node ports to expose
|
||||
## @param notifications.metrics.service.nodePort Node port for the notifications controller service
|
||||
## NOTE: choose port between <30000-32767>
|
||||
##
|
||||
nodePort: ""
|
||||
## @param notifications.metrics.service.clusterIP Argo CD notifications controller metrics service Cluster IP
|
||||
## e.g.:
|
||||
## clusterIP: None
|
||||
##
|
||||
clusterIP: ""
|
||||
## @param notifications.metrics.service.loadBalancerIP Argo CD notifications controller service Load Balancer IP
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
|
||||
##
|
||||
loadBalancerIP: ""
|
||||
## @param notifications.metrics.service.loadBalancerSourceRanges Argo CD notifications controller service Load Balancer sources
|
||||
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
||||
## e.g:
|
||||
## loadBalancerSourceRanges:
|
||||
## - 10.10.10.0/24
|
||||
##
|
||||
loadBalancerSourceRanges: []
|
||||
## @param notifications.metrics.service.externalTrafficPolicy Argo CD notifications controller service external traffic policy
|
||||
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
## @param notifications.metrics.service.annotations Additional custom annotations for Argo CD notifications controller service
|
||||
##
|
||||
annotations: {}
|
||||
## @param notifications.metrics.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
|
||||
## If "ClientIP", consecutive client requests will be directed to the same Pod
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||
##
|
||||
sessionAffinity: None
|
||||
## @param notifications.metrics.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
## Argo CD notifications controller metrics service monitor configuration
|
||||
##
|
||||
serviceMonitor:
|
||||
## @param notifications.metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
|
||||
##
|
||||
enabled: false
|
||||
## @param notifications.metrics.serviceMonitor.namespace Namespace which Prometheus is running in
|
||||
## e.g:
|
||||
## namespace: monitoring
|
||||
##
|
||||
namespace: ""
|
||||
## @param notifications.metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
|
||||
##
|
||||
jobLabel: ""
|
||||
## @param notifications.metrics.serviceMonitor.interval Interval at which metrics should be scraped
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
|
||||
##
|
||||
interval: 30s
|
||||
## @param notifications.metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
|
||||
##
|
||||
scrapeTimeout: 10s
|
||||
## @param notifications.metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
##
|
||||
relabelings: []
|
||||
## @param notifications.metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
##
|
||||
metricRelabelings: []
|
||||
## @param notifications.metrics.serviceMonitor.selector ServiceMonitor selector labels
|
||||
## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
|
||||
##
|
||||
## selector:
|
||||
## prometheus: my-prometheus
|
||||
##
|
||||
selector: {}
|
||||
## @param notifications.metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
|
||||
##
|
||||
honorLabels: false
|
||||
## Argo CD notifications controller service parameters
|
||||
##
|
||||
service:
|
||||
## @param notifications.service.type Argo CD notifications controller service type
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param notifications.service.port Argo CD notifications controller service port
|
||||
##
|
||||
port: 7000
|
||||
|
||||
## Node ports to expose
|
||||
## @param notifications.service.nodePort Node port for Argo CD notifications controller service
|
||||
## NOTE: choose port between <30000-32767>
|
||||
##
|
||||
nodePort: ""
|
||||
## @param notifications.service.clusterIP Argo CD notifications controller service Cluster IP
|
||||
## e.g.:
|
||||
## clusterIP: None
|
||||
##
|
||||
clusterIP: ""
|
||||
## @param notifications.service.loadBalancerIP Argo CD notifications controller service Load Balancer IP
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
|
||||
##
|
||||
loadBalancerIP: ""
|
||||
## @param notifications.service.loadBalancerSourceRanges Argo CD notifications controller service Load Balancer sources
|
||||
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
||||
## e.g:
|
||||
## loadBalancerSourceRanges:
|
||||
## - 10.10.10.0/24
|
||||
##
|
||||
loadBalancerSourceRanges: []
|
||||
## @param notifications.service.externalTrafficPolicy Argo CD notifications controller service external traffic policy
|
||||
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
## @param notifications.service.annotations Additional custom annotations for Argo CD notifications controller service
|
||||
##
|
||||
annotations: {}
|
||||
## @param notifications.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
|
||||
##
|
||||
extraPorts: []
|
||||
## @param notifications.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
|
||||
## If "ClientIP", consecutive client requests will be directed to the same Pod
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||
##
|
||||
sessionAffinity: None
|
||||
## @param notifications.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
## ServiceAccount configuration for the Argo CD notifications controller
|
||||
##
|
||||
serviceAccount:
|
||||
## @param notifications.serviceAccount.create Specifies whether a ServiceAccount should be created
|
||||
##
|
||||
create: true
|
||||
## @param notifications.serviceAccount.name The name of the ServiceAccount to use.
|
||||
## If not set and create is true, a name is generated using the common.names.fullname template
|
||||
##
|
||||
name: ""
|
||||
## @param notifications.serviceAccount.automountServiceAccountToken Automount service account token for the notifications controller service account
|
||||
##
|
||||
automountServiceAccountToken: true
|
||||
## @param notifications.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
|
||||
##
|
||||
annotations: {}
|
||||
## @param notifications.podAffinityPreset Pod affinity preset. Ignored if `notifications.affinity` is set. Allowed values: `soft` or `hard`
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
##
|
||||
podAffinityPreset: ""
|
||||
## @param notifications.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `notifications.affinity` is set. Allowed values: `soft` or `hard`
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
##
|
||||
podAntiAffinityPreset: soft
|
||||
## Node notifications.affinity preset
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
||||
##
|
||||
nodeAffinityPreset:
|
||||
## @param notifications.nodeAffinityPreset.type Node affinity preset type. Ignored if `notifications.affinity` is set. Allowed values: `soft` or `hard`
|
||||
##
|
||||
type: ""
|
||||
## @param notifications.nodeAffinityPreset.key Node label key to match. Ignored if `notifications.affinity` is set
|
||||
##
|
||||
key: ""
|
||||
## @param notifications.nodeAffinityPreset.values Node label values to match. Ignored if `notifications.affinity` is set
|
||||
## E.g.
|
||||
## values:
|
||||
## - e2e-az1
|
||||
## - e2e-az2
|
||||
##
|
||||
values: []
|
||||
## @param notifications.affinity Affinity for Argo CD notifications controller pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
## NOTE: `notifications.podAffinityPreset`, `notifications.podAntiAffinityPreset`, and `notifications.nodeAffinityPreset` will be ignored when it's set
|
||||
##
|
||||
affinity: {}
|
||||
## @param notifications.podAnnotations Annotations for Argo CD notifications controller pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
## @param notifications.podLabels Extra labels for Argo CD notifications controller pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
##
|
||||
podLabels: {}
|
||||
## Configure Container Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
||||
## @param notifications.containerSecurityContext.enabled Enabled Argo CD notifications controller containers' Security Context
|
||||
## @param notifications.containerSecurityContext.runAsUser Set Argo CD notifications controller containers' Security Context runAsUser
|
||||
## @param notifications.containerSecurityContext.allowPrivilegeEscalation Set Argo CD notifications controller containers' Security Context allowPrivilegeEscalation
|
||||
## @param notifications.containerSecurityContext.capabilities.drop Set Argo CD notifications controller containers' Security Context capabilities to be dropped
|
||||
## @param notifications.containerSecurityContext.readOnlyRootFilesystem Set Argo CD notifications controller containers' Security Context readOnlyRootFilesystem
|
||||
## @param notifications.containerSecurityContext.runAsNonRoot Set Argo CD notifications controller container's Security Context runAsNonRoot
|
||||
##
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- all
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
## Argo CD notifications controller resource requests and limits
|
||||
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
|
||||
## @param notifications.resources.limits The resources limits for the Argo CD notifications controller containers
|
||||
## @param notifications.resources.requests The requested resources for the Argo CD notifications controller containers
|
||||
##
|
||||
resources:
|
||||
limits: {}
|
||||
requests: {}
|
||||
## Configure Pods Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
||||
## @param notifications.podSecurityContext.enabled Enabled Argo CD notifications controller pods' Security Context
|
||||
## @param notifications.podSecurityContext.fsGroup Set Argo CD notifications controller pod's Security Context fsGroup
|
||||
##
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
## @param notifications.nodeSelector Node labels for Argo CD notifications controller pods assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
## @param notifications.tolerations Tolerations for Argo CD notifications controller pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
## @param notifications.priorityClassName Argo CD notifications controller pods' priorityClassName
|
||||
##
|
||||
priorityClassName: ""
|
||||
## @param notifications.extraVolumes Optionally specify extra list of additional volumes for the Argo CD notifications controller pod(s)
|
||||
##
|
||||
extraVolumes: []
|
||||
## @param notifications.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Argo CD notifications controller container(s)
|
||||
##
|
||||
extraVolumeMounts: []
|
||||
## @param notifications.extraEnvVars Array with extra environment variables to add to Argo CD notifications controller nodes
|
||||
## e.g:
|
||||
## extraEnvVars:
|
||||
## - name: FOO
|
||||
## value: "bar"
|
||||
##
|
||||
extraEnvVars: []
|
||||
## @param notifications.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Argo CD notifications controller nodes
|
||||
##
|
||||
extraEnvVarsCM: ""
|
||||
## @param notifications.extraEnvVarsSecret Name of existing Secret containing extra env vars for Argo CD notifications controller nodes
|
||||
##
|
||||
extraEnvVarsSecret: ""
|
||||
## Webhook for the Git Generator
|
||||
## Ref: https://argocd-notifications.readthedocs.io/en/master/Generators-Git/#webhook-configuration)
|
||||
##
|
||||
webhook:
|
||||
ingress:
|
||||
## @param notifications.webhook.ingress.enabled Enable an ingress resource for Webhooks
|
||||
##
|
||||
enabled: false
|
||||
## DEPRECATED: Use server.ingress.annotations instead of server.ingress.certManager
|
||||
## certManager: false
|
||||
##
|
||||
## @param notifications.webhook.ingress.annotations Additional ingress annotations
|
||||
##
|
||||
annotations: {}
|
||||
## @param notifications.webhook.ingress.labels Additional ingress labels
|
||||
##
|
||||
labels: {}
|
||||
## @param notifications.webhook.ingress.ingressClassName Defines which ingress controller will implement the resource
|
||||
##
|
||||
ingressClassName: ""
|
||||
## @param notifications.webhook.ingress.hostname Ingress hostname for the Argo CD notifications ingress
|
||||
## Hostname must be provided if Ingress is enabled.
|
||||
##
|
||||
hostname: ""
|
||||
## @param notifications.webhook.ingress.path Argo CD notifications ingress path
|
||||
##
|
||||
path: /api/webhook
|
||||
## @param notifications.webhook.ingress.pathType Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
|
||||
##
|
||||
pathType: Prefix
|
||||
## @param notifications.webhook.ingress.extraHosts Extra hosts array for the Argo CD notifications ingress
|
||||
## The list of additional hostnames to be covered with this ingress record.
|
||||
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
|
||||
##
|
||||
extraHosts: []
|
||||
## @param notifications.webhook.ingress.extraPaths Extra paths for the Argo CD notifications ingress
|
||||
## Any additional arbitrary paths that may need to be added to the ingress under the main host.
|
||||
## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
|
||||
##
|
||||
extraPaths: []
|
||||
## - path: /*
|
||||
## backend:
|
||||
## serviceName: ssl-redirect
|
||||
## servicePort: use-annotation
|
||||
##
|
||||
## @param notifications.webhook.ingress.extraTls Extra TLS configuration for the Argo CD notifications ingress
|
||||
## The tls configuration for additional hostnames to be covered with this ingress record.
|
||||
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
|
||||
##
|
||||
extraTls: []
|
||||
## - hosts:
|
||||
## - argocd.server.local
|
||||
## secretName: argocd.server.local-tls
|
||||
##
|
||||
## @param notifications.webhook.ingress.tls Ingress TLS configuration
|
||||
##
|
||||
tls: []
|
||||
|
||||
## The optional bot component simplifies managing subscriptions
|
||||
## For more information: https://argocd-notifications.readthedocs.io/en/stable/bots/overview/
|
||||
bots:
|
||||
slack:
|
||||
## @param notifications.bots.slack.enabled Enable notifications controller
|
||||
##
|
||||
enabled: false
|
||||
|
||||
## @param notifications.bots.slack.command Override default container command (useful when using custom images)
|
||||
##
|
||||
command: []
|
||||
|
||||
## @param notifications.bots.slack.args Override default container args (useful when using custom images).
|
||||
##
|
||||
args: []
|
||||
|
||||
## @param notifications.bots.slack.extraArgs Add extra arguments to the default arguments for the Argo CD Slack bot
|
||||
##
|
||||
extraArgs: []
|
||||
|
||||
## Argo CD Slack bot service parameters
|
||||
##
|
||||
service:
|
||||
## @param notifications.bots.slack.service.type Argo CD Slack bot service type
|
||||
##
|
||||
type: LoadBalancer
|
||||
## @param notifications.bots.slack.service.port Argo CD Slack bot service port
|
||||
##
|
||||
port: 80
|
||||
|
||||
## Node ports to expose
|
||||
## @param notifications.bots.slack.service.nodePort Node port for Argo CD Slack bot service
|
||||
## NOTE: choose port between <30000-32767>
|
||||
##
|
||||
nodePort: ""
|
||||
## @param notifications.bots.slack.service.clusterIP Argo CD Slack bot service Cluster IP
|
||||
## e.g.:
|
||||
## clusterIP: None
|
||||
##
|
||||
clusterIP: ""
|
||||
## @param notifications.bots.slack.service.loadBalancerIP Argo CD Slack bot service Load Balancer IP
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
|
||||
##
|
||||
loadBalancerIP: ""
|
||||
## @param notifications.bots.slack.service.loadBalancerSourceRanges Argo CD Slack bot service Load Balancer sources
|
||||
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
||||
## e.g:
|
||||
## loadBalancerSourceRanges:
|
||||
## - 10.10.10.0/24
|
||||
##
|
||||
loadBalancerSourceRanges: []
|
||||
## @param notifications.bots.slack.service.externalTrafficPolicy Argo CD Slack bot service external traffic policy
|
||||
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
## @param notifications.bots.slack.service.annotations Additional custom annotations for Argo CD Slack bot service
|
||||
##
|
||||
annotations: {}
|
||||
## @param notifications.bots.slack.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
|
||||
##
|
||||
extraPorts: []
|
||||
## @param notifications.bots.slack.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
|
||||
## If "ClientIP", consecutive client requests will be directed to the same Pod
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||
##
|
||||
sessionAffinity: None
|
||||
## @param notifications.bots.slack.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
|
||||
## ServiceAccount configuration for the Argo CD Slack bot
|
||||
##
|
||||
serviceAccount:
|
||||
## @param notifications.bots.slack.serviceAccount.create Specifies whether a ServiceAccount should be created
|
||||
##
|
||||
create: true
|
||||
## @param notifications.bots.slack.serviceAccount.name The name of the ServiceAccount to use.
|
||||
## If not set and create is true, a name is generated using the common.names.fullname template
|
||||
##
|
||||
name: ""
|
||||
## @param notifications.bots.slack.serviceAccount.automountServiceAccountToken Automount service account token for the notifications controller service account
|
||||
##
|
||||
automountServiceAccountToken: true
|
||||
## @param notifications.bots.slack.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
|
||||
##
|
||||
annotations: {}
|
||||
|
||||
## @param notifications.bots.slack.podAffinityPreset Pod affinity preset. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard`
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
##
|
||||
podAffinityPreset: ""
|
||||
## @param notifications.bots.slack.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard`
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
##
|
||||
podAntiAffinityPreset: soft
|
||||
## Node notifications.bots.slack.affinity preset
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
||||
##
|
||||
nodeAffinityPreset:
|
||||
## @param notifications.bots.slack.nodeAffinityPreset.type Node affinity preset type. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard`
|
||||
##
|
||||
type: ""
|
||||
## @param notifications.bots.slack.nodeAffinityPreset.key Node label key to match. Ignored if `notifications.bots.slack.affinity` is set
|
||||
##
|
||||
key: ""
|
||||
## @param notifications.bots.slack.nodeAffinityPreset.values Node label values to match. Ignored if `notifications.bots.slack.affinity` is set
|
||||
## E.g.
|
||||
## values:
|
||||
## - e2e-az1
|
||||
## - e2e-az2
|
||||
##
|
||||
values: []
|
||||
## @param notifications.bots.slack.affinity Affinity for Argo CD Slack bot pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
## NOTE: `notifications.bots.slack.podAffinityPreset`, `notifications.bots.slack.podAntiAffinityPreset`, and `notifications.bots.slack.nodeAffinityPreset` will be ignored when it's set
|
||||
##
|
||||
affinity: {}
|
||||
## @param notifications.bots.slack.podAnnotations Annotations for Argo CD Slack bot pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
## @param notifications.bots.slack.podLabels Extra labels for Argo CD Slack bot pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
##
|
||||
podLabels: {}
|
||||
## Configure Container Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
||||
## @param notifications.bots.slack.containerSecurityContext.enabled Enabled Argo CD Slack bot containers' Security Context
|
||||
## @param notifications.bots.slack.containerSecurityContext.runAsUser Set Argo CD Slack bot containers' Security Context runAsUser
|
||||
## @param notifications.bots.slack.containerSecurityContext.allowPrivilegeEscalation Set Argo CD Slack bot containers' Security Context allowPrivilegeEscalation
|
||||
## @param notifications.bots.slack.containerSecurityContext.capabilities.drop Set Argo CD Slack bot containers' Security Context capabilities to be dropped
|
||||
## @param notifications.bots.slack.containerSecurityContext.readOnlyRootFilesystem Set Argo CD Slack bot containers' Security Context readOnlyRootFilesystem
|
||||
## @param notifications.bots.slack.containerSecurityContext.runAsNonRoot Set Argo CD Slack bot container's Security Context runAsNonRoot
|
||||
##
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- all
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
## Argo CD Slack bot resource requests and limits
|
||||
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
|
||||
## @param notifications.bots.slack.resources.limits The resources limits for the Argo CD Slack bot containers
|
||||
## @param notifications.bots.slack.resources.requests The requested resources for the Argo CD Slack bot containers
|
||||
##
|
||||
resources:
|
||||
limits: {}
|
||||
requests: {}
|
||||
## Configure Pods Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
||||
## @param notifications.bots.slack.podSecurityContext.enabled Enabled Argo CD Slack bot pods' Security Context
|
||||
## @param notifications.bots.slack.podSecurityContext.fsGroup Set Argo CD Slack bot pod's Security Context fsGroup
|
||||
##
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
## @param notifications.bots.slack.nodeSelector Node labels for Argo CD Slack bot pods assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
## @param notifications.bots.slack.tolerations Tolerations for Argo CD Slack bot pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
## @param notifications.bots.slack.priorityClassName Argo CD Slack bot pods' priorityClassName
|
||||
##
|
||||
priorityClassName: ""
|
||||
## @param notifications.bots.slack.extraVolumes Optionally specify extra list of additional volumes for the Argo CD Slack bot pod(s)
|
||||
##
|
||||
extraVolumes: []
|
||||
## @param notifications.bots.slack.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Argo CD Slack bot container(s)
|
||||
##
|
||||
extraVolumeMounts: []
|
||||
## @param notifications.bots.slack.extraEnvVars Array with extra environment variables to add to Argo CD Slack bot nodes
|
||||
## e.g:
|
||||
## extraEnvVars:
|
||||
## - name: FOO
|
||||
## value: "bar"
|
||||
##
|
||||
extraEnvVars: []
|
||||
## @param notifications.bots.slack.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Argo CD Slack bot nodes
|
||||
##
|
||||
extraEnvVarsCM: ""
|
||||
## @param notifications.bots.slack.extraEnvVarsSecret Name of existing Secret containing extra env vars for Argo CD Slack bot nodes
|
||||
##
|
||||
extraEnvVarsSecret: ""
|
||||
|
||||
|
||||
## @section Argo CD server Parameters
|
||||
|
||||
## Argo CD server configuration
|
||||
|
||||
Reference in New Issue
Block a user