mirror of
https://github.com/wahyd4/charts.git
synced 2026-08-08 21:01:43 +10:00
[bitnami/argo-cd] Add applicationSet deployment to the chart (#13723)
* [bitnami/argo-cd] Add applicationSet deployment to the chart Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Rebase main Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Update README Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Fix installation issues Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Disable deployment of the applicationSet controller by default Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Apply suggestions Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Update README Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Update tests Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Increase timeout for the validation to succeed Signed-off-by: jotamartos <jotamartos@vmware.com> * [bitnami/argo-cd] Apply suggestions 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> Signed-off-by: Juan José Martos <jotamartos@gmail.com> Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
co-authored by
Bitnami Containers
parent
3c04e9a8ad
commit
69e34ffa40
@@ -55,7 +55,7 @@ it('allows deploying a healthy app for a new project', () => {
|
||||
});
|
||||
cy.get('i[class*="fa-sync"]').click();
|
||||
cy.get('[qe-id="application-sync-panel-button-synchronize"]').click();
|
||||
cy.contains('Succeeded a few seconds ago');
|
||||
cy.contains('Succeeded a few seconds ago', {timeout: 120000});
|
||||
cy.get('[class*="application-details__status-panel"]').within(() => {
|
||||
cy.get('[title="Healthy"]', {timeout: 60000});
|
||||
});
|
||||
|
||||
@@ -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.3.8
|
||||
version: 4.4.0
|
||||
|
||||
@@ -203,6 +203,112 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `controller.initContainers` | Add additional init containers to the Argo CD pod(s) | `[]` |
|
||||
|
||||
|
||||
### Argo CD ApplicationSet controller parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `applicationSet.enabled` | Enable ApplicationSet controller | `false` |
|
||||
| `applicationSet.replicaCount` | The number of ApplicationSet controller pods to run | `1` |
|
||||
| `applicationSet.command` | Override default container command (useful when using custom images) | `[]` |
|
||||
| `applicationSet.defaultArgs.enableLeaderElection` | Enable leader election | `false` |
|
||||
| `applicationSet.defaultArgs.policy` | Default policy | `sync` |
|
||||
| `applicationSet.defaultArgs.debug` | Enable debug mode | `false` |
|
||||
| `applicationSet.defaultArgs.dryRun` | Enable dry-run mode | `false` |
|
||||
| `applicationSet.args` | Override default container args (useful when using custom images). Overrides the defaultArgs. | `[]` |
|
||||
| `applicationSet.extraArgs` | Add extra arguments to the default arguments for the Argo CD applicationSet controller | `[]` |
|
||||
| `applicationSet.logFormat` | Format for the Argo CD applicationSet controller logs. Options: [text, json] | `text` |
|
||||
| `applicationSet.logLevel` | Log level for the Argo CD applicationSet controller | `info` |
|
||||
| `applicationSet.containerPorts.metrics` | Argo CD applicationSet controller metrics port number | `8085` |
|
||||
| `applicationSet.containerPorts.probe` | Argo CD applicationSet controller probe port number | `8081` |
|
||||
| `applicationSet.metrics.enabled` | Enable Argo CD applicationSet controller metrics | `false` |
|
||||
| `applicationSet.metrics.service.type` | Argo CD applicationSet controller service type | `ClusterIP` |
|
||||
| `applicationSet.metrics.service.port` | Argo CD applicationSet controller metrics service port | `8085` |
|
||||
| `applicationSet.metrics.service.nodePort` | Node port for the applicationSet controller service | `""` |
|
||||
| `applicationSet.metrics.service.clusterIP` | Argo CD applicationSet controller metrics service Cluster IP | `""` |
|
||||
| `applicationSet.metrics.service.loadBalancerIP` | Argo CD applicationSet controller service Load Balancer IP | `""` |
|
||||
| `applicationSet.metrics.service.loadBalancerSourceRanges` | Argo CD applicationSet controller service Load Balancer sources | `[]` |
|
||||
| `applicationSet.metrics.service.externalTrafficPolicy` | Argo CD applicationSet controller service external traffic policy | `Cluster` |
|
||||
| `applicationSet.metrics.service.annotations` | Additional custom annotations for Argo CD applicationSet controller service | `{}` |
|
||||
| `applicationSet.metrics.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `applicationSet.metrics.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `applicationSet.metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `applicationSet.metrics.serviceMonitor.namespace` | Namespace which Prometheus is running in | `""` |
|
||||
| `applicationSet.metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
|
||||
| `applicationSet.metrics.serviceMonitor.interval` | Interval at which metrics should be scraped | `30s` |
|
||||
| `applicationSet.metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `10s` |
|
||||
| `applicationSet.metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
|
||||
| `applicationSet.metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
|
||||
| `applicationSet.metrics.serviceMonitor.selector` | ServiceMonitor selector labels | `{}` |
|
||||
| `applicationSet.metrics.serviceMonitor.honorLabels` | honorLabels chooses the metric's labels on collisions with target labels | `false` |
|
||||
| `applicationSet.service.type` | Argo CD applicationSet controller service type | `ClusterIP` |
|
||||
| `applicationSet.service.port` | Argo CD applicationSet controller service port | `7000` |
|
||||
| `applicationSet.service.nodePort` | Node port for Argo CD applicationSet controller service | `""` |
|
||||
| `applicationSet.service.clusterIP` | Argo CD applicationSet controller service Cluster IP | `""` |
|
||||
| `applicationSet.service.loadBalancerIP` | Argo CD applicationSet controller service Load Balancer IP | `""` |
|
||||
| `applicationSet.service.loadBalancerSourceRanges` | Argo CD applicationSet controller service Load Balancer sources | `[]` |
|
||||
| `applicationSet.service.externalTrafficPolicy` | Argo CD applicationSet controller service external traffic policy | `Cluster` |
|
||||
| `applicationSet.service.annotations` | Additional custom annotations for Argo CD applicationSet controller service | `{}` |
|
||||
| `applicationSet.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
|
||||
| `applicationSet.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `applicationSet.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `applicationSet.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
|
||||
| `applicationSet.serviceAccount.name` | The name of the ServiceAccount to use. | `""` |
|
||||
| `applicationSet.serviceAccount.automountServiceAccountToken` | Automount service account token for the applicationSet controller service account | `true` |
|
||||
| `applicationSet.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` |
|
||||
| `applicationSet.podAffinityPreset` | Pod affinity preset. Ignored if `applicationSet.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `applicationSet.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `applicationSet.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `applicationSet.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `applicationSet.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `applicationSet.nodeAffinityPreset.key` | Node label key to match. Ignored if `applicationSet.affinity` is set | `""` |
|
||||
| `applicationSet.nodeAffinityPreset.values` | Node label values to match. Ignored if `applicationSet.affinity` is set | `[]` |
|
||||
| `applicationSet.affinity` | Affinity for Argo CD applicationSet controller pods assignment | `{}` |
|
||||
| `applicationSet.podAnnotations` | Annotations for Argo CD applicationSet controller pods | `{}` |
|
||||
| `applicationSet.podLabels` | Extra labels for Argo CD applicationSet controller pods | `{}` |
|
||||
| `applicationSet.containerSecurityContext.enabled` | Enabled Argo CD applicationSet controller containers' Security Context | `true` |
|
||||
| `applicationSet.containerSecurityContext.runAsUser` | Set Argo CD applicationSet controller containers' Security Context runAsUser | `1001` |
|
||||
| `applicationSet.containerSecurityContext.allowPrivilegeEscalation` | Set Argo CD applicationSet controller containers' Security Context allowPrivilegeEscalation | `false` |
|
||||
| `applicationSet.containerSecurityContext.capabilities.drop` | Set Argo CD applicationSet controller containers' Security Context capabilities to be dropped | `["all"]` |
|
||||
| `applicationSet.containerSecurityContext.readOnlyRootFilesystem` | Set Argo CD applicationSet controller containers' Security Context readOnlyRootFilesystem | `false` |
|
||||
| `applicationSet.containerSecurityContext.runAsNonRoot` | Set Argo CD applicationSet controller container's Security Context runAsNonRoot | `true` |
|
||||
| `applicationSet.livenessProbe.enabled` | Enable livenessProbe on Argo CD applicationSet controller nodes | `true` |
|
||||
| `applicationSet.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` |
|
||||
| `applicationSet.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
|
||||
| `applicationSet.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
|
||||
| `applicationSet.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
|
||||
| `applicationSet.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `applicationSet.readinessProbe.enabled` | Enable readinessProbe on Argo CD applicationSet controller nodes | `true` |
|
||||
| `applicationSet.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` |
|
||||
| `applicationSet.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
|
||||
| `applicationSet.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `applicationSet.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
|
||||
| `applicationSet.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `applicationSet.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` |
|
||||
| `applicationSet.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` |
|
||||
| `applicationSet.resources.limits` | The resources limits for the Argo CD applicationSet controller containers | `{}` |
|
||||
| `applicationSet.resources.requests` | The requested resources for the Argo CD applicationSet controller containers | `{}` |
|
||||
| `applicationSet.podSecurityContext.enabled` | Enabled Argo CD applicationSet controller pods' Security Context | `true` |
|
||||
| `applicationSet.podSecurityContext.fsGroup` | Set Argo CD applicationSet controller pod's Security Context fsGroup | `1001` |
|
||||
| `applicationSet.nodeSelector` | Node labels for Argo CD applicationSet controller pods assignment | `{}` |
|
||||
| `applicationSet.tolerations` | Tolerations for Argo CD applicationSet controller pods assignment | `[]` |
|
||||
| `applicationSet.updateStrategy.type` | Argo CD applicationSet controller statefulset strategy type | `RollingUpdate` |
|
||||
| `applicationSet.priorityClassName` | Argo CD applicationSet controller pods' priorityClassName | `""` |
|
||||
| `applicationSet.extraVolumes` | Optionally specify extra list of additional volumes for the Argo CD applicationSet controller pod(s) | `[]` |
|
||||
| `applicationSet.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Argo CD applicationSet controller container(s) | `[]` |
|
||||
| `applicationSet.extraEnvVars` | Array with extra environment variables to add to Argo CD applicationSet controller nodes | `[]` |
|
||||
| `applicationSet.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Argo CD applicationSet controller nodes | `""` |
|
||||
| `applicationSet.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Argo CD applicationSet controller nodes | `""` |
|
||||
| `applicationSet.webhook.ingress.enabled` | Enable an ingress resource for Webhooks | `false` |
|
||||
| `applicationSet.webhook.ingress.annotations` | Additional ingress annotations | `{}` |
|
||||
| `applicationSet.webhook.ingress.labels` | Additional ingress labels | `{}` |
|
||||
| `applicationSet.webhook.ingress.ingressClassName` | Defines which ingress controller will implement the resource | `""` |
|
||||
| `applicationSet.webhook.ingress.hostname` | Ingress hostname for the Argo CD applicationSet ingress | `""` |
|
||||
| `applicationSet.webhook.ingress.path` | Argo CD applicationSet ingress path | `/api/webhook` |
|
||||
| `applicationSet.webhook.ingress.pathType` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` | `Prefix` |
|
||||
| `applicationSet.webhook.ingress.extraHosts` | Extra hosts array for the Argo CD applicationSet ingress | `[]` |
|
||||
| `applicationSet.webhook.ingress.extraPaths` | Extra paths for the Argo CD applicationSet ingress | `[]` |
|
||||
| `applicationSet.webhook.ingress.extraTls` | Extra TLS configuration for the Argo CD applicationSet ingress | `[]` |
|
||||
| `applicationSet.webhook.ingress.tls` | Ingress TLS configuration | `[]` |
|
||||
|
||||
|
||||
### Argo CD server Parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
@@ -581,6 +687,7 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `config.styles` | Custom CSS styles | `""` |
|
||||
| `config.existingStylesConfigmap` | Use an existing styles configmap | `""` |
|
||||
| `config.tlsCerts` | TLS certificates used to verify the authenticity of the repository servers | `{}` |
|
||||
| `config.gpgKeys` | GnuPG public keys to add to the keyring | `{}` |
|
||||
| `config.secret.create` | Whether to create or not the secret | `true` |
|
||||
| `config.secret.annotations` | General secret extra annotations | `{}` |
|
||||
| `config.secret.githubSecret` | GitHub secret to configure webhooks | `""` |
|
||||
|
||||
@@ -40,6 +40,13 @@ Return the proper service name for Argo CD controller adding the working namespa
|
||||
{{- printf "%s-app-controller" (include "common.names.fullname.namespace" .) | trunc 63 | trimSuffix "-" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper service name for Argo CD applicationSet controller
|
||||
*/}}
|
||||
{{- define "argocd.applicationSet" -}}
|
||||
{{- printf "%s-applicationset-controller" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper service name for Argo CD server
|
||||
*/}}
|
||||
@@ -110,6 +117,17 @@ Create the name of the service account to use for the Argo CD application contro
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the Argo CD applicationSet controller
|
||||
*/}}
|
||||
{{- define "argocd.applicationSet.serviceAccountName" -}}
|
||||
{{- if .Values.applicationSet.serviceAccount.create -}}
|
||||
{{ default (printf "%s-applicationset-controller" (include "common.names.fullname" .)) .Values.applicationSet.serviceAccount.name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.applicationSet.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the Argo CD repo server
|
||||
*/}}
|
||||
|
||||
@@ -144,9 +144,9 @@ spec:
|
||||
- --repo-server
|
||||
- {{ include "argocd.repo-server" . }}:{{ .Values.repoServer.service.port }}
|
||||
- --logformat
|
||||
- {{ .Values.controller.logFormat }}
|
||||
- {{ .Values.controller.logFormat | quote }}
|
||||
- --loglevel
|
||||
- {{ .Values.controller.logLevel }}
|
||||
- {{ .Values.controller.logLevel | quote }}
|
||||
# TODO(miguelaeh): Test the chart using redis sentinel enabled: https://github.com/argoproj/argo-cd/blob/2a410187565e15633b6f2a8c8d8da22cf02b257d/util/cache/cache.go#L40
|
||||
- --redis
|
||||
- {{ include "argocd.redisHost" . }}:{{ include "argocd.redisPort" . }}
|
||||
|
||||
@@ -38,4 +38,4 @@ rules:
|
||||
verbs:
|
||||
- create
|
||||
- list
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
{{- if .Values.applicationSet.enabled }}
|
||||
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- 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: {{ .Values.applicationSet.replicaCount }}
|
||||
{{- if .Values.applicationSet.updateStrategy }}
|
||||
strategy: {{- toYaml .Values.applicationSet.updateStrategy | nindent 4 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
template:
|
||||
metadata:
|
||||
{{- if .Values.applicationSet.podAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.podAnnotations "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- if .Values.applicationSet.podLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.podLabels "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceAccountName: {{ include "argocd.applicationSet.serviceAccountName" . }}
|
||||
{{- include "argocd.imagePullSecrets" . | nindent 6 }}
|
||||
{{- if .Values.applicationSet.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.nodeSelector "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.applicationSet.podAffinityPreset "component" "applicationSet" "context" $) | nindent 10 }}
|
||||
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.applicationSet.podAntiAffinityPreset "component" "applicationSet" "context" $) | nindent 10 }}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.applicationSet.nodeAffinityPreset.type "key" .Values.applicationSet.nodeAffinityPreset.key "values" .Values.applicationSet.nodeAffinityPreset.values) | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.tolerations "context" .) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.priorityClassName }}
|
||||
priorityClassName: {{ .Values.applicationSet.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.applicationSet.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: applicationset-controller
|
||||
image: {{ include "argocd.image" . }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
{{- if .Values.applicationSet.command }}
|
||||
command: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.command "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.args }}
|
||||
args: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.args "context" $) | nindent 12 }}
|
||||
{{- else }}
|
||||
args:
|
||||
- argocd-applicationset-controller
|
||||
- --logformat
|
||||
- {{ .Values.applicationSet.logFormat | quote }}
|
||||
- --loglevel
|
||||
- {{ .Values.applicationSet.logLevel | quote }}
|
||||
- --metrics-addr
|
||||
- ":{{ .Values.applicationSet.containerPorts.metrics }}"
|
||||
- --probe-addr
|
||||
- ":{{ .Values.applicationSet.containerPorts.probe }}"
|
||||
{{- if or (gt ( .Values.applicationSet.replicaCount | int64) 1) .Values.applicationSet.defaultArgs.enableLeaderElection }}
|
||||
- --enable-leader-election=true
|
||||
{{- end }}
|
||||
- --argocd-repo-server
|
||||
- {{ include "argocd.repo-server" . }}:{{ .Values.repoServer.service.port }}
|
||||
- --policy
|
||||
- {{ .Values.applicationSet.defaultArgs.policy | quote }}
|
||||
- --debug
|
||||
- {{ .Values.applicationSet.defaultArgs.debug | quote }}
|
||||
- --dry-run
|
||||
- {{ .Values.applicationSet.defaultArgs.dryRun | quote }}
|
||||
{{- if .Values.applicationSet.extraArgs }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.extraArgs "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if .Values.applicationSet.extraEnvVars }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.extraEnvVars "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
envFrom:
|
||||
{{- if .Values.applicationSet.extraEnvVarsCM }}
|
||||
- configMapRef:
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.applicationSet.extraEnvVarsCM "context" $) }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.extraEnvVarsSecret }}
|
||||
- secretRef:
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.applicationSet.extraEnvVarsSecret "context" $) }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: metrics
|
||||
containerPort: {{ .Values.applicationSet.containerPorts.metrics }}
|
||||
protocol: TCP
|
||||
- name: probe
|
||||
containerPort: {{ .Values.applicationSet.containerPorts.probe }}
|
||||
protocol: TCP
|
||||
- name: webhook
|
||||
containerPort: 7000
|
||||
protocol: TCP
|
||||
{{- if .Values.applicationSet.customLivenessProbe }}
|
||||
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.customLivenessProbe "context" $) | nindent 12 }}
|
||||
{{- else if .Values.applicationSet.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: probe
|
||||
initialDelaySeconds: {{ .Values.applicationSet.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.applicationSet.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.applicationSet.livenessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.applicationSet.livenessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.applicationSet.livenessProbe.failureThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.customReadinessProbe }}
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.customReadinessProbe "context" $) | nindent 12 }}
|
||||
{{- else if .Values.applicationSet.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: probe
|
||||
initialDelaySeconds: {{ .Values.applicationSet.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.applicationSet.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.applicationSet.readinessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.applicationSet.readinessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.applicationSet.readinessProbe.failureThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.resources }}
|
||||
resources: {{- toYaml .Values.applicationSet.resources | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.applicationSet.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- mountPath: /app/config/ssh
|
||||
name: ssh-known-hosts
|
||||
{{- if .Values.config.tlsCerts }}
|
||||
- mountPath: /app/config/tls
|
||||
name: tls-certs
|
||||
{{- end }}
|
||||
{{- if .Values.config.gpgKeys }}
|
||||
- mountPath: /app/config/gpg/source
|
||||
name: gpg-keys
|
||||
{{- end }}
|
||||
- mountPath: /app/config/gpg/keys
|
||||
name: gpg-keyring
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
{{- if .Values.applicationSet.extraVolumeMounts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.extraVolumeMounts "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: ssh-known-hosts
|
||||
configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
{{- if .Values.config.tlsCerts }}
|
||||
- name: tls-certs
|
||||
configMap:
|
||||
name: argocd-tls-certs-cm
|
||||
{{- end }}
|
||||
{{- if .Values.config.gpgKeys }}
|
||||
- name: gpg-keys
|
||||
configMap:
|
||||
name: argocd-gpg-keys-cm
|
||||
{{- end }}
|
||||
- name: gpg-keyring
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
{{- if .Values.applicationSet.extraVolumes }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.extraVolumes "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,64 @@
|
||||
{{- if and .Values.applicationSet.enabled .Values.applicationSet.webhook.ingress.enabled -}}
|
||||
apiVersion: {{ include "common.capabilities.webhook.ingress.apiVersion" . }}
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.webhook.ingress.labels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.webhook.ingress.labels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.applicationSet.webhook.ingress.annotations .Values.commonAnnotations .Values.applicationSet.webhook.ingress.certManager }}
|
||||
annotations:
|
||||
{{- if .Values.applicationSet.webhook.ingress.certManager }}
|
||||
kubernetes.io/tls-acme: "true"
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.webhook.ingress.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.webhook.ingress.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if and .Values.applicationSet.webhook.ingress.ingressClassName (eq "true" (include "common.webhook.ingress.supportsIngressClassname" .)) }}
|
||||
ingressClassName: {{ .Values.applicationSet.webhook.ingress.ingressClassName | quote }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- if .Values.applicationSet.webhook.ingress.hostname }}
|
||||
- host: {{ .Values.applicationSet.webhook.ingress.hostname }}
|
||||
http:
|
||||
paths:
|
||||
{{- if .Values.applicationSet.webhook.ingress.extraPaths }}
|
||||
{{- toYaml .Values.applicationSet.webhook.ingress.extraPaths | nindent 10 }}
|
||||
{{- end }}
|
||||
- path: {{ .Values.applicationSet.webhook.ingress.path }}
|
||||
{{- if eq "true" (include "common.ingress.supportsPathType" .) }}
|
||||
pathType: {{ .Values.applicationSet.webhook.ingress.pathType }}
|
||||
{{- end }}
|
||||
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "argocd.server" .) "servicePort" (ternary "https" "http" .Values.applicationSet.webhook.ingress.tls) "context" $) | nindent 14 }}
|
||||
{{- end }}
|
||||
{{- range .Values.applicationSet.webhook.ingress.extraHosts }}
|
||||
- host: {{ .name | quote }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ default "/" .path }}
|
||||
{{- if eq "true" (include "common.ingress.supportsPathType" $) }}
|
||||
pathType: {{ default "ImplementationSpecific" .pathType }}
|
||||
{{- end }}
|
||||
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "argocd.server" $) "servicePort" (ternary "https" "http" $.Values.applicationSet.webhook.ingress.tls) "context" $) | nindent 14 }}
|
||||
{{- end }}
|
||||
tls:
|
||||
{{- if .Values.applicationSet.webhook.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.applicationSet.webhook.ingress.hostname }}
|
||||
secretName: {{ printf "%s-tls" .Values.applicationSet.webhook.ingress.hostname }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.webhook.ingress.extraTls }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.webhook.ingress.extraTls "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,53 @@
|
||||
{{- if and .Values.applicationSet.enabled .Values.applicationSet.metrics.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet" . }}-metrics
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: metrics
|
||||
app.kubernetes.io/part-of: applicationSet
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.applicationSet.metrics.service.annotations }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.service.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.metrics.service.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.applicationSet.metrics.service.type }}
|
||||
{{- if and .Values.applicationSet.metrics.service.clusterIP (eq .Values.applicationSet.metrics.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.applicationSet.metrics.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if (or (eq .Values.applicationSet.metrics.service.type "LoadBalancer") (eq .Values.applicationSet.metrics.service.type "NodePort")) }}
|
||||
externalTrafficPolicy: {{ .Values.applicationSet.metrics.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.applicationSet.metrics.service.type "LoadBalancer" }}
|
||||
loadBalancerSourceRanges: {{ .Values.applicationSet.metrics.service.loadBalancerSourceRanges }}
|
||||
{{- end }}
|
||||
{{- if (and (eq .Values.applicationSet.metrics.service.type "LoadBalancer") (not (empty .Values.applicationSet.metrics.service.loadBalancerIP))) }}
|
||||
loadBalancerIP: {{ .Values.applicationSet.metrics.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.service.sessionAffinity }}
|
||||
sessionAffinity: {{ .Values.applicationSet.metrics.service.sessionAffinity }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.service.sessionAffinityConfig }}
|
||||
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.metrics.service.sessionAffinityConfig "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http-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))) }}
|
||||
nodePort: {{ .Values.applicationSet.metrics.service.nodePort }}
|
||||
{{- else if eq .Values.applicationSet.metrics.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- end }}
|
||||
@@ -0,0 +1,91 @@
|
||||
{{- if and .Values.rbac.create .Values.applicationSet.enabled }}
|
||||
kind: Role
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet" . }}
|
||||
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
|
||||
- applicationsets
|
||||
- applicationsets/finalizers
|
||||
- applicationsets/status
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- argoproj.io
|
||||
resources:
|
||||
- applicationsets/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- argoproj.io
|
||||
resources:
|
||||
- appprojects
|
||||
verbs:
|
||||
- get
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
- configmaps
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
- extensions
|
||||
resources:
|
||||
- deployments
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
# Leader election
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- create
|
||||
- update
|
||||
- delete
|
||||
- patch
|
||||
- apiGroups:
|
||||
- coordination.k8s.io
|
||||
resources:
|
||||
- leases
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
{{- end }}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{- if and .Values.applicationSet.enabled .Values.applicationSet.serviceAccount.create .Values.rbac.create }}
|
||||
kind: RoleBinding
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet" . }}
|
||||
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.applicationSet.serviceAccountName" . }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: {{ include "argocd.applicationSet" . }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,22 @@
|
||||
{{- if and .Values.applicationSet.enabled .Values.rbac.create .Values.applicationSet.serviceAccount.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
{{- if or .Values.applicationSet.serviceAccount.annotations .Values.commonAnnotations }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- 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.applicationSet.serviceAccount.annotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
automountServiceAccountToken: {{ .Values.applicationSet.serviceAccount.automountServiceAccountToken }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,55 @@
|
||||
{{- if .Values.applicationSet.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "argocd.applicationSet" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.commonAnnotations .Values.applicationSet.service.annotations }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.service.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.service.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.applicationSet.service.type }}
|
||||
{{- if and .Values.applicationSet.service.clusterIP (eq .Values.applicationSet.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.applicationSet.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if (or (eq .Values.applicationSet.service.type "LoadBalancer") (eq .Values.applicationSet.service.type "NodePort")) }}
|
||||
externalTrafficPolicy: {{ .Values.applicationSet.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.applicationSet.service.type "LoadBalancer" }}
|
||||
loadBalancerSourceRanges: {{ .Values.applicationSet.service.loadBalancerSourceRanges }}
|
||||
{{- end }}
|
||||
{{- if (and (eq .Values.applicationSet.service.type "LoadBalancer") (not (empty .Values.applicationSet.service.loadBalancerIP))) }}
|
||||
loadBalancerIP: {{ .Values.applicationSet.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.service.sessionAffinity }}
|
||||
sessionAffinity: {{ .Values.applicationSet.service.sessionAffinity }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.service.sessionAffinityConfig }}
|
||||
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.service.sessionAffinityConfig "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: webhook
|
||||
port: {{ .Values.applicationSet.service.port }}
|
||||
targetPort: webhook
|
||||
{{- if (and (or (eq .Values.applicationSet.service.type "NodePort") (eq .Values.applicationSet.service.type "LoadBalancer")) (not (empty .Values.applicationSet.service.nodePort))) }}
|
||||
nodePort: {{ .Values.applicationSet.service.nodePort }}
|
||||
{{- else if eq .Values.applicationSet.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.service.extraPorts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.service.extraPorts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- end }}
|
||||
@@ -0,0 +1,49 @@
|
||||
{{- if and .Values.applicationSet.enabled .Values.applicationSet.metrics.enabled .Values.applicationSet.metrics.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ include "argo-cd.applicationSet" . }}
|
||||
{{- if .Values.applicationSet.metrics.serviceMonitor.namespace }}
|
||||
namespace: {{ .Values.applicationSet.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.applicationSet.metrics.serviceMonitor.selector }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.applicationSet.metrics.serviceMonitor.selector "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/component: applicationSet
|
||||
{{- 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.applicationSet.metrics.serviceMonitor.interval }}
|
||||
interval: {{ .Values.applicationSet.metrics.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.serviceMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ .Values.applicationSet.metrics.serviceMonitor.scrapeTimeout }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.serviceMonitor.honorLabels }}
|
||||
honorLabels: {{ .Values.applicationSet.metrics.serviceMonitor.honorLabels }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.metrics.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.applicationSet.metrics.serviceMonitor.relabelings }}
|
||||
relabelings: {- include "common.tplvalues.render" ( dict "value" .Values.applicationSet.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: applicationSet
|
||||
{{- end }}
|
||||
@@ -0,0 +1,19 @@
|
||||
{{- if .Values.config.gpgKeys }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: argocd-gpg-keys-cm
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
# Mandatory label
|
||||
# Ref: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#atomic-configuration
|
||||
app.kubernetes.io/part-of: argocd
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
data:
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.config.gpgKeys "context" $) | nindent 2 }}
|
||||
{{- end }}
|
||||
@@ -152,9 +152,9 @@ spec:
|
||||
args:
|
||||
- argocd-repo-server
|
||||
- --logformat
|
||||
- {{ .Values.repoServer.logFormat }}
|
||||
- {{ .Values.repoServer.logFormat | quote }}
|
||||
- --loglevel
|
||||
- {{ .Values.repoServer.logLevel }}
|
||||
- {{ .Values.repoServer.logLevel | quote }}
|
||||
- --redis
|
||||
- {{ include "argocd.redisHost" . }}:{{ include "argocd.redisPort" . }}
|
||||
{{- if .Values.repoServer.extraArgs }}
|
||||
|
||||
@@ -13,8 +13,9 @@ rules:
|
||||
- argoproj.io
|
||||
resources:
|
||||
- applications
|
||||
- applicationset
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -26,6 +26,7 @@ rules:
|
||||
- argoproj.io
|
||||
resources:
|
||||
- applications
|
||||
- applicationsets
|
||||
- appprojects
|
||||
verbs:
|
||||
- create
|
||||
@@ -42,4 +43,4 @@ rules:
|
||||
verbs:
|
||||
- create
|
||||
- list
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -554,6 +554,413 @@ controller:
|
||||
##
|
||||
initContainers: []
|
||||
|
||||
## @section Argo CD ApplicationSet controller parameters
|
||||
|
||||
## ApplicationSet controller
|
||||
##
|
||||
applicationSet:
|
||||
## @param applicationSet.enabled Enable ApplicationSet controller
|
||||
##
|
||||
enabled: false
|
||||
## @param applicationSet.replicaCount The number of ApplicationSet controller pods to run
|
||||
##
|
||||
replicaCount: 1
|
||||
## @param applicationSet.command Override default container command (useful when using custom images)
|
||||
##
|
||||
command: []
|
||||
## Arguments that will be used by default for the application controller
|
||||
## @param applicationSet.defaultArgs.enableLeaderElection Enable leader election
|
||||
## @param applicationSet.defaultArgs.policy Default policy
|
||||
## @param applicationSet.defaultArgs.debug Enable debug mode
|
||||
## @param applicationSet.defaultArgs.dryRun Enable dry-run mode
|
||||
##
|
||||
defaultArgs:
|
||||
enableLeaderElection: false
|
||||
policy: "sync"
|
||||
debug: "false"
|
||||
dryRun: "false"
|
||||
## @param applicationSet.args Override default container args (useful when using custom images). Overrides the defaultArgs.
|
||||
##
|
||||
args: []
|
||||
## @param applicationSet.extraArgs Add extra arguments to the default arguments for the Argo CD applicationSet controller
|
||||
##
|
||||
extraArgs: []
|
||||
## Argo CD applicationSet controller log format: text|json
|
||||
## @param applicationSet.logFormat Format for the Argo CD applicationSet controller logs. Options: [text, json]
|
||||
##
|
||||
logFormat: text
|
||||
## Argo CD applicationSet controller log level
|
||||
## @param applicationSet.logLevel Log level for the Argo CD applicationSet controller
|
||||
##
|
||||
logLevel: info
|
||||
## Argo CD applicationSet controller ports
|
||||
## @param applicationSet.containerPorts.metrics Argo CD applicationSet controller metrics port number
|
||||
## @param applicationSet.containerPorts.probe Argo CD applicationSet controller probe port number
|
||||
##
|
||||
containerPorts:
|
||||
metrics: 8085
|
||||
probe: 8081
|
||||
## Metrics configuration for Argo CD applicationSet controller
|
||||
##
|
||||
metrics:
|
||||
## @param applicationSet.metrics.enabled Enable Argo CD applicationSet controller metrics
|
||||
##
|
||||
enabled: false
|
||||
service:
|
||||
## @param applicationSet.metrics.service.type Argo CD applicationSet controller service type
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param applicationSet.metrics.service.port Argo CD applicationSet controller metrics service port
|
||||
##
|
||||
port: 8085
|
||||
## Node ports to expose
|
||||
## @param applicationSet.metrics.service.nodePort Node port for the applicationSet controller service
|
||||
## NOTE: choose port between <30000-32767>
|
||||
##
|
||||
nodePort: ""
|
||||
## @param applicationSet.metrics.service.clusterIP Argo CD applicationSet controller metrics service Cluster IP
|
||||
## e.g.:
|
||||
## clusterIP: None
|
||||
##
|
||||
clusterIP: ""
|
||||
## @param applicationSet.metrics.service.loadBalancerIP Argo CD applicationSet controller service Load Balancer IP
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
|
||||
##
|
||||
loadBalancerIP: ""
|
||||
## @param applicationSet.metrics.service.loadBalancerSourceRanges Argo CD applicationSet 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 applicationSet.metrics.service.externalTrafficPolicy Argo CD applicationSet 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 applicationSet.metrics.service.annotations Additional custom annotations for Argo CD applicationSet controller service
|
||||
##
|
||||
annotations: {}
|
||||
## @param applicationSet.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 applicationSet.metrics.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
## Argo CD applicationSet controller metrics service monitor configuration
|
||||
##
|
||||
serviceMonitor:
|
||||
## @param applicationSet.metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
|
||||
##
|
||||
enabled: false
|
||||
## @param applicationSet.metrics.serviceMonitor.namespace Namespace which Prometheus is running in
|
||||
## e.g:
|
||||
## namespace: monitoring
|
||||
##
|
||||
namespace: ""
|
||||
## @param applicationSet.metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
|
||||
##
|
||||
jobLabel: ""
|
||||
## @param applicationSet.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 applicationSet.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 applicationSet.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 applicationSet.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 applicationSet.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 applicationSet.metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
|
||||
##
|
||||
honorLabels: false
|
||||
## Argo CD applicationSet controller service parameters
|
||||
##
|
||||
service:
|
||||
## @param applicationSet.service.type Argo CD applicationSet controller service type
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param applicationSet.service.port Argo CD applicationSet controller service port
|
||||
##
|
||||
port: 7000
|
||||
|
||||
## Node ports to expose
|
||||
## @param applicationSet.service.nodePort Node port for Argo CD applicationSet controller service
|
||||
## NOTE: choose port between <30000-32767>
|
||||
##
|
||||
nodePort: ""
|
||||
## @param applicationSet.service.clusterIP Argo CD applicationSet controller service Cluster IP
|
||||
## e.g.:
|
||||
## clusterIP: None
|
||||
##
|
||||
clusterIP: ""
|
||||
## @param applicationSet.service.loadBalancerIP Argo CD applicationSet controller service Load Balancer IP
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
|
||||
##
|
||||
loadBalancerIP: ""
|
||||
## @param applicationSet.service.loadBalancerSourceRanges Argo CD applicationSet 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 applicationSet.service.externalTrafficPolicy Argo CD applicationSet 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 applicationSet.service.annotations Additional custom annotations for Argo CD applicationSet controller service
|
||||
##
|
||||
annotations: {}
|
||||
## @param applicationSet.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
|
||||
##
|
||||
extraPorts: []
|
||||
## @param applicationSet.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 applicationSet.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
## ServiceAccount configuration for the Argo CD applicationSet controller
|
||||
##
|
||||
serviceAccount:
|
||||
## @param applicationSet.serviceAccount.create Specifies whether a ServiceAccount should be created
|
||||
##
|
||||
create: true
|
||||
## @param applicationSet.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 applicationSet.serviceAccount.automountServiceAccountToken Automount service account token for the applicationSet controller service account
|
||||
##
|
||||
automountServiceAccountToken: true
|
||||
## @param applicationSet.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
|
||||
##
|
||||
annotations: {}
|
||||
## @param applicationSet.podAffinityPreset Pod affinity preset. Ignored if `applicationSet.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 applicationSet.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `applicationSet.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 applicationSet.affinity preset
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
||||
##
|
||||
nodeAffinityPreset:
|
||||
## @param applicationSet.nodeAffinityPreset.type Node affinity preset type. Ignored if `applicationSet.affinity` is set. Allowed values: `soft` or `hard`
|
||||
##
|
||||
type: ""
|
||||
## @param applicationSet.nodeAffinityPreset.key Node label key to match. Ignored if `applicationSet.affinity` is set
|
||||
##
|
||||
key: ""
|
||||
## @param applicationSet.nodeAffinityPreset.values Node label values to match. Ignored if `applicationSet.affinity` is set
|
||||
## E.g.
|
||||
## values:
|
||||
## - e2e-az1
|
||||
## - e2e-az2
|
||||
##
|
||||
values: []
|
||||
## @param applicationSet.affinity Affinity for Argo CD applicationSet controller pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
## NOTE: `applicationSet.podAffinityPreset`, `applicationSet.podAntiAffinityPreset`, and `applicationSet.nodeAffinityPreset` will be ignored when it's set
|
||||
##
|
||||
affinity: {}
|
||||
## @param applicationSet.podAnnotations Annotations for Argo CD applicationSet controller pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
## @param applicationSet.podLabels Extra labels for Argo CD applicationSet 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 applicationSet.containerSecurityContext.enabled Enabled Argo CD applicationSet controller containers' Security Context
|
||||
## @param applicationSet.containerSecurityContext.runAsUser Set Argo CD applicationSet controller containers' Security Context runAsUser
|
||||
## @param applicationSet.containerSecurityContext.allowPrivilegeEscalation Set Argo CD applicationSet controller containers' Security Context allowPrivilegeEscalation
|
||||
## @param applicationSet.containerSecurityContext.capabilities.drop Set Argo CD applicationSet controller containers' Security Context capabilities to be dropped
|
||||
## @param applicationSet.containerSecurityContext.readOnlyRootFilesystem Set Argo CD applicationSet controller containers' Security Context readOnlyRootFilesystem
|
||||
## @param applicationSet.containerSecurityContext.runAsNonRoot Set Argo CD applicationSet controller container's Security Context runAsNonRoot
|
||||
##
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- all
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
## @param applicationSet.livenessProbe.enabled Enable livenessProbe on Argo CD applicationSet controller nodes
|
||||
## @param applicationSet.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
|
||||
## @param applicationSet.livenessProbe.periodSeconds Period seconds for livenessProbe
|
||||
## @param applicationSet.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
|
||||
## @param applicationSet.livenessProbe.failureThreshold Failure threshold for livenessProbe
|
||||
## @param applicationSet.livenessProbe.successThreshold Success threshold for livenessProbe
|
||||
##
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 3
|
||||
successThreshold: 1
|
||||
## @param applicationSet.readinessProbe.enabled Enable readinessProbe on Argo CD applicationSet controller nodes
|
||||
## @param applicationSet.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
|
||||
## @param applicationSet.readinessProbe.periodSeconds Period seconds for readinessProbe
|
||||
## @param applicationSet.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
|
||||
## @param applicationSet.readinessProbe.failureThreshold Failure threshold for readinessProbe
|
||||
## @param applicationSet.readinessProbe.successThreshold Success threshold for readinessProbe
|
||||
##
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 3
|
||||
successThreshold: 1
|
||||
## @param applicationSet.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||
##
|
||||
customLivenessProbe: {}
|
||||
## @param applicationSet.customReadinessProbe Custom readinessProbe that overrides the default one
|
||||
##
|
||||
customReadinessProbe: {}
|
||||
## Argo CD applicationSet controller resource requests and limits
|
||||
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
|
||||
## @param applicationSet.resources.limits The resources limits for the Argo CD applicationSet controller containers
|
||||
## @param applicationSet.resources.requests The requested resources for the Argo CD applicationSet 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 applicationSet.podSecurityContext.enabled Enabled Argo CD applicationSet controller pods' Security Context
|
||||
## @param applicationSet.podSecurityContext.fsGroup Set Argo CD applicationSet controller pod's Security Context fsGroup
|
||||
##
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
## @param applicationSet.nodeSelector Node labels for Argo CD applicationSet controller pods assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
## @param applicationSet.tolerations Tolerations for Argo CD applicationSet controller pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
## @param applicationSet.updateStrategy.type Argo CD applicationSet controller statefulset strategy type
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
|
||||
##
|
||||
updateStrategy:
|
||||
## StrategyType
|
||||
## Can be set to RollingUpdate or OnDelete
|
||||
##
|
||||
type: RollingUpdate
|
||||
## @param applicationSet.priorityClassName Argo CD applicationSet controller pods' priorityClassName
|
||||
##
|
||||
priorityClassName: ""
|
||||
## @param applicationSet.extraVolumes Optionally specify extra list of additional volumes for the Argo CD applicationSet controller pod(s)
|
||||
##
|
||||
extraVolumes: []
|
||||
## @param applicationSet.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Argo CD applicationSet controller container(s)
|
||||
##
|
||||
extraVolumeMounts: []
|
||||
## @param applicationSet.extraEnvVars Array with extra environment variables to add to Argo CD applicationSet controller nodes
|
||||
## e.g:
|
||||
## extraEnvVars:
|
||||
## - name: FOO
|
||||
## value: "bar"
|
||||
##
|
||||
extraEnvVars: []
|
||||
## @param applicationSet.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Argo CD applicationSet controller nodes
|
||||
##
|
||||
extraEnvVarsCM: ""
|
||||
## @param applicationSet.extraEnvVarsSecret Name of existing Secret containing extra env vars for Argo CD applicationSet controller nodes
|
||||
##
|
||||
extraEnvVarsSecret: ""
|
||||
## Webhook for the Git Generator
|
||||
## Ref: https://argocd-applicationset.readthedocs.io/en/master/Generators-Git/#webhook-configuration)
|
||||
##
|
||||
webhook:
|
||||
ingress:
|
||||
## @param applicationSet.webhook.ingress.enabled Enable an ingress resource for Webhooks
|
||||
##
|
||||
enabled: false
|
||||
## DEPRECATED: Use server.ingress.annotations instead of server.ingress.certManager
|
||||
## certManager: false
|
||||
##
|
||||
## @param applicationSet.webhook.ingress.annotations Additional ingress annotations
|
||||
##
|
||||
annotations: {}
|
||||
## @param applicationSet.webhook.ingress.labels Additional ingress labels
|
||||
##
|
||||
labels: {}
|
||||
## @param applicationSet.webhook.ingress.ingressClassName Defines which ingress controller will implement the resource
|
||||
##
|
||||
ingressClassName: ""
|
||||
## @param applicationSet.webhook.ingress.hostname Ingress hostname for the Argo CD applicationSet ingress
|
||||
## Hostname must be provided if Ingress is enabled.
|
||||
##
|
||||
hostname: ""
|
||||
## @param applicationSet.webhook.ingress.path Argo CD applicationSet ingress path
|
||||
##
|
||||
path: /api/webhook
|
||||
## @param applicationSet.webhook.ingress.pathType Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
|
||||
##
|
||||
pathType: Prefix
|
||||
## @param applicationSet.webhook.ingress.extraHosts Extra hosts array for the Argo CD applicationSet 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 applicationSet.webhook.ingress.extraPaths Extra paths for the Argo CD applicationSet 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 applicationSet.webhook.ingress.extraTls Extra TLS configuration for the Argo CD applicationSet 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 applicationSet.webhook.ingress.tls Ingress TLS configuration
|
||||
##
|
||||
tls: []
|
||||
|
||||
## @section Argo CD server Parameters
|
||||
|
||||
@@ -2227,10 +2634,20 @@ config:
|
||||
##
|
||||
tlsCerts: {}
|
||||
|
||||
## @param config.gpgKeys GnuPG public keys to add to the keyring
|
||||
## Note: Public keys should be exported with `gpg --export --armor <KEY>`
|
||||
##
|
||||
gpgKeys: {}
|
||||
# 4AEE18F83AFDEB23: |
|
||||
# -----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
# ...
|
||||
# -----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
## Argo CD general secret configuration
|
||||
##
|
||||
secret:
|
||||
## @param config.secret.create Whether to create or not the secret
|
||||
##
|
||||
create: true
|
||||
## Annotations to be added to argocd-secret
|
||||
## @param config.secret.annotations General secret extra annotations
|
||||
|
||||
Reference in New Issue
Block a user