mirror of
https://github.com/argoproj/argo-cd
synced 2026-05-02 14:27:19 +00:00
* spelling: across Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: anyway Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: assessment Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: attribute Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: crlf Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: cmux Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: committed Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: convenience Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: does-not Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: e.g. Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: fall back Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: fall back to Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: then ... falls back Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: formatted Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: github Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: gitlab Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: gitops Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: health checks Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: located Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: logging Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: oidc Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: openshift Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: os Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: powershell Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: preferred Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: redact Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: repo Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: similarly Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: staging Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: statefulset Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: stopped Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: superseded Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: synchronization Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: to Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: unified Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: verification Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: zookeeper Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
123 lines
4.7 KiB
YAML
123 lines
4.7 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: guestbook
|
|
# You'll usually want to add your resources to the argocd namespace.
|
|
namespace: argocd
|
|
# Add a this finalizer ONLY if you want these to cascade delete.
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
# The project the application belongs to.
|
|
project: default
|
|
|
|
# Source of the application manifests
|
|
source:
|
|
repoURL: https://github.com/argoproj/argocd-example-apps.git
|
|
targetRevision: HEAD
|
|
path: guestbook
|
|
|
|
# helm specific config
|
|
helm:
|
|
# Extra parameters to set (same as setting through values.yaml, but these take precedence)
|
|
parameters:
|
|
- name: "nginx-ingress.controller.service.annotations.external-dns\\.alpha\\.kubernetes\\.io/hostname"
|
|
value: mydomain.example.com
|
|
- name: "ingress.annotations.kubernetes\\.io/tls-acme"
|
|
value: "true"
|
|
forceString: true # ensures that value is treated as a string
|
|
|
|
# Release name override (defaults to application name)
|
|
releaseName: guestbook
|
|
|
|
# Helm values files for overriding values in the helm chart
|
|
# The path is relative to the spec.source.path directory defined above
|
|
valueFiles:
|
|
- values-prod.yaml
|
|
|
|
# Values file as block file
|
|
values: |
|
|
ingress:
|
|
enabled: true
|
|
path: /
|
|
hosts:
|
|
- mydomain.example.com
|
|
annotations:
|
|
kubernetes.io/ingress.class: nginx
|
|
kubernetes.io/tls-acme: "true"
|
|
labels: {}
|
|
tls:
|
|
- secretName: mydomain-tls
|
|
hosts:
|
|
- mydomain.example.com
|
|
|
|
# Optional Helm version to template with. If omitted it will fall back to look at the 'apiVersion' in Chart.yaml
|
|
# and decide which Helm binary to use automatically. This field can be either 'v2' or 'v3'.
|
|
version: v2
|
|
|
|
# kustomize specific config
|
|
kustomize:
|
|
# Optional kustomize version. Note: version must be configured in argocd-cm ConfigMap
|
|
version: v3.5.4
|
|
# Optional image name prefix
|
|
namePrefix: prod-
|
|
# Optional images passed to "kustomize edit set image".
|
|
images:
|
|
- gcr.io/heptio-images/ks-guestbook-demo:0.2
|
|
|
|
# directory
|
|
directory:
|
|
recurse: true
|
|
jsonnet:
|
|
# A list of Jsonnet External Variables
|
|
extVars:
|
|
- name: foo
|
|
value: bar
|
|
# You can use "code to determine if the value is either string (false, the default) or Jsonnet code (if code is true).
|
|
- code: true
|
|
name: baz
|
|
value: "true"
|
|
# A list of Jsonnet Top-level Arguments
|
|
tlas:
|
|
- code: false
|
|
name: foo
|
|
value: bar
|
|
|
|
# plugin specific config
|
|
plugin:
|
|
name: mypluginname
|
|
# environment variables passed to the plugin
|
|
env:
|
|
- name: FOO
|
|
value: bar
|
|
|
|
# Destination cluster and namespace to deploy the application
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: guestbook
|
|
|
|
# Sync policy
|
|
syncPolicy:
|
|
automated: # automated sync by default retries failed attempts 5 times with following delays between attempts ( 5s, 10s, 20s, 40s, 80s ); retry controlled using `retry` field.
|
|
prune: true # Specifies if resources should be pruned during auto-syncing ( false by default ).
|
|
selfHeal: true # Specifies if partial app sync should be executed when resources are changed only in target Kubernetes cluster and no git change detected ( false by default ).
|
|
allowEmpty: false # Allows deleting all application resources during automatic syncing ( false by default ).
|
|
syncOptions: # Sync options which modifies sync behavior
|
|
- Validate=false # disables resource validation (equivalent to 'kubectl apply --validate=false') ( true by default ).
|
|
- CreateNamespace=true # Namespace Auto-Creation ensures that namespace specified as the application destination exists in the destination cluster.
|
|
- PrunePropagationPolicy=foreground # Supported policies are background, foreground and orphan.
|
|
- PruneLast=true # Allow the ability for resource pruning to happen as a final, implicit wave of a sync operation
|
|
# The retry feature is available since v1.7
|
|
retry:
|
|
limit: 5 # number of failed sync attempt retries; unlimited number of attempts if less than 0
|
|
backoff:
|
|
duration: 5s # the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
|
|
factor: 2 # a factor to multiply the base duration after each failed retry
|
|
maxDuration: 3m # the maximum amount of time allowed for the backoff strategy
|
|
|
|
# Ignore differences at the specified json pointers
|
|
ignoreDifferences:
|
|
- group: apps
|
|
kind: Deployment
|
|
jsonPointers:
|
|
- /spec/replicas
|