From bc4fcfb6bbf400b5afb510c329cfcdc1f57c7509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Jakub?= Date: Tue, 8 Apr 2025 15:43:45 +0200 Subject: [PATCH] First apps --- .gitignore | 4 + apps/dragonfly-operator/argocd.json | 34 + apps/dragonfly-operator/sources.yaml | 12 + .../values/app-version/dev-values.yaml | 7 + .../values/app-version/poc-values.yaml | 7 + .../values/app-version/prod-values.yaml | 7 + .../values/app-version/staging-values.yaml | 7 + .../values/registry/aws-dev-values.yaml | 7 + .../values/registry/aws-poc-values.yaml | 7 + .../values/registry/aws-prod-values.yaml | 7 + .../values/registry/otc-dev-values.yaml | 7 + .../values/registry/otc-prod-values.yaml | 7 + argocd/base/apps/argocd.yaml | 23 + .../k8s-apps-helm-application-set-v1.yaml | 85 + argocd/base/apps/kustomization.yaml | 6 + argocd/base/config/cmd-params.yaml | 10 + argocd/base/config/config.yaml | 113 + argocd/base/config/kustomization.yaml | 7 + argocd/base/config/rbac.yaml | 12 + argocd/base/install/argocd.yaml | 26659 ++++++++++++++++ argocd/base/install/kustomization.yaml | 5 + argocd/base/install/update.sh | 26 + argocd/base/kustomization.yaml | 7 + .../aws-load-balancer-controller-1.11.0.tgz | Bin 0 -> 22761 bytes .../dragonfly-operator-v1.1.10-bagl.tgz | Bin 0 -> 33315 bytes .../.helmignore | 23 + .../Chart.yaml | 6 + .../dashboards/grafana-dashboard.json | 1565 + .../templates/_helpers.tpl | 68 + .../templates/clusterrolebindings.yaml | 32 + .../templates/clusterroles.yaml | 112 + .../templates/crds.yaml | 3611 +++ .../templates/deployment.yaml | 99 + .../templates/grafanadashboards.yaml | 47 + .../templates/rolebindings.yaml | 16 + .../templates/roles.yaml | 42 + .../templates/service.yaml | 21 + .../templates/serviceaccount.yaml | 15 + .../templates/servicemonitor.yaml | 40 + .../templates/tests/test-connection.yaml | 15 + .../values.yaml | 170 + helm-repo/fluent-bit/fluent-bit-0.20.11.tgz | Bin 0 -> 12777 bytes .../kube-prometheus-stack-70.3.0.tgz | Bin 0 -> 793280 bytes 43 files changed, 32948 insertions(+) create mode 100644 .gitignore create mode 100644 apps/dragonfly-operator/argocd.json create mode 100644 apps/dragonfly-operator/sources.yaml create mode 100644 apps/dragonfly-operator/values/app-version/dev-values.yaml create mode 100644 apps/dragonfly-operator/values/app-version/poc-values.yaml create mode 100644 apps/dragonfly-operator/values/app-version/prod-values.yaml create mode 100644 apps/dragonfly-operator/values/app-version/staging-values.yaml create mode 100644 apps/dragonfly-operator/values/registry/aws-dev-values.yaml create mode 100644 apps/dragonfly-operator/values/registry/aws-poc-values.yaml create mode 100644 apps/dragonfly-operator/values/registry/aws-prod-values.yaml create mode 100644 apps/dragonfly-operator/values/registry/otc-dev-values.yaml create mode 100644 apps/dragonfly-operator/values/registry/otc-prod-values.yaml create mode 100644 argocd/base/apps/argocd.yaml create mode 100644 argocd/base/apps/k8s-apps-helm-application-set-v1.yaml create mode 100644 argocd/base/apps/kustomization.yaml create mode 100644 argocd/base/config/cmd-params.yaml create mode 100644 argocd/base/config/config.yaml create mode 100644 argocd/base/config/kustomization.yaml create mode 100644 argocd/base/config/rbac.yaml create mode 100644 argocd/base/install/argocd.yaml create mode 100644 argocd/base/install/kustomization.yaml create mode 100644 argocd/base/install/update.sh create mode 100644 argocd/base/kustomization.yaml create mode 100644 helm-repo/aws-load-balancer-controller/aws-load-balancer-controller-1.11.0.tgz create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl.tgz create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/.helmignore create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/Chart.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/dashboards/grafana-dashboard.json create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/_helpers.tpl create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/clusterrolebindings.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/clusterroles.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/crds.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/deployment.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/grafanadashboards.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/rolebindings.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/roles.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/service.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/serviceaccount.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/servicemonitor.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/tests/test-connection.yaml create mode 100644 helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/values.yaml create mode 100644 helm-repo/fluent-bit/fluent-bit-0.20.11.tgz create mode 100644 helm-repo/kube-prometheus-stack/kube-prometheus-stack-70.3.0.tgz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..65dbc3e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/.idea +/bamboo-specs/src/main/resources/.credentials +/bamboo-specs/.idea +/bamboo-specs/target \ No newline at end of file diff --git a/apps/dragonfly-operator/argocd.json b/apps/dragonfly-operator/argocd.json new file mode 100644 index 0000000..c8f09ef --- /dev/null +++ b/apps/dragonfly-operator/argocd.json @@ -0,0 +1,34 @@ +{ + "apiVersion": "ysoft.com/v1", + "source": { + "repoURL": "https://repo.app.ysoft.com/scm/aws/k8s-apps.git", + "path": "helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl", + "chartRevision": "argocd", + "valuesRevision": "argocd", + "chart": "" + }, + "destination": { + "namespace": "dragonfly-operator" + }, + "syncPolicy": { + "syncOptions": { + "ServerSideApply": true, + "CreateNamespace": true + } + }, + "valueFiles": [ + "values/registry/%provider%-%stage%-values.yaml", + "values/app-version/%stage%-values.yaml" + ], + "stages": { + "poc": { + "enabled": false + }, + "dev": { + "enabled": true + }, + "prod": { + "enabled": true + } + } +} \ No newline at end of file diff --git a/apps/dragonfly-operator/sources.yaml b/apps/dragonfly-operator/sources.yaml new file mode 100644 index 0000000..f5c79cb --- /dev/null +++ b/apps/dragonfly-operator/sources.yaml @@ -0,0 +1,12 @@ +dragonfly-operator: + + chart: + sourceRepo: https://art.corp.ysoft.com/artifactory/helm-internal/ + + rbacProxy: + image: + sourceRepo: docker.dragonflydb.io/dragonflydb/operator + + manager: + image: + sourceRepo: quay.io/brancz/kube-rbac-proxy diff --git a/apps/dragonfly-operator/values/app-version/dev-values.yaml b/apps/dragonfly-operator/values/app-version/dev-values.yaml new file mode 100644 index 0000000..fd5c35b --- /dev/null +++ b/apps/dragonfly-operator/values/app-version/dev-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + tag: v0.13.1 + +manager: + image: + tag: v1.1.10 diff --git a/apps/dragonfly-operator/values/app-version/poc-values.yaml b/apps/dragonfly-operator/values/app-version/poc-values.yaml new file mode 100644 index 0000000..fd5c35b --- /dev/null +++ b/apps/dragonfly-operator/values/app-version/poc-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + tag: v0.13.1 + +manager: + image: + tag: v1.1.10 diff --git a/apps/dragonfly-operator/values/app-version/prod-values.yaml b/apps/dragonfly-operator/values/app-version/prod-values.yaml new file mode 100644 index 0000000..fd5c35b --- /dev/null +++ b/apps/dragonfly-operator/values/app-version/prod-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + tag: v0.13.1 + +manager: + image: + tag: v1.1.10 diff --git a/apps/dragonfly-operator/values/app-version/staging-values.yaml b/apps/dragonfly-operator/values/app-version/staging-values.yaml new file mode 100644 index 0000000..fd5c35b --- /dev/null +++ b/apps/dragonfly-operator/values/app-version/staging-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + tag: v0.13.1 + +manager: + image: + tag: v1.1.10 diff --git a/apps/dragonfly-operator/values/registry/aws-dev-values.yaml b/apps/dragonfly-operator/values/registry/aws-dev-values.yaml new file mode 100644 index 0000000..5c9f879 --- /dev/null +++ b/apps/dragonfly-operator/values/registry/aws-dev-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/kube-rbac-proxy + +manager: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/dragonfly-operator diff --git a/apps/dragonfly-operator/values/registry/aws-poc-values.yaml b/apps/dragonfly-operator/values/registry/aws-poc-values.yaml new file mode 100644 index 0000000..5c9f879 --- /dev/null +++ b/apps/dragonfly-operator/values/registry/aws-poc-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/kube-rbac-proxy + +manager: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/dragonfly-operator diff --git a/apps/dragonfly-operator/values/registry/aws-prod-values.yaml b/apps/dragonfly-operator/values/registry/aws-prod-values.yaml new file mode 100644 index 0000000..5c9f879 --- /dev/null +++ b/apps/dragonfly-operator/values/registry/aws-prod-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/kube-rbac-proxy + +manager: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/dragonfly-operator diff --git a/apps/dragonfly-operator/values/registry/otc-dev-values.yaml b/apps/dragonfly-operator/values/registry/otc-dev-values.yaml new file mode 100644 index 0000000..5c9f879 --- /dev/null +++ b/apps/dragonfly-operator/values/registry/otc-dev-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/kube-rbac-proxy + +manager: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/dragonfly-operator diff --git a/apps/dragonfly-operator/values/registry/otc-prod-values.yaml b/apps/dragonfly-operator/values/registry/otc-prod-values.yaml new file mode 100644 index 0000000..5c9f879 --- /dev/null +++ b/apps/dragonfly-operator/values/registry/otc-prod-values.yaml @@ -0,0 +1,7 @@ +rbacProxy: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/kube-rbac-proxy + +manager: + image: + repository: 981311310930.dkr.ecr.eu-west-1.amazonaws.com/system_apps/dragonfly-operator diff --git a/argocd/base/apps/argocd.yaml b/argocd/base/apps/argocd.yaml new file mode 100644 index 0000000..0140ca7 --- /dev/null +++ b/argocd/base/apps/argocd.yaml @@ -0,0 +1,23 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: argocd + namespace: argocd +spec: + project: default + sources: + - repoURL: https://repo.app.ysoft.com/scm/aws/k8s-apps.git + path: argocd/base/install + targetRevision: argocd + - repoURL: https://repo.app.ysoft.com/scm/aws/k8s-apps.git + path: argocd/base/config + targetRevision: argocd + - repoURL: https://repo.app.ysoft.com/scm/aws/k8s-apps.git + path: argocd/base/apps + targetRevision: argocd + destination: + server: https://kubernetes.default.svc + namespace: argocd + syncPolicy: + syncOptions: + - CreateNamespace=true diff --git a/argocd/base/apps/k8s-apps-helm-application-set-v1.yaml b/argocd/base/apps/k8s-apps-helm-application-set-v1.yaml new file mode 100644 index 0000000..4182ed4 --- /dev/null +++ b/argocd/base/apps/k8s-apps-helm-application-set-v1.yaml @@ -0,0 +1,85 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: k8s-apps-helm-application-set-v1 + namespace: argocd + annotations: + argocd.argoproj.io/debug: "true" +spec: + goTemplate: true + goTemplateOptions: [ "missingkey=error" ] + applyNestedSelectors: true + generators: + # Create a matrix generator that will install all chart in all clusters + - matrix: + generators: + - matrix: + generators: + # Get all clusters, that are appropriately labeled + - clusters: + selector: + matchExpressions: + - key: stage-name + operator: Exists + - key: cluster-name + operator: Exists + # In this repo, find all files named argocd.json. + # The files are expected to contain {apiVersion: "ysoft.com/v1"} + - git: + repoURL: https://repo.app.ysoft.com/scm/aws/k8s-apps.git + revision: argocd + files: + - path: "apps/**/argocd.json" + values: + stageName: '{{ index .metadata.labels "stage-name" }}' + clusterName: '{{ index .metadata.labels "cluster-name" }}' + provider: '{{ index .metadata.labels "provider" | default "aws" }}' + selector: + matchLabels: + apiVersion: "ysoft.com/v1" + - list: + # List of one element is a workaround to Argo's inabilility to access '.values.enabled' (which is a result of git generator) in a selector. + # The list generator transforms that into '.enabled', which works + # As a side effect, it also allows access to previously defined values, like '.values.stageName' + elements: + # The selector also had troubles with booleans vs. strings, hence the 'yes' and not 'true' + - enabled: '{{ dig "stages" .values.stageName "enabled" false . | ternary "yes" "" }}' + appName: '{{ .path.basename }}' + selector: + matchLabels: + enabled: "yes" + template: + metadata: + name: "{{ .path.basename }}-{{.values.stageName }}-{{ .values.clusterName }}" + spec: + project: default + destination: + server: "{{.server}}" + namespace: "{{ .destination.namespace }}" + syncPolicy: + automated: + prune: true + syncOptions: + - ServerSideApply={{ dig "syncPolicy" "syncOptions" "ServerSideApply" "true" . }} + - CreateNamespace={{ dig "syncPolicy" "syncOptions" "CreateNamespace" "true" . }} + templatePatch: | + spec: + sources: + # First source is for value files + # Default revision is HEAD but can be overriden with clusters.${name}.valuesRevision + - repoURL: https://repo.app.ysoft.com/scm/aws/k8s-apps.git + targetRevision: '{{ dig "stages" .values.stageName "valuesRevision" (dig "valuesRevision" "" .source) . }}' + ref: values + # Second source is for chart + # Default revision is .source.targetRevision but can be overriden with clusters.${name}.chartRevision + - repoURL: "{{ .source.repoURL }}" + targetRevision: '{{ dig "stages" .values.stageName "chartRevision" (dig "chartRevision" "" .source) . }}' + ref: chart + chart: '{{ default "" .source.chart }}' + path: '{{ default "" .source.path }}' + helm: + releaseName: "{{ .path.basename }}" + valueFiles: {{- $v := .values }}{{- $ := . }} + {{- range $valueFile := ( .valueFiles ) }} + - $values/apps/{{$.appName}}/{{ $valueFile | replace "%provider%" $v.provider | replace "%stage%" $v.stageName | replace "%cluster%" $v.clusterName }} + {{- end }} \ No newline at end of file diff --git a/argocd/base/apps/kustomization.yaml b/argocd/base/apps/kustomization.yaml new file mode 100644 index 0000000..bc21497 --- /dev/null +++ b/argocd/base/apps/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +resources: + - argocd.yaml + - k8s-apps-helm-application-set-v1.yaml diff --git a/argocd/base/config/cmd-params.yaml b/argocd/base/config/cmd-params.yaml new file mode 100644 index 0000000..43eb05b --- /dev/null +++ b/argocd/base/config/cmd-params.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-cmd-params-cm + app.kubernetes.io/part-of: argocd + name: argocd-cmd-params-cm + namespace: argocd +data: + server.insecure: "true" \ No newline at end of file diff --git a/argocd/base/config/config.yaml b/argocd/base/config/config.yaml new file mode 100644 index 0000000..0768ab9 --- /dev/null +++ b/argocd/base/config/config.yaml @@ -0,0 +1,113 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-cm + app.kubernetes.io/part-of: argocd + name: argocd-cm + namespace: argocd +data: + oidc.config: | + name: Ysoft SSO + issuer: https://sso.ysoft.cloud/auth/realms/SafeQEdgeCore + clientID: argocd + enablePKCEAuthentication: true + requestedScopes: ["openid", "profile", "email", "groups"] + url: "https://web.argo.ysoft-dev.com" + resource.customizations.ignoreResourceUpdates.ConfigMap: | + jqPathExpressions: + # Ignore the cluster-autoscaler status + - '.metadata.annotations."cluster-autoscaler.kubernetes.io/last-updated"' + # Ignore the annotation of the legacy Leases election + - '.metadata.annotations."control-plane.alpha.kubernetes.io/leader"' + resource.customizations.ignoreResourceUpdates.Endpoints: | + jsonPointers: + - /metadata + - /subsets + resource.customizations.ignoreResourceUpdates.all: | + jsonPointers: + - /status + resource.customizations.ignoreResourceUpdates.apps_ReplicaSet: | + jqPathExpressions: + - '.metadata.annotations."deployment.kubernetes.io/desired-replicas"' + - '.metadata.annotations."deployment.kubernetes.io/max-replicas"' + - '.metadata.annotations."rollout.argoproj.io/desired-replicas"' + resource.customizations.ignoreResourceUpdates.argoproj.io_Application: | + jqPathExpressions: + - '.metadata.annotations."notified.notifications.argoproj.io"' + - '.metadata.annotations."argocd.argoproj.io/refresh"' + - '.metadata.annotations."argocd.argoproj.io/hydrate"' + - '.operation' + resource.customizations.ignoreResourceUpdates.argoproj.io_Rollout: | + jqPathExpressions: + - '.metadata.annotations."notified.notifications.argoproj.io"' + resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler: | + jqPathExpressions: + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/behavior"' + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/conditions"' + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/metrics"' + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/current-metrics"' + resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice: | + jsonPointers: + - /metadata + - /endpoints + - /ports + resource.exclusions: | + ### Network resources created by the Kubernetes control plane and excluded to reduce the number of watched events and UI clutter + - apiGroups: + - '' + - discovery.k8s.io + kinds: + - Endpoints + - EndpointSlice + ### Internal Kubernetes resources excluded reduce the number of watched events + - apiGroups: + - apiregistration.k8s.io + kinds: + - APIService + - apiGroups: + - coordination.k8s.io + kinds: + - Lease + ### Internal Kubernetes Authz/Authn resources excluded reduce the number of watched events + - apiGroups: + - authentication.k8s.io + - authorization.k8s.io + kinds: + - SelfSubjectReview + - TokenReview + - LocalSubjectAccessReview + - SelfSubjectAccessReview + - SelfSubjectRulesReview + - SubjectAccessReview + ### Intermediate Certificate Request excluded reduce the number of watched events + - apiGroups: + - certificates.k8s.io + kinds: + - CertificateSigningRequest + - apiGroups: + - cert-manager.io + kinds: + - CertificateRequest + ### Cilium internal resources excluded reduce the number of watched events and UI Clutter + - apiGroups: + - cilium.io + kinds: + - CiliumIdentity + - CiliumEndpoint + - CiliumEndpointSlice + ### Kyverno intermediate and reporting resources excluded reduce the number of watched events and improve performance + - apiGroups: + - kyverno.io + - reports.kyverno.io + - wgpolicyk8s.io + kinds: + - PolicyReport + - ClusterPolicyReport + - EphemeralReport + - ClusterEphemeralReport + - AdmissionReport + - ClusterAdmissionReport + - BackgroundScanReport + - ClusterBackgroundScanReport + - UpdateRequest \ No newline at end of file diff --git a/argocd/base/config/kustomization.yaml b/argocd/base/config/kustomization.yaml new file mode 100644 index 0000000..778227c --- /dev/null +++ b/argocd/base/config/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +resources: + - cmd-params.yaml + - config.yaml + - rbac.yaml diff --git a/argocd/base/config/rbac.yaml b/argocd/base/config/rbac.yaml new file mode 100644 index 0000000..6d9689d --- /dev/null +++ b/argocd/base/config/rbac.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-rbac-cm + app.kubernetes.io/part-of: argocd + name: argocd-rbac-cm + namespace: argocd +data: + policy.csv: | + g, ArgoCDAdmins, role:admin + g, Y Soft Corporation a.s. Users, role:readonly \ No newline at end of file diff --git a/argocd/base/install/argocd.yaml b/argocd/base/install/argocd.yaml new file mode 100644 index 0000000..73dda27 --- /dev/null +++ b/argocd/base/install/argocd.yaml @@ -0,0 +1,26659 @@ +# Source: +# https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc3/manifests/install.yaml +# To update, use ./update.sh + +# This is an auto-generated file. DO NOT EDIT +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app.kubernetes.io/name: applications.argoproj.io + app.kubernetes.io/part-of: argocd + name: applications.argoproj.io +spec: + group: argoproj.io + names: + kind: Application + listKind: ApplicationList + plural: applications + shortNames: + - app + - apps + singular: application + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.sync.status + name: Sync Status + type: string + - jsonPath: .status.health.status + name: Health Status + type: string + - jsonPath: .status.sync.revision + name: Revision + priority: 10 + type: string + - jsonPath: .spec.project + name: Project + priority: 10 + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: Application is a definition of Application resource. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + operation: + description: Operation contains information about a requested or running + operation + properties: + info: + description: Info is a list of informational items for this operation + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + initiatedBy: + description: InitiatedBy contains information about who initiated + the operations + properties: + automated: + description: Automated is set to true if operation was initiated + automatically by the application controller. + type: boolean + username: + description: Username contains the name of a user who started + operation + type: string + type: object + retry: + description: Retry controls the strategy to apply if a sync fails + properties: + backoff: + description: Backoff controls how to backoff on subsequent retries + of failed syncs + properties: + duration: + description: Duration is the amount to back off. Default unit + is seconds, but could also be a duration (e.g. "2m", "1h") + type: string + factor: + description: Factor is a factor to multiply the base duration + after each failed retry + format: int64 + type: integer + maxDuration: + description: MaxDuration is the maximum amount of time allowed + for the backoff strategy + type: string + type: object + limit: + description: Limit is the maximum number of attempts for retrying + a failed sync. If set to 0, no retries will be performed. + format: int64 + type: integer + type: object + sync: + description: Sync contains parameters for the operation + properties: + autoHealAttemptsCount: + description: SelfHealAttemptsCount contains the number of auto-heal + attempts + format: int64 + type: integer + dryRun: + description: DryRun specifies to perform a `kubectl apply --dry-run` + without actually performing the sync + type: boolean + manifests: + description: Manifests is an optional field that overrides sync + source with a local directory for development + items: + type: string + type: array + prune: + description: Prune specifies to delete resources from the cluster + that are no longer tracked in git + type: boolean + resources: + description: Resources describes which resources shall be part + of the sync + items: + description: SyncOperationResource contains resources to sync. + properties: + group: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + type: array + revision: + description: |- + Revision is the revision (Git) or chart version (Helm) which to sync the application to + If omitted, will use the revision specified in app spec. + type: string + revisions: + description: |- + Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to + If omitted, will use the revision specified in app spec. + items: + type: string + type: array + source: + description: |- + Source overrides the source definition set in the application. + This is typically set in a Rollback operation and is nil during a Sync operation + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded from + being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included during + manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable to + be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level Arguments + items: + description: JsonnetVar represents a variable to + be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to the + helm template + items: + description: HelmFileParameter is a file parameter that's + passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm template + from failing when valueFiles do not exist locally by + not appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to template + with. If left empty, defaults to the app's destination + namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters which + are passed to the helm template command upon manifest + generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all domains + (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name to use. + If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema validation + (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block. ValuesObject + takes precedence over Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to be + passed to helm template, defined as a map. This takes + precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for templating + ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels + to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources for + Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to force + applying common labels to resources for Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize image + definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether to + apply common labels to resource templates or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether to + apply common labels to resource selectors or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, usually + expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array type + parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type parameter. + type: object + name: + description: Name is the name identifying a parameter. + type: string + string: + description: String_ is the value of a string type + parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within sources + field. This field will not be used if used with a `source` + tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git or + Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + sources: + description: |- + Sources overrides the source definition set in the application. + This is typically set in a Rollback operation and is nil during a Sync operation + items: + description: ApplicationSource contains all required information + about the source of an application + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded from + being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included during + manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to the + helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm template + from failing when valueFiles do not exist locally + by not appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to template + with. If left empty, defaults to the app's destination + namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to + tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all + domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name to + use. If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block. ValuesObject + takes precedence over Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to be + passed to helm template, defined as a map. This takes + precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for + templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation + values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels + to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array type + parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type parameter. + type: object + name: + description: Name is the name identifying a parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within sources + field. This field will not be used if used with a `source` + tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git or + Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + type: array + syncOptions: + description: SyncOptions provide per-sync sync-options, e.g. Validate=false + items: + type: string + type: array + syncStrategy: + description: SyncStrategy describes how to perform the sync + properties: + apply: + description: Apply will perform a `kubectl apply` to perform + the sync. + properties: + force: + description: |- + Force indicates whether or not to supply the --force flag to `kubectl apply`. + The --force flag deletes and re-create the resource, when PATCH encounters conflict and has + retried for 5 times. + type: boolean + type: object + hook: + description: Hook will submit any referenced resources to + perform the sync. This is the default strategy + properties: + force: + description: |- + Force indicates whether or not to supply the --force flag to `kubectl apply`. + The --force flag deletes and re-create the resource, when PATCH encounters conflict and has + retried for 5 times. + type: boolean + type: object + type: object + type: object + type: object + spec: + description: ApplicationSpec represents desired application state. Contains + link to repository with application definition and additional parameters + link definition revision. + properties: + destination: + description: Destination is a reference to the target Kubernetes server + and namespace + properties: + name: + description: Name is an alternate way of specifying the target + cluster by its symbolic name. This must be set if Server is + not set. + type: string + namespace: + description: |- + Namespace specifies the target namespace for the application's resources. + The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace + type: string + server: + description: Server specifies the URL of the target cluster's + Kubernetes control plane API. This must be set if Name is not + set. + type: string + type: object + ignoreDifferences: + description: IgnoreDifferences is a list of resources and their fields + which should be ignored during comparison + items: + description: ResourceIgnoreDifferences contains resource filter + and list of json paths which should be ignored during comparison + with live state. + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + description: |- + ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the + desired state defined in the SCM and won't be displayed in diffs + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + description: Info contains a list of information (URLs, email addresses, + and plain text) that relates to the application + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + description: |- + Project is a reference to the project this application belongs to. + The empty string means that application belongs to the 'default' project. + type: string + revisionHistoryLimit: + description: |- + RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. + This should only be changed in exceptional circumstances. + Setting to zero will store no history. This will reduce storage used. + Increasing will increase the space used to store the history, so we do not recommend increasing it. + Default is 10. + format: int64 + type: integer + source: + description: Source is a reference to the location of the application's + manifests or chart + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match paths + against that should be explicitly excluded from being used + during manifest generation + type: string + include: + description: Include contains a glob pattern to match paths + against that should be explicitly included during manifest + generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External Variables + items: + description: JsonnetVar represents a variable to be + passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level Arguments + items: + description: JsonnetVar represents a variable to be + passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to the helm + template + items: + description: HelmFileParameter is a file parameter that's + passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm template + from failing when valueFiles do not exist locally by not + appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to template + with. If left empty, defaults to the app's destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters which + are passed to the helm template command upon manifest generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all domains + (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name to use. + If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition installation + step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema validation + (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation step + (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files to + use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed to + helm template, typically defined as a block. ValuesObject + takes precedence over Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to be passed + to helm template, defined as a map. This takes precedence + over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for templating + ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional annotations + to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether to + apply env variables substitution for annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels to + add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize components + to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether to force + applying common annotations to resources for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to force + applying common labels to resources for Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize image + definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether to apply + common labels to resource templates or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether to apply + common labels to resource selectors or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize adds + to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas override + specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize to + use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, usually + expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type parameter. + type: object + name: + description: Name is the name identifying a parameter. + type: string + string: + description: String_ is the value of a string type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within sources + field. This field will not be used if used with a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git or Helm) + that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + sourceHydrator: + description: SourceHydrator provides a way to push hydrated manifests + back to git before syncing them to the cluster. + properties: + drySource: + description: DrySource specifies where the dry "don't repeat yourself" + manifest source lives. + properties: + path: + description: Path is a directory path within the Git repository + where the manifests are located + type: string + repoURL: + description: RepoURL is the URL to the git repository that + contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of the source + to hydrate + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + description: |- + HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then + have to move manifests to the SyncSource, e.g. by pull request. + properties: + targetBranch: + description: TargetBranch is the branch to which hydrated + manifests should be committed + type: string + required: + - targetBranch + type: object + syncSource: + description: SyncSource specifies where to sync hydrated manifests + from. + properties: + path: + description: |- + Path is a directory path within the git repository where hydrated manifests should be committed to and synced + from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced. + type: string + targetBranch: + description: TargetBranch is the branch to which hydrated + manifests should be committed + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + description: Sources is a reference to the location of the application's + manifests or chart + items: + description: ApplicationSource contains all required information + about the source of an application + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match paths + against that should be explicitly excluded from being + used during manifest generation + type: string + include: + description: Include contains a glob pattern to match paths + against that should be explicitly included during manifest + generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External Variables + items: + description: JsonnetVar represents a variable to be + passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level Arguments + items: + description: JsonnetVar represents a variable to be + passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to the helm + template + items: + description: HelmFileParameter is a file parameter that's + passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm template + from failing when valueFiles do not exist locally by not + appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to template + with. If left empty, defaults to the app's destination + namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters which + are passed to the helm template command upon manifest + generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all domains + (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name to use. + If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition installation + step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema validation + (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files to + use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed to + helm template, typically defined as a block. ValuesObject + takes precedence over Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to be passed + to helm template, defined as a map. This takes precedence + over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for templating + ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional annotations + to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels + to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize components + to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether to + force applying common annotations to resources for Kustomize + apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to force + applying common labels to resources for Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize image + definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether to + apply common labels to resource templates or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether to apply + common labels to resource selectors or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas override + specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, usually + expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type parameter. + type: object + name: + description: Name is the name identifying a parameter. + type: string + string: + description: String_ is the value of a string type + parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within sources + field. This field will not be used if used with a `source` + tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git or Helm) + that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + description: SyncPolicy controls when and how a sync will be performed + properties: + automated: + description: Automated will keep an application synced to the + target revision + properties: + allowEmpty: + description: 'AllowEmpty allows apps have zero live resources + (default: false)' + type: boolean + prune: + description: 'Prune specifies whether to delete resources + from the cluster that are not found in the sources anymore + as part of automated sync (default: false)' + type: boolean + selfHeal: + description: 'SelfHeal specifies whether to revert resources + back to their desired state upon modification in the cluster + (default: false)' + type: boolean + type: object + managedNamespaceMetadata: + description: ManagedNamespaceMetadata controls metadata in the + given namespace (if CreateNamespace=true) + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + description: Retry controls failed sync retry behavior + properties: + backoff: + description: Backoff controls how to backoff on subsequent + retries of failed syncs + properties: + duration: + description: Duration is the amount to back off. Default + unit is seconds, but could also be a duration (e.g. + "2m", "1h") + type: string + factor: + description: Factor is a factor to multiply the base duration + after each failed retry + format: int64 + type: integer + maxDuration: + description: MaxDuration is the maximum amount of time + allowed for the backoff strategy + type: string + type: object + limit: + description: Limit is the maximum number of attempts for retrying + a failed sync. If set to 0, no retries will be performed. + format: int64 + type: integer + type: object + syncOptions: + description: Options allow you to specify whole app sync-options + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + status: + description: ApplicationStatus contains status information for the application + properties: + conditions: + description: Conditions is a list of currently observed application + conditions + items: + description: ApplicationCondition contains details about an application + condition, which is usually an error or warning + properties: + lastTransitionTime: + description: LastTransitionTime is the time the condition was + last observed + format: date-time + type: string + message: + description: Message contains human-readable message indicating + details about condition + type: string + type: + description: Type is an application condition type + type: string + required: + - message + - type + type: object + type: array + controllerNamespace: + description: ControllerNamespace indicates the namespace in which + the application controller is located + type: string + health: + description: Health contains information about the application's current + health status + properties: + lastTransitionTime: + description: LastTransitionTime is the time the HealthStatus was + set or updated + format: date-time + type: string + message: + description: Message is a human-readable informational message + describing the health status + type: string + status: + description: Status holds the status code of the application or + resource + type: string + type: object + history: + description: History contains information about the application's + sync history + items: + description: RevisionHistory contains history information about + a previous sync + properties: + deployStartedAt: + description: DeployStartedAt holds the time the sync operation + started + format: date-time + type: string + deployedAt: + description: DeployedAt holds the time the sync operation completed + format: date-time + type: string + id: + description: ID is an auto incrementing identifier of the RevisionHistory + format: int64 + type: integer + initiatedBy: + description: InitiatedBy contains information about who initiated + the operations + properties: + automated: + description: Automated is set to true if operation was initiated + automatically by the application controller. + type: boolean + username: + description: Username contains the name of a user who started + operation + type: string + type: object + revision: + description: Revision holds the revision the sync was performed + against + type: string + revisions: + description: Revisions holds the revision of each source in + sources field the sync was performed against + items: + type: string + type: array + source: + description: Source is a reference to the application source + used for the sync operation + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded from + being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included during + manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to the + helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm template + from failing when valueFiles do not exist locally + by not appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to template + with. If left empty, defaults to the app's destination + namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to + tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all + domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name to + use. If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block. ValuesObject + takes precedence over Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to be + passed to helm template, defined as a map. This takes + precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for + templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation + values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels + to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array type + parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type parameter. + type: object + name: + description: Name is the name identifying a parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within sources + field. This field will not be used if used with a `source` + tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git or + Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + sources: + description: Sources is a reference to the application sources + used for the sync operation + items: + description: ApplicationSource contains all required information + about the source of an application + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded + from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included + during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to + the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm + template from failing when valueFiles do not exist + locally by not appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to + template with. If left empty, defaults to the app's + destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all + domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block. + ValuesObject takes precedence over Values, so use + one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to + be passed to helm template, defined as a map. This + takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for + templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation + values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or + not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or + not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array + type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type + parameter. + type: object + name: + description: Name is the name identifying a + parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within + sources field. This field will not be used if used with + a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + type: array + required: + - deployedAt + - id + type: object + type: array + observedAt: + description: |- + ObservedAt indicates when the application state was updated without querying latest git state + Deprecated: controller no longer updates ObservedAt field + format: date-time + type: string + operationState: + description: OperationState contains information about any ongoing + operations, such as a sync + properties: + finishedAt: + description: FinishedAt contains time of operation completion + format: date-time + type: string + message: + description: Message holds any pertinent messages when attempting + to perform operation (typically errors). + type: string + operation: + description: Operation is the original requested operation + properties: + info: + description: Info is a list of informational items for this + operation + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + initiatedBy: + description: InitiatedBy contains information about who initiated + the operations + properties: + automated: + description: Automated is set to true if operation was + initiated automatically by the application controller. + type: boolean + username: + description: Username contains the name of a user who + started operation + type: string + type: object + retry: + description: Retry controls the strategy to apply if a sync + fails + properties: + backoff: + description: Backoff controls how to backoff on subsequent + retries of failed syncs + properties: + duration: + description: Duration is the amount to back off. Default + unit is seconds, but could also be a duration (e.g. + "2m", "1h") + type: string + factor: + description: Factor is a factor to multiply the base + duration after each failed retry + format: int64 + type: integer + maxDuration: + description: MaxDuration is the maximum amount of + time allowed for the backoff strategy + type: string + type: object + limit: + description: Limit is the maximum number of attempts for + retrying a failed sync. If set to 0, no retries will + be performed. + format: int64 + type: integer + type: object + sync: + description: Sync contains parameters for the operation + properties: + autoHealAttemptsCount: + description: SelfHealAttemptsCount contains the number + of auto-heal attempts + format: int64 + type: integer + dryRun: + description: DryRun specifies to perform a `kubectl apply + --dry-run` without actually performing the sync + type: boolean + manifests: + description: Manifests is an optional field that overrides + sync source with a local directory for development + items: + type: string + type: array + prune: + description: Prune specifies to delete resources from + the cluster that are no longer tracked in git + type: boolean + resources: + description: Resources describes which resources shall + be part of the sync + items: + description: SyncOperationResource contains resources + to sync. + properties: + group: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + type: array + revision: + description: |- + Revision is the revision (Git) or chart version (Helm) which to sync the application to + If omitted, will use the revision specified in app spec. + type: string + revisions: + description: |- + Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to + If omitted, will use the revision specified in app spec. + items: + type: string + type: array + source: + description: |- + Source overrides the source definition set in the application. + This is typically set in a Rollback operation and is nil during a Sync operation + properties: + chart: + description: Chart is a Helm chart name, and must + be specified for applications sourced from a Helm + repo. + type: string + directory: + description: Directory holds path/directory specific + options + properties: + exclude: + description: Exclude contains a glob pattern to + match paths against that should be explicitly + excluded from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to + match paths against that should be explicitly + included during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to + Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet + External Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan + a directory recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters + to the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm + parameter + type: string + path: + description: Path is the path to the file + containing the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents + helm template from failing when valueFiles do + not exist locally by not appending them to helm + template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace + to template with. If left empty, defaults to + the app's destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command + upon manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and + numbers as strings + type: boolean + name: + description: Name is the name of the Helm + parameter + type: string + value: + description: Value is the value for the + Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials + to all domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application + name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value + files to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be + passed to helm template, typically defined as + a block. ValuesObject takes precedence over + Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values + to be passed to helm template, defined as a + map. This takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use + for templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies + whether to apply env variables substitution + for annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before + building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies + whether to force applying common annotations + to resources for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether + to force applying common labels to resources + for Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean + images: + description: Images is a list of Kustomize image + override specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates + or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors + or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to + resources for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to + resources for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that + Kustomize adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of + Kustomize to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. It is used in multi-source + Applications. + type: string + path: + description: Path is a directory path within the Git + repository, and is only valid for applications sourced + from Git. + type: string + plugin: + description: Plugin holds config management plugin + specific options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in + the application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array + type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type + parameter. + type: object + name: + description: Name is the name identifying + a parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within + sources field. This field will not be used if used + with a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository + (Git or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + sources: + description: |- + Sources overrides the source definition set in the application. + This is typically set in a Rollback operation and is nil during a Sync operation + items: + description: ApplicationSource contains all required + information about the source of an application + properties: + chart: + description: Chart is a Helm chart name, and must + be specified for applications sourced from a Helm + repo. + type: string + directory: + description: Directory holds path/directory specific + options + properties: + exclude: + description: Exclude contains a glob pattern + to match paths against that should be explicitly + excluded from being used during manifest generation + type: string + include: + description: Include contains a glob pattern + to match paths against that should be explicitly + included during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific + to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet + External Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan + a directory recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters + to the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm + parameter + type: string + path: + description: Path is the path to the file + containing the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents + helm template from failing when valueFiles + do not exist locally by not appending them + to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace + to template with. If left empty, defaults + to the app's destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command + upon manifest generation + items: + description: HelmParameter is a parameter + that's passed to helm template during manifest + generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and + numbers as strings + type: boolean + name: + description: Name is the name of the Helm + parameter + type: string + value: + description: Value is the value for the + Helm parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials + to all domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release + name to use. If omitted it will use the application + name + type: string + skipCrds: + description: SkipCrds skips custom resource + definition installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON + schema validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value + files to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to + be passed to helm template, typically defined + as a block. ValuesObject takes precedence + over Values, so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values + to be passed to helm template, defined as + a map. This takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to + use for templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific + options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of + additional annotations to add to rendered + manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies + whether to apply env variables substitution + for annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of + kustomize components to add to the kustomization + before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies + whether to force applying common annotations + to resources for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether + to force applying common labels to resources + for Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean + images: + description: Images is a list of Kustomize image + override specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies + whether to apply common labels to resource + templates or not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies + whether to apply common labels to resource + selectors or not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended + to resources for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended + to resources for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that + Kustomize adds to all resources + type: string + patches: + description: Patches is a list of Kustomize + patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize + Replicas override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version + of Kustomize to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. It is used in multi-source + Applications. + type: string + path: + description: Path is a directory path within the + Git repository, and is only valid for applications + sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin + specific options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry + in the application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the + variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an + array type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map + type parameter. + type: object + name: + description: Name is the name identifying + a parameter. + type: string + string: + description: String_ is the value of a + string type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source + within sources field. This field will not be used + if used with a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository + (Git or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + type: array + syncOptions: + description: SyncOptions provide per-sync sync-options, + e.g. Validate=false + items: + type: string + type: array + syncStrategy: + description: SyncStrategy describes how to perform the + sync + properties: + apply: + description: Apply will perform a `kubectl apply` + to perform the sync. + properties: + force: + description: |- + Force indicates whether or not to supply the --force flag to `kubectl apply`. + The --force flag deletes and re-create the resource, when PATCH encounters conflict and has + retried for 5 times. + type: boolean + type: object + hook: + description: Hook will submit any referenced resources + to perform the sync. This is the default strategy + properties: + force: + description: |- + Force indicates whether or not to supply the --force flag to `kubectl apply`. + The --force flag deletes and re-create the resource, when PATCH encounters conflict and has + retried for 5 times. + type: boolean + type: object + type: object + type: object + type: object + phase: + description: Phase is the current phase of the operation + type: string + retryCount: + description: RetryCount contains time of operation retries + format: int64 + type: integer + startedAt: + description: StartedAt contains time of operation start + format: date-time + type: string + syncResult: + description: SyncResult is the result of a Sync operation + properties: + managedNamespaceMetadata: + description: ManagedNamespaceMetadata contains the current + sync state of managed namespace metadata + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + resources: + description: Resources contains a list of sync result items + for each individual resource in a sync operation + items: + description: ResourceResult holds the operation result details + of a specific resource + properties: + group: + description: Group specifies the API group of the resource + type: string + hookPhase: + description: |- + HookPhase contains the state of any operation associated with this resource OR hook + This can also contain values for non-hook resources. + type: string + hookType: + description: HookType specifies the type of the hook. + Empty for non-hook resources + type: string + kind: + description: Kind specifies the API kind of the resource + type: string + message: + description: Message contains an informational or error + message for the last sync OR operation + type: string + name: + description: Name specifies the name of the resource + type: string + namespace: + description: Namespace specifies the target namespace + of the resource + type: string + status: + description: Status holds the final result of the sync. + Will be empty if the resources is yet to be applied/pruned + and is always zero-value for hooks + type: string + syncPhase: + description: SyncPhase indicates the particular phase + of the sync that this result was acquired in + type: string + version: + description: Version specifies the API version of the + resource + type: string + required: + - group + - kind + - name + - namespace + - version + type: object + type: array + revision: + description: Revision holds the revision this sync operation + was performed to + type: string + revisions: + description: Revisions holds the revision this sync operation + was performed for respective indexed source in sources field + items: + type: string + type: array + source: + description: Source records the application source information + of the sync, used for comparing auto-sync + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded + from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included + during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to + the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm + template from failing when valueFiles do not exist + locally by not appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to + template with. If left empty, defaults to the app's + destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all + domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block. + ValuesObject takes precedence over Values, so use + one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to + be passed to helm template, defined as a map. This + takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for + templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation + values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or + not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or + not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array + type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type + parameter. + type: object + name: + description: Name is the name identifying a + parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within + sources field. This field will not be used if used with + a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + sources: + description: Source records the application source information + of the sync, used for comparing auto-sync + items: + description: ApplicationSource contains all required information + about the source of an application + properties: + chart: + description: Chart is a Helm chart name, and must be + specified for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific + options + properties: + exclude: + description: Exclude contains a glob pattern to + match paths against that should be explicitly + excluded from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to + match paths against that should be explicitly + included during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a + directory recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters + to the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm + parameter + type: string + path: + description: Path is the path to the file + containing the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm + template from failing when valueFiles do not exist + locally by not appending them to helm template + --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace + to template with. If left empty, defaults to the + app's destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command + upon manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm + parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to + all domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application + name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value + files to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be + passed to helm template, typically defined as + a block. ValuesObject takes precedence over Values, + so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values + to be passed to helm template, defined as a map. + This takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use + for templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies + whether to apply env variables substitution for + annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before + building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether + to force applying common labels to resources for + Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image + override specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or + not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or + not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to + resources for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to + resources for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git + repository, and is only valid for applications sourced + from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array + type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type + parameter. + type: object + name: + description: Name is the name identifying + a parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within + sources field. This field will not be used if used + with a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + type: array + required: + - revision + type: object + required: + - operation + - phase + - startedAt + type: object + reconciledAt: + description: ReconciledAt indicates when the application state was + reconciled using the latest git version + format: date-time + type: string + resourceHealthSource: + description: 'ResourceHealthSource indicates where the resource health + status is stored: inline if not set or appTree' + type: string + resources: + description: Resources is a list of Kubernetes resources managed by + this application + items: + description: ResourceStatus holds the current synchronization and + health status of a Kubernetes resource. + properties: + group: + description: Group represents the API group of the resource + (e.g., "apps" for Deployments). + type: string + health: + description: Health indicates the health status of the resource + (e.g., Healthy, Degraded, Progressing). + properties: + lastTransitionTime: + description: LastTransitionTime is the time the HealthStatus + was set or updated + format: date-time + type: string + message: + description: Message is a human-readable informational message + describing the health status + type: string + status: + description: Status holds the status code of the application + or resource + type: string + type: object + hook: + description: Hook is true if the resource is used as a lifecycle + hook in an Argo CD application. + type: boolean + kind: + description: Kind specifies the type of the resource (e.g., + "Deployment", "Service"). + type: string + name: + description: Name is the unique name of the resource within + the namespace. + type: string + namespace: + description: Namespace defines the Kubernetes namespace where + the resource is located. + type: string + requiresDeletionConfirmation: + description: RequiresDeletionConfirmation is true if the resource + requires explicit user confirmation before deletion. + type: boolean + requiresPruning: + description: RequiresPruning is true if the resource needs to + be pruned (deleted) as part of synchronization. + type: boolean + status: + description: Status represents the synchronization state of + the resource (e.g., Synced, OutOfSync). + type: string + syncWave: + description: |- + SyncWave determines the order in which resources are applied during a sync operation. + Lower values are applied first. + format: int64 + type: integer + version: + description: Version indicates the API version of the resource + (e.g., "v1", "v1beta1"). + type: string + type: object + type: array + sourceHydrator: + description: SourceHydrator stores information about the current state + of source hydration + properties: + currentOperation: + description: CurrentOperation holds the status of the hydrate + operation + properties: + drySHA: + description: DrySHA holds the resolved revision (sha) of the + dry source as of the most recent reconciliation + type: string + finishedAt: + description: FinishedAt indicates when the hydrate operation + finished + format: date-time + type: string + hydratedSHA: + description: HydratedSHA holds the resolved revision (sha) + of the hydrated source as of the most recent reconciliation + type: string + message: + description: Message contains a message describing the current + status of the hydrate operation + type: string + phase: + description: Phase indicates the status of the hydrate operation + enum: + - Hydrating + - Failed + - Hydrated + type: string + sourceHydrator: + description: SourceHydrator holds the hydrator config used + for the hydrate operation + properties: + drySource: + description: DrySource specifies where the dry "don't + repeat yourself" manifest source lives. + properties: + path: + description: Path is a directory path within the Git + repository where the manifests are located + type: string + repoURL: + description: RepoURL is the URL to the git repository + that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of + the source to hydrate + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + description: |- + HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then + have to move manifests to the SyncSource, e.g. by pull request. + properties: + targetBranch: + description: TargetBranch is the branch to which hydrated + manifests should be committed + type: string + required: + - targetBranch + type: object + syncSource: + description: SyncSource specifies where to sync hydrated + manifests from. + properties: + path: + description: |- + Path is a directory path within the git repository where hydrated manifests should be committed to and synced + from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced. + type: string + targetBranch: + description: TargetBranch is the branch to which hydrated + manifests should be committed + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + startedAt: + description: StartedAt indicates when the hydrate operation + started + format: date-time + type: string + required: + - message + - phase + type: object + lastSuccessfulOperation: + description: LastSuccessfulOperation holds info about the most + recent successful hydration + properties: + drySHA: + description: DrySHA holds the resolved revision (sha) of the + dry source as of the most recent reconciliation + type: string + hydratedSHA: + description: HydratedSHA holds the resolved revision (sha) + of the hydrated source as of the most recent reconciliation + type: string + sourceHydrator: + description: SourceHydrator holds the hydrator config used + for the hydrate operation + properties: + drySource: + description: DrySource specifies where the dry "don't + repeat yourself" manifest source lives. + properties: + path: + description: Path is a directory path within the Git + repository where the manifests are located + type: string + repoURL: + description: RepoURL is the URL to the git repository + that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of + the source to hydrate + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + description: |- + HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then + have to move manifests to the SyncSource, e.g. by pull request. + properties: + targetBranch: + description: TargetBranch is the branch to which hydrated + manifests should be committed + type: string + required: + - targetBranch + type: object + syncSource: + description: SyncSource specifies where to sync hydrated + manifests from. + properties: + path: + description: |- + Path is a directory path within the git repository where hydrated manifests should be committed to and synced + from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced. + type: string + targetBranch: + description: TargetBranch is the branch to which hydrated + manifests should be committed + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + type: object + type: object + sourceType: + description: SourceType specifies the type of this application + type: string + sourceTypes: + description: SourceTypes specifies the type of the sources included + in the application + items: + description: ApplicationSourceType specifies the type of the application's + source + type: string + type: array + summary: + description: Summary contains a list of URLs and container images + used by this application + properties: + externalURLs: + description: ExternalURLs holds all external URLs of application + child resources. + items: + type: string + type: array + images: + description: Images holds all images of application child resources. + items: + type: string + type: array + type: object + sync: + description: Sync contains information about the application's current + sync status + properties: + comparedTo: + description: ComparedTo contains information about what has been + compared + properties: + destination: + description: Destination is a reference to the application's + destination used for comparison + properties: + name: + description: Name is an alternate way of specifying the + target cluster by its symbolic name. This must be set + if Server is not set. + type: string + namespace: + description: |- + Namespace specifies the target namespace for the application's resources. + The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace + type: string + server: + description: Server specifies the URL of the target cluster's + Kubernetes control plane API. This must be set if Name + is not set. + type: string + type: object + ignoreDifferences: + description: IgnoreDifferences is a reference to the application's + ignored differences used for comparison + items: + description: ResourceIgnoreDifferences contains resource + filter and list of json paths which should be ignored + during comparison with live state. + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + description: |- + ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the + desired state defined in the SCM and won't be displayed in diffs + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + source: + description: Source is a reference to the application's source + used for comparison + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded + from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included + during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters to + the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm + template from failing when valueFiles do not exist + locally by not appending them to helm template --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace to + template with. If left empty, defaults to the app's + destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to all + domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block. + ValuesObject takes precedence over Values, so use + one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values to + be passed to helm template, defined as a map. This + takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use for + templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies whether + to apply env variables substitution for annotation + values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or + not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or + not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array + type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type + parameter. + type: object + name: + description: Name is the name identifying a + parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within + sources field. This field will not be used if used with + a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + sources: + description: Sources is a reference to the application's multiple + sources used for comparison + items: + description: ApplicationSource contains all required information + about the source of an application + properties: + chart: + description: Chart is a Helm chart name, and must be + specified for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific + options + properties: + exclude: + description: Exclude contains a glob pattern to + match paths against that should be explicitly + excluded from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to + match paths against that should be explicitly + included during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a + directory recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + fileParameters: + description: FileParameters are file parameters + to the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm + parameter + type: string + path: + description: Path is the path to the file + containing the values for the Helm parameter + type: string + type: object + type: array + ignoreMissingValueFiles: + description: IgnoreMissingValueFiles prevents helm + template from failing when valueFiles do not exist + locally by not appending them to helm template + --values + type: boolean + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + namespace: + description: Namespace is an optional namespace + to template with. If left empty, defaults to the + app's destination namespace. + type: string + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command + upon manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm + parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + passCredentials: + description: PassCredentials pass credentials to + all domains (Helm's --pass-credentials) + type: boolean + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application + name + type: string + skipCrds: + description: SkipCrds skips custom resource definition + installation step (Helm's --skip-crds) + type: boolean + skipSchemaValidation: + description: SkipSchemaValidation skips JSON schema + validation (Helm's --skip-schema-validation) + type: boolean + skipTests: + description: SkipTests skips test manifest installation + step (Helm's --skip-tests). + type: boolean + valueFiles: + description: ValuesFiles is a list of Helm value + files to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be + passed to helm template, typically defined as + a block. ValuesObject takes precedence over Values, + so use one or the other. + type: string + valuesObject: + description: ValuesObject specifies Helm values + to be passed to helm template, defined as a map. + This takes precedence over Values. + type: object + x-kubernetes-preserve-unknown-fields: true + version: + description: Version is the Helm version to use + for templating ("3") + type: string + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + apiVersions: + description: |- + APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, + Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonAnnotationsEnvsubst: + description: CommonAnnotationsEnvsubst specifies + whether to apply env variables substitution for + annotation values + type: boolean + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + components: + description: Components specifies a list of kustomize + components to add to the kustomization before + building + items: + type: string + type: array + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether + to force applying common labels to resources for + Kustomize apps + type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean + images: + description: Images is a list of Kustomize image + override specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + kubeVersion: + description: |- + KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD + uses the Kubernetes version of the target cluster. + type: string + labelIncludeTemplates: + description: LabelIncludeTemplates specifies whether + to apply common labels to resource templates or + not + type: boolean + labelWithoutSelector: + description: LabelWithoutSelector specifies whether + to apply common labels to resource selectors or + not + type: boolean + namePrefix: + description: NamePrefix is a prefix appended to + resources for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to + resources for Kustomize apps + type: string + namespace: + description: Namespace sets the namespace that Kustomize + adds to all resources + type: string + patches: + description: Patches is a list of Kustomize patches + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + description: Replicas is a list of Kustomize Replicas + override specifications + items: + properties: + count: + anyOf: + - type: integer + - type: string + description: Number of replicas + x-kubernetes-int-or-string: true + name: + description: Name of Deployment or StatefulSet + type: string + required: + - count + - name + type: object + type: array + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. It is used in multi-source Applications. + type: string + path: + description: Path is a directory path within the Git + repository, and is only valid for applications sourced + from Git. + type: string + plugin: + description: Plugin holds config management plugin specific + options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + description: Array is the value of an array + type parameter. + items: + type: string + type: array + map: + additionalProperties: + type: string + description: Map is the value of a map type + parameter. + type: object + name: + description: Name is the name identifying + a parameter. + type: string + string: + description: String_ is the value of a string + type parameter. + type: string + type: object + type: array + type: object + ref: + description: Ref is reference to another source within + sources field. This field will not be used if used + with a `source` tag. + type: string + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: |- + TargetRevision defines the revision of the source to sync the application to. + In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + type: array + required: + - destination + type: object + revision: + description: Revision contains information about the revision + the comparison has been performed to + type: string + revisions: + description: Revisions contains information about the revisions + of multiple sources the comparison has been performed to + items: + type: string + type: array + status: + description: Status is the sync state of the comparison + type: string + required: + - status + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true + subresources: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app.kubernetes.io/name: applicationsets.argoproj.io + app.kubernetes.io/part-of: argocd + name: applicationsets.argoproj.io +spec: + group: argoproj.io + names: + kind: ApplicationSet + listKind: ApplicationSetList + plural: applicationsets + shortNames: + - appset + - appsets + singular: applicationset + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + applyNestedSelectors: + type: boolean + generators: + items: + properties: + clusterDecisionResource: + properties: + configMapRef: + type: string + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - configMapRef + type: object + clusters: + properties: + flatList: + type: boolean + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + git: + properties: + directories: + items: + properties: + exclude: + type: boolean + path: + type: string + required: + - path + type: object + type: array + files: + items: + properties: + path: + type: string + required: + - path + type: object + type: array + pathParamPrefix: + type: string + repoURL: + type: string + requeueAfterSeconds: + format: int64 + type: integer + revision: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - repoURL + - revision + type: object + list: + properties: + elements: + items: + x-kubernetes-preserve-unknown-fields: true + type: array + elementsYaml: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + type: object + matrix: + properties: + generators: + items: + properties: + clusterDecisionResource: + properties: + configMapRef: + type: string + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - configMapRef + type: object + clusters: + properties: + flatList: + type: boolean + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + git: + properties: + directories: + items: + properties: + exclude: + type: boolean + path: + type: string + required: + - path + type: object + type: array + files: + items: + properties: + path: + type: string + required: + - path + type: object + type: array + pathParamPrefix: + type: string + repoURL: + type: string + requeueAfterSeconds: + format: int64 + type: integer + revision: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - repoURL + - revision + type: object + list: + properties: + elements: + items: + x-kubernetes-preserve-unknown-fields: true + type: array + elementsYaml: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + type: object + matrix: + x-kubernetes-preserve-unknown-fields: true + merge: + x-kubernetes-preserve-unknown-fields: true + plugin: + properties: + configMapRef: + properties: + name: + type: string + required: + - name + type: object + input: + properties: + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - configMapRef + type: object + pullRequest: + properties: + azuredevops: + properties: + api: + type: string + labels: + items: + type: string + type: array + organization: + type: string + project: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - organization + - project + - repo + type: object + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object + bitbucketServer: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + project: + type: string + repo: + type: string + required: + - api + - project + - repo + type: object + filters: + items: + properties: + branchMatch: + type: string + targetBranchMatch: + type: string + type: object + type: array + gitea: + properties: + api: + type: string + insecure: + type: boolean + owner: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - api + - owner + - repo + type: object + github: + properties: + api: + type: string + appSecretName: + type: string + labels: + items: + type: string + type: array + owner: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - owner + - repo + type: object + gitlab: + properties: + api: + type: string + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + labels: + items: + type: string + type: array + project: + type: string + pullRequestState: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - project + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + scmProvider: + properties: + awsCodeCommit: + properties: + allBranches: + type: boolean + region: + type: string + role: + type: string + tagFilters: + items: + properties: + key: + type: string + value: + type: string + required: + - key + type: object + type: array + type: object + azureDevOps: + properties: + accessTokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + allBranches: + type: boolean + api: + type: string + organization: + type: string + teamProject: + type: string + required: + - accessTokenRef + - organization + - teamProject + type: object + bitbucket: + properties: + allBranches: + type: boolean + appPasswordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + owner: + type: string + user: + type: string + required: + - appPasswordRef + - owner + - user + type: object + bitbucketServer: + properties: + allBranches: + type: boolean + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + project: + type: string + required: + - api + - project + type: object + cloneProtocol: + type: string + filters: + items: + properties: + branchMatch: + type: string + labelMatch: + type: string + pathsDoNotExist: + items: + type: string + type: array + pathsExist: + items: + type: string + type: array + repositoryMatch: + type: string + type: object + type: array + gitea: + properties: + allBranches: + type: boolean + api: + type: string + insecure: + type: boolean + owner: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - api + - owner + type: object + github: + properties: + allBranches: + type: boolean + api: + type: string + appSecretName: + type: string + organization: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - organization + type: object + gitlab: + properties: + allBranches: + type: boolean + api: + type: string + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + group: + type: string + includeSharedProjects: + type: boolean + includeSubgroups: + type: boolean + insecure: + type: boolean + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + topic: + type: string + required: + - group + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + type: object + type: array + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + required: + - generators + type: object + merge: + properties: + generators: + items: + properties: + clusterDecisionResource: + properties: + configMapRef: + type: string + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - configMapRef + type: object + clusters: + properties: + flatList: + type: boolean + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + git: + properties: + directories: + items: + properties: + exclude: + type: boolean + path: + type: string + required: + - path + type: object + type: array + files: + items: + properties: + path: + type: string + required: + - path + type: object + type: array + pathParamPrefix: + type: string + repoURL: + type: string + requeueAfterSeconds: + format: int64 + type: integer + revision: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - repoURL + - revision + type: object + list: + properties: + elements: + items: + x-kubernetes-preserve-unknown-fields: true + type: array + elementsYaml: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + type: object + matrix: + x-kubernetes-preserve-unknown-fields: true + merge: + x-kubernetes-preserve-unknown-fields: true + plugin: + properties: + configMapRef: + properties: + name: + type: string + required: + - name + type: object + input: + properties: + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - configMapRef + type: object + pullRequest: + properties: + azuredevops: + properties: + api: + type: string + labels: + items: + type: string + type: array + organization: + type: string + project: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - organization + - project + - repo + type: object + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object + bitbucketServer: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + project: + type: string + repo: + type: string + required: + - api + - project + - repo + type: object + filters: + items: + properties: + branchMatch: + type: string + targetBranchMatch: + type: string + type: object + type: array + gitea: + properties: + api: + type: string + insecure: + type: boolean + owner: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - api + - owner + - repo + type: object + github: + properties: + api: + type: string + appSecretName: + type: string + labels: + items: + type: string + type: array + owner: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - owner + - repo + type: object + gitlab: + properties: + api: + type: string + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + labels: + items: + type: string + type: array + project: + type: string + pullRequestState: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - project + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + scmProvider: + properties: + awsCodeCommit: + properties: + allBranches: + type: boolean + region: + type: string + role: + type: string + tagFilters: + items: + properties: + key: + type: string + value: + type: string + required: + - key + type: object + type: array + type: object + azureDevOps: + properties: + accessTokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + allBranches: + type: boolean + api: + type: string + organization: + type: string + teamProject: + type: string + required: + - accessTokenRef + - organization + - teamProject + type: object + bitbucket: + properties: + allBranches: + type: boolean + appPasswordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + owner: + type: string + user: + type: string + required: + - appPasswordRef + - owner + - user + type: object + bitbucketServer: + properties: + allBranches: + type: boolean + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + project: + type: string + required: + - api + - project + type: object + cloneProtocol: + type: string + filters: + items: + properties: + branchMatch: + type: string + labelMatch: + type: string + pathsDoNotExist: + items: + type: string + type: array + pathsExist: + items: + type: string + type: array + repositoryMatch: + type: string + type: object + type: array + gitea: + properties: + allBranches: + type: boolean + api: + type: string + insecure: + type: boolean + owner: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - api + - owner + type: object + github: + properties: + allBranches: + type: boolean + api: + type: string + appSecretName: + type: string + organization: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - organization + type: object + gitlab: + properties: + allBranches: + type: boolean + api: + type: string + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + group: + type: string + includeSharedProjects: + type: boolean + includeSubgroups: + type: boolean + insecure: + type: boolean + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + topic: + type: string + required: + - group + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + type: object + type: array + mergeKeys: + items: + type: string + type: array + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + required: + - generators + - mergeKeys + type: object + plugin: + properties: + configMapRef: + properties: + name: + type: string + required: + - name + type: object + input: + properties: + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + required: + - configMapRef + type: object + pullRequest: + properties: + azuredevops: + properties: + api: + type: string + labels: + items: + type: string + type: array + organization: + type: string + project: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - organization + - project + - repo + type: object + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object + bitbucketServer: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + project: + type: string + repo: + type: string + required: + - api + - project + - repo + type: object + filters: + items: + properties: + branchMatch: + type: string + targetBranchMatch: + type: string + type: object + type: array + gitea: + properties: + api: + type: string + insecure: + type: boolean + owner: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - api + - owner + - repo + type: object + github: + properties: + api: + type: string + appSecretName: + type: string + labels: + items: + type: string + type: array + owner: + type: string + repo: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - owner + - repo + type: object + gitlab: + properties: + api: + type: string + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + labels: + items: + type: string + type: array + project: + type: string + pullRequestState: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - project + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + scmProvider: + properties: + awsCodeCommit: + properties: + allBranches: + type: boolean + region: + type: string + role: + type: string + tagFilters: + items: + properties: + key: + type: string + value: + type: string + required: + - key + type: object + type: array + type: object + azureDevOps: + properties: + accessTokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + allBranches: + type: boolean + api: + type: string + organization: + type: string + teamProject: + type: string + required: + - accessTokenRef + - organization + - teamProject + type: object + bitbucket: + properties: + allBranches: + type: boolean + appPasswordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + owner: + type: string + user: + type: string + required: + - appPasswordRef + - owner + - user + type: object + bitbucketServer: + properties: + allBranches: + type: boolean + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + insecure: + type: boolean + project: + type: string + required: + - api + - project + type: object + cloneProtocol: + type: string + filters: + items: + properties: + branchMatch: + type: string + labelMatch: + type: string + pathsDoNotExist: + items: + type: string + type: array + pathsExist: + items: + type: string + type: array + repositoryMatch: + type: string + type: object + type: array + gitea: + properties: + allBranches: + type: boolean + api: + type: string + insecure: + type: boolean + owner: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - api + - owner + type: object + github: + properties: + allBranches: + type: boolean + api: + type: string + appSecretName: + type: string + organization: + type: string + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - organization + type: object + gitlab: + properties: + allBranches: + type: boolean + api: + type: string + caRef: + properties: + configMapName: + type: string + key: + type: string + required: + - configMapName + - key + type: object + group: + type: string + includeSharedProjects: + type: boolean + includeSubgroups: + type: boolean + insecure: + type: boolean + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + topic: + type: string + required: + - group + type: object + requeueAfterSeconds: + format: int64 + type: integer + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + values: + additionalProperties: + type: string + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + type: object + type: array + goTemplate: + type: boolean + goTemplateOptions: + items: + type: string + type: array + ignoreApplicationDifferences: + items: + properties: + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + name: + type: string + type: object + type: array + preservedFields: + properties: + annotations: + items: + type: string + type: array + labels: + items: + type: string + type: array + type: object + strategy: + properties: + rollingSync: + properties: + steps: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + maxUpdate: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + type: array + type: object + type: + type: string + type: object + syncPolicy: + properties: + applicationsSync: + enum: + - create-only + - create-update + - create-delete + - sync + type: string + preserveResourcesOnDeletion: + type: boolean + type: object + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + destination: + properties: + name: + type: string + namespace: + type: string + server: + type: string + type: object + ignoreDifferences: + items: + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + managedFieldsManagers: + items: + type: string + type: array + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + type: string + revisionHistoryLimit: + format: int64 + type: integer + source: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + sourceHydrator: + properties: + drySource: + properties: + path: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - path + - repoURL + - targetRevision + type: object + hydrateTo: + properties: + targetBranch: + type: string + required: + - targetBranch + type: object + syncSource: + properties: + path: + type: string + targetBranch: + type: string + required: + - path + - targetBranch + type: object + required: + - drySource + - syncSource + type: object + sources: + items: + properties: + chart: + type: string + directory: + properties: + exclude: + type: string + include: + type: string + jsonnet: + properties: + extVars: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + items: + type: string + type: array + tlas: + items: + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + type: boolean + type: object + helm: + properties: + apiVersions: + items: + type: string + type: array + fileParameters: + items: + properties: + name: + type: string + path: + type: string + type: object + type: array + ignoreMissingValueFiles: + type: boolean + kubeVersion: + type: string + namespace: + type: string + parameters: + items: + properties: + forceString: + type: boolean + name: + type: string + value: + type: string + type: object + type: array + passCredentials: + type: boolean + releaseName: + type: string + skipCrds: + type: boolean + skipSchemaValidation: + type: boolean + skipTests: + type: boolean + valueFiles: + items: + type: string + type: array + values: + type: string + valuesObject: + type: object + x-kubernetes-preserve-unknown-fields: true + version: + type: string + type: object + kustomize: + properties: + apiVersions: + items: + type: string + type: array + commonAnnotations: + additionalProperties: + type: string + type: object + commonAnnotationsEnvsubst: + type: boolean + commonLabels: + additionalProperties: + type: string + type: object + components: + items: + type: string + type: array + forceCommonAnnotations: + type: boolean + forceCommonLabels: + type: boolean + ignoreMissingComponents: + type: boolean + images: + items: + type: string + type: array + kubeVersion: + type: string + labelIncludeTemplates: + type: boolean + labelWithoutSelector: + type: boolean + namePrefix: + type: string + nameSuffix: + type: string + namespace: + type: string + patches: + items: + properties: + options: + additionalProperties: + type: boolean + type: object + patch: + type: string + path: + type: string + target: + properties: + annotationSelector: + type: string + group: + type: string + kind: + type: string + labelSelector: + type: string + name: + type: string + namespace: + type: string + version: + type: string + type: object + type: object + type: array + replicas: + items: + properties: + count: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + name: + type: string + required: + - count + - name + type: object + type: array + version: + type: string + type: object + name: + type: string + path: + type: string + plugin: + properties: + env: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + name: + type: string + parameters: + items: + properties: + array: + items: + type: string + type: array + map: + additionalProperties: + type: string + type: object + name: + type: string + string: + type: string + type: object + type: array + type: object + ref: + type: string + repoURL: + type: string + targetRevision: + type: string + required: + - repoURL + type: object + type: array + syncPolicy: + properties: + automated: + properties: + allowEmpty: + type: boolean + prune: + type: boolean + selfHeal: + type: boolean + type: object + managedNamespaceMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + retry: + properties: + backoff: + properties: + duration: + type: string + factor: + format: int64 + type: integer + maxDuration: + type: string + type: object + limit: + format: int64 + type: integer + type: object + syncOptions: + items: + type: string + type: array + type: object + required: + - destination + - project + type: object + required: + - metadata + - spec + type: object + templatePatch: + type: string + required: + - generators + - template + type: object + status: + properties: + applicationStatus: + items: + properties: + application: + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + status: + type: string + step: + type: string + targetRevisions: + items: + type: string + type: array + required: + - application + - message + - status + - step + - targetRevisions + type: object + type: array + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - message + - reason + - status + - type + type: object + type: array + resources: + items: + properties: + group: + type: string + health: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + status: + type: string + type: object + hook: + type: boolean + kind: + type: string + name: + type: string + namespace: + type: string + requiresDeletionConfirmation: + type: boolean + requiresPruning: + type: boolean + status: + type: string + syncWave: + format: int64 + type: integer + version: + type: string + type: object + type: array + type: object + required: + - metadata + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app.kubernetes.io/name: appprojects.argoproj.io + app.kubernetes.io/part-of: argocd + name: appprojects.argoproj.io +spec: + group: argoproj.io + names: + kind: AppProject + listKind: AppProjectList + plural: appprojects + shortNames: + - appproj + - appprojs + singular: appproject + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: |- + AppProject provides a logical grouping of applications, providing controls for: + * where the apps may deploy to (cluster whitelist) + * what may be deployed (repository whitelist, resource whitelist/blacklist) + * who can access these applications (roles, OIDC group claims bindings) + * and what they can do (RBAC policies) + * automation access to these roles (JWT tokens) + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: AppProjectSpec is the specification of an AppProject + properties: + clusterResourceBlacklist: + description: ClusterResourceBlacklist contains list of blacklisted + cluster level resources + items: + description: |- + GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying + concepts during lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + clusterResourceWhitelist: + description: ClusterResourceWhitelist contains list of whitelisted + cluster level resources + items: + description: |- + GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying + concepts during lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + description: + description: Description contains optional project description + type: string + destinationServiceAccounts: + description: DestinationServiceAccounts holds information about the + service accounts to be impersonated for the application sync operation + for each destination. + items: + description: ApplicationDestinationServiceAccount holds information + about the service account to be impersonated for the application + sync operation. + properties: + defaultServiceAccount: + description: DefaultServiceAccount to be used for impersonation + during the sync operation + type: string + namespace: + description: Namespace specifies the target namespace for the + application's resources. + type: string + server: + description: Server specifies the URL of the target cluster's + Kubernetes control plane API. + type: string + required: + - defaultServiceAccount + - server + type: object + type: array + destinations: + description: Destinations contains list of destinations available + for deployment + items: + description: ApplicationDestination holds information about the + application's destination + properties: + name: + description: Name is an alternate way of specifying the target + cluster by its symbolic name. This must be set if Server is + not set. + type: string + namespace: + description: |- + Namespace specifies the target namespace for the application's resources. + The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace + type: string + server: + description: Server specifies the URL of the target cluster's + Kubernetes control plane API. This must be set if Name is + not set. + type: string + type: object + type: array + namespaceResourceBlacklist: + description: NamespaceResourceBlacklist contains list of blacklisted + namespace level resources + items: + description: |- + GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying + concepts during lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + namespaceResourceWhitelist: + description: NamespaceResourceWhitelist contains list of whitelisted + namespace level resources + items: + description: |- + GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying + concepts during lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + orphanedResources: + description: OrphanedResources specifies if controller should monitor + orphaned resources of apps in this project + properties: + ignore: + description: Ignore contains a list of resources that are to be + excluded from orphaned resources monitoring + items: + description: OrphanedResourceKey is a reference to a resource + to be ignored from + properties: + group: + type: string + kind: + type: string + name: + type: string + type: object + type: array + warn: + description: Warn indicates if warning condition should be created + for apps which have orphaned resources + type: boolean + type: object + permitOnlyProjectScopedClusters: + description: PermitOnlyProjectScopedClusters determines whether destinations + can only reference clusters which are project-scoped + type: boolean + roles: + description: Roles are user defined RBAC roles associated with this + project + items: + description: ProjectRole represents a role that has access to a + project + properties: + description: + description: Description is a description of the role + type: string + groups: + description: Groups are a list of OIDC group claims bound to + this role + items: + type: string + type: array + jwtTokens: + description: JWTTokens are a list of generated JWT tokens bound + to this role + items: + description: JWTToken holds the issuedAt and expiresAt values + of a token + properties: + exp: + format: int64 + type: integer + iat: + format: int64 + type: integer + id: + type: string + required: + - iat + type: object + type: array + name: + description: Name is a name for this role + type: string + policies: + description: Policies Stores a list of casbin formatted strings + that define access policies for the role in the project + items: + type: string + type: array + required: + - name + type: object + type: array + signatureKeys: + description: SignatureKeys contains a list of PGP key IDs that commits + in Git must be signed with in order to be allowed for sync + items: + description: SignatureKey is the specification of a key required + to verify commit signatures with + properties: + keyID: + description: The ID of the key in hexadecimal notation + type: string + required: + - keyID + type: object + type: array + sourceNamespaces: + description: SourceNamespaces defines the namespaces application resources + are allowed to be created in + items: + type: string + type: array + sourceRepos: + description: SourceRepos contains list of repository URLs which can + be used for deployment + items: + type: string + type: array + syncWindows: + description: SyncWindows controls when syncs can be run for apps in + this project + items: + description: SyncWindow contains the kind, time, duration and attributes + that are used to assign the syncWindows to apps + properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean + applications: + description: Applications contains a list of applications that + the window will apply to + items: + type: string + type: array + clusters: + description: Clusters contains a list of clusters that the window + will apply to + items: + type: string + type: array + duration: + description: Duration is the amount of time the sync window + will be open + type: string + kind: + description: Kind defines if the window allows or blocks syncs + type: string + manualSync: + description: ManualSync enables manual syncs when they would + otherwise be blocked + type: boolean + namespaces: + description: Namespaces contains a list of namespaces that the + window will apply to + items: + type: string + type: array + schedule: + description: Schedule is the time the window will begin, specified + in cron format + type: string + timeZone: + description: TimeZone of the sync that will be applied to the + schedule + type: string + type: object + type: array + type: object + status: + description: AppProjectStatus contains status information for AppProject + CRs + properties: + jwtTokensByRole: + additionalProperties: + description: JWTTokens represents a list of JWT tokens + properties: + items: + items: + description: JWTToken holds the issuedAt and expiresAt values + of a token + properties: + exp: + format: int64 + type: integer + iat: + format: int64 + type: integer + id: + type: string + required: + - iat + type: object + type: array + type: object + description: JWTTokensByRole contains a list of JWT tokens issued + for a given role + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: dex-server + app.kubernetes.io/name: argocd-dex-server + app.kubernetes.io/part-of: argocd + name: argocd-dex-server +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-controller +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: repo-server + app.kubernetes.io/name: argocd-repo-server + app.kubernetes.io/part-of: argocd + name: argocd-repo-server +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +rules: +- apiGroups: + - "" + resources: + - secrets + - configmaps + verbs: + - get + - list + - watch +- apiGroups: + - argoproj.io + resources: + - applications + - applicationsets + - appprojects + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create + - list +- apiGroups: + - apps + resources: + - deployments + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +rules: +- apiGroups: + - argoproj.io + resources: + - applications + - applicationsets + - applicationsets/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - argoproj.io + resources: + - appprojects + verbs: + - get + - list + - watch +- apiGroups: + - argoproj.io + resources: + - applicationsets/status + verbs: + - get + - patch + - update +- 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 +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: dex-server + app.kubernetes.io/name: argocd-dex-server + app.kubernetes.io/part-of: argocd + name: argocd-dex-server +rules: +- apiGroups: + - "" + resources: + - secrets + - configmaps + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-controller +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 +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +rules: +- apiGroups: + - "" + resourceNames: + - argocd-redis + resources: + - secrets + verbs: + - get +- apiGroups: + - "" + resources: + - secrets + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +rules: +- apiGroups: + - "" + resources: + - secrets + - configmaps + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - argoproj.io + resources: + - applications + - appprojects + - applicationsets + verbs: + - create + - get + - list + - watch + - update + - delete + - patch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +- nonResourceURLs: + - '*' + verbs: + - '*' +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +rules: +- apiGroups: + - argoproj.io + resources: + - applications + - applicationsets + - applicationsets/finalizers + 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 + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - update + - delete + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - watch +- apiGroups: + - apps + - extensions + resources: + - deployments + verbs: + - get + - list + - watch +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - delete + - get + - patch +- apiGroups: + - "" + resources: + - events + verbs: + - list +- apiGroups: + - "" + resources: + - pods + - pods/log + verbs: + - get +- apiGroups: + - argoproj.io + resources: + - applications + - applicationsets + verbs: + - get + - list + - watch +- apiGroups: + - batch + resources: + - jobs + verbs: + - create +- apiGroups: + - argoproj.io + resources: + - workflows + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-application-controller +subjects: +- kind: ServiceAccount + name: argocd-application-controller +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-applicationset-controller +subjects: +- kind: ServiceAccount + name: argocd-applicationset-controller +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: dex-server + app.kubernetes.io/name: argocd-dex-server + app.kubernetes.io/part-of: argocd + name: argocd-dex-server +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-dex-server +subjects: +- kind: ServiceAccount + name: argocd-dex-server +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-notifications-controller +subjects: +- kind: ServiceAccount + name: argocd-notifications-controller +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-redis +subjects: +- kind: ServiceAccount + name: argocd-redis +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-server +subjects: +- kind: ServiceAccount + name: argocd-server +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argocd-application-controller +subjects: +- kind: ServiceAccount + name: argocd-application-controller + namespace: argocd +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argocd-applicationset-controller +subjects: +- kind: ServiceAccount + name: argocd-applicationset-controller + namespace: argocd +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argocd-server +subjects: +- kind: ServiceAccount + name: argocd-server + namespace: argocd +--- +apiVersion: v1 +data: + resource.customizations.ignoreResourceUpdates.ConfigMap: | + jqPathExpressions: + # Ignore the cluster-autoscaler status + - '.metadata.annotations."cluster-autoscaler.kubernetes.io/last-updated"' + # Ignore the annotation of the legacy Leases election + - '.metadata.annotations."control-plane.alpha.kubernetes.io/leader"' + resource.customizations.ignoreResourceUpdates.Endpoints: | + jsonPointers: + - /metadata + - /subsets + resource.customizations.ignoreResourceUpdates.all: | + jsonPointers: + - /status + resource.customizations.ignoreResourceUpdates.apps_ReplicaSet: | + jqPathExpressions: + - '.metadata.annotations."deployment.kubernetes.io/desired-replicas"' + - '.metadata.annotations."deployment.kubernetes.io/max-replicas"' + - '.metadata.annotations."rollout.argoproj.io/desired-replicas"' + resource.customizations.ignoreResourceUpdates.argoproj.io_Application: | + jqPathExpressions: + - '.metadata.annotations."notified.notifications.argoproj.io"' + - '.metadata.annotations."argocd.argoproj.io/refresh"' + - '.metadata.annotations."argocd.argoproj.io/hydrate"' + - '.operation' + resource.customizations.ignoreResourceUpdates.argoproj.io_Rollout: | + jqPathExpressions: + - '.metadata.annotations."notified.notifications.argoproj.io"' + resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler: | + jqPathExpressions: + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/behavior"' + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/conditions"' + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/metrics"' + - '.metadata.annotations."autoscaling.alpha.kubernetes.io/current-metrics"' + resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice: | + jsonPointers: + - /metadata + - /endpoints + - /ports + resource.exclusions: | + ### Network resources created by the Kubernetes control plane and excluded to reduce the number of watched events and UI clutter + - apiGroups: + - '' + - discovery.k8s.io + kinds: + - Endpoints + - EndpointSlice + ### Internal Kubernetes resources excluded reduce the number of watched events + - apiGroups: + - apiregistration.k8s.io + kinds: + - APIService + - apiGroups: + - coordination.k8s.io + kinds: + - Lease + ### Internal Kubernetes Authz/Authn resources excluded reduce the number of watched events + - apiGroups: + - authentication.k8s.io + - authorization.k8s.io + kinds: + - SelfSubjectReview + - TokenReview + - LocalSubjectAccessReview + - SelfSubjectAccessReview + - SelfSubjectRulesReview + - SubjectAccessReview + ### Intermediate Certificate Request excluded reduce the number of watched events + - apiGroups: + - certificates.k8s.io + kinds: + - CertificateSigningRequest + - apiGroups: + - cert-manager.io + kinds: + - CertificateRequest + ### Cilium internal resources excluded reduce the number of watched events and UI Clutter + - apiGroups: + - cilium.io + kinds: + - CiliumIdentity + - CiliumEndpoint + - CiliumEndpointSlice + ### Kyverno intermediate and reporting resources excluded reduce the number of watched events and improve performance + - apiGroups: + - kyverno.io + - reports.kyverno.io + - wgpolicyk8s.io + kinds: + - PolicyReport + - ClusterPolicyReport + - EphemeralReport + - ClusterEphemeralReport + - AdmissionReport + - ClusterAdmissionReport + - BackgroundScanReport + - ClusterBackgroundScanReport + - UpdateRequest +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-cm + app.kubernetes.io/part-of: argocd + name: argocd-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-cmd-params-cm + app.kubernetes.io/part-of: argocd + name: argocd-cmd-params-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-gpg-keys-cm + app.kubernetes.io/part-of: argocd + name: argocd-gpg-keys-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-rbac-cm + app.kubernetes.io/part-of: argocd + name: argocd-rbac-cm +--- +apiVersion: v1 +data: + ssh_known_hosts: | + # This file was automatically generated by hack/update-ssh-known-hosts.sh. DO NOT EDIT + [ssh.github.com]:443 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= + [ssh.github.com]:443 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl + [ssh.github.com]:443 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= + bitbucket.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIQmuzMBuKdWeF4+a2sjSSpBK0iqitSQ+5BM9KhpexuGt20JpTVM7u5BDZngncgrqDMbWdxMWWOGtZ9UgbqgZE= + bitbucket.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO + bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQeJzhupRu0u0cdegZIa8e86EG2qOCsIsD1Xw0xSeiPDlCr7kq97NLmMbpKTX6Esc30NuoqEEHCuc7yWtwp8dI76EEEB1VqY9QJq6vk+aySyboD5QF61I/1WeTwu+deCbgKMGbUijeXhtfbxSxm6JwGrXrhBdofTsbKRUsrN1WoNgUa8uqN1Vx6WAJw1JHPhglEGGHea6QICwJOAr/6mrui/oB7pkaWKHj3z7d1IC4KWLtY47elvjbaTlkN04Kc/5LFEirorGYVbt15kAUlqGM65pk6ZBxtaO3+30LVlORZkxOh+LKL/BvbZ/iRNhItLqNyieoQj/uh/7Iv4uyH/cV/0b4WDSd3DptigWq84lJubb9t/DnZlrJazxyDCulTmKdOR7vs9gMTo+uoIrPSb8ScTtvw65+odKAlBj59dhnVp9zd7QUojOpXlL62Aw56U4oO+FALuevvMjiWeavKhJqlR7i5n9srYcrNV7ttmDw7kf/97P5zauIhxcjX+xHv4M= + github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= + github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl + github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= + gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY= + gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf + gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9 + ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H + vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-ssh-known-hosts-cm + app.kubernetes.io/part-of: argocd + name: argocd-ssh-known-hosts-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-tls-certs-cm + app.kubernetes.io/part-of: argocd + name: argocd-tls-certs-cm +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-secret +type: Opaque +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/name: argocd-secret + app.kubernetes.io/part-of: argocd + name: argocd-secret +type: Opaque +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +spec: + ports: + - name: webhook + port: 7000 + protocol: TCP + targetPort: webhook + - name: metrics + port: 8080 + protocol: TCP + targetPort: metrics + selector: + app.kubernetes.io/name: argocd-applicationset-controller +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: dex-server + app.kubernetes.io/name: argocd-dex-server + app.kubernetes.io/part-of: argocd + name: argocd-dex-server +spec: + ports: + - appProtocol: TCP + name: http + port: 5556 + protocol: TCP + targetPort: 5556 + - name: grpc + port: 5557 + protocol: TCP + targetPort: 5557 + - name: metrics + port: 5558 + protocol: TCP + targetPort: 5558 + selector: + app.kubernetes.io/name: argocd-dex-server +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: metrics + app.kubernetes.io/name: argocd-metrics + app.kubernetes.io/part-of: argocd + name: argocd-metrics +spec: + ports: + - name: metrics + port: 8082 + protocol: TCP + targetPort: 8082 + selector: + app.kubernetes.io/name: argocd-application-controller +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller-metrics + app.kubernetes.io/part-of: argocd + name: argocd-notifications-controller-metrics +spec: + ports: + - name: metrics + port: 9001 + protocol: TCP + targetPort: 9001 + selector: + app.kubernetes.io/name: argocd-notifications-controller +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +spec: + ports: + - name: tcp-redis + port: 6379 + targetPort: 6379 + selector: + app.kubernetes.io/name: argocd-redis +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: repo-server + app.kubernetes.io/name: argocd-repo-server + app.kubernetes.io/part-of: argocd + name: argocd-repo-server +spec: + ports: + - name: server + port: 8081 + protocol: TCP + targetPort: 8081 + - name: metrics + port: 8084 + protocol: TCP + targetPort: 8084 + selector: + app.kubernetes.io/name: argocd-repo-server +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +spec: + ports: + - name: http + port: 80 + protocol: TCP + targetPort: 8080 + - name: https + port: 443 + protocol: TCP + targetPort: 8080 + selector: + app.kubernetes.io/name: argocd-server +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server-metrics + app.kubernetes.io/part-of: argocd + name: argocd-server-metrics +spec: + ports: + - name: metrics + port: 8083 + protocol: TCP + targetPort: 8083 + selector: + app.kubernetes.io/name: argocd-server +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: applicationset-controller + app.kubernetes.io/name: argocd-applicationset-controller + app.kubernetes.io/part-of: argocd + name: argocd-applicationset-controller +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-applicationset-controller + template: + metadata: + labels: + app.kubernetes.io/name: argocd-applicationset-controller + spec: + containers: + - args: + - /usr/local/bin/argocd-applicationset-controller + env: + - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_ANNOTATIONS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.global.preserved.annotations + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_LABELS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.global.preserved.labels + name: argocd-cmd-params-cm + optional: true + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_LEADER_ELECTION + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.leader.election + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER + valueFrom: + configMapKeyRef: + key: repo.server + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_POLICY + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.policy + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_POLICY_OVERRIDE + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.policy.override + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_DEBUG + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.debug + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_LOG_FORMAT_TIMESTAMP + valueFrom: + configMapKeyRef: + key: log.format.timestamp + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_DRY_RUN + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.dryrun + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_GIT_MODULES_ENABLED + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.git.submodule + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_PROGRESSIVE_SYNCS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.progressive.syncs + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_TOKENREF_STRICT_MODE + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.tokenref.strict.mode + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.new.git.file.globbing + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_PLAINTEXT + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.repo.server.plaintext + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_STRICT_TLS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.repo.server.strict.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.repo.server.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_CONCURRENT_RECONCILIATIONS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.concurrent.reconciliations.max + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.namespaces + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.scm.root.ca.path + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.allowed.scm.providers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.scm.providers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_WEBHOOK_PARALLELISM_LIMIT + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.webhook.parallelism.limit + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.requeue.after + name: argocd-cmd-params-cm + optional: true + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: Always + name: argocd-applicationset-controller + ports: + - containerPort: 7000 + name: webhook + - containerPort: 8080 + name: metrics + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /app/config/ssh + name: ssh-known-hosts + - mountPath: /app/config/tls + name: tls-certs + - mountPath: /app/config/gpg/source + name: gpg-keys + - mountPath: /app/config/gpg/keys + name: gpg-keyring + - mountPath: /tmp + name: tmp + - mountPath: /app/config/reposerver/tls + name: argocd-repo-server-tls + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: argocd-applicationset-controller + volumes: + - configMap: + name: argocd-ssh-known-hosts-cm + name: ssh-known-hosts + - configMap: + name: argocd-tls-certs-cm + name: tls-certs + - configMap: + name: argocd-gpg-keys-cm + name: gpg-keys + - emptyDir: {} + name: gpg-keyring + - emptyDir: {} + name: tmp + - 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 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: dex-server + app.kubernetes.io/name: argocd-dex-server + app.kubernetes.io/part-of: argocd + name: argocd-dex-server +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-dex-server + template: + metadata: + labels: + app.kubernetes.io/name: argocd-dex-server + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + containers: + - command: + - /shared/argocd-dex + - rundex + env: + - name: ARGOCD_DEX_SERVER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: dexserver.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEX_SERVER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: dexserver.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_LOG_FORMAT_TIMESTAMP + valueFrom: + configMapKeyRef: + key: log.format.timestamp + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEX_SERVER_DISABLE_TLS + valueFrom: + configMapKeyRef: + key: dexserver.disable.tls + name: argocd-cmd-params-cm + optional: true + image: ghcr.io/dexidp/dex:v2.41.1 + imagePullPolicy: Always + name: dex + ports: + - containerPort: 5556 + - containerPort: 5557 + - containerPort: 5558 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /shared + name: static-files + - mountPath: /tmp + name: dexconfig + - mountPath: /tls + name: argocd-dex-server-tls + initContainers: + - command: + - /bin/cp + - -n + - /usr/local/bin/argocd + - /shared/argocd-dex + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: Always + name: copyutil + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /shared + name: static-files + - mountPath: /tmp + name: dexconfig + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: argocd-dex-server + volumes: + - emptyDir: {} + name: static-files + - emptyDir: {} + name: dexconfig + - name: argocd-dex-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-dex-server-tls +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-controller +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller + strategy: + type: Recreate + template: + metadata: + labels: + app.kubernetes.io/name: argocd-notifications-controller + spec: + containers: + - args: + - /usr/local/bin/argocd-notifications + env: + - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: notificationscontroller.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: notificationscontroller.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_LOG_FORMAT_TIMESTAMP + valueFrom: + configMapKeyRef: + key: log.format.timestamp + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_NAMESPACES + valueFrom: + configMapKeyRef: + key: application.namespaces + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_NOTIFICATION_CONTROLLER_SELF_SERVICE_NOTIFICATION_ENABLED + valueFrom: + configMapKeyRef: + key: notificationscontroller.selfservice.enabled + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_NOTIFICATION_CONTROLLER_REPO_SERVER_PLAINTEXT + valueFrom: + configMapKeyRef: + key: notificationscontroller.repo.server.plaintext + name: argocd-cmd-params-cm + optional: true + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: Always + livenessProbe: + tcpSocket: + port: 9001 + name: argocd-notifications-controller + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + volumeMounts: + - mountPath: /app/config/tls + name: tls-certs + - mountPath: /app/config/reposerver/tls + name: argocd-repo-server-tls + workingDir: /app + nodeSelector: + kubernetes.io/os: linux + securityContext: + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + serviceAccountName: argocd-notifications-controller + volumes: + - configMap: + name: argocd-tls-certs-cm + name: tls-certs + - 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 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-redis + template: + metadata: + labels: + app.kubernetes.io/name: argocd-redis + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-redis + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + containers: + - args: + - --save + - "" + - --appendonly + - "no" + - --requirepass $(REDIS_PASSWORD) + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: auth + name: argocd-redis + image: redis:7.2.7-alpine + imagePullPolicy: Always + name: redis + ports: + - containerPort: 6379 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + initContainers: + - command: + - argocd + - admin + - redis-initial-password + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: IfNotPresent + name: secret-init + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + nodeSelector: + kubernetes.io/os: linux + securityContext: + runAsNonRoot: true + runAsUser: 999 + seccompProfile: + type: RuntimeDefault + serviceAccountName: argocd-redis +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: repo-server + app.kubernetes.io/name: argocd-repo-server + app.kubernetes.io/part-of: argocd + name: argocd-repo-server +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + template: + metadata: + labels: + app.kubernetes.io/name: argocd-repo-server + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + automountServiceAccountToken: false + containers: + - args: + - /usr/local/bin/argocd-repo-server + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: auth + name: argocd-redis + - name: ARGOCD_RECONCILIATION_TIMEOUT + valueFrom: + configMapKeyRef: + key: timeout.reconciliation + name: argocd-cm + optional: true + - name: ARGOCD_REPO_SERVER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: reposerver.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: reposerver.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_LOG_FORMAT_TIMESTAMP + valueFrom: + configMapKeyRef: + key: log.format.timestamp + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_PARALLELISM_LIMIT + valueFrom: + configMapKeyRef: + key: reposerver.parallelism.limit + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_LISTEN_ADDRESS + valueFrom: + configMapKeyRef: + key: reposerver.listen.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_LISTEN_METRICS_ADDRESS + valueFrom: + configMapKeyRef: + key: reposerver.metrics.listen.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_DISABLE_TLS + valueFrom: + configMapKeyRef: + key: reposerver.disable.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_MIN_VERSION + valueFrom: + configMapKeyRef: + key: reposerver.tls.minversion + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_MAX_VERSION + valueFrom: + configMapKeyRef: + key: reposerver.tls.maxversion + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_CIPHERS + valueFrom: + configMapKeyRef: + key: reposerver.tls.ciphers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: reposerver.repo.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: REDIS_SERVER + valueFrom: + configMapKeyRef: + key: redis.server + name: argocd-cmd-params-cm + optional: true + - name: REDIS_COMPRESSION + valueFrom: + configMapKeyRef: + key: redis.compression + name: argocd-cmd-params-cm + optional: true + - name: REDISDB + valueFrom: + configMapKeyRef: + key: redis.db + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEFAULT_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: reposerver.default.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_OTLP_ADDRESS + valueFrom: + configMapKeyRef: + key: otlp.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_OTLP_INSECURE + valueFrom: + configMapKeyRef: + key: otlp.insecure + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_OTLP_HEADERS + valueFrom: + configMapKeyRef: + key: otlp.headers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_OTLP_ATTRS + valueFrom: + configMapKeyRef: + key: otlp.attrs + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_MAX_COMBINED_DIRECTORY_MANIFESTS_SIZE + valueFrom: + configMapKeyRef: + key: reposerver.max.combined.directory.manifests.size + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_PLUGIN_TAR_EXCLUSIONS + valueFrom: + configMapKeyRef: + key: reposerver.plugin.tar.exclusions + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_PLUGIN_USE_MANIFEST_GENERATE_PATHS + valueFrom: + configMapKeyRef: + key: reposerver.plugin.use.manifest.generate.paths + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_ALLOW_OUT_OF_BOUNDS_SYMLINKS + valueFrom: + configMapKeyRef: + key: reposerver.allow.oob.symlinks + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_TAR_SIZE + valueFrom: + configMapKeyRef: + key: reposerver.streamed.manifest.max.tar.size + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_EXTRACTED_SIZE + valueFrom: + configMapKeyRef: + key: reposerver.streamed.manifest.max.extracted.size + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_HELM_MANIFEST_MAX_EXTRACTED_SIZE + valueFrom: + configMapKeyRef: + key: reposerver.helm.manifest.max.extracted.size + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_DISABLE_HELM_MANIFEST_MAX_EXTRACTED_SIZE + valueFrom: + configMapKeyRef: + key: reposerver.disable.helm.manifest.max.extracted.size + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REVISION_CACHE_LOCK_TIMEOUT + valueFrom: + configMapKeyRef: + key: reposerver.revision.cache.lock.timeout + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_GIT_MODULES_ENABLED + valueFrom: + configMapKeyRef: + key: reposerver.enable.git.submodule + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_GIT_LS_REMOTE_PARALLELISM_LIMIT + valueFrom: + configMapKeyRef: + key: reposerver.git.lsremote.parallelism.limit + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_GIT_REQUEST_TIMEOUT + valueFrom: + configMapKeyRef: + key: reposerver.git.request.timeout + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_GRPC_MAX_SIZE_MB + valueFrom: + configMapKeyRef: + key: reposerver.grpc.max.size + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_INCLUDE_HIDDEN_DIRECTORIES + valueFrom: + configMapKeyRef: + key: reposerver.include.hidden.directories + name: argocd-cmd-params-cm + optional: true + - name: HELM_CACHE_HOME + value: /helm-working-dir + - name: HELM_CONFIG_HOME + value: /helm-working-dir + - name: HELM_DATA_HOME + value: /helm-working-dir + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: Always + livenessProbe: + failureThreshold: 3 + httpGet: + path: /healthz?full=true + port: 8084 + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 5 + name: argocd-repo-server + ports: + - containerPort: 8081 + - containerPort: 8084 + readinessProbe: + httpGet: + path: /healthz + port: 8084 + initialDelaySeconds: 5 + periodSeconds: 10 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /app/config/ssh + name: ssh-known-hosts + - mountPath: /app/config/tls + name: tls-certs + - mountPath: /app/config/gpg/source + name: gpg-keys + - mountPath: /app/config/gpg/keys + name: gpg-keyring + - mountPath: /app/config/reposerver/tls + name: argocd-repo-server-tls + - mountPath: /tmp + name: tmp + - mountPath: /helm-working-dir + name: helm-working-dir + - mountPath: /home/argocd/cmp-server/plugins + name: plugins + initContainers: + - command: + - /bin/cp + - -n + - /usr/local/bin/argocd + - /var/run/argocd/argocd-cmp-server + image: quay.io/argoproj/argocd:v3.0.0-rc3 + name: copyutil + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /var/run/argocd + name: var-files + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: argocd-repo-server + volumes: + - configMap: + name: argocd-ssh-known-hosts-cm + name: ssh-known-hosts + - configMap: + name: argocd-tls-certs-cm + name: tls-certs + - configMap: + name: argocd-gpg-keys-cm + name: gpg-keys + - emptyDir: {} + name: gpg-keyring + - emptyDir: {} + name: tmp + - emptyDir: {} + name: helm-working-dir + - 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 + - emptyDir: {} + name: var-files + - emptyDir: {} + name: plugins +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-server + template: + metadata: + labels: + app.kubernetes.io/name: argocd-server + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + containers: + - args: + - /usr/local/bin/argocd-server + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: auth + name: argocd-redis + - name: ARGOCD_SERVER_INSECURE + valueFrom: + configMapKeyRef: + key: server.insecure + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_BASEHREF + valueFrom: + configMapKeyRef: + key: server.basehref + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_ROOTPATH + valueFrom: + configMapKeyRef: + key: server.rootpath + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: server.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_LOG_LEVEL + valueFrom: + configMapKeyRef: + key: server.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_REPO_SERVER + valueFrom: + configMapKeyRef: + key: repo.server + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_DEX_SERVER + valueFrom: + configMapKeyRef: + key: server.dex.server + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_DISABLE_AUTH + valueFrom: + configMapKeyRef: + key: server.disable.auth + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_ENABLE_GZIP + valueFrom: + configMapKeyRef: + key: server.enable.gzip + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_REPO_SERVER_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: server.repo.server.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_X_FRAME_OPTIONS + valueFrom: + configMapKeyRef: + key: server.x.frame.options + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_CONTENT_SECURITY_POLICY + valueFrom: + configMapKeyRef: + key: server.content.security.policy + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_REPO_SERVER_PLAINTEXT + valueFrom: + configMapKeyRef: + key: server.repo.server.plaintext + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_REPO_SERVER_STRICT_TLS + valueFrom: + configMapKeyRef: + key: server.repo.server.strict.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_DEX_SERVER_PLAINTEXT + valueFrom: + configMapKeyRef: + key: server.dex.server.plaintext + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_DEX_SERVER_STRICT_TLS + valueFrom: + configMapKeyRef: + key: server.dex.server.strict.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_MIN_VERSION + valueFrom: + configMapKeyRef: + key: server.tls.minversion + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_MAX_VERSION + valueFrom: + configMapKeyRef: + key: server.tls.maxversion + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_CIPHERS + valueFrom: + configMapKeyRef: + key: server.tls.ciphers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_CONNECTION_STATUS_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: server.connection.status.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_OIDC_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: server.oidc.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_LOGIN_ATTEMPTS_EXPIRATION + valueFrom: + configMapKeyRef: + key: server.login.attempts.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_STATIC_ASSETS + valueFrom: + configMapKeyRef: + key: server.staticassets + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APP_STATE_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: server.app.state.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: REDIS_SERVER + valueFrom: + configMapKeyRef: + key: redis.server + name: argocd-cmd-params-cm + optional: true + - name: REDIS_COMPRESSION + valueFrom: + configMapKeyRef: + key: redis.compression + name: argocd-cmd-params-cm + optional: true + - name: REDISDB + valueFrom: + configMapKeyRef: + key: redis.db + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEFAULT_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: server.default.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_MAX_COOKIE_NUMBER + valueFrom: + configMapKeyRef: + key: server.http.cookie.maxnumber + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_LISTEN_ADDRESS + valueFrom: + configMapKeyRef: + key: server.listen.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_METRICS_LISTEN_ADDRESS + valueFrom: + configMapKeyRef: + key: server.metrics.listen.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_OTLP_ADDRESS + valueFrom: + configMapKeyRef: + key: otlp.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_OTLP_INSECURE + valueFrom: + configMapKeyRef: + key: otlp.insecure + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_OTLP_HEADERS + valueFrom: + configMapKeyRef: + key: otlp.headers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_OTLP_ATTRS + valueFrom: + configMapKeyRef: + key: otlp.attrs + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_NAMESPACES + valueFrom: + configMapKeyRef: + key: application.namespaces + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_ENABLE_PROXY_EXTENSION + valueFrom: + configMapKeyRef: + key: server.enable.proxy.extension + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_K8SCLIENT_RETRY_MAX + valueFrom: + configMapKeyRef: + key: server.k8sclient.retry.max + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF + valueFrom: + configMapKeyRef: + key: server.k8sclient.retry.base.backoff + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_API_CONTENT_TYPES + valueFrom: + configMapKeyRef: + key: server.api.content.types + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SERVER_WEBHOOK_PARALLELISM_LIMIT + valueFrom: + configMapKeyRef: + key: server.webhook.parallelism.limit + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.new.git.file.globbing + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.scm.root.ca.path + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.allowed.scm.providers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS + valueFrom: + configMapKeyRef: + key: applicationsetcontroller.enable.scm.providers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_HYDRATOR_ENABLED + valueFrom: + configMapKeyRef: + key: hydrator.enabled + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_SYNC_WITH_REPLACE_ALLOWED + valueFrom: + configMapKeyRef: + key: server.sync.replace.allowed + name: argocd-cmd-params-cm + optional: true + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz?full=true + port: 8080 + initialDelaySeconds: 3 + periodSeconds: 30 + timeoutSeconds: 5 + name: argocd-server + ports: + - containerPort: 8080 + - containerPort: 8083 + readinessProbe: + httpGet: + path: /healthz + port: 8080 + initialDelaySeconds: 3 + periodSeconds: 30 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /app/config/ssh + name: ssh-known-hosts + - mountPath: /app/config/tls + name: tls-certs + - mountPath: /app/config/server/tls + name: argocd-repo-server-tls + - mountPath: /app/config/dex/tls + name: argocd-dex-server-tls + - mountPath: /home/argocd + name: plugins-home + - mountPath: /tmp + name: tmp + - mountPath: /home/argocd/params + name: argocd-cmd-params-cm + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: argocd-server + volumes: + - emptyDir: {} + name: plugins-home + - emptyDir: {} + name: tmp + - configMap: + name: argocd-ssh-known-hosts-cm + name: ssh-known-hosts + - configMap: + name: argocd-tls-certs-cm + name: tls-certs + - 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 + - name: argocd-dex-server-tls + secret: + items: + - key: tls.crt + path: tls.crt + - key: ca.crt + path: ca.crt + optional: true + secretName: argocd-dex-server-tls + - configMap: + items: + - key: server.profile.enabled + path: profiler.enabled + name: argocd-cmd-params-cm + optional: true + name: argocd-cmd-params-cm +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + serviceName: argocd-application-controller + template: + metadata: + labels: + app.kubernetes.io/name: argocd-application-controller + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + containers: + - args: + - /usr/local/bin/argocd-application-controller + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: auth + name: argocd-redis + - name: ARGOCD_CONTROLLER_REPLICAS + value: "1" + - name: ARGOCD_RECONCILIATION_TIMEOUT + valueFrom: + configMapKeyRef: + key: timeout.reconciliation + name: argocd-cm + optional: true + - name: ARGOCD_HARD_RECONCILIATION_TIMEOUT + valueFrom: + configMapKeyRef: + key: timeout.hard.reconciliation + name: argocd-cm + optional: true + - name: ARGOCD_RECONCILIATION_JITTER + valueFrom: + configMapKeyRef: + key: timeout.reconciliation.jitter + name: argocd-cm + optional: true + - name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS + valueFrom: + configMapKeyRef: + key: controller.repo.error.grace.period.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER + valueFrom: + configMapKeyRef: + key: repo.server + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: controller.repo.server.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS + valueFrom: + configMapKeyRef: + key: controller.status.processors + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS + valueFrom: + configMapKeyRef: + key: controller.operation.processors + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: controller.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: controller.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_LOG_FORMAT_TIMESTAMP + valueFrom: + configMapKeyRef: + key: log.format.timestamp + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: controller.metrics.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: controller.self.heal.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: controller.self.heal.backoff.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_FACTOR + valueFrom: + configMapKeyRef: + key: controller.self.heal.backoff.factor + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_CAP_SECONDS + valueFrom: + configMapKeyRef: + key: controller.self.heal.backoff.cap.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT + valueFrom: + configMapKeyRef: + key: controller.sync.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT + valueFrom: + configMapKeyRef: + key: controller.repo.server.plaintext + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS + valueFrom: + configMapKeyRef: + key: controller.repo.server.strict.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH + valueFrom: + configMapKeyRef: + key: controller.resource.health.persist + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APP_STATE_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: controller.app.state.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: REDIS_SERVER + valueFrom: + configMapKeyRef: + key: redis.server + name: argocd-cmd-params-cm + optional: true + - name: REDIS_COMPRESSION + valueFrom: + configMapKeyRef: + key: redis.compression + name: argocd-cmd-params-cm + optional: true + - name: REDISDB + valueFrom: + configMapKeyRef: + key: redis.db + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEFAULT_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: controller.default.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS + valueFrom: + configMapKeyRef: + key: otlp.address + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE + valueFrom: + configMapKeyRef: + key: otlp.insecure + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS + valueFrom: + configMapKeyRef: + key: otlp.headers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ATTRS + valueFrom: + configMapKeyRef: + key: otlp.attrs + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_NAMESPACES + valueFrom: + configMapKeyRef: + key: application.namespaces + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM + valueFrom: + configMapKeyRef: + key: controller.sharding.algorithm + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT + valueFrom: + configMapKeyRef: + key: controller.kubectl.parallelism.limit + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_K8SCLIENT_RETRY_MAX + valueFrom: + configMapKeyRef: + key: controller.k8sclient.retry.max + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF + valueFrom: + configMapKeyRef: + key: controller.k8sclient.retry.base.backoff + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF + valueFrom: + configMapKeyRef: + key: controller.diff.server.side + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_IGNORE_NORMALIZER_JQ_TIMEOUT + valueFrom: + configMapKeyRef: + key: controller.ignore.normalizer.jq.timeout + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_HYDRATOR_ENABLED + valueFrom: + configMapKeyRef: + key: hydrator.enabled + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING + valueFrom: + configMapKeyRef: + key: controller.cluster.cache.batch.events.processing + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL + valueFrom: + configMapKeyRef: + key: controller.cluster.cache.events.processing.interval + name: argocd-cmd-params-cm + optional: true + - name: KUBECACHEDIR + value: /tmp/kubecache + image: quay.io/argoproj/argocd:v3.0.0-rc3 + imagePullPolicy: Always + name: argocd-application-controller + ports: + - containerPort: 8082 + readinessProbe: + httpGet: + path: /healthz + port: 8082 + initialDelaySeconds: 5 + periodSeconds: 10 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /app/config/controller/tls + name: argocd-repo-server-tls + - mountPath: /home/argocd + name: argocd-home + - mountPath: /home/argocd/params + name: argocd-cmd-params-cm + - mountPath: /tmp + name: argocd-application-controller-tmp + workingDir: /home/argocd + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: argocd-application-controller + volumes: + - emptyDir: {} + name: argocd-home + - emptyDir: {} + name: argocd-application-controller-tmp + - 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 + - configMap: + items: + - key: controller.profile.enabled + path: profiler.enabled + name: argocd-cmd-params-cm + optional: true + name: argocd-cmd-params-cm +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-application-controller-network-policy +spec: + ingress: + - from: + - namespaceSelector: {} + ports: + - port: 8082 + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-applicationset-controller-network-policy +spec: + ingress: + - from: + - namespaceSelector: {} + ports: + - port: 7000 + protocol: TCP + - port: 8080 + protocol: TCP + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-applicationset-controller + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-dex-server-network-policy +spec: + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + ports: + - port: 5556 + protocol: TCP + - port: 5557 + protocol: TCP + - from: + - namespaceSelector: {} + ports: + - port: 5558 + protocol: TCP + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-dex-server + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + labels: + app.kubernetes.io/component: notifications-controller + app.kubernetes.io/name: argocd-notifications-controller + app.kubernetes.io/part-of: argocd + name: argocd-notifications-controller-network-policy +spec: + ingress: + - from: + - namespaceSelector: {} + ports: + - port: 9001 + protocol: TCP + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-redis-network-policy +spec: + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + ports: + - port: 6379 + protocol: TCP + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-redis + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-repo-server-network-policy +spec: + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-applicationset-controller + ports: + - port: 8081 + protocol: TCP + - from: + - namespaceSelector: {} + ports: + - port: 8084 + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-server-network-policy +spec: + ingress: + - {} + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + policyTypes: + - Ingress diff --git a/argocd/base/install/kustomization.yaml b/argocd/base/install/kustomization.yaml new file mode 100644 index 0000000..544f4e2 --- /dev/null +++ b/argocd/base/install/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +resources: + - argocd.yaml diff --git a/argocd/base/install/update.sh b/argocd/base/install/update.sh new file mode 100644 index 0000000..fa82bf1 --- /dev/null +++ b/argocd/base/install/update.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env sh + +set -e + +VERSION=$1 +if [ -z "$VERSION" ]; then + echo "Usage: $0 " + echo "Example: $0 v3.0.0-rc4" + exit 1 +fi + +URL="https://raw.githubusercontent.com/argoproj/argo-cd/$VERSION/manifests/install.yaml" + +echo "Downloading ArgoCD version $VERSION from $URL" + +cat >argocd.yaml < + +EOF + +if ! curl -sS -f -o - $URL >> argocd.yaml; then + echo "Error: Failed to download ArgoCD version $VERSION" + exit 1 +fi \ No newline at end of file diff --git a/argocd/base/kustomization.yaml b/argocd/base/kustomization.yaml new file mode 100644 index 0000000..ea32de5 --- /dev/null +++ b/argocd/base/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +resources: + - install + - config + - apps diff --git a/helm-repo/aws-load-balancer-controller/aws-load-balancer-controller-1.11.0.tgz b/helm-repo/aws-load-balancer-controller/aws-load-balancer-controller-1.11.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6aef3ddf77cd0f6e17e551d68a5502309308975c GIT binary patch literal 22761 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 A!~g&Q literal 0 HcmV?d00001 diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl.tgz b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl.tgz new file mode 100644 index 0000000000000000000000000000000000000000..657cb09e8c5c0d278b27fd63783ada8523e88c92 GIT binary patch literal 33315 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 t%ki!Vxqy49)RImbq2Kya!p*aJHqYkSJoo matches that of any node on which + a pod of the set of pods is running + properties: + labelSelector: + description: |- + A label query over a set of resources, in this case pods. + If it's null, this PodAffinityTerm matches with no Pods. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. + avoid putting this pod in the same node, zone, etc. as some + other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the anti-affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: |- + A label query over a set of resources, in this case pods. + If it's null, this PodAffinityTerm matches with no Pods. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + description: |- + If the anti-affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the anti-affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running + properties: + labelSelector: + description: |- + A label query over a set of resources, in this case pods. + If it's null, this PodAffinityTerm matches with no Pods. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both matchLabelKeys and labelSelector. + Also, matchLabelKeys cannot be set when labelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. + Also, mismatchLabelKeys cannot be set when labelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + annotations: + additionalProperties: + type: string + description: (Optional) Annotations to add to the Dragonfly pods. + type: object + args: + description: |- + (Optional) Dragonfly container args to pass to the container + Refer to the Dragonfly documentation for the list of supported args + items: + type: string + type: array + authentication: + description: (Optional) Dragonfly Authentication mechanism + properties: + clientCaCertSecret: + description: |- + (Optional) If specified, the Dragonfly instance will check if the + client certificate is signed by this CA. Server TLS must be enabled for this. + properties: + key: + description: The key of the secret to select from. Must be + a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its key must be + defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + passwordFromSecret: + description: (Optional) Dragonfly Password from Secret as a reference + to a specific key + properties: + key: + description: The key of the secret to select from. Must be + a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its key must be + defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + containerSecurityContext: + description: (Optional) Dragonfly container security context + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + appArmorProfile: + description: |- + appArmorProfile is the AppArmor options to use by this container. If set, this profile + overrides the pod's appArmorProfile. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile loaded on the node that should be used. + The profile must be preconfigured on the node to work. + Must match the loaded name of the profile. + Must be set if and only if type is "Localhost". + type: string + type: + description: |- + type indicates which kind of AppArmor profile will be applied. + Valid options are: + Localhost - a profile pre-loaded on the node. + RuntimeDefault - the container runtime's default profile. + Unconfined - no AppArmor enforcement. + type: string + required: + - type + type: object + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + x-kubernetes-list-type: atomic + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies to + the container. + type: string + role: + description: Role is a SELinux role label that applies to + the container. + type: string + type: + description: Type is a SELinux type label that applies to + the container. + type: string + user: + description: User is a SELinux user label that applies to + the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA + credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + env: + description: (Optional) Env variables to add to the Dragonfly pods. + items: + description: EnvVar represents an environment variable present in + a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. Cannot + be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the ConfigMap or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + description: Image is the Dragonfly image to use + type: string + imagePullPolicy: + default: Always + description: (Optional) imagePullPolicy to set to Dragonfly, default + is Always + type: string + imagePullSecrets: + description: (Optional) imagePullSecrets to set to Dragonfly + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + description: (Optional) Dragonfly pod init containers + items: + description: A single application container that you want to run + within a pod. + properties: + args: + description: |- + Arguments to the entrypoint. + The container image's CMD is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + description: |- + Entrypoint array. Not executed within a shell. + The container image's ENTRYPOINT is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + description: |- + List of environment variables to set in the container. + Cannot be updated. + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be + a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + envFrom: + description: |- + List of sources to populate environment variables in the container. + The keys defined within a source must be a C_IDENTIFIER. All invalid keys + will be reported as an event when the container is starting. When a key exists in multiple + sources, the value associated with the last source will take precedence. + Values defined by an Env with a duplicate key will take precedence. + Cannot be updated. + items: + description: EnvFromSource represents the source of a set + of ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the ConfigMap must be + defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each + key in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + TODO: Add other useful fields. apiVersion, kind, uid? + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + description: |- + Container image name. + More info: https://kubernetes.io/docs/concepts/containers/images + This field is optional to allow higher level config management to default or override + container images in workload controllers like Deployments and StatefulSets. + type: string + imagePullPolicy: + description: |- + Image pull policy. + One of Always, Never, IfNotPresent. + Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + type: string + lifecycle: + description: |- + Actions that the management system should take in response to container lifecycle events. + Cannot be updated. + properties: + postStart: + description: |- + PostStart is called immediately after a container is created. If the handler fails, + the container is terminated and restarted according to its restart policy. + Other management of the container blocks until the hook completes. + More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + sleep: + description: Sleep represents the duration that the + container should sleep before being terminated. + properties: + seconds: + description: Seconds is the number of seconds to + sleep. + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + description: |- + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + for the backward compatibility. There are no validation of this field and + lifecycle hooks will fail in runtime when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect to, + defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + description: |- + PreStop is called immediately before a container is terminated due to an + API request or management event such as liveness/startup probe failure, + preemption, resource contention, etc. The handler is not called if the + container crashes or exits. The Pod's termination grace period countdown begins before the + PreStop hook is executed. Regardless of the outcome of the handler, the + container will eventually terminate within the Pod's termination grace + period (unless delayed by finalizers). Other management of the container blocks until the hook completes + or until the termination grace period is reached. + More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + sleep: + description: Sleep represents the duration that the + container should sleep before being terminated. + properties: + seconds: + description: Seconds is the number of seconds to + sleep. + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + description: |- + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + for the backward compatibility. There are no validation of this field and + lifecycle hooks will fail in runtime when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect to, + defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + description: |- + Periodic probe of container liveness. + Container will be restarted if the probe fails. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number + must be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + name: + description: |- + Name of the container specified as a DNS_LABEL. + Each container in a pod must have a unique name (DNS_LABEL). + Cannot be updated. + type: string + ports: + description: |- + List of ports to expose from the container. Not specifying a port here + DOES NOT prevent that port from being exposed. Any port which is + listening on the default "0.0.0.0" address inside a container will be + accessible from the network. + Modifying this array with strategic merge patch may corrupt the data. + For more information See https://github.com/kubernetes/kubernetes/issues/108255. + Cannot be updated. + items: + description: ContainerPort represents a network port in a + single container. + properties: + containerPort: + description: |- + Number of port to expose on the pod's IP address. + This must be a valid port number, 0 < x < 65536. + format: int32 + type: integer + hostIP: + description: What host IP to bind the external port to. + type: string + hostPort: + description: |- + Number of port to expose on the host. + If specified, this must be a valid port number, 0 < x < 65536. + If HostNetwork is specified, this must match ContainerPort. + Most containers do not need this. + format: int32 + type: integer + name: + description: |- + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each + named port in a pod must have a unique name. Name for the port that can be + referred to by services. + type: string + protocol: + default: TCP + description: |- + Protocol for port. Must be UDP, TCP, or SCTP. + Defaults to "TCP". + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + description: |- + Periodic probe of container service readiness. + Container will be removed from service endpoints if the probe fails. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number + must be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + resizePolicy: + description: Resources resize policy for the container. + items: + description: ContainerResizePolicy represents resource resize + policy for the container. + properties: + resourceName: + description: |- + Name of the resource to which this resource resize policy applies. + Supported values: cpu, memory. + type: string + restartPolicy: + description: |- + Restart policy to apply when specified resource is resized. + If not specified, it defaults to NotRequired. + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Compute Resources required by this container. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + restartPolicy: + description: |- + RestartPolicy defines the restart behavior of individual containers in a pod. + This field may only be set for init containers, and the only allowed value is "Always". + For non-init containers or when this field is not specified, + the restart behavior is defined by the Pod's restart policy and the container type. + Setting the RestartPolicy as "Always" for the init container will have the following effect: + this init container will be continually restarted on + exit until all regular containers have terminated. Once all regular + containers have completed, all init containers with restartPolicy "Always" + will be shut down. This lifecycle differs from normal init containers and + is often referred to as a "sidecar" container. Although this init + container still starts in the init container sequence, it does not wait + for the container to complete before proceeding to the next init + container. Instead, the next init container starts immediately after this + init container is started, or after any startupProbe has successfully + completed. + type: string + securityContext: + description: |- + SecurityContext defines the security options the container should be run with. + If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + appArmorProfile: + description: |- + appArmorProfile is the AppArmor options to use by this container. If set, this profile + overrides the pod's appArmorProfile. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile loaded on the node that should be used. + The profile must be preconfigured on the node to work. + Must match the loaded name of the profile. + Must be set if and only if type is "Localhost". + type: string + type: + description: |- + type indicates which kind of AppArmor profile will be applied. + Valid options are: + Localhost - a profile pre-loaded on the node. + RuntimeDefault - the container runtime's default profile. + Unconfined - no AppArmor enforcement. + type: string + required: + - type + type: object + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + x-kubernetes-list-type: atomic + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + startupProbe: + description: |- + StartupProbe indicates that the Pod has successfully initialized. + If specified, no other probes are executed until this completes successfully. + If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + when it might take a long time to load data or warm a cache, than during steady-state operation. + This cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number + must be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + stdin: + description: |- + Whether this container should allocate a buffer for stdin in the container runtime. If this + is not set, reads from stdin in the container will always result in EOF. + Default is false. + type: boolean + stdinOnce: + description: |- + Whether the container runtime should close the stdin channel after it has been opened by + a single attach. When stdin is true the stdin stream will remain open across multiple attach + sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + first client attaches to stdin, and then remains open and accepts data until the client disconnects, + at which time stdin is closed and remains closed until the container is restarted. If this + flag is false, a container processes that reads from stdin will never receive an EOF. + Default is false + type: boolean + terminationMessagePath: + description: |- + Optional: Path at which the file to which the container's termination message + will be written is mounted into the container's filesystem. + Message written is intended to be brief final status, such as an assertion failure message. + Will be truncated by the node if greater than 4096 bytes. The total message length across + all containers will be limited to 12kb. + Defaults to /dev/termination-log. + Cannot be updated. + type: string + terminationMessagePolicy: + description: |- + Indicate how the termination message should be populated. File will use the contents of + terminationMessagePath to populate the container status message on both success and failure. + FallbackToLogsOnError will use the last chunk of container log output if the termination + message file is empty and the container exited with an error. + The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + Defaults to File. + Cannot be updated. + type: string + tty: + description: |- + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + Default is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices to be + used by the container. + items: + description: volumeDevice describes a mapping of a raw block + device within a container. + properties: + devicePath: + description: devicePath is the path inside of the container + that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + description: |- + Pod volumes to mount into the container's filesystem. + Cannot be updated. + items: + description: VolumeMount describes a mounting of a Volume + within a container. + properties: + mountPath: + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. + type: string + mountPropagation: + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. + When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified + (which defaults to None). + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. + type: boolean + recursiveReadOnly: + description: |- + RecursiveReadOnly specifies whether read-only mounts should be handled + recursively. + + + If ReadOnly is false, this field has no meaning and must be unspecified. + + + If ReadOnly is true, and this field is set to Disabled, the mount is not made + recursively read-only. If this field is set to IfPossible, the mount is made + recursively read-only, if it is supported by the container runtime. If this + field is set to Enabled, the mount is made recursively read-only if it is + supported by the container runtime, otherwise the pod will not be started and + an error will be generated to indicate the reason. + + + If this field is set to IfPossible or Enabled, MountPropagation must be set to + None (or be unspecified, which defaults to None). + + + If this field is not specified, it is treated as an equivalent of Disabled. + type: string + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + subPathExpr: + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + description: |- + Container's working directory. + If not specified, the container runtime's default will be used, which + might be configured in the container image. + Cannot be updated. + type: string + required: + - name + type: object + type: array + labels: + additionalProperties: + type: string + description: (Optional) Labels to add to the Dragonfly pods. + type: object + memcachedPort: + description: (Optional) Dragonfly memcached port + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + description: (Optional) Dragonfly pod node selector + type: object + podSecurityContext: + description: (Optional) Dragonfly pod security context + properties: + appArmorProfile: + description: |- + appArmorProfile is the AppArmor options to use by the containers in this pod. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile loaded on the node that should be used. + The profile must be preconfigured on the node to work. + Must match the loaded name of the profile. + Must be set if and only if type is "Localhost". + type: string + type: + description: |- + type indicates which kind of AppArmor profile will be applied. + Valid options are: + Localhost - a profile pre-loaded on the node. + RuntimeDefault - the container runtime's default profile. + Unconfined - no AppArmor enforcement. + type: string + required: + - type + type: object + fsGroup: + description: |- + A special supplemental group that applies to all containers in a pod. + Some volume types allow the Kubelet to change the ownership of that volume + to be owned by the pod: + + + 1. The owning GID will be the FSGroup + 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) + 3. The permission bits are OR'd with rw-rw---- + + + If unset, the Kubelet will not modify the ownership and permissions of any volume. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + fsGroupChangePolicy: + description: |- + fsGroupChangePolicy defines behavior of changing ownership and permission of the volume + before being exposed inside Pod. This field will only apply to + volume types which support fsGroup based ownership(and permissions). + It will have no effect on ephemeral volume types such as: secret, configmaps + and emptydir. + Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. + Note that this field cannot be set when spec.os.name is windows. + type: string + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in SecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence + for that container. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in SecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in SecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence + for that container. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to all containers. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in SecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence for that container. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies to + the container. + type: string + role: + description: Role is a SELinux role label that applies to + the container. + type: string + type: + description: Type is a SELinux type label that applies to + the container. + type: string + user: + description: User is a SELinux user label that applies to + the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by the containers in this pod. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + supplementalGroups: + description: |- + A list of groups applied to the first process run in each container, in addition + to the container's primary GID, the fsGroup (if specified), and group memberships + defined in the container image for the uid of the container process. If unspecified, + no additional groups are added to any container. Note that group memberships + defined in the container image for the uid of the container process are still effective, + even if they are not included in this list. + Note that this field cannot be set when spec.os.name is windows. + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + sysctls: + description: |- + Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported + sysctls (by the container runtime) might fail to launch. + Note that this field cannot be set when spec.os.name is windows. + items: + description: Sysctl defines a kernel parameter to be set + properties: + name: + description: Name of a property to set + type: string + value: + description: Value of a property to set + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options within a container's SecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA + credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + priorityClassName: + description: (Optional) Dragonfly pod priority class name + type: string + replicas: + description: Replicas is the total number of Dragonfly instances including + the master + format: int32 + type: integer + resources: + description: |- + (Optional) Dragonfly container resource limits. Any container limits + can be specified. + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + serviceAccountName: + description: (Optional) Dragonfly pod service account name + type: string + serviceSpec: + description: (Optional) Dragonfly Service configuration + properties: + annotations: + additionalProperties: + type: string + description: (Optional) Dragonfly Service Annotations + type: object + labels: + additionalProperties: + type: string + description: (Optional) Dragonfly Service Labels + type: object + name: + description: (Optional) Dragonfly Service name + type: string + nodePort: + description: (Optional) Dragonfly Service nodePort + format: int32 + type: integer + type: + description: (Optional) Dragonfly Service type + type: string + type: object + skipFSGroup: + description: (Optional) Skip Assigning FileSystem Group. Required + for platforms such as Openshift that require IDs to not be set, + as it injects a fixed randomized ID per namespace into all pods. + type: boolean + snapshot: + description: (Optional) Dragonfly Snapshot configuration + properties: + cron: + description: (Optional) Dragonfly snapshot schedule + type: string + dir: + description: |- + (Optional) The path to the snapshot directory + This can also be an S3 URI with the prefix `s3://` when + using S3 as the snapshot backend + type: string + persistentVolumeClaimSpec: + description: (Optional) Dragonfly PVC spec + properties: + accessModes: + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + description: |- + dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, + and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. + If the namespace is specified, then dataSourceRef will not be copied to dataSource. + properties: + apiGroup: + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the dataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, when namespace isn't specified in dataSourceRef, + both fields (dataSource and dataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + When namespace is specified in dataSourceRef, + dataSource isn't set to the same value and must be empty. + There are three important differences between dataSource and dataSourceRef: + * While dataSource only allows two specific types of objects, dataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While dataSource ignores disallowed values (dropping them), dataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + * While dataSource only allows local objects, dataSourceRef allows objects + in any namespaces. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. + (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + properties: + apiGroup: + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + namespace: + description: |- + Namespace is the namespace of resource being referenced + Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. + (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + type: string + required: + - kind + - name + type: object + resources: + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + type: string + volumeAttributesClassName: + description: |- + volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. + If specified, the CSI driver will create or update the volume with the attributes defined + in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, + it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass + will be applied to the claim but it's not allowed to reset this field to empty string once it is set. + If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass + will be set by the persistentvolume controller if it exists. + If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be + set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource + exists. + More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ + (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + type: string + volumeMode: + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + type: object + tlsSecretRef: + description: |- + (Optional) Dragonfly TLS secret to used for TLS + Connections to Dragonfly. Dragonfly instance must + have access to this secret and be in the same namespace + properties: + name: + description: name is unique within a namespace to reference a + secret resource. + type: string + namespace: + description: namespace defines the space within which the secret + name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + tolerations: + description: (Optional) Dragonfly pod tolerations + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + topologySpreadConstraints: + description: (Optional) Dragonfly pod topologySpreadConstraints + items: + description: TopologySpreadConstraint specifies how to spread matching + pods among the given topology. + properties: + labelSelector: + description: |- + LabelSelector is used to find matching pods. + Pods that match this label selector are counted to determine the number of pods + in their corresponding topology domain. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: |- + MatchLabelKeys is a set of pod label keys to select the pods over which + spreading will be calculated. The keys are used to lookup values from the + incoming pod labels, those key-value labels are ANDed with labelSelector + to select the group of existing pods over which spreading will be calculated + for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + MatchLabelKeys cannot be set when LabelSelector isn't set. + Keys that don't exist in the incoming pod labels will + be ignored. A null or empty list means only match against labelSelector. + + + This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + description: |- + MaxSkew describes the degree to which pods may be unevenly distributed. + When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference + between the number of matching pods in the target topology and the global minimum. + The global minimum is the minimum number of matching pods in an eligible domain + or zero if the number of eligible domains is less than MinDomains. + For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + labelSelector spread as 2/2/1: + In this case, the global minimum is 1. + | zone1 | zone2 | zone3 | + | P P | P P | P | + - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; + scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) + violate MaxSkew(1). + - if MaxSkew is 2, incoming pod can be scheduled onto any zone. + When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence + to topologies that satisfy it. + It's a required field. Default value is 1 and 0 is not allowed. + format: int32 + type: integer + minDomains: + description: |- + MinDomains indicates a minimum number of eligible domains. + When the number of eligible domains with matching topology keys is less than minDomains, + Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. + And when the number of eligible domains with matching topology keys equals or greater than minDomains, + this value has no effect on scheduling. + As a result, when the number of eligible domains is less than minDomains, + scheduler won't schedule more than maxSkew Pods to those domains. + If value is nil, the constraint behaves as if MinDomains is equal to 1. + Valid values are integers greater than 0. + When value is not nil, WhenUnsatisfiable must be DoNotSchedule. + + + For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same + labelSelector spread as 2/2/2: + | zone1 | zone2 | zone3 | + | P P | P P | P P | + The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. + In this situation, new pod with the same labelSelector cannot be scheduled, + because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, + it will violate MaxSkew. + format: int32 + type: integer + nodeAffinityPolicy: + description: |- + NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector + when calculating pod topology spread skew. Options are: + - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. + - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. + + + If this value is nil, the behavior is equivalent to the Honor policy. + This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + type: string + nodeTaintsPolicy: + description: |- + NodeTaintsPolicy indicates how we will treat node taints when calculating + pod topology spread skew. Options are: + - Honor: nodes without taints, along with tainted nodes for which the incoming pod + has a toleration, are included. + - Ignore: node taints are ignored. All nodes are included. + + + If this value is nil, the behavior is equivalent to the Ignore policy. + This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + type: string + topologyKey: + description: |- + TopologyKey is the key of node labels. Nodes that have a label with this key + and identical values are considered to be in the same topology. + We consider each as a "bucket", and try to put balanced number + of pods into each bucket. + We define a domain as a particular instance of a topology. + Also, we define an eligible domain as a domain whose nodes meet the requirements of + nodeAffinityPolicy and nodeTaintsPolicy. + e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. + And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. + It's a required field. + type: string + whenUnsatisfiable: + description: |- + WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy + the spread constraint. + - DoNotSchedule (default) tells the scheduler not to schedule it. + - ScheduleAnyway tells the scheduler to schedule the pod in any location, + but giving higher precedence to topologies that would help reduce the + skew. + A constraint is considered "Unsatisfiable" for an incoming pod + if and only if every possible node assignment for that pod would violate + "MaxSkew" on some topology. + For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + labelSelector spread as 3/1/1: + | zone1 | zone2 | zone3 | + | P P P | P | P | + If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled + to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies + MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler + won't make it *more* imbalanced. + It's a required field. + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + type: object + status: + description: DragonflyStatus defines the observed state of Dragonfly + properties: + isRollingUpdate: + description: IsRollingUpdate is true if the Dragonfly instance is + being updated + type: boolean + phase: + description: |- + Status of the Dragonfly Instance + It can be one of the following: + - "ready": The Dragonfly instance is ready to serve requests + - "configuring-replication": The controller is updating the master of the Dragonfly instance + - "resources-created": The Dragonfly instance resources were created but not yet configured + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} \ No newline at end of file diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/deployment.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/deployment.yaml new file mode 100644 index 0000000..188abec --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/deployment.yaml @@ -0,0 +1,99 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "dragonfly-operator.fullname" . }} + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + app.kubernetes.io/component: controller + control-plane: controller-manager + namespace: {{ .Release.Namespace | quote }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "dragonfly-operator.selectorLabels" . | nindent 6 }} + control-plane: controller-manager + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "dragonfly-operator.labels" . | nindent 8 }} + control-plane: controller-manager + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "dragonfly-operator.serviceAccountName" . }} + terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=0 + image: "{{ .Values.rbacProxy.image.repository }}:{{ .Values.rbacProxy.image.tag }}" + imagePullPolicy: {{ .Values.rbacProxy.image.pullPolicy }} + name: kube-rbac-proxy + securityContext: + {{- toYaml .Values.rbacProxy.securityContext | nindent 12 }} + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: + {{- toYaml .Values.rbacProxy.resources | nindent 12 }} + + - name: manager + args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + command: + - /manager + securityContext: + {{- toYaml .Values.manager.securityContext | nindent 12 }} + image: "{{ .Values.manager.image.repository }}:{{ .Values.manager.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.manager.image.pullPolicy }} + livenessProbe: + {{- toYaml .Values.manager.livenessProbe | nindent 12 }} + readinessProbe: + {{- toYaml .Values.manager.readinessProbe | nindent 12 }} + ports: + - containerPort: 8080 + name: metrics + protocol: TCP + resources: + {{- toYaml .Values.manager.resources | nindent 12 }} + {{- with .Values.manager.volumeMounts }} + volumeMounts: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.manager.volumes }} + volumes: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.manager.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.manager.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.manager.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.manager.topologySpreadConstraints }} + topologySpreadConstraints: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/grafanadashboards.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/grafanadashboards.yaml new file mode 100644 index 0000000..2668794 --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/grafanadashboards.yaml @@ -0,0 +1,47 @@ +{{ if .Values.grafanaDashboard.enabled -}} +{{- $files := .Files.Glob "dashboards/*.json" }} +{{- if $files }} +--- +apiVersion: v1 +kind: ConfigMapList +items: +{{- range $path, $fileContents := $files }} +{{- $dashboardName := regexReplaceAll "(^.*/)(.*)\\.json$" $path "${2}" | lower }} +- apiVersion: v1 + kind: ConfigMap + metadata: + annotations: + {{ $.Values.grafanaDashboard.annotations.name }}: {{ $.Values.grafanaDashboard.folder }} + labels: + {{ $.Values.grafanaDashboard.labels.name }}: {{ $dashboardName }} + {{- include "dragonfly-operator.labels" $ | nindent 6 }} + app.kubernetes.io/component: dashboard + name: {{ printf "dashboard-dragonfly-operator-%s" $dashboardName | trunc 63 | trimSuffix "-" }} + data: + {{ $dashboardName }}.json: |- +{{ $.Files.Get $path | indent 6}} +{{- end }} +{{ if $.Values.grafanaDashboard.grafanaOperator.enabled -}} +{{- range $path, $fileContents := $files }} +{{- $dashboardName := regexReplaceAll "(^.*/)(.*)\\.json$" $path "${2}" | lower }} +--- +apiVersion: grafana.integreatly.org/v1beta1 +kind: GrafanaDashboard +metadata: + labels: + {{- include "dragonfly-operator.labels" $ | nindent 4 }} + app.kubernetes.io/component: dashboard + name: {{ printf "dragonfly-operator-%s" $dashboardName | trunc 63 | trimSuffix "-" }} +spec: + allowCrossNamespaceImport: {{ $.Values.grafanaDashboard.grafanaOperator.allowCrossNamespaceImport }} + folder: {{ $.Values.grafanaDashboard.folder }} + instanceSelector: + matchLabels: + {{- toYaml $.Values.grafanaDashboard.grafanaOperator.matchLabels | nindent 6 }} + configMapRef: + name: {{ printf "dashboard-dragonfly-operator-%s" $dashboardName | trunc 63 | trimSuffix "-" }} + key: {{ $dashboardName }}.json +{{- end }} +{{- end }} +{{- end }} +{{- end }} diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/rolebindings.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/rolebindings.yaml new file mode 100644 index 0000000..5cd5854 --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/rolebindings.yaml @@ -0,0 +1,16 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "dragonfly-operator.fullname" . }}-leader-election-rolebinding + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + namespace: {{ .Release.Namespace | quote }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "dragonfly-operator.fullname" . }}-leader-election-role +subjects: + - kind: ServiceAccount + name: {{ include "dragonfly-operator.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} \ No newline at end of file diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/roles.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/roles.yaml new file mode 100644 index 0000000..c4e8c7d --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/roles.yaml @@ -0,0 +1,42 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "dragonfly-operator.fullname" . }}-leader-election-role + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + namespace: {{ .Release.Namespace | quote }} +rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/service.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/service.yaml new file mode 100644 index 0000000..9d177d1 --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/service.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "dragonfly-operator.fullname" . }}-controller-manager-metrics-service + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + app.kubernetes.io/component: kube-rbac-proxy +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: https + protocol: TCP + name: https + - port: {{ .Values.service.metricsPort }} + targetPort: metrics + protocol: TCP + name: metrics + selector: + {{- include "dragonfly-operator.selectorLabels" . | nindent 4 }} + control-plane: controller-manager diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/serviceaccount.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/serviceaccount.yaml new file mode 100644 index 0000000..c364d9a --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/serviceaccount.yaml @@ -0,0 +1,15 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "dragonfly-operator.serviceAccountName" . }} + namespace: {{.Release.Namespace | quote}} + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automount }} +{{- end }} \ No newline at end of file diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/servicemonitor.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/servicemonitor.yaml new file mode 100644 index 0000000..d7e8827 --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/servicemonitor.yaml @@ -0,0 +1,40 @@ +{{- if .Values.serviceMonitor.enabled }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + app.kubernetes.io/component: controller-manager-metrics + {{- if .Values.serviceMonitor.labels }} + {{- toYaml .Values.serviceMonitor.labels | nindent 4}} + {{- end }} + name: {{ include "dragonfly-operator.fullname" . }}-controller-manager-metrics +spec: + endpoints: + - targetPort: {{ .Values.service.metricsPort }} + {{- if .Values.serviceMonitor.interval }} + interval: {{ .Values.serviceMonitor.interval }} + {{- end }} + {{- if .Values.serviceMonitor.telemetryPath }} + path: {{ .Values.serviceMonitor.path }} + {{- end }} + {{- if .Values.serviceMonitor.timeout }} + scrapeTimeout: {{ .Values.serviceMonitor.timeout }} + {{- end }} + {{- if .Values.serviceMonitor.relabelings }} + relabelings: + {{- toYaml .Values.serviceMonitor.relabelings | nindent 4 }} + {{- end }} + {{- if .Values.serviceMonitor.metricRelabelings }} + metricRelabelings: + {{- toYaml .Values.serviceMonitor.metricRelabelings | nindent 4 }} + {{- end }} + jobLabel: {{ template "dragonfly-operator.fullname" . }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + {{- include "dragonfly-operator.selectorLabels" . | nindent 6 }} +{{- end }} diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/tests/test-connection.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/tests/test-connection.yaml new file mode 100644 index 0000000..5eb150d --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/templates/tests/test-connection.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "dragonfly-operator.fullname" . }}-test-connection" + labels: + {{- include "dragonfly-operator.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['{{ include "dragonfly-operator.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/values.yaml b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/values.yaml new file mode 100644 index 0000000..42fa7d3 --- /dev/null +++ b/helm-repo/dragonfly-operator/dragonfly-operator-v1.1.10-bagl/values.yaml @@ -0,0 +1,170 @@ +# Default values for dragonfly-operator. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +## Custom resource configuration +crds: + # -- Install and upgrade CRDs + install: true + # -- Keep CRDs on chart uninstall + keep: true + +nameOverride: "" +fullnameOverride: "" + +# -- Additional labels to add to all resources +additionalLabels: {} + # app: dragonfly-operator + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Automatically mount a ServiceAccount's API credentials? + automount: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: dragonfly-operator-controller-manager + +podAnnotations: + kubectl.kubernetes.io/default-container: manager + +podLabels: {} + +podSecurityContext: + runAsNonRoot: true + +service: + type: ClusterIP + port: 8443 + metricsPort: 8080 + +terminationGracePeriodSeconds: 10 + +rbacProxy: + image: + repository: quay.io/brancz/kube-rbac-proxy + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: v0.13.1 + + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 10m + memory: 64Mi + + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + +manager: + image: + repository: docker.dragonflydb.io/dragonflydb/operator + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + + + resources: {} +# limits: +# cpu: 500m +# memory: 128Mi +# requests: +# cpu: 10m +# memory: 64Mi + + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + + nodeSelector: {} + + tolerations: [] + + + # -- Assign custom [TopologySpreadConstraints] rules to the application controller + # @default -- `[]` (defaults to global.topologySpreadConstraints) + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment + topologySpreadConstraints: [] + # - maxSkew: 1 + # topologyKey: topology.kubernetes.io/zone + # whenUnsatisfiable: DoNotSchedule + affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: kubernetes.io/arch +# operator: In +# values: +# - amd64 +# - arm64 +# - ppc64le +# - s390x +# - key: kubernetes.io/os +# operator: In +# values: +# - linux + +serviceMonitor: + # When set true then use a ServiceMonitor to configure scraping + enabled: false + # Set how frequently Prometheus should scrape + interval: 30s + # Set path to cloudwatch-exporter telemtery-path + path: /metrics + # Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator + labels: {} + # Set timeout for scrape + timeout: 10s + # Set relabelings for the ServiceMonitor, use to apply to samples before scraping + relabelings: [] + # Set metricRelabelings for the ServiceMonitor, use to apply to samples for ingestion + metricRelabelings: [] + # Example - note the Kubernetes convention of camelCase instead of Prometheus' snake_case + # metricRelabelings: + # - sourceLabels: [dbinstance_identifier] + # action: replace + # replacement: mydbname + # targetLabel: dbname + +grafanaDashboard: + enabled: false + folder: database + # -- Grafana dashboard configmap annotations. + annotations: + name: grafana_folder + # -- Grafana dashboard configmap labels + labels: + name: grafana_dashboard + grafanaOperator: + enabled: false + allowCrossNamespaceImport: true + # -- Selected labels for Grafana instance + matchLabels: + dashboards: grafana diff --git a/helm-repo/fluent-bit/fluent-bit-0.20.11.tgz b/helm-repo/fluent-bit/fluent-bit-0.20.11.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a31e78042d1b21d3b0e07aac163b97fe3fef6be4 GIT binary patch literal 12777 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 literal 0 HcmV?d00001 diff --git a/helm-repo/kube-prometheus-stack/kube-prometheus-stack-70.3.0.tgz b/helm-repo/kube-prometheus-stack/kube-prometheus-stack-70.3.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..036ec841ab16291e346bd0c4f02c47966fde7971 GIT binary patch literal 793280 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�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

B){A`WN4^aLPnBWm=q1`0+)g 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%0AevCFP`I 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

Y5=`WElBS67c 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

;qX+&*)VS=Za93{MfP=ihFZ(s3hJh`? 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

rlJh^E0QTXYMX}nr87e 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%0A;_ev4u_D-f@?zxRc!J_*Yt1f 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\Ge z!5E*AHeGfLNcvxu4-g1LXOW?gUIm6pngW6>FA`kx>EQgek}w!ahE&Ru*S`eUJ705^ z%kO3PcuU{#%s0q)Cb{T?^#V#{?}EZLkOhOtNlYORg}UZ;3l4ccozfSsar!BDw6X>+ z2UBMcv@r;l^_J@LM4Peqq8ph7RaKGh^Jsn*Z5ruGmZ^ z23*PyJXkOa2n>^)E&Lhi_fE2QI8bEw+Wj?s-BXe9QABy2bKpHNo>z|ov5yy@W2b#G z0Zguk7&6FAy^5Xli;gGMpL$KB|`|gtd*{~ArXXE+AnrCtz;!hdaPa*eS)}b)Xm-N(8 zDbrC6&Yjq0g40$=9m7jiOr^lrx?<;=58Z?qgXq{;5+K&4xY#jU{xipN@{vWptvh8+ zDl(<=n!D8%L^tUq3)x?xdv?ck^O;huQ$Lkc)VL20o(%^sH8rBNe4YYWk6?S4P1u}ftPQ%lhyASYSDVm|ZltkyOz<+9|vm_2X>O0aSGjS}{5#FjZJd6p(R zysH<8ZbGI#c`C2+owH;x0M5K{x>#|+exwpnRF=KjrofsuXDykT9ol^tzw0$!s=M?2 z^HlmsOBGl+b-Ngkk&nhWjp7=Zh$VnML8k}v(rUWkE|jy|ZhWNAjhDCU0M1v6EE{jB zqq>nGB=Y%Mb;wTSQn{v)b5P2+$Ya&h)j-yV;GUeuCE`?7?Zv+`&injdzh0$|kk(eH zqL%cmAV&+6)2si;8Dqzt&@31$7_;CGJUlr)X|5!fyz}PFnGfExrEifWJj!k z&g1BU_LEFlu@g9vyx*Q=l|UxBBG8|iD*YS8ilh7dB-glbQxMn`xUb#pXrkoOQ@u7S z^`+Vj>am7f;^}^#5}Fp)$VSe8-pKNiLx~95;@UVR!s|?y`cKcXjn>>>E74#J{%(F) zOx3%Um5n_ngE``wDjfK|XLym+jAFYdxe%)o2xoES8f9<|5;6-3g2v)1qzeI3LkanB z74m!NhO7}QEX$;N_jY|W6cUad9hmW|6kO@VzRA1TcSUss$h3!dv0Ak4<~yOtIg)if z>ZZ#ea(w-R)rerE|MM5^QIt}dlWZ?{P<(jrr`G-So2oabwg#I3JD{CRXi^?2VAj+c zmR_4_bvV7?w49VEBu;0?Vf%O(X3>j3! zgQ9(aocajbUTmzx=e^Ka1UGr9s6wo%e^n=PDTEuF&*4Z>4OtC5+3hnA%5;Gw< zK-w&aAhS*Mo>Vi{JLD3~h|JBH$PFgIblNA#yiE5v4rIXmXCSB;YPH}d+_Mv^9u_+q z{(O@QM=)jyltj^)Oc{`E8jVkT3Z7r@LBZ=@_&fqy|K}>jQ*D!LP)nXKaZsu03G%akybAr~ zz01e~&vE8!ASyTO;lhg39T(c(tO~vA?*-qPxy)|*{{f#gOWRIVU76DTfAX}N2ko6A z7SgGJAXVkD%{Zam<4Lg@VjRg8`6%^;VvIIk96{^G-oPN|%6LR(yHeOqg%F1T>{oUv zp?Co|plKVRsB*i^CAR=9aN1II3K*$lUSGt>M}BUsXc`$qpRZm*qNk=|C0A4^B!Sqp z%VFJ&rXzYalp|x&UFqQjSQbT+uK=2J;DEOxXS0d8?)edBCU}EmEfZZa#zCfL3a2J> z^^JjG8h4(=qQA49DY8kFgwsJJ)apN#AK_gRx6}dR{3YdyP0sL+MePs4kLu(PcmO-w z2fIls2$UAP?Yb4+_Wo-X)WvwTLG`9#0!ui$6bq8Pss9-p9?Lv6=6H8j9xi)C@3Q(# zJ2?py+d=Mn=5JGFKL)=omQ$`odQ~y~ z)>!hl6tiL+JWFC6H6UXzAG|*It8pRj6Hq_+>ho6LU1S0UA{0_ z^>H`ZL2ZoqBui!8`c2XX@TLQ6yz|P8+?zIo=6~lc|BrL}ZV=)5g1^Di=x9OFB;42~ zEc=x8-}abhIVg0a>$~4k8874R?H=OshlhKXg{Re;U(HpJ8-CsEKy5{i;7tP^gT{Ni zbd28bh{CI;mW8HIGtf5YW}Z;jz<+{z1hP7l&(CJZVloQM92)8Ujo8YbvJ}}%QiDG$ zT8h+NDV<~xbW1?$S)&o9Isqaw~9l3M=8{fx)AVDGY1a%47H|E2a`@l zF`%P+J{DzlIK*em>_s7R{dus@w39IW5i#WW8M7g?I_YjtS567G+b4s@Q0|5NyLqbt zP=!}Ctq&>~SN*0o?bPzqKZzhF7k%SxrgA+VwRljhTB1lxmML@QTFFGiG?kSr3u^${ z&7I0kwgR6Sv&iAIU(HROw;x7+hmtTZVHNJfn<=MDl7i0LJ1N)s=8o!cx$b5^EBP$= zxcea7?UywMbLe0Xudp`4Ac{Je8RKZf7Gdz48nbJGw6%CpK=g+nBXfo&#SiJKJJAU@ zp~gtG5n_@(My`ERMYj{mP`CP&r3FsnXqN;jPCZMwA%ymZr(&jar7xji`{rWy){tg( z#@hJPSBB?%iIc!G)${n;jX-_8mwMOaiU@%*(^FjKrS;@JdOg$Fo#bg8QZSJSV7MiD z5IL7j;vbUxV6VmN>1q#AY9-nncK9qGf8MbFy+HgyQ`b3-=O}G@zLh{3CI>)=y6{9! zTh4R%sB6*Duy9!Cevl);Pj?Sq7t%jf0Lh(0KPg?p2%gMOC#zuvR@>8_#atlf{>F8I z-c4lYw1e*X9!i9Ky4_dJiUQ)xx+a#r=TvYEun_Aks^UTI9mL!0GmY4d-`R_ro2Dy$f089>CoUfd9{f&#t z$j|5NZ-`o9sH03dwx#xI_fv*7e9za91K8GYCj8juddl6lTS;ti(~)osrX|W zc(c1b%0qSeMWMILaAdpK@3rqCHdh!I zzMgH3(F?u*qTLa=3%HcbgWFBt5SmLc6vSnan#uZlid0UpJkZ3*B2Re$A6Rrg@Bm|? z9DTol;t1qavV?!~irC=4Er4Nx(cvaTuG!nf?E_rD=rAF=y3ZovlW(p-LX8q!UH_o* zh1U3FdA(9v;0vwFZQ>To{Gm^j%o zm`jioD9-=-&J{xmjb(txv)kKKW@E@)8G0T;(G2juY;P|S%vAn*JJ-1~W!kXZZt(y- zJ^C=?HV>40Hx4`S$ZeEcAFyVR+Eo*Nbq`%lkv#PezGJZ)Doptc*uW!(GK;EuH5ns& z$yx5^S-6?W=q3CpZDh$IS&4{FOQ>Cih351s#w=D-As+Xm^Db`R!VhpH-H_vIO-l2q zb?NI1&^s*km^?k8K&;1%58pPeSKV_`P|1Qu=e@NX)I|N`6P>z@x)?4y<(QE%X(%E2 z-ru&^E6uK_-rjvOFHdeEe`Qf<-j_1tP1gRPvnAa%?HQ2V5mVG4bCr-OINOsT!Z>A& zEo~&dew|t3E#KV4B#*aJI^&GJvlANH(Hpd;V%fsiid6{Kie(_qIpQ&=gLJ;XK`heV z=PnUvIgf|UY?>*ZMa!&d)veDR8r_H_n<>u0fnye`g|$_- z+71`nCnkOFAY0w)9yB(5i0WZz$Un;__HPPimdkK-aB_BXZ5z@DZCYzmf_0{|;5x}$ z9tSs8VvfM=KPx{fPLi<6h|#!GihIZgt!MO|wL6h1nPbwPXYTFc(Iq)NeQaF1L6Jqf zYz-)vHAoYwB?_dYI)d0Q{T0sazS)qJ8dDo?agm>w0Ev`YmxpAEx7sm?b z(v5=rzc`dI__7QMjr)Y(-bD;dif$6CFy=I5fw2o+z2@&SB;&*Nmx+9_C74F32V)-h zz#;;*B?Q5g+whC$|h?2!>>vzc5A`MJ5JD(J2Vm7Y@z(GuZLS>a*>yKN&pd{pMy z*)jS2zD2Vvggv55Yzj;&Ou-2S>X4%EJv#%6dV%7+-MLpAs{>V<{}pb#gb<>t&OHq$ z0>mgeZ)AxnS?=bu(3_qYWBWL5&A;_QGg;l?fl>S&G&h|NK#^Pn3dZ#5ELc@unJMd5&>--r^;&oBlXv?jagD?#FQhvLF3HHc8sTvVp=#>P zyKK|zh;#>rOq2Chq^Jdekq_=0BOaZz6YiYS^;C}>t3H0EvoV~-V{|McF`4Gq3htwp z{G`uqP;lL0p>8ln>}B=$n7ajwqg79y-oq+C4Gq1FEGJQ)rbtT#np1`-!4XgeN9HeT>}q+aW#*9~5&?%sj_xydD|4C6*P4$m5i zxj()&*o|h{qtrbM4Sdw9-#)1*9X_Rop%gyF(%G>lXL|&w;0J$>%fU$s*i zGll9p)6SCuXdj70U!+&2%g7BT9*NXF^EhpLu{1gc zI!hj~mht#a_~+LA8*YXo)4wM+E#FDJfVA{E))D?9$d%5LMP|EFrN1&8<8o+!c@<7U zU2~BX^x%sES&D1kR}C2#<)^D4TSvw<${<|AL>=}RO(ecX&m2HQVLUB6p`k!&^%O)P zQ7k7R0ZLaX-sWj)C{y83w~Dt#(ix*!6MlRYQ@a%d8JP+KhQ(Y0U58m%Z%I!<@#o*a zi!;QsU}+=xj@aU9Pf+;g5*|snCuP4Cz_;%v8Xw!YLn4H^f>B!$YW(4z;`^+`Sc>;X z73KBNFB{29`P`^)%}~-Br4mLQ@GnR>1-yl`)$bnob)m92K zoFm!W8*(}yB$a55q}s!aO^eN!(Xce`0>dU1mJx6V5ZIla@;h%hr^_!G%_xan+0D1{ zSyIWmnqYo4D7U--3}}Plg-2?eyoS@WyFt*9Zw)pwBfDeKE_y-iESP2I7O%spawbN> zOlHG4s*N-b^GZ-ILd?f_*W+$)1o5)BTT`{Qo{2! zhRmov#cd(wirNMi{C3yaTsoAC%5Y)YzB*lFlYhV}V~Yy!wkxf-JD5=J&TN6Y8KrH! z^}j!961c=M8vTtor4=rZ(6n1Qym)Urc`UoY2p4|A_4nV?P6hQzL;ByV*udiu0TWzT zBlJv8rhY}=*FkyYV(|3H6?0w^ysf6;iVCf^E<^+-GZ#uq0P9Znlz@%>r9ecxpnSM9 zI?`uH`}hvvVevu47%k@etDG*X$7xy(q1(vB4WQt-a7iobU(Vw<=nyq7&>l(aQ12O8 zFh__zx8xGis)#GZytdT5!6hRlS<-&)P@ed`sX`Mlzl67gu?EbsN3Nyj*-AyY5O-QV zc>g3TH5s&pp*n{*!p);&nIp@57O=?D#>WUD`8|KLq7+#SKf4A!Rw$1e`3QgG!mZFY zpmvv<^vxfc4@-R>EsagNa=uG#?5OT}^KzR)4kWA*5>PvyJaKeh>QVo4z^sp}Auzqm zvNIsrxkcCJ{*Y~Loq2iHz*CO6?2!b`biYQCc1wTvR4lS27CS%)lhW2p46x7Iv`|u}qqa^Idqa^S3`Wbr{gsxa%{a#YB z1Rwwrd1whYa@!5-5>JK+ZTe_bQ6N*tJsyQpnk>+R>HsZYE9b!8{wA~Fps4O3VO3hi zXFZ<%trEIe==2}`H<;^4)&=eV%05xE)z>$QaPoWhBik4vf2ue%7mDrv-k|f&`tmb9 zmHA>HPIhK@wg^o{GJku#lguwT{}0s1!Eu=0#9Z2cfGHC1;gU=Qf}SEnCcG@VuAW?a z8R8OtE%$OxL7$v);LsH*aV#^+w8L9hgioVRg=+$oVv#A)d<5mkG`VrKb19s_wa;Yrq>^2BoIcbk_@xK1+KP8qX0h+%wg%C*J+6cNs3! zqR}$vFNkEm2^`Ji807cb5te;F_x{k6vc>z^PJW$fi{{rapnDp2-kd9p^wrB;@SJ^0 zJ)>k=;+g-cGc))hvk(>pEK7>qA0=ZxNTo#lZ=%iPCo%D&E$`>wTzASZqQ#l-s`oZd z6gp}m95|fI|LpX1hB~Pgvou(b&&WOa-+=9(U)~dp8prh|CsHtlx1=sB)Fiy=yR52p z(djDTLox@7E@DQhd%O%VyrZl1FGCC?mVg0x0)A`2#h~yQY7d40+ixqd*90Dd2(mRWc$j0)<=v^c*4L z=5CpL4{`B75*7IsS|F!h*}d%CQQBUjDPSD3Yq)iCN`Av~tpmvab;bGOr3Z=Ub(G9) z&a@FnF)C9&nh@3QgvJ&vY|s67V%#V|OlF%Aq5rUY6S;WcK-yq!+^=ITM5*(zM^OJB z<}OP(AhICnA7zOY-&ZbiEF|VS2Ou6ejw@U)>6)Jig{ST_M|K{qthAt`6K2{0!NsJV zN6rW>bD8c^G_up2y1Qn0&8DR9!b!HWK|#E-R>~RngecIfxvPjXH>V!+?PEEFcgdq* zQl?M#QgWJ$^^y7OB2sSWOY_{LyTi2N_**h4_q8_9?If+?f8?LJS)9A4B=a0qhsyqB(ud0Awe9N1A_<=p=^^Ta+k;Uyvs2c%H&cNj>J|4b8;0g$6&`y3K z0W-yG(D1bQC-dzgBST#kuSJS>hcKK)TdEQj=S`X^H`)IiK=&XanST=nVybJ~Vdro7 zbPIA`vJ|Tu%SShbpCYuPA4#-+H&~L$)_IsWEQ1;B<8e= z9ACi=d_u2c9qFwMI)zKh7Fy?frG3GI5|KUcNx*(#A z{L$Ub@3M*Ex~GOS#=6l-E|_C&0>F!-XnzyT2HRk9GQGfw_85IbhGec5Ub_Qo*0FTi z%GWlUFMEJ3M$b)&APsUcHa>il*cDFe`p9F>87;8?NmVv(vplDSS9rh-ECjYRbld?t zewQmZ#n}Wb%nnsfKI%xc`e~S# z-Q;zVlbmN$ZTR^12dIBF(OMGDxaOX)6!g7e@}1G@E5S6vY%r*%=7of*50Y6|oRe8wD9*%8 zqc)xAh2N6Ob!?6d$8*bx!nOvLA$k!Dg5p5@%scrdMi?;dSW42XoOwE{#4@u*N*@nG z6cOX$c1#xF5;VFLM02-opCj0mx0Vmx<~1=ua1)S5yQe+yeS16-S5-{$4f%rPLp2GJ zFUbx8I;Nl;b^{VkVM??;8|;8Zuh@q`cm?Hq8gf}1D`a$4GmX=xaM@th9Y)bmEHO06 zC*O>4Y$G^u3o7R_jli6DF}XuS7go4)bD?(#XIJ3Eeh6Sw>E=denin8W&Pt$Z4-MWl zVZrQW=0m1}RR?Pe=}mHKA$CW3lZZe9>1lAexyuZHLs0w$J;0f5;oN?c&!bl4EG|TT z`@_iR3BvxV$Xq(O9wL%Dm-!J{^}Ml~5R?VuMwW8XcQnpK&q5%pn*EDotufp_PZIT> zc6f%K;t1uAhpmurAX?RJOe+dY3+Pj@imlZ>Lgry8k(j?f{R`*g&m^tvXi4O_~{BD#5b zuEeQa&>m!Sm#ax*2xUhfL{i0gMe5xp_awhVrd@nOR$D+smwZ)xJX)GPrwGOJ5?eWX zP+)?aXb1~r$ODRCjr>ijjxBhFm@GNun)@Y#5b^eFhx{m!6bo8HXquJ(R0C8&u=)o3 zq(1b>0^BhU!;D06PRUGMTzK z1l+pDy#X*1L9nH^1fHFbe1~T>HWTT<{X`Q9yQ3l&+>mZM5JAjGwI@-QgQw%{)fs-Y zQX@nz!;36U(YuCYt$h4~94);Ui~C~uW>5}ew=0^{@bqaO{qtaXK1#hUq(O4c`}&No z21VZ1(H$?fj&0)z?&r}OZ96LjpQLh4zkZ1TIhvRZi*l9$(zSyP#uZu^ByP7s)2N8q zEbFcrBkvq*UCY(<_#IE6Ldfy~$^S%HD*F|3e+0C7MxG!$R#xI(wi!nnIpwqLpDvlp z5g5HpjN#j7&-6$=cdLcKbycw|tiK65awzHg{wWD>`Pna>=1vrj#=G?EU%pi6NYsNc z`qs5%+Fu3k&pGFcoeTYqQD2;kb`9LJQznk{ei&0cViXUZQ>COfW9*KX{kf}BALoz3 z#)a*X=6<(*Xa4*0?{zj5CU#v-E$#WT{Kf+FlD_KMnTrPOqOyx$F6Y=!lls8L)NR^K zLrQ~%FXdXyY$P3FV$E6G9?Rm@;AW6+K7SWUUwDB-l<2d}f*f1%+A8t(ewG>dEhyxh zxhI3g7qJOaVb}Nq&A7f#{OK&rG*Cz5u1%Te-`a;)ZSwxO5+ZBEB3#nZxCm+X|F<1+ zYT#P}F{}grQIZ4f$tu<&Q_tUsk5+x9hU-3k4wIJu#ZQua2bKNS%0s(* z-(%CqQ8mCs#V6K9D?ii)8j|)*r3hpqBR4P+WeR98GYxpBFgg_wxNSR=Ze9zJ8rd_Y zcq&o`rskK5(7>X!Z9Qqaku#O0a2|N9IM{N1ZpVAGJw@dl5Sb#YSWW;6EFn3)9v}zJ zaATAfZPVO6Y3u=Are$pra|~|{vDMAB-MV>kmT`)HVcN<#{&o8OO6C98pe22=#s?`= ze_10`J(3=#6DA97QXa2jO}F|-KHAolOKsrS>IQEN>m;7Fg87l4LvOW$`=T&(}z zaNNimbx=Uuc0=b+p}mwXQ;(E;N2W{>sED`1u#t>>&K_$~sNXWxvaq{v1XD&?5A!s) zR2zZy%%^RWUsDL!FgL}_JFa(cOE#P&QfZk1 z{|6WM61`mu`I?bMuK$?Fxgmt{^!`5z>w>Qd#Bmt-|9&P&C?En7N6t}>(S1s8j7=B~ zf`e@^LQ+!Tl#-Th#6}&l!3dRSy;Tw^WFYmr5j-YN_{g%#@?Sg40ywvSp(ue#n z-1MTh0U(zAexmcYp39{>5adbJcfF-ttw?UyLEYJzftDmf=G_cm&C*7h(nYzCg}Bmq zUbU>_CD$g)zgJP6FDaj^I|-LK3#_H9XXwWbE#)*&#HYk>f66!21F(uiP`^1_i$qyn zBVAyZC1ORobGEOHL!+DLsY#q(Zbt&vZXuE651m*3a>knIfzy{|Z2g~Skdnb2vg(}y z;6S0t?;HYB(PS@rcjDK?PW95h-uDI5=HEL9fjk2b-36r4BR@&AKg{#%8rDL?bJZMI z&w6tLA`w|m_prF7r-Bao`ptT*cwq&ANy|`}MdFEro?sMDq0CZQ9dURMXD%@*onfXR zO*7JNtktI>;zZQyW-v6ffGAHjhL4UeU=-+ShHRag(4jGB$`*$_IveDtyex@-=HB1F ztxp0Z3d47)j41wkmSRLn-L>)kKRJAJ^pSPi`$<0|s7VQe`;K&-I@gaSYKH7R`}%Dh z745h)#U`1RNzce^44~pnr>M6;J7)>Px6fs@ZEtlZ8?gOlLZqr|>%2!4N;lO|hhigaTA{qvmHcg}F~slr=F9!Hs2`GN^c2KG|WJJId_1W^IP}v|rg=wxUW8*Rl-| zaSafbWmD2(aS#=s*n>1lFu10K#*UAmq1(?IMX7;MT)Zf_7j|z`HYuVo7m93doQl5{ zr;w1HeV>6?%@x*Xk9OqBqjYX_NHr_Wg)t?g#Fq?SAg)QXQ>QQ0PP#(fAhbQVJ@~h! zm&v{@?j+{c94SWbq*oJ$nsGOSOT%xNIWZ)wKn#V1D@d4BO$uUhasp3iuPTYllX`$` z-|e@91}b~`D1y)>hPZenMWsEf<325M&|-J)zE`0#yQW!?wn99|M|C~U`YBl}5V}F; z76!lA4DXk+yb$k9<>keXdz3vDo116`K>3Q8|JBb)a21Y44n-ZVujC?1V$>6*tEHt5 zkPd`vVG2LYFOcA9&W2&;dFRvw&Pze%^=kad3*AISK-otfT=7E*^PVJ)6}oel1@kjD zZ?mg?^ttV!aMH6R*6>T``B!frytGx$puBbbXfLP|&Z9LSzL=-!S9T)`25LL8>Nv3v zFWV0$M~HRlOO&5c^$*|en=RUsMAO55Nz%=Hb}64JjjafijWg!~cSWm$Egq64&JyTw z{V865=JfNI!kvD}iz~)b<%EkE;G*j$rrUD<(>3X9oKS9UzF!x2FaFv%0G?ZQeFS|0o@^8Z-nyXoNrDamPdW?3lMN7WflGN6UH>x;!xma)FDTT zQM-ppDDTIErY5Bvi2}b9;K;|KxO)$966Ku_{<|k<9{Uwvln{BvZje|**m>2+M#Q|N z7+BF00o9w4Y-@2n+p}62{o+$P;0N-TMec=EdRW}^(G7Q6(S>bH|Lk+Ydi}*J5@;b! zeBbW#^p_KXaM`Zi5BKn;x)Chy#n+2c%2FyF__9GuF80?)dh%Y$zwNMnFXo&~F5QH* zhmL8Ngr>PGLu$=b=?QV?x;cCf zQ&SgHn{9~Q)HE=X4f(pp*O$;3D8$YO1>|*FI9xGI z#k>fIXOP&eU$-RXBwjs`0v$+!Ueh>qmCHIw@UUp!)WKbkfanI{kAm&8{s6@93e;}T zI-nJ~?}HdW(Tak7j!CGi`xET&{gV$>e^go^Q!o?2&OaM$E`A|80FVCg`WUaxql4Fy ziiF%_^_qF~sfg?D-#i-(#`lM}j{=G1}Rm zo_i_Xmo#KI9tUz3o$;S@5l(R(vVKdaj$wYeD$E2d;Y_BtMZ>XWZ0=#aO@lPxhNI-U zVd6^j_jCQDU`V=`;i|ESez%Fjt%UPDz_9>;IGn*hlA`I9Wq&T%!0UCQGTr5PQZTIO zVwLD=WGNPr5BQ%}sbjsB{XQ{zak@dvmWw+;+q_mHgM~Ostv;08GC-a_rN_tH-Gy=Y zqkPe??gcA)P$I35kN_idMI&o#bMvRqY!a-pVkc9V)C&^*u#hY`;^{h!)kHxd3IJ&x(^94)R7KGYZU*a=kg0(Z8~G&muXb0>Zh9U6+@P|JmhlZqDCeNIrjlwsDX zsaD9UYaVVPWO^eOPju%a0JL#>8%ai$v2#sti~>g;+~yp(qa^QpbV-gVoPG0X@dW z>cn>2j&Y|8lm$RY`7~$QxC|ny6E!Vh4yI@iDD&b6R#&;hduk6)y2ka$1z&r|lv4U& zQ);O)q!ct(UJ2`MCQqxh@$O0)t-IGNn1xd+5hTUC0SQV<@fZZ53L#_H%MJ_s`iDQC2Hn#ZohG>CLyeCD93B!X}G24g6jRXI$5=g zz5%6)g*tAbs#hsGcm!8xARg>%$i?<=?t6p z8r#>Mtp`lSr}gIpCzwe#4vzu<-zFS<=zy$#jN#-TD%(oqiT@Z;x}-c^&?iBWSccwI z)y#*}>0(wanu<|gBdgtSW-nx0Nn1%PQ!|rphZ@`6ICJock(Vtdrl{Jb00pcjN6O?i zDd5J!$L{fKpB$sHcirBQ0v4yB0>4+TBf%cCoC_hhv6UEM`BQ0}!S%1s#6 zI-kZVpSF;e_@*xCRJTY_6S*Lwb@5`?Mi$OVL$tU4M8*SfDI9ao9P`DI)i@~ej^Pnams+h31(y_p9j z*_O#EZ90d9B;WkfxD5Pi_Y;(dpBeG7Tw=bB%eGsu`>y`J!B^)o=0sm+Z^U~l)K-hv zShUNaBM_Y}{&PVMgk1o&cUR8u$CEtkvK&($M+R-oS)2s5ro+HZ$qIe9ZUO%K$NAvt zg3aoy?kiUjx-nH{n1T5d%?-cuh$d$zZAYjdZHBQpX!P)MY8*SSKv8=l{U(N}tkHW- zrOLF*Opc5MSVix^;9J`p#Q7kG$I|c(l*m=JyjZ@xA)I<%ZO~M=jDOnWK!1j}kE5v8 zc*#?HrQH+6eB*Eu4nfiAfFjMXu=1+8G#B&FzCvf&1=44I$_cHr2n6TIVgqgX8hkgO z_LF%)i{WT}$H-N&qqM&clH~3LKNXC2fuZ%quS%;}UmLvwuIenOFCFWJ=V7891YK#SUL>ZoSWYEz+&b+>iUc$}9)p%L0 z)O7|MTo_>YPc>aJGcaB4dgk08MS*P%Su=>Y&IGvRNLs^iu%UVwYc-M&ggU(8uTn6F zWZ4CyGC#|R89Nhq=O}y*C|~)!>MXIN8HEJbu`{V=oof`1k27OQmbe)==16`)Pjyqk z064^=fK|p5apMUN9Szj`5W&5MJ3w@}+!*b*(PG!&s^cGHauOpR* zJ4!A6&cz1Jv1XbG$B?6FHw1zwgfO_(9vZ=)c5C(EzLcPqlaEpJ-&I@OK(eZw{uDqe z?_Js5pn6P}wT$RZRT)q0=8RVq4G5Zti6h`S|g9Zc?VWZevv;~G8;HBpBBu{{_+f^0J$*On01! zdQaR%cRNIR@t4gV1s-UIJPkA^tnCa3=oMRN*NF&_3vK|*B+3j7lW+Mac5DhRNp4KV zzS0b^l}o!Jl%iY|Xfg>U>=FW=)|VN5sttXt_BJ{uKEF={Ka-i|&qmsEe%pDUY5L{K^?wrf{}{#JdJe;hNkZoxc+9qo zbEGwe!PDTbp*+>E^U-bzR_`^KoC=;le)ZPlI=m(PBXMAhdztYlCbg76oK)bi_wtNW z07^qu8WiERnBeZ#rUA#aoM&()Md3^M8d)h&snyz)%Xl9V1D)p)fm=+n!Y4o-SF|z~ zqn-ZbmIM_d1qxlA6iRx>a(tDR)DT3Ho#m3^i_^&J&UqQgeBmT(VyDr)Jk8bKBp#)y zZ5Ex%JT)Lqt-r@zWH_`vXfXX}x-?!_8W8IWx%(V0(t|}Zvw$u?O+0x;3_G)-wb3on zt|yFi3A~B<=l-nigrE~8^{r#Qx9~Wb#f+xXNIt!{;ONZ6|8aV_-gUc^>$U)hG^tV$ zI5F?*w2nzfwBssD^;}N*K3F%a^}@R#?HT%s>GjtTU)u?B|GyPN_40&}JHNST zQ~IW!stK8(&vE2w-xyzyaizmGjZ8)o5Nge$7Uy3DJM-g{ zRMCZl`+QV;z3vY($6!cA-&T5{!J@4N(Da!I#i%~7F|ubJX`!8N(Ln=!?$_0|kYg%P z_H}x?TO*LaK0=>IrQZ*R$cJa;5NNXS(ol=qa>rc#A@sEWUoy5pm{`0No<({LnArlj z4_`mZPa(YcdkCp`V?Ob37Vn&VMxain_TRr7e_Av0+=eYX*wZ(k9z{QCrrudR|C;5A zH>J&%xQsgt&Z2hLu#teCokHTNbHX5x1y}k{DL%NXdhd+X^OZJK4a&0MQ6O*jHCU96 z20RlN{j5Ob?+$NB*6;J;to9*4$8+CbrLXTLH< zS2TEKXO6BSA|~f_5;v@1WGo(=ZYXzz*8#LXYpzJD>#gII9QRhd__gND;f`MN3-Mn& zm^VEgp3yA99ikU6YF3wYGDST^P0#EIhw`~Ad@Qn^P%6hYT@wvlL2xW0QIC6D!d1+f zzNa$C+bn3$8(_gR%Wj+$*!@e>Fzo7^hvDb1>ZB}`XOC<(=BzTo$sb_ROnoczOWgL1Q}VL`PKR zJ(de2=kv}?`|PuG4YvjJ1s_JdWkiICtk(z1ibL^S%twC~wi_ZgMh^C!eFK$8hu#JV ztH)_KXmeT<`gdh?DpZ0?>R&H#A42`C?)gPwZ-n!Nn&HK^Bo#5z$j&w)N$z8z!lunU zYt3|Ed%xIvtj62`b|Nhen{hMRc01bsggf=d4na046S*#AVaYP|{)AGvf}`wlQ=E`( zHBY1-kG%xmN)(?ZUO`@#Z`o2 zycMWolMDCNh7K+~3Cz8nwwckvwEJu+n(sv*-g;bULTut5C3g7Hh^xhUR}3`9WN>>* zn{}PPjc_?pg@$S1M#tdD>OSE^gDc|{>6)9D^^0?tynLAte z}6#CKB$ey5D2RP>lKY8Bm zK7nXYZMt_fX(cMsS?%0noy1T)GQq@bYo ziKy-Za+JszbE)In=!F5(n&B*IO5>8g#fY?G zq;s2DsJf)O*B;ix2%sD(lC-W6L%loZem1V$#yeeD=qjFaF+7f zZH7vW(+tr-Wom>WTg`lS8pXJrTB=YnhMTs4EJxm2vymbAZRzUxS@Q3A;?zcCVPU6c zz*b3Fcvw(!h*3#>a=e5>NBrd_qr7`76ZP`Dxwwfz4q@K-g1&k>Q8z`JK8Qci-_!e_ zzdHg~U|g^)+EiJ-#Zul6ml-edCpIsV;9IEiO)hud({0?VCDiN^{+AyOfj#k3(xXK;As9U?MwN~!k{0NMY0B!6&vu7uf}lZ!RmV|H+$ zGm1UtF16NPySzJ}rc6^UX(=7jGKrIz?1OZvH9BDxjI-I4q(Us7&;d6>!<RVje6G7`vkX_d5!fGLr>aA{B|&L_h^5`JM$Rv%9tlTY?H6U-}_l|IZ!HNoEHlX zqVTUy;P7OJ5!O=%O4f9e5T7G00OLag!S+KzPI-B`=%Vq)G;2v<`)f@Reu4z>WwM%N zsqr-#r+4wgFNbBi2*&L4sQ`sWl26=S4~8*;&0}a%h1KYoxT#zALP`z8?~o}4sLRQ* z>s;YfD|wo|a|Jeixo3wAlvSh8G4W*w2aYD88#pKPLc!b$Dj$rT<8H~Zum zo@=X1$f^Zn&+eLjHR1yHC5zZE%&x2}l;CsOe}z#XXoLA-8~^vtcdPOiPs6O#@(-y> zJPgoT>_;;m2b?5BDQC| z0#a_gdWC0#Jti6pU5owd@iunC0>pT(JL0zhKgiLQM;S%e@7Boj?&df75-6wqf$ThxgURx3jBppj+Q?ui-qH}V3=J0`B%#`W(gTU`P6lpS>zc;9f;> z_|@m<*sYMaiVJyXk$ecihI|3bg!{J?PGQWE1B^0FI5WM#10nm?U(*k(@;OLtck}pu zFWfRu3;fT0!0^4$J%*A}${)at*`|zG=Y3*fZ-kK3+kP9a37LyKm;0+`tITA@dHnVjUd+9nel~+wLMJ(} zFLy}_7vDnRB?aDnaaM4xX%+#c*(AJs7wD|2JwpDyrN`FU=KU>I(3PpLiCqs(1Z`QZ zScho*h^ZIj770q+OJd+GWBm2Bls>6xyAXLLpiItd z6CUg%*-xbi)_LVueXGKLb5r?Kxq{^`N));cGFe2aYR6o;mgP@1X*lnOl|9Q#qN&Kj zj`lLPbiGziTsi@9Vrn-wtNb^&KGM&uDt{cC4OCwUE+M|63lQM2soS|6qRYm+S{8O1 zm?tF{#=Je1 zFEW{k-Px_vb6j~^Axl5woS^da;?rH8X6Ily&OG&M`DxE`v?JxWa3}hgxvyMXqDYo0 z9qIL@;>#&ROyXfK&H0ZA9+cSp#h?D&6@&<6xP6JQnn=u#Dz-W#{PTMNA8!8;GH>a! zBJdGcQMd-+;@-bDj9B1ZqZXk(xXfrqvX#61CNSdO*X>~z7NIoniQy9S&Y7ux8$koT zsc(PRUIH^FC{tZL7x1h)4)iZ7^avb#BC6b~5D$%V+rst{hQ9UEp*ZLhss!#>V~R@{ z@P~KEr88=V{HewjY~Ek(oncYe=UWV&$S zVpOl$b(?%;Mi*ot&t2z-Va)bKya)B|xSROvZ0Xzxuw@UBk(7 zG(AgL1H*5nX`VH#0D9G)C=6z@dD&s|n2&q8N*P$Vs0e6s?7exHjm^@qu{p6>t-7-u z^U&=Nr7mFtlyPCW73y0pq0sg-;hUs{{+FovtSz9Cx@OpuprXHr3g>|^#Ci&5|B#`# z{psvS;FN9C_xIzUdc^EQ16K#6{g+3d;jFDoE+3aDGzh7fOY%TmfhAcD&E(;ZlzwLu zcpA8;TS+&2yzoG;^o+$(hX}X!CtUh*r@SJ)_v}WP#p197W2~b7{03eNqN4F6oo@*% zljy{NYXf9^?gz2LP8XxHM~?OTN?>j>Qa1VWU`h70`hySYFtRt^k?m@t)NUE?T3*a6 zov-luCt>)O6rRG8EAQZU#XGjogRckn_voli3Q#SHr8yXL{ZJtYf3#Kc(Og8gq2FK* z3?=_oq}{DPa}v5K9gLrJgz}X<0CyiH8qCM7UxDhhu!Iy)eU6GS15pMp3c%FBxK>i?HXJ$GMP3p9H4L1lO?T!!goo>Ljdvv zy&=_9Wy2xkM>=fQ96#!@OZ(b6!Jo}IJDN5?ZIqwjlyph8g-7&UPR}88ES2~+!cA%g zQu?elU;aeY4Lz#wSvv2sE=(SwX!3-=n9LX#nMHVsJR0TurSO$qEr-f7R zIX(iRmW?#U#1;$zp|UT7CjalA$?>A?n7of5Iy-LKuy(GKlD4m!HnxtT?CmON6dw79yP4gWcm_yp8zi;_udSxFobj=yB!;&?@Uoh*3yp3dZ09p&{;gF)M`=p+G%vnxGi+;L&Kde;Zawd+6&gHu z_I@j9^_M&~qwrf4BVBd!PL;u4bcD?9b4$pAUw$zRx|YL?N_H+2S=3S}Nk1IkXA zV%t;>Me{=N00v~lhivbuNi?Uu9IIPZJm+ri5{tuCT4v7_^kIeQIn+_C3`Vy$&r@rp zkUi5v?~3n81%s@pXc_)Xz^-hWsy+l)l43orETRK$#G&US`A&GWESgfJ!ZTD#WKOOk zO6i#~;~9Hlgb8xE%L~|&S9C1$=^9v;yxt(!_lQ?W-#dV@GfJ0-#p2)$`ALr4D4w&AVrt ztL@jq`NCCgZZ3-Y*Qk@-JTsvb?@05J^Q(L9=5K?$Exn_RCq&+u`@jJ|hb0XRB8ly- zmVtii1xwb}*3k2Vb+hP(=HBJh9#WovPlfrtij<^?aFT}Y8^uJ*VO|QUe*BXf;IFvg zeLMFDjVhDVak>~C1pQb~tR6Z4_bUQ-r|>N*Tl$)cQi=i$^)dw*_ek(x{M#;bUVU73 zs_Zwq^RFDkzGJoq$h++q+X?@)v+=P%2r3Qsn;Ix1B$NF-bXK&UtA@8#_SoAr{CA)! z@FVc44y{w->X(Br4?d{on;bvXdC|b-B=$w(pBD``7_Q>3EsUh%pVyx?&4=sBNsbC8 zpr02KsR$NoC*c?A1YJXOMa-FxYP;CLQVh1Ei`=_N)g99IV2$3TfKRs>EJg_1S)b9G ziZGaXp{-XYoZM5agkG9jpzAvj*Ny409>o6fMZVe);J4a)ii9QPVPbaG$+oxIes3}( zy895my=j>wk#a=O>{eFQPj(4ROC#lM$Bln=12uW-jlM36dBDI5WfB$+qb9m*>$T8j zl9_FP>agWC5t1ANWr~_paJ^O;Gszue@s}8fOhsy=*X}m@Tl*La376DwjV4Y!$dhCT z7>QdJm?Zu(B@5ZXZnOWP#cB*Uzm#OYH)zGhXgpEZmi@=k{fQGmKv`?= z1`j8-DB%`ga{NtSG&RXegAXMWOB4BDZC}lgO%HENFVyz|ZGKyw%<8Z$lS(dt!S!wm}i@gF>eMg{zMuKrTNm%5_D)AEh4}*~+h6W)Y-Vgc?`J zTf$C7y`#+d zB3+JL`%H;~cp-FOQHG3I%X1;Zh-DLp>_EVOb0&NmU;7Gn-d4A?(`fS{+V**ygX6S$ zV>gDNLG-^V2Bj<;A|VoToECUR1;J~el0N-#;6MYU0ah&q*z<8Yl}UE>=yoqf8JL@(jv?sd`ty?lnjHN zw@2BISgc34cM0F?EV)RW!*NdCy_mQW?_e5gYOfZBp#R~cH@)6|XwZ5gciK?~4H`Zo z->WBfT>e8Vub?42%g@a3KOlWkzbnL}%pMoDA1I|ftM0xoJp0o$Ov_(|AHt>_ZFZ8Q zzf|RWw=)42>lp<5dop-HzWV;Rz0c5Soo_JhA!x>m zVhE}9Vx1CM1M=m84|gsni@|<~Oo+P8D1Ni*xtWdS8tf^2^xItWk_8aVZLd7`&saFK zI_~~`y}{rA=O=aLk)^V^USK@#Wx*^54rwi<8_zB<5gR=pr<|1 z+oMf3{^WO+VRDa-xX1Z#yfhhvU?swhcCO=A^^n=nm5NYO5Wih=E-JX1 zR{bF!M62aAxPvyI>jjIh>U-T7(C94xilO;vrra3MDwcaV@@YetM5(|=ulx*&fSOk$^8?F8paZ ztk{bqPZwwNe?u^e)6+&N`b9|>fh&w)=6-#dic)6IXcR%nO|XMg5(j%*-y=aC*C>oOZqM@&^;Ux(ZW8sLWo$L*@K@+HCNJ*4wO*fHSiaRhhG@?IgfluH zo<9)=n;U+_j@bkCA!ahiMtZ~h;<-Mr4>+Bc>-#Y_xm{M77N{1Gm{$=pcm=i>=kf(- zUp|<8&&{6HfbXtT_7bSc$f>HS>YeP99}*NK#c z-3rCMR7||Rn_WKSO+Y|knrx>!Ixw_y`ai^Bx|rGf&QP+mBp{VIREzLz=5GNA>N}Jf zNTB5DFJ5BYGKUkfyv6-WLmgDVC#*DkC(JWBt01M=ey$rEEs$aP5p02oeRPZ();?!c z(+sW-Xa+>nhtC3OZ_ALj- zd3+7|QP$3?9UgAtY2fu;Ez>fbNSEuavMLJ^%@fgT_V19)OyIQ7S)z_Kx$-9|;39bD zycGiGnW6qSNN-5)vJT)Tw~kN!GlMj?8Kz7?;_a(4{X?JE=guTR<|h!$4IyXRG-g4l)^4C@20vI>f&LW#tcd%G_m3$>NAX=W zX~ZAeFx#DfXyEjaKlTwKv!}5`ag?tYiE*q)GcvVbbBvjTaq69x6d@~Ytcr|M%8L;T zpO+L1KEKY!TWFkyAIpdI^Mh94OFNn>{|6hWEc~`R!0?fiW88HnvGK8nV>RbHV6O0+ zKsjERlEirOBgRVuo@7fM4Z`Jib(|mGHKPsfcPj^30BAXI&%l(&#SF}*Xz(A0Ix22x+Ver zExnp$Qa$vwk05h-^+&`m;bAj2-0cT>Zu_C`BKd`CdT5@>j(rxPL)-I>4P`encl~)k za?7`6Nzn$E{Sq7X{?5~Z{JlQ|WPgLm>+@1SFHdU31`6t4F+F>xrxK0b`J?HAt)ynJ z8tki-<(n)x9zs&e7R$vdZCq8cLc9)qqpEB<5^MQ)=Fbq_7w&Cc{&j-rK7ZGRJDfId z${Gs-O@2MMyJLv+O&;BD5)%{+`!8N_USUktpquO%hCJf=dW`HSm};&u+8qE8z9Y~@ zvUhSIxntqVV5|ZET}e)Pb66FuTacH(@2au@znz=>sC>I;Ui2huG}+^GpK^yKZ>2G# zszwb<^)#^@SYgUJpcHwNmxHZbtWa z%uob83qM1fUmxiQ#y-z+_BIg%ROE}(UY_+Dr092lEkKw^`6r%CkN_Qz!jSBKKhMc5 z`ZJh5*~RtqFQrH`y)t~qf6vT|eMAv8{%1Y^E=9H-mbW)>dU{3_j^iTV4n{pK04~d= zyBhC#JPMQaM5*fRf=G2kd$N%M2Kmgc!*pDB?wZI)xvogT5Q3{3S0-=gnzmEMl+dGJ zycYAi3CFp$+_HUqotRhcN;z22&<&}`1+jq7yn>lIdSuf~pva2_;3wbQmDRkbI{gXl zxLnC+cbj3`0@DHD!1s1(nkbFl(2c5M?J24RuV>!&CP-@2D@dyLXWHN6)((&fyYO)( zX)q{lj@WaF0Xe;X_%re6ETN+^IKXfkLDOS_+8ldx@L*2c@*aMS_=|O(LL}dU?dp>= z-;X_S?C~usr=Sw~-ag2Y^2qQY&I#@JTzUV~)8Zf(yK{2%*BTDHF{}?3Qm=+3yN*%h zT|TbrmCVu)=||vht200yH~NS<8@*l-n|UBmW|Fk;a18j?4I5{q93kMW-f zf7AEjfS*6}Z%wtzJ7L18+`a-1?X0{7;ZPhCi?m0A5^N8f@7QrP$d77cCdL+0sDjrH z94fO)=}H1!h|Wc?4DH)WXSXio%s48lU)ZJJR??vZip4wprdbacV)MFDBJj;nkSFzCa82N{`>kf#Yq z$T!It3Ka;!fnf^?mv@~C6oBjc2LgcyE*3dmnJL|N6Q~k1Ayra5nklJ7OXcOLQyU{I zz`7k&ln9ms#!af0Is?TBZsc3{_kmD&u{q0DE-rgTpgGo&U7DG35p%sutK#vHt*m6b zt328|lQ(vJwH-E6Kx1Uoe+)mgU6@>U?pqXhP?{_$>h z;z|v`nydb!sGzRswDUV(Btk77+kY3?kr`f>`V9L<>Xd~(h_K~Z5!=-~mcG=VJl}=I z>tt2HKN>Toj)=syQiK0p6h>+<8A+a_J+@LSI+$ z(xhDcCe3QzUXNlhfgdIw#_QQCho|t@M^Pm4be%9W7o9x`%$&!cEEyY8r zaZf+u4XSEx)xkpXNc%6IQ5I9IEtG((vOTGiSNV1l-AiWJ?jswv=*%4IFu$6o$UgUy zA2I3*rlXBG@Gq$#fYe+!e7s+ynOrBtm5!cg<#wq%bwpAK9H51t^UtyvJC-OX{q!?s zQ%6Zd%DWgI#B^}#=?z1JrSiB>H|#IMR`&krkxl!f#J6`dN;rqisg8}8L({&7zSgFb zAvz3`=Gd^cqGh*!oo{{>!QYY%EJzXFj5HPNWVKAP1v&GvfTqm7pw2wd&{=P`+#Jg% z^yq%pr#lFs-(I+j>6Y$f6s#hGth^dP`wcW0vEk7fDU*2hHN0(ICW}&VPbcR>(&|uo zN3SB{T5&msvie&T5}I-iTCV?tVfi!6fL^fFFQ;TPGLAtrVQr*j>G~=#2?hJI5LSB) zSn9EHoId3AY59K1oqcYH{j$=nPZw_%i(4bMcvop+wxj-%e*lD+@P1a&az-44x!Sq) zyu5x{`m_2CC;?{<73W^2h>qA)JP#;6A(wqN)Z@1F3;*F!NPxakHB)6f&EZWMVT3;A zaA`|^{naxnVXI6;C$H(eOne3hoW$wMQC62c7g^z|+ST_}6?GJoOH|ec3D5V{cxwcE zdrK5aMa43wXQ>J)EQKWcX?CpF8IY7StZe^Hbw;}c+9f)990Zu}DJm}zcvt$Y0@dGP z_h=5Uvtj-SaSs%K^|QMRC;DsSy6v}> zuJ(gjqV>)1j%aoIsU_f8}o2G@sy84ElOFUeR}cO(1t(X@j+R=`jRsOwGM4rHuV#k6vks! zW$CK7Aq|6%1!-=yu;JFx9m-75D&@XkF=VE$sbqC-gpfyAU3v*2Cg7A6THL#aQ^z#3 zHiugBjcdrrIbs2JB~*=BHuX>_6zb zGi6B-ouBJScNv(9;x-vMVPV|lD;bFK;c3Rk96(SIf*eZ(g;c7ra8jX?D(Mxq&ee$j zBH@*F?17zk;9-X9M0bgOn3JA7-k1@=`dT&25=PL5^isLGrf)7-ck7ZX zHfhTdsQ^jpIJJ~^3-PSRgk1xQ2s{}Ju`~yMl>6iHVg3*~_v>*_0kn`mV+SKTnYlWu z?=ze!qO|wD{+)gWz5C5lEF>NVsK)3k%;-TeKQDhza{K|O+O-joLGJca+68Ji`RNS;e+8q%*X>(chz zRio}#_w*6ycZQa1$AheYMX;P(sLBrBfCpHokCRJ(RMQ$x$|Wq+?uvnKstKS{;^(gL z-}YByo~!XQdN}zSNhlc5%3L@_*?!lvrA}3=YIP*tMkN1DZ;*`Al$M9QYn?=&7C}2O zCPor8Usklo^3S$$w&n9L=s(uMZ_T-zX~M8FxT%?$3HddAl;j*o1#KOH+gN@GF%(V$@-r9tTzid`JV}8P5D6F#oKDtSepaJ21_1;*3C$QX=3ypVzNYyIWZ7&KFC{C>dnH_jFP`Rs_70i@+Lx$O2qSD(4Lj~36XHkOa zK|{i>-JAJd-IB4-!1HY;-fp)?!6QrVHi{yOEo3)QKBHO~>ZMh?QR=&T^5py|8`M{g zVwr316fbMo<}s4204iR5*8qI*VsoI;&U>h?tV$>q!>sw105{sP)<6Je4h+B3we#B@d=Y1KW1U0 zD%}d~l0rQiENT0GmnlEkpcW`ekZ8gN%`ds)9tX{ZE%^;WmYJ|kMPsRlLwKG+Q-bk$ zUbFqrHsTNXeT86;rk1kXGf5jv`8o|RNkQ1tlc2m5c+MMhczyt@%bhDgOT;4jY8gy< zbceVWWYD2KwY>4mF1nMNgpgB)ED;9ZLS6HP9xGUEVQk~F2aq+JJ%q=i@Cqwlsl(nJ za~YdvjS|n;E`j=*v3QmIz<+!5{1%iZN4B-5Yz4a=)dJsNdM_-JLdtU8Wpz-U&EY|F z{uM!;pE!}!^;=c>AJ$(j@XQfXt}HfR<;$82kSXmd@K~}$SqMXuttbzd#LqT9x6yP( zCiw`yAz?G)X$}OQ(yj-}kBp;b^1u-9bsnRkLyaRjz0zO8kOs^71NY338AU;)=+iqK zO2jdwAXX8KrF`>O1l07eSYzP>{-lYa;BQU6C16%S&<=#_QTs+#OrV@hr|KidSk7xp zhn|wX3@@C!5k8}45w)n(Q}R47)ycc&NL`$YiH3A_8Eh%h#YURayXM+@gbg>)d$kZy zUu?W5-JUjI!q`MPZXl|L7VOc&z+b(3i3fTr#|~nsoL$@7&l z!+(_y@{>te5V1<75A2ke)kdnmCi^u`o-neBCP@`o8{l>FGL8`S`ZqI>Eu3o5n>`l!*4p#C3)_5GIw;y4Wa`?>4tGPPl; znA(+!fg99t)m=^$F~L1@g1Z#AX5HmVMT(_>>r@1Bl><|=Iv2{&a^@^|VrtGTOM70= zPw#)>{jfX0(d|Ghv?zhj6Tj!!#lfsok2SdmF0K%=n2P4b5`%P|J927OQnlI6aT2F) zf>vR`+zgq&8l20zH=9-G9xkpTm-l)swKs>0bYmie^6gunBTy}dG5TY<4H$1lCHcbs znOfNAs5$<7hZE72J^6B&p8k=%SdwDh?;<0{`Pt4!JCMX3c&4_L&(@;4>MXI`Vwsqw zlxOz_-%NRK4~U(c9Zqj225vs2`Q`wxz^9j${)i{+bTt&nx7w0Mxv1QxcOf@s!&(&! zyC~9&8ziLnLK7d7s%^6tACE!Gd-cW&K5Mo?Ha0r(MV zdJO%)_Scu z_1>$yS0?S#>mLL-?zle=I_|$4p!@BWzQ~P_iXi%CT#0<1)-f4tcGn4NQCJ>XTrJCX zC|oS^ycoEgzQj-fFh7>5GX98frJelGHK|X@7UFudyTBc+--gp1A3T*fV%ndpcV;yW zOZIqDHSWlxdPz>GJS9Q`KVDPUcPu<#eq3_L(YM{o|BN8L>@3jYkya|4LPuCM2|Mu@ zvAV)5ERl^M@Bcb?uU*Nym8#@_-c}l&S)gtwY<{i~?iEnA6NO;k!HfLcO<`@&a=~^@ z)2_4h`AFCt<$!A*lBAsLAZuH%nI4#_d}sW7XVeV2kab1#)BQ%w!U6p)m!K7+2WSi|IY?EWD!*Hp@2v z9-lF3tPW^YR8hSca&jx1`u!j4Yd14S6pti%fVP-DG(6Zr)jT`ptZd z`kh?(N|<*wp&(97=?Bhe8GE*`otDrqgAJ$a*_-uWPHpXb4yUZ_69%K+@>_+X4a!Q( zoUM_EH8NSjCY8;K4Bl>9yK{0lD&M}@2Rn^0leaoq!!dF)1;cF$f!F}Up>KrL8@q^- zDMq3Zp^+?R2vy@h z6|zK9=#!~q&-R_HWT?U}X%$yQ;%cE@mxe+OIp5)%H(Zq*IqOvajx9?edmD~FNoY9f zWKdQBZR#RE|INPe_mEVDys2}6{D({(o+M&Aj8;uE)eE3*afB3|Te*L}NQ;*50t718k|~5M93!vnTFIR!HD#Pr6Lq zJJh6Hmy^j-Z1%n~Z=$<2Y;PkDVPk`8wx}6_5|zz`^6r-Bm}*z*yo!47LK}h8FF*-u zZ%8nUr87&KLurXv4-t*j6n4ZlcaJ~Cq<-e_u0Sg3(M&nNzq zwlwjPz*1WdFng?ab2u$;bMW(oNulz0G8=d{owzYgOOR2WSF@n7)H72nuG}g$%r$M7 zUMKxJUZIhVaw_nMCr)T1*ZIv-c}wFfdyw9Tlwj1&k>^IElkrnQ}aR_a6^z)9+YR6_yD>fPCN$!_Qj&NpwiU(1$+8hRV{I!@-curp-* zO_gV824xd{Cx_sz)g{k^b`B^Riy4yz1W>-oeGA}Wi zHl00P_X8#q(-pa0ni8I!iBU53roubp8SjfR&(8wIcSwZf+=eenc|x3tLgM=&as#f2 z6sJYJ`6kJ698Sv5*y&l#MBTR$2O9g1X2ntn$5jo@8V94~e`%n=9xv?6-Tqb0z zn1|ybAvL-*4_aXNjv)=N3<&3&$lI@1R`dk30S<6cxr)K(nwOs~SA}MvcG|6NbjO71 z$lyX+6J9SUOL@itEQ*yR-U$@TT-{y^6l$1A$j>|%CK8DyT|Ys3@JWB6sm=gK(~kaC$p&!x9WntpZH97@Fhf?$iV^%jylDu-k z=y7WfolKrF5-fbqkPosq#&pg=y3qDpriN28Ds5~B1>AhB;d01~?NxSS%Jd{9@0CaJ zlqOVb%w=g%h?X?gJ&KMdcv+oi6I6vdk|29fs6*COFS;g^g`%u=Omr3`l2gMXJGxnI z1qfS2e0=ce=294LZf;mx7UwvDpn<|WEG1BJ#%qHvWa#noJd^f@Pud%o=Z%TDWX5g6 z5HiU2`NITQ9O}`WY$Q96OcbtvzaW9$2M^CI?yjdTgGj|nG*?_%0@ZNLaG%&RTlOrg z)rM>V(_Jd|fgzCk(ZqXl*Ipx6V`?HTD(I9G_bfH%o`;j)EsS z=jUJ^V5U3f30GG@aYriY-i%?+aSI$Z%jsG;kVUpT_8biz%b|)i&ir%9)$W{h_LD52 zAN=IGSnWV@l!D${51q>T5&lHi)wm`Cg6zDygLFzatn>6L915Y@N&MRfqe|dzY^v(# zeYDvn$iwXQE3PhCon&y-8yjv9OQc0U4ErFD@T3y!J(2(#YN@uqJDDu<5+gC+XTFA@x zYT9w&%V}IS@M$Snlr)mxXgqlyXMz454F|P5I|qSoQl&-islSX1)cp(>*QP+WSM`fN zGglFO>v%MWtzifQO2LD$iUxG|Rd1!!SV4tu(`Qb{ z?oe`Z#LvQ^rONMKg*u1@i}f6;TVY>cUyoiM)YE2+n;-eJj^@T-krn8&3S1cMr+eRL z$N9x5hoJ0j7j)T92b;{gRi5NOB1OBJ1v)HQ>5Q@RE!U?srotpRUfT; ztR3p#H`lQi?BC}8ggSEa@|?AQK0P?7`=rO*=6pW4^O$6GVM{Ok&|tTH6qHDfJ4m0L zOVYWnf$c53wA<)h!AZT0-!1yJNm#i~6G(Px3Z3(UIdnJ6?EWi$=}ex;MYAukQ^fN? z0PuXehkZzO=;Y6DW#kEpwTO;=%vlL#Dyl1sjH&GKGl%$gU(MDhpNb#{-j@J{!^1=v)H~GylnB(Fb)tSHk)t!rL8qc` zZWGRpYzm^P+H1{U99L?wHF7XY0)N2_O~H zsTmhZ!5`M5y2^@-rX1L}Rzysp)N`2MuTp9xKPvD%>koU-W+{=X_K1l=;bm-C)+cun zpym=_*7wE8=O;}|9FLIgO>?uj-Pd|>jwydeA4)}qZ?hrpWs&dS4;8ANP;bTCQ~(@9 zvpoE=WV^+X_&86b)WZz%oz8Uy-So6ifr=j<%wh<4_ca|P_eY3BXC z+(Jk9%%lYgo7WPLHqdkB!tPyI#D_UBFgr%Dn5^tB)8wBCF`ViQCwMJ;J{pQJYz(KG zCej0fZq~vITd_)4`HM|ZxFN1t*DXcT9d?Vz7o!^jgijkglv3On~4rjQ4Gi>>m0|g9}{=#h)L( zE9ID(R#fuR6XUeb6I(Zlzm=b4UY(0KCL)G{%i*noHQS+i9wwdnF-}Hqkge-PN5FNn3g@Dax^qic(rc^{DGv=jWfyI33M=Zsk1) zfl>vK;&eEvlvVQbQHZ@WD8{4s{Bx&pU$hafJBH~yr2(9%^#VNO$E7-_z zO4qM2xw<6O(f065H^2R5{w4LYQzUa!jOBiu_%zWf6|=pD8QBz!apy9N8S=2OVNe+Q zY9}L12Iiu=jPyv1j9Ghbi)4y>Kh%Iay&{^nxh<528Lb$0ww+dUjwhMgw2irQ+p7&p za0;2oJZ=}kA4DnuX%Ms~16M4x3zfCxY*5XVmuc}%T~Q$$ty)k}srYWwu82lPXf>aY znQQPZy*Qb#nqKv%XG7lq26g%PnAzE6x43&~2vQ0-_=GN4oYcDMR;)^p0ysQ7U{2Zy z&h8fvAzw~~%6w9}`6XVdcg%4)@&K^!|4zfPAWG2-2HQ9Ph_)h>c(Cy$GMY`_?T&uK zCl8?Iq!mQ{wRY&`uWw3q8U(IyR#*y>e40ok>JJUj)KbX9pn{?L8Io8xmmGPK2m^)m zyIlMrQ%j=16H^0a`JUeW2XM-JH z>Xf~t-^fwt=>)b@wxD|odiV%E&EN$M*sRN_B)4i(2;HEAU)(duacrn38@vk0(uS1$ zwTu5=30j08M-!b6PyG+ll-o1AYeC$OSIkvz^Q!^`_k&7j^!JNTr&jm` z|9JD%w0ni11e>3otMWIl#z>Am6IlmGZJF#;{A3D+iw&Cn6;Y2$bycpsvkV;f;eEQTID-zjm}(X7 z*DD9|`XGJ%Tg6ynVl@@g>lo9+c&ve(#%<_FU-L2vXt$U%xBU%9eA%cv0av>RI>Lpz z{m@z#j_nvZoE>Uey`uoDRc|qSlUvPIbfc3+*{V@5>}yx7e)uu=88Mhc>1i+j-cuCp zeKt6<$N;r#)YbFqb?NKU#|5AqMLYF76tDRjs+{_UQ^x`XK{dWuFD-ZF1_}~e%|#n_ z#j#Q5`&Cty&?m%|Yc^)4Bev!}BQ+WvH&@iNS|Sx>yXtb`i@#iLV#2@Qjy-vK0^034 z91^5&brG7Xt?oqa&6Bkx`SO!?pwiRK{v_?F;xAF-Yi;n1-y<#&n+812CTC1L;cK-x z@ao4>7og9NL4xb;0MuiXdQAHUp$5wGRC<|v*GaVu0dI^YTUqVlRf!_O)pE4xcY?{l z!I!@=(?RAK3)zrn6+vj-F!E`l_v?$rHqV>-sHIx zYyJof0X3BMpI^yeS}b>8L{D9P?=|s^~vy~B{1nD$cs3S+bxy~t1hIcUQ|Dq?s!%2;XIMe(o>hfp(Eee89=mciKaD8Xo$X_ZY{^K0;<-qXE^Hc zYlf&?26!6>$*{0bc7`PGT=XBSu8+m}dyvFeO* zJHjElrhyry89D}BvKT@^Gfo`8z6%DcftttMta3x8!Y(il=2Ei4u80D3+ei1_f9@_u z6T2gv%fXq-m%&T-7wcX8U(`+Bs|6)E+#{6wyrhPqCde8FR(LcZd|co^(vP3AFE>>? zo#o=XGRkP688q9u*L1nwzn}NrY+syg{CTTa+VaY^jZvd2$|itckR+*Ug14FRlSwNY zgN0<^`=0;q^%&9Q%g;<@B27Ql4|+p0s)_(|sRLQ)Rscq`{LxYWrI3k@_`oMcjQ-JR zqso1B;UxByUB~E(@aYxbxM|S~!3{k-J7KoNUtkJ(-+1B6IgB6-k~t_MYr)&c6PJ|!19i9(cxaTa&nv(7tZ<0#Bp zBhO4^hHAuQUN^JHL_V+C3!djcGg1LU21$g+>o@Un)k@=qdtH&!^P@5s;|nk>cVGEP z*7&-xBsjJr)E!O|huLZ&jCop6Qs9$TpPfP0_cYW|cpy^gW~7&hIB3T{k$HX04qt+- z12=|bmqK1B7Vrpr`-1sdQT2>jY>>h?m#6}1+F}3doQC$i@vV}#a~27up6`1$|H#3hh%WkMzHzm)QZc1klnb>!prOXi0JxoN*HR z%hS?*F!}A48u~+V&oZu#1}4Id9HIMeSE`r;||M91z}&FJ$3hte;@KVE-$>wLZJyGHw0pR%Uc?L%AIUPcZN3pmS8NT3_o)`^o_YnqC53?=tkAC|DqcF@ycE=m{$Qr`>6w%nzCC($iV1Z+?zh zV_gpntj99P+&D)VZ~e;`vBWU)cE2wYRyBDN4)HU0X_X{jG>l2{zjHb;Y z(Q2=jlJV&i{^EFWqK-!TaC5+uB_3sV7^!taAyE%g<>eb_U>pEL@CcdO4|!~-oM@guQBMR!F59#z{T0K$jr&*2&jBS(3@ zRxG!99svm#VCZ(uIS^Z*o%f;G3t|Ptk%TOCHo^ z(8`0AXR9zYPlIi4(i*S-EsDD_-*rUt%RyxX&D;hhG+;|=ZaFo}{8dnVXy#XwcBdy@ zUBPbV*A;)%K}o!;EqU*f;pu}31t;}+f_cTs)Bjo^Y`#K%OhmEdT@>`)^=MAn6vqXB z`SVpJZ&xsv-)#<>8L}5j@>G`&kzNh=DW#hV*|44z0l{JaVyE05ED*2B!RU`W--0$kFoUxHdZzFJa}z7N3n z^nC1YeZee9_&lS%^qCb-U>{`VTf+Fxz~dG*lgFkbUy80d8lN;CSbhEIQroKvhY;R? zOOWc~;YcG&?$!Hy*+-JpkKL`$Vgp<-8SY{_jX}Et*~p)H_Z`^eWE2 z;2Mv3h;#dlGSSj_7KT=xgEFj$8aO#t)}~Lr;{_LtqVa9~(4LVS(fP-3Uh5@<(P!Vt zIuWQ8(I_e5_Ft1*OADTbc6b`PE=+N$ypa39uG@p!mgQhC*_I9AIjOw=j_hoVigF!N zv)dj|uYC6@*3 zhB$8JY0Bs7HNid6mt;FWqkTU7{FgwZU#DD~ymxdrXd6=m4U@t~A9L!wGD9{rS-*TS zSd779|4d9RT{8HXqPkiY587`BK)Cs~F($T!Eq@KAj2x(}92k?C_dZ{MjwY{PD6&0V zzK!2je*D+orQ~UmSdN4FK@Tu2*EIb&IJlJdB8eEBQswYHYsfucgJ_g(b;;Nv+pYQs-sJfw4e>ezIrY#KP6dhAZdUQg^H`m z{-d{sHBdYQd7*5CrvKnKSj?w)0~{3cWZ;NAGSiFGzf zft*p)$~$H7eC0e#(=Mj*_(=>02efg|a_pvOx&HuMN>x7j)7`(BcC_7I^Hx|oQGEA6 zAtMAs#3KYNuaE1j_LvFPclF!pz>h~ChK}T-5 zCQsmkX(&JkhorOAxXv`J$6Gp;QSG521)wzQrMcrf^?3#^dU{!OeC0Tng&m17hq(B8 zFiL5f{u=sL7QJ05h8Cud^4A2O-QF=J2Mg&#GdNkGWDLtNQ;apNJismoxKZKQq zcxnooCh(Wm(t-iE|Wb?h!L$2D7gOugNU~Zv`^2VKkPzuAu3#gpW!Dw z{}8ztKtg1>K!~jf%M{TDGXf;~oyH^Vi3r_s5wRvW)xZVg0bmiU&l_6OL}&<9jqds3 zK62zK_q)!d`1{!d@y8U~(cL8jY5{~iy)UVBWe2B3`gVEC7`oz)@5z*Q1xI1J`9a5* zM|mz$IBs69QD}>AQ{!X3!aQA3%*cRIWIqtA0o51ks1PbnOF5^oPAPZ+qWqlZ*Jl@^ zROJn6B%!V^-Qy6WJ#->KEf<@Os8P`kGJ=W-xqwIW%@z)ESh&SaNMWtPBP@Ep< zE-Jsa*P8r6HZgR=f&s7VtD9ys<6tWdz3;)Nx$FJu0YqYuG;sgS0$$r3ylQE80idKBYxp4K! zr{{8((n+X2#E>x#L5y0OL6H`Gs7*I{>c`3OyW0?GfQG&hy#GFgCLQWgQrjyPYv+2D z)D|C8ND`Qj(V_RH1~fpTmM%g2jrWO;K41Pw;-caNJ63S$uexOvyg#DQ$OFGBujMV< zP$=;*Zg6jx%1 zBoun5VeROiFp)1dz&tNYeHq6bP&FRXASkUZCPr`q9s@A)DwO=_KtV5QIU(Px zuVn5#9dQY}Ei$O_lREod1?~2w*}~lsCX=@7OWtq)cQdrA*!9AiYx@HVuiQ!a(Taz) zIFQ+WjrpXp9kQolC1?!+(8;<+f+fT0C@%n`AML^D6w14G_vh-1Mt!_L+B1KkHVAv~ z37WuQX#U4vlANtugGJ;(hwVv3RCjf*9X^%jvs29m(R|jGN6eI8gjqo*ad0KIzZC1u zz@&r^-h1|Sl;@NyQ`+ljVb9qzYQL_j?inXYML}$5HW=mQ0~vIKgrX z8`ZVm!X%h|md;xA=5}S^ML7mrK{6mJ&vm=jgsUyI+`xDZMfn#$-hzoMrku>4dpv!7 zB0#Y2t>D_heBD7V>*}xCu1B)tPC1P1{T*bBKIMs`{rv4lYe0^H3U{?FrqMZ}Nbv?v z&`!rx6=#_h?*oWG?D|VSWtP94i-Cy+MG?;rF40YA4;T*m0pDbPoGI*uPh7h6@@@c7 z)enndmP=R3EM*_9MT4<)6yh{^7~nWTYFXM-UOMxWn))-~(rm|%lQ*udPtL7$<*MXr z?k-k;8b#f!PYeb8{rPN|^KJW^wC+nwA(w6j<|kF%lREL8d_9kfG={}=Zv$Ka%cHKJ zKb{;g6R$DacuBCNx-q{{%u(z!em(*7`k2zbiU&SWi34(_-Q6 z+@N;H^q1?{DchK$3PRvF5A`@l@U-}mSow3>u!LYxcn?n29=Q{+aEy*Qo%Md=-qPl9 z25%_F3#;n@ylwqrDC)SE#(-kI9xVBdwY{o4#+0%)w~2hwhg7gy>_p+5O^reMClv0q zoRdC*JU@rccn@$#q9DPA>y%D7Z#`{;zb7vA243qwYkC~mt zjV`q>^}GrO7Ox9ETWvMy)nnvQ(;*~i05Wn6LKuSZ655ie5uo>^KfoNI`4(HQJI*Vm zkuh0VO!y}md?_9CuLv^ztUAY_F$^)~)x&ETlV8Zxl2wNxA$+Ys3Zuh5m{LQ_(*vZH zYmPLyakVJ^kRIBzFmOL&lm)>{*4JVvqP{^!4eMl~)Y$+bynZ?UvOZgHF6ozIZQjaCJ2>8{%)<;119$8d%O8{hZlX7c{_OWu|0V^V zN7UNi0IJLPRQ1$|#>!;_u}oeWazciBApjCW%@g%Y1;`KKp)Pu!#}WPk=Bn4@91lOg z{}?+(#paY7H|go~PI$=4pm+vpqN-5?D2jSe!tFFhDX=q6yI6jI0q;7cDk^E2>mC1& z;^#H$Wjkm8%N}goX|Ek)-3=ylkz~pz(vR}BIP%uP`GeyaT7yvI`F313`u<-Wz2Cdi zR}7t%1p8wQ|;PY}|9Dn!uL@4BvYx zUre8#p(6#6z-aCQcEl213I?}u*Lek^2)5%_&2DB9`M{N z_^YG;f>_P7QPT#m&`(g7Q=%Y?b<9~AP;GKntj}6ZtmT2(zVkbkwNdR!tonrZJKo;C z5>D3*=wWCH?MB3Dl22QXAb&(>{gTI1zqRYZhq=2)nOXV+Z~?gZ;qN6$$pPO+5jFg` z>=p7Zb=7CIxZ=C_K!0RCrl!&k{UwiES<%<+p-T!f8q;Qq58sH`*;Q+=%dV%N9&7nr z5sUsM1^@lzS0j^}kf&FoyRvaYi175-qPI|GPKHfb1BtQ9=e#;C08YgeP5)aB__7fW z%1`DLQ06#I9)e@V49wT%`7Ur~ecW|U)$Azhu-<;-dYgGU_UJ>FU~>vr{YH$@uYW~| za`fo=4p3%W%s{@wvKdbnXG+(212yYCc~qdHSH*KT#07Z|bBX}HXLoIG^jA{4t{Rp$ zK_?=-q($0zx3UI|ZN~){`mwApE%)Z%H2)L?Z2$9UF*0#PF0zx7YT{l2|9eP}g7BvV zDj1LGGS59^%GT=TV8T)8lNbeUOWoP^GZ@O0-M(Y~AHwnlp97uv)}IvtGAep05viV$ z?~(dd4GtZ>+}rO;{`_EZ_cu~fTdgx=1(84bI9k?y#)3E*M>}VqS(J4}`B)_s%|kdG zchr8=UGnM1&tp;Wh~nM`vn<8P4}X4uoBdsQd|o9XQvIv?W;}9h>b*Qd=J(DAMR)Q9 zL%OAxyx_>7w|+9)l}FG3&qs6mN{wIp#}Ds+sorh5p)ON#YqkCW)su81f#vwU1-$1{ z>FW_DTl)Ru#J5(9eZ-~kuM)uPK?P4V_&q#>2micO@xAPM+d0915{6X)UM_gsH(>ip z^0Kp@C76M#3W8)2*Ms#2-wt@J3^1Ak*ow3nXw_EylxvWDkwVJ=b#Y~(rqqDZAFmK3 zCqL;P`nvm_sX?3=)}>#k=n5z#Xcvm5t2MXe7qQh9OGBIS1A~#Yx#&}&BF3!vKVzWK zuGSPnpwrsIav3~jWK3N?z(LyRPT_)S%R-1Z6rOu^#+UzRc=sdKx3vGp5!q=1s$X=_ zudR{TfhrMiD-IUdG9vEE;UI(L5iJHi!JF-pvXaMjKe+kn!kOo9g;?Yt{jb%aM+(!_ z*~lX6bF?ijW--DjDCm=TAh()1S{w7u9=1wQ2QZ8QP9mo!k;k)x0l9Mx{t7QO)NaQi zV^XUK6*!i?mdF|!b8Q%H4}XCCW4r1s5j3{4=wgKktRWenBX=yNAU|%0D%kU`U1$LM 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 literal 0 HcmV?d00001