From 42f17153f4f2910d9a660ce204340ea18a17ad34 Mon Sep 17 00:00:00 2001 From: Lucas Machado Date: Tue, 14 May 2024 13:46:59 -0300 Subject: [PATCH] [dev-v2.9] Forward ports fleet 102.2.4+up0.8.4 (#3916) --- .../fleet-agent-102.2.4+up0.8.4.tgz | Bin 0 -> 3063 bytes .../fleet-crd/fleet-crd-102.2.4+up0.8.4.tgz | Bin 0 -> 23716 bytes assets/fleet/fleet-102.2.4+up0.8.4.tgz | Bin 0 -> 5228 bytes charts/fleet-agent/102.2.4+up0.8.4/Chart.yaml | 15 + charts/fleet-agent/102.2.4+up0.8.4/README.md | 8 + .../102.2.4+up0.8.4/templates/_helpers.tpl | 22 + .../102.2.4+up0.8.4/templates/configmap.yaml | 12 + .../102.2.4+up0.8.4/templates/deployment.yaml | 51 + .../templates/network_policy_allow_all.yaml | 15 + .../patch_default_serviceaccount.yaml | 28 + .../102.2.4+up0.8.4/templates/rbac.yaml | 25 + .../102.2.4+up0.8.4/templates/secret.yaml | 10 + .../templates/serviceaccount.yaml | 4 + .../102.2.4+up0.8.4/templates/validate.yaml | 11 + .../fleet-agent/102.2.4+up0.8.4/values.yaml | 63 + charts/fleet-crd/102.2.4+up0.8.4/Chart.yaml | 13 + charts/fleet-crd/102.2.4+up0.8.4/README.md | 5 + .../102.2.4+up0.8.4/templates/crds.yaml | 3453 ++++++++ .../templates/gitjobs-crds.yaml | 7714 +++++++++++++++++ charts/fleet-crd/102.2.4+up0.8.4/values.yaml | 1 + charts/fleet/102.2.4+up0.8.4/Chart.yaml | 22 + charts/fleet/102.2.4+up0.8.4/README.md | 30 + .../102.2.4+up0.8.4/charts/gitjob/.helmignore | 23 + .../102.2.4+up0.8.4/charts/gitjob/Chart.yaml | 5 + .../charts/gitjob/templates/_helpers.tpl | 7 + .../charts/gitjob/templates/clusterrole.yaml | 38 + .../gitjob/templates/clusterrolebinding.yaml | 12 + .../charts/gitjob/templates/deployment.yaml | 51 + .../charts/gitjob/templates/leases.yaml | 23 + .../charts/gitjob/templates/service.yaml | 12 + .../gitjob/templates/serviceaccount.yaml | 4 + .../102.2.4+up0.8.4/charts/gitjob/values.yaml | 31 + .../102.2.4+up0.8.4/templates/_helpers.tpl | 22 + .../102.2.4+up0.8.4/templates/configmap.yaml | 25 + .../102.2.4+up0.8.4/templates/deployment.yaml | 102 + .../job_cleanup_clusterregistrations.yaml | 29 + .../fleet/102.2.4+up0.8.4/templates/rbac.yaml | 114 + .../templates/serviceaccount.yaml | 12 + charts/fleet/102.2.4+up0.8.4/values.yaml | 83 + index.yaml | 62 + release.yaml | 3 + 41 files changed, 12160 insertions(+) create mode 100644 assets/fleet-agent/fleet-agent-102.2.4+up0.8.4.tgz create mode 100644 assets/fleet-crd/fleet-crd-102.2.4+up0.8.4.tgz create mode 100644 assets/fleet/fleet-102.2.4+up0.8.4.tgz create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/Chart.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/README.md create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/_helpers.tpl create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/configmap.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/deployment.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/network_policy_allow_all.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/patch_default_serviceaccount.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/rbac.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/secret.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/serviceaccount.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/templates/validate.yaml create mode 100644 charts/fleet-agent/102.2.4+up0.8.4/values.yaml create mode 100644 charts/fleet-crd/102.2.4+up0.8.4/Chart.yaml create mode 100644 charts/fleet-crd/102.2.4+up0.8.4/README.md create mode 100644 charts/fleet-crd/102.2.4+up0.8.4/templates/crds.yaml create mode 100644 charts/fleet-crd/102.2.4+up0.8.4/templates/gitjobs-crds.yaml create mode 100644 charts/fleet-crd/102.2.4+up0.8.4/values.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/Chart.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/README.md create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/.helmignore create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/Chart.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/_helpers.tpl create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrole.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrolebinding.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/deployment.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/leases.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/service.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/serviceaccount.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/charts/gitjob/values.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/templates/_helpers.tpl create mode 100644 charts/fleet/102.2.4+up0.8.4/templates/configmap.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/templates/deployment.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/templates/job_cleanup_clusterregistrations.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/templates/rbac.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/templates/serviceaccount.yaml create mode 100644 charts/fleet/102.2.4+up0.8.4/values.yaml diff --git a/assets/fleet-agent/fleet-agent-102.2.4+up0.8.4.tgz b/assets/fleet-agent/fleet-agent-102.2.4+up0.8.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..059b0e580738a0cfc66eb4878e20a62b7325efa5 GIT binary patch literal 3063 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 F0075iBJ}_O literal 0 HcmV?d00001 diff --git a/assets/fleet-crd/fleet-crd-102.2.4+up0.8.4.tgz b/assets/fleet-crd/fleet-crd-102.2.4+up0.8.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..159e577987d55ce66502de813ba8d6fbc3fc1a42 GIT binary patch literal 23716 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 PDc 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 literal 0 HcmV?d00001 diff --git a/charts/fleet-agent/102.2.4+up0.8.4/Chart.yaml b/charts/fleet-agent/102.2.4+up0.8.4/Chart.yaml new file mode 100644 index 000000000..ada54181d --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/Chart.yaml @@ -0,0 +1,15 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.28.0-0' + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.8.0-0' + catalog.cattle.io/release-name: fleet-agent +apiVersion: v2 +appVersion: 0.8.4 +description: Fleet Manager Agent - GitOps at Scale +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-agent +version: 102.2.4+up0.8.4 diff --git a/charts/fleet-agent/102.2.4+up0.8.4/README.md b/charts/fleet-agent/102.2.4+up0.8.4/README.md new file mode 100644 index 000000000..2c5724dce --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/README.md @@ -0,0 +1,8 @@ +## Fleet Agent Helm Chart + +Every Fleet-managed downstream cluster will run an agent that communicates back to the Fleet controller. This agent is just another set of Kubernetes controllers running in the downstream cluster. + +Standalone Fleet users use this chart for agent-initiated registration. For more details see [agent-initiated registration](https://fleet.rancher.io/cluster-registration#agent-initiated). +Fleet in Rancher does not use this chart, but creates the agent deployments programmatically. + +The Fleet documentation is centralized in the [doc website](https://fleet.rancher.io/). \ No newline at end of file diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/_helpers.tpl b/charts/fleet-agent/102.2.4+up0.8.4/templates/_helpers.tpl new file mode 100644 index 000000000..6cd96c3ac --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/_helpers.tpl @@ -0,0 +1,22 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{/* +Windows cluster will add default taint for linux nodes, +add below linux tolerations to workloads could be scheduled to those linux nodes +*/}} +{{- define "linux-node-tolerations" -}} +- key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" +{{- end -}} + +{{- define "linux-node-selector" -}} +kubernetes.io/os: linux +{{- end -}} \ No newline at end of file diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/configmap.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/configmap.yaml new file mode 100644 index 000000000..ce61a8756 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/configmap.yaml @@ -0,0 +1,12 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: fleet-agent +data: + config: |- + { + {{ if .Values.labels }} + "labels":{{toJson .Values.labels}}, + {{ end }} + "clientID":"{{.Values.clientID}}" + } diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/deployment.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/deployment.yaml new file mode 100644 index 000000000..582eed608 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/deployment.yaml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: fleet-agent +spec: + selector: + matchLabels: + app: fleet-agent + template: + metadata: + labels: + app: fleet-agent + spec: + containers: + - env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: '{{ template "system_default_registry" . }}{{.Values.image.repository}}:{{.Values.image.tag}}' + name: fleet-agent + command: + - fleetagent + {{- if .Values.debug }} + - --debug + - --debug-level + - {{ quote .Values.debugLevel }} + {{- else }} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + privileged: false + capabilities: + drop: + - ALL + {{- end }} + serviceAccountName: fleet-agent + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} +{{- if .Values.fleetAgent.nodeSelector }} +{{ toYaml .Values.fleetAgent.nodeSelector | indent 8 }} +{{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} +{{- if .Values.fleetAgent.tolerations }} +{{ toYaml .Values.fleetAgent.tolerations | indent 8 }} +{{- end }} +{{- if not .Values.debug }} + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 +{{- end }} diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/network_policy_allow_all.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/network_policy_allow_all.yaml new file mode 100644 index 000000000..a72109a06 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/network_policy_allow_all.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: default-allow-all + namespace: {{ .Values.internal.systemNamespace }} +spec: + podSelector: {} + ingress: + - {} + egress: + - {} + policyTypes: + - Ingress + - Egress diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/patch_default_serviceaccount.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/patch_default_serviceaccount.yaml new file mode 100644 index 000000000..aad4eea41 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/patch_default_serviceaccount.yaml @@ -0,0 +1,28 @@ +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: patch-fleet-sa + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + template: + spec: + serviceAccountName: fleet-agent + restartPolicy: Never + containers: + - name: sa + image: "{{ template "system_default_registry" . }}{{ .Values.global.kubectl.repository }}:{{ .Values.global.kubectl.tag }}" + imagePullPolicy: {{ .Values.global.imagePullPolicy }} + command: ["kubectl", "patch", "serviceaccount", "default", "-p", "{\"automountServiceAccountToken\": false}"] + args: ["-n", {{ .Values.internal.systemNamespace }}] + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} +{{- if .Values.kubectl.nodeSelector }} +{{ toYaml .Values.kubectl.nodeSelector | indent 8 }} +{{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} +{{- if .Values.kubectl.tolerations }} +{{ toYaml .Values.kubectl.tolerations | indent 8 }} +{{- end }} + backoffLimit: 1 diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/rbac.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/rbac.yaml new file mode 100644 index 000000000..805949bf2 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/rbac.yaml @@ -0,0 +1,25 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: fleet-agent-system-fleet-agent-role +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: fleet-agent-system-fleet-agent-role-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: fleet-agent-system-fleet-agent-role +subjects: +- kind: ServiceAccount + name: fleet-agent + namespace: {{.Release.Namespace}} diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/secret.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/secret.yaml new file mode 100644 index 000000000..471588204 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/secret.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +data: + systemRegistrationNamespace: "{{b64enc .Values.systemRegistrationNamespace}}" + clusterNamespace: "{{b64enc .Values.clusterNamespace}}" + token: "{{b64enc .Values.token}}" + apiServerURL: "{{b64enc .Values.apiServerURL}}" + apiServerCA: "{{b64enc .Values.apiServerCA}}" +kind: Secret +metadata: + name: fleet-agent-bootstrap diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/serviceaccount.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/serviceaccount.yaml new file mode 100644 index 000000000..73e27f0be --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-agent diff --git a/charts/fleet-agent/102.2.4+up0.8.4/templates/validate.yaml b/charts/fleet-agent/102.2.4+up0.8.4/templates/validate.yaml new file mode 100644 index 000000000..d53ff1c50 --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/templates/validate.yaml @@ -0,0 +1,11 @@ +{{if ne .Release.Namespace .Values.internal.systemNamespace }} +{{ fail (printf "This chart must be installed in the namespace %s as the release name fleet-agent" .Values.internal.systemNamespace) }} +{{end}} + +{{if ne .Release.Name .Values.internal.managedReleaseName }} +{{ fail (printf "This chart must be installed in the namespace %s as the release name fleet-agent" .Values.internal.managedReleaseName) }} +{{end}} + +{{if not .Values.apiServerURL }} +{{ fail "apiServerURL is required to be set, and most likely also apiServerCA" }} +{{end}} diff --git a/charts/fleet-agent/102.2.4+up0.8.4/values.yaml b/charts/fleet-agent/102.2.4+up0.8.4/values.yaml new file mode 100644 index 000000000..d7aa2020b --- /dev/null +++ b/charts/fleet-agent/102.2.4+up0.8.4/values.yaml @@ -0,0 +1,63 @@ +image: + os: "windows,linux" + repository: rancher/fleet-agent + tag: v0.8.4 + +# The public URL of the Kubernetes API server running the Fleet Manager must be set here +# Example: https://example.com:6443 +apiServerURL: "" + +# The the pem encoded value of the CA of the Kubernetes API server running the Fleet Manager. +# If left empty it is assumed this Kubernetes API TLS is signed by a well known CA. +apiServerCA: "" + +# The cluster registration value +token: "" + +# Labels to add to the cluster upon registration only. They are not added after the fact. +#labels: +# foo: bar + +# The client ID of the cluster to associate with +clientID: "" + +# The namespace of the cluster we are register with +clusterNamespace: "" + +# The namespace containing the clusters registration secrets +systemRegistrationNamespace: cattle-fleet-clusters-system + +# Please do not change the below setting unless you really know what you are doing +internal: + systemNamespace: cattle-fleet-system + managedReleaseName: fleet-agent + +# The nodeSelector and tolerations for the agent deployment +fleetAgent: + ## Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + ## List of node taints to tolerate (requires Kubernetes >= 1.6) + tolerations: [] +kubectl: + ## Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + ## List of node taints to tolerate (requires Kubernetes >= 1.6) + tolerations: + - key: node.cloudprovider.kubernetes.io/uninitialized + operator: "Equal" + value: "true" + effect: NoSchedule + +global: + cattle: + systemDefaultRegistry: "" + kubectl: + repository: rancher/kubectl + tag: v1.21.5 + +debug: false +debugLevel: 0 diff --git a/charts/fleet-crd/102.2.4+up0.8.4/Chart.yaml b/charts/fleet-crd/102.2.4+up0.8.4/Chart.yaml new file mode 100644 index 000000000..1c9c780ff --- /dev/null +++ b/charts/fleet-crd/102.2.4+up0.8.4/Chart.yaml @@ -0,0 +1,13 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: fleet-crd +apiVersion: v2 +appVersion: 0.8.4 +description: Fleet Manager CustomResourceDefinitions +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-crd +version: 102.2.4+up0.8.4 diff --git a/charts/fleet-crd/102.2.4+up0.8.4/README.md b/charts/fleet-crd/102.2.4+up0.8.4/README.md new file mode 100644 index 000000000..2452ab2f1 --- /dev/null +++ b/charts/fleet-crd/102.2.4+up0.8.4/README.md @@ -0,0 +1,5 @@ +# Fleet CRD Helm Chart + +Fleet Manager CustomResourceDefinitions Helm chart is a requirement for the Fleet Helm Chart. + +The Fleet documentation is centralized in the [doc website](https://fleet.rancher.io/). \ No newline at end of file diff --git a/charts/fleet-crd/102.2.4+up0.8.4/templates/crds.yaml b/charts/fleet-crd/102.2.4+up0.8.4/templates/crds.yaml new file mode 100644 index 000000000..9bda89747 --- /dev/null +++ b/charts/fleet-crd/102.2.4+up0.8.4/templates/crds.yaml @@ -0,0 +1,3453 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: bundles.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Bundle + plural: bundles + singular: bundle + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.readyClusters + name: BundleDeployments-Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + correctDrift: + properties: + enabled: + type: boolean + force: + type: boolean + keepFailHistory: + type: boolean + type: object + defaultNamespace: + nullable: true + type: string + dependsOn: + items: + properties: + name: + nullable: true + type: string + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + type: object + nullable: true + type: array + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + atomic: + type: boolean + chart: + nullable: true + type: string + disablePreProcess: + type: boolean + force: + type: boolean + maxHistory: + type: integer + releaseName: + maxLength: 53 + nullable: true + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + items: + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + nullable: true + type: string + waitForJobs: + type: boolean + type: object + ignore: + properties: + conditions: + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + type: boolean + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + paused: + type: boolean + resources: + items: + properties: + content: + nullable: true + type: string + encoding: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + rolloutStrategy: + nullable: true + properties: + autoPartitionSize: + nullable: true + type: string + maxUnavailable: + nullable: true + type: string + maxUnavailablePartitions: + nullable: true + type: string + partitions: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + maxUnavailable: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + serviceAccount: + nullable: true + type: string + targetRestrictions: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + name: + nullable: true + type: string + type: object + nullable: true + type: array + targets: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + correctDrift: + properties: + enabled: + type: boolean + force: + type: boolean + keepFailHistory: + type: boolean + type: object + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + doNotDeploy: + type: boolean + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + atomic: + type: boolean + chart: + nullable: true + type: string + disablePreProcess: + type: boolean + force: + type: boolean + maxHistory: + type: integer + releaseName: + nullable: true + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + items: + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + nullable: true + type: string + waitForJobs: + type: boolean + type: object + ignore: + properties: + conditions: + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + type: boolean + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + name: + nullable: true + type: string + namespace: + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + serviceAccount: + nullable: true + type: string + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + nullable: true + type: array + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + display: + properties: + readyClusters: + nullable: true + type: string + state: + nullable: true + type: string + type: object + maxNew: + type: integer + maxUnavailable: + type: integer + maxUnavailablePartitions: + type: integer + newlyCreated: + type: integer + observedGeneration: + type: integer + partitions: + items: + properties: + count: + type: integer + maxUnavailable: + type: integer + name: + nullable: true + type: string + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + unavailable: + type: integer + type: object + nullable: true + type: array + resourceKey: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + nullable: true + type: array + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + unavailable: + type: integer + unavailablePartitions: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: bundledeployments.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: BundleDeployment + plural: bundledeployments + singular: bundledeployment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.deployed + name: Deployed + type: string + - jsonPath: .status.display.monitored + name: Monitored + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + correctDrift: + properties: + enabled: + type: boolean + force: + type: boolean + keepFailHistory: + type: boolean + type: object + dependsOn: + items: + properties: + name: + nullable: true + type: string + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + type: object + nullable: true + type: array + deploymentID: + nullable: true + type: string + options: + properties: + correctDrift: + properties: + enabled: + type: boolean + force: + type: boolean + keepFailHistory: + type: boolean + type: object + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + atomic: + type: boolean + chart: + nullable: true + type: string + disablePreProcess: + type: boolean + force: + type: boolean + maxHistory: + type: integer + releaseName: + maxLength: 53 + nullable: true + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + items: + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + nullable: true + type: string + waitForJobs: + type: boolean + type: object + ignore: + properties: + conditions: + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + type: boolean + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + serviceAccount: + nullable: true + type: string + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + paused: + type: boolean + stagedDeploymentID: + nullable: true + type: string + stagedOptions: + properties: + correctDrift: + properties: + enabled: + type: boolean + force: + type: boolean + keepFailHistory: + type: boolean + type: object + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + atomic: + type: boolean + chart: + nullable: true + type: string + disablePreProcess: + type: boolean + force: + type: boolean + maxHistory: + type: integer + releaseName: + nullable: true + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + items: + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + nullable: true + type: string + waitForJobs: + type: boolean + type: object + ignore: + properties: + conditions: + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + type: boolean + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + serviceAccount: + nullable: true + type: string + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + type: object + status: + properties: + appliedDeploymentID: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + display: + properties: + deployed: + nullable: true + type: string + monitored: + nullable: true + type: string + state: + nullable: true + type: string + type: object + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + nonModified: + type: boolean + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + ready: + type: boolean + release: + nullable: true + type: string + resources: + items: + properties: + apiVersion: + nullable: true + type: string + createdAt: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + nullable: true + type: array + syncGeneration: + nullable: true + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: bundlenamespacemappings.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: BundleNamespaceMapping + plural: bundlenamespacemappings + singular: bundlenamespacemapping + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + bundleSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clustergroups.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + categories: + - fleet + kind: ClusterGroup + plural: clustergroups + singular: clustergroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.readyClusters + name: Clusters-Ready + type: string + - jsonPath: .status.display.readyBundles + name: Bundles-Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + type: object + status: + properties: + clusterCount: + type: integer + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + display: + properties: + readyBundles: + nullable: true + type: string + readyClusters: + nullable: true + type: string + state: + nullable: true + type: string + type: object + nonReadyClusterCount: + type: integer + nonReadyClusters: + items: + nullable: true + type: string + nullable: true + type: array + resourceCounts: + properties: + desiredReady: + type: integer + missing: + type: integer + modified: + type: integer + notReady: + type: integer + orphaned: + type: integer + ready: + type: integer + unknown: + type: integer + waitApplied: + type: integer + type: object + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusters.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Cluster + plural: clusters + singular: cluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.display.readyBundles + name: Bundles-Ready + type: string + - jsonPath: .status.display.readyNodes + name: Nodes-Ready + type: string + - jsonPath: .status.display.sampleNode + name: Sample-Node + type: string + - jsonPath: .status.agent.lastSeen + name: Last-Seen + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + metadata: + properties: + name: + maxLength: 63 + pattern: ^[-a-z0-9]+$ + type: string + type: object + spec: + properties: + agentAffinity: + nullable: true + properties: + nodeAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + nullable: true + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + type: object + podAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + podAntiAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + type: object + agentEnvVars: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + agentNamespace: + nullable: true + type: string + agentResources: + nullable: true + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + agentTolerations: + items: + properties: + effect: + nullable: true + type: string + key: + nullable: true + type: string + operator: + nullable: true + type: string + tolerationSeconds: + maximum: 86400 + nullable: true + type: integer + value: + nullable: true + type: string + type: object + nullable: true + type: array + clientID: + nullable: true + type: string + kubeConfigSecret: + nullable: true + type: string + paused: + type: boolean + privateRepoURL: + nullable: true + type: string + redeployAgentGeneration: + type: integer + templateValues: + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + status: + properties: + agent: + properties: + lastSeen: + nullable: true + type: string + namespace: + nullable: true + type: string + nonReadyNodeNames: + items: + nullable: true + type: string + nullable: true + type: array + nonReadyNodes: + type: integer + readyNodeNames: + items: + nullable: true + type: string + nullable: true + type: array + readyNodes: + type: integer + type: object + agentAffinityHash: + nullable: true + type: string + agentConfigChanged: + type: boolean + agentDeployedGeneration: + nullable: true + type: integer + agentEnvVarsHash: + nullable: true + type: string + agentMigrated: + type: boolean + agentNamespaceMigrated: + type: boolean + agentPrivateRepoURL: + nullable: true + type: string + agentResourcesHash: + nullable: true + type: string + agentTolerationsHash: + nullable: true + type: string + apiServerCAHash: + nullable: true + type: string + apiServerURL: + nullable: true + type: string + cattleNamespaceMigrated: + type: boolean + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + desiredReadyGitRepos: + type: integer + display: + properties: + readyBundles: + nullable: true + type: string + readyNodes: + nullable: true + type: string + sampleNode: + nullable: true + type: string + state: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + readyGitRepos: + type: integer + resourceCounts: + properties: + desiredReady: + type: integer + missing: + type: integer + modified: + type: integer + notReady: + type: integer + orphaned: + type: integer + ready: + type: integer + unknown: + type: integer + waitApplied: + type: integer + type: object + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusterregistrationtokens.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: ClusterRegistrationToken + plural: clusterregistrationtokens + singular: clusterregistrationtoken + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.secretName + name: Secret-Name + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + metadata: + properties: + name: + maxLength: 63 + pattern: ^[-a-z0-9]+$ + type: string + type: object + spec: + properties: + ttl: + nullable: true + type: string + type: object + status: + properties: + expires: + nullable: true + type: string + secretName: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: gitrepos.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + categories: + - fleet + kind: GitRepo + plural: gitrepos + singular: gitrepo + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.repo + name: Repo + type: string + - jsonPath: .status.commit + name: Commit + type: string + - jsonPath: .status.display.readyBundleDeployments + name: BundleDeployments-Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + branch: + nullable: true + type: string + caBundle: + nullable: true + type: string + clientSecretName: + nullable: true + type: string + correctDrift: + properties: + enabled: + type: boolean + force: + type: boolean + keepFailHistory: + type: boolean + type: object + forceSyncGeneration: + type: integer + helmRepoURLRegex: + nullable: true + type: string + helmSecretName: + nullable: true + type: string + helmSecretNameForPaths: + nullable: true + type: string + imageScanCommit: + properties: + authorEmail: + nullable: true + type: string + authorName: + nullable: true + type: string + messageTemplate: + nullable: true + type: string + type: object + imageScanInterval: + nullable: true + type: string + insecureSkipTLSVerify: + type: boolean + keepResources: + type: boolean + paths: + items: + nullable: true + type: string + nullable: true + type: array + paused: + type: boolean + pollingInterval: + nullable: true + type: string + repo: + nullable: true + type: string + revision: + nullable: true + type: string + serviceAccount: + nullable: true + type: string + targetNamespace: + nullable: true + type: string + targets: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + name: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + status: + properties: + commit: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + desiredReadyClusters: + type: integer + display: + properties: + error: + type: boolean + message: + nullable: true + type: string + readyBundleDeployments: + nullable: true + type: string + state: + nullable: true + type: string + type: object + gitJobStatus: + nullable: true + type: string + lastSyncedImageScanTime: + nullable: true + type: string + observedGeneration: + type: integer + readyClusters: + type: integer + resourceCounts: + properties: + desiredReady: + type: integer + missing: + type: integer + modified: + type: integer + notReady: + type: integer + orphaned: + type: integer + ready: + type: integer + unknown: + type: integer + waitApplied: + type: integer + type: object + resourceErrors: + items: + nullable: true + type: string + nullable: true + type: array + resources: + items: + properties: + apiVersion: + nullable: true + type: string + error: + type: boolean + id: + nullable: true + type: string + incompleteState: + type: boolean + kind: + nullable: true + type: string + message: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + perClusterState: + items: + properties: + clusterId: + nullable: true + type: string + error: + type: boolean + message: + nullable: true + type: string + patch: + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: + nullable: true + type: string + type: object + nullable: true + type: array + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusterregistrations.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: ClusterRegistration + plural: clusterregistrations + singular: clusterregistration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.clusterName + name: Cluster-Name + type: string + - jsonPath: .spec.clusterLabels + name: Labels + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + clientID: + nullable: true + type: string + clientRandom: + nullable: true + type: string + clusterLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + status: + properties: + clusterName: + nullable: true + type: string + granted: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: gitreporestrictions.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: GitRepoRestriction + plural: gitreporestrictions + singular: gitreporestriction + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .defaultServiceAccount + name: Default-ServiceAccount + type: string + - jsonPath: .allowedServiceAccounts + name: Allowed-ServiceAccounts + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + allowedClientSecretNames: + items: + nullable: true + type: string + nullable: true + type: array + allowedRepoPatterns: + items: + nullable: true + type: string + nullable: true + type: array + allowedServiceAccounts: + items: + nullable: true + type: string + nullable: true + type: array + allowedTargetNamespaces: + items: + nullable: true + type: string + nullable: true + type: array + defaultClientSecretName: + nullable: true + type: string + defaultServiceAccount: + nullable: true + type: string + type: object + served: true + storage: true + subresources: + status: {} + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: contents.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Content + plural: contents + singular: content + preserveUnknownFields: false + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + content: + nullable: true + type: string + type: object + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: imagescans.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + categories: + - fleet + kind: ImageScan + plural: imagescans + singular: imagescan + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.image + name: Repository + type: string + - jsonPath: .status.latestTag + name: Latest + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + gitrepoName: + nullable: true + type: string + image: + nullable: true + type: string + interval: + nullable: true + type: string + policy: + properties: + alphabetical: + nullable: true + properties: + order: + nullable: true + type: string + type: object + semver: + nullable: true + properties: + range: + nullable: true + type: string + type: object + type: object + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + suspend: + type: boolean + tagName: + nullable: true + type: string + type: object + status: + properties: + canonicalImageName: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + lastScanTime: + nullable: true + type: string + latestDigest: + nullable: true + type: string + latestImage: + nullable: true + type: string + latestTag: + nullable: true + type: string + observedGeneration: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/fleet-crd/102.2.4+up0.8.4/templates/gitjobs-crds.yaml b/charts/fleet-crd/102.2.4+up0.8.4/templates/gitjobs-crds.yaml new file mode 100644 index 000000000..bf6fb789e --- /dev/null +++ b/charts/fleet-crd/102.2.4+up0.8.4/templates/gitjobs-crds.yaml @@ -0,0 +1,7714 @@ +{{- if .Capabilities.APIVersions.Has "apiextensions.k8s.io/v1" -}} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: gitjobs.gitjob.cattle.io +spec: + group: gitjob.cattle.io + names: + kind: GitJob + plural: gitjobs + singular: gitjob + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.git.repo + name: REPO + type: string + - jsonPath: .spec.git.branch + name: BRANCH + type: string + - jsonPath: .status.commit + name: COMMIT + type: string + - jsonPath: .status.jobStatus + name: JOBSTATUS + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + forceUpdateGeneration: + type: integer + git: + properties: + branch: + nullable: true + type: string + caBundle: + nullable: true + type: string + clientSecretName: + nullable: true + type: string + insecureSkipTLSVerify: + type: boolean + onTag: + nullable: true + type: string + provider: + nullable: true + type: string + repo: + nullable: true + type: string + revision: + nullable: true + type: string + type: object + jobSpec: + properties: + activeDeadlineSeconds: + nullable: true + type: integer + backoffLimit: + nullable: true + type: integer + completionMode: + nullable: true + type: string + completions: + nullable: true + type: integer + manualSelector: + nullable: true + type: boolean + parallelism: + nullable: true + type: integer + podFailurePolicy: + nullable: true + properties: + rules: + items: + properties: + action: + nullable: true + type: string + onExitCodes: + nullable: true + properties: + containerName: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + type: integer + nullable: true + type: array + type: object + onPodConditions: + items: + properties: + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + suspend: + nullable: true + type: boolean + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + creationTimestamp: + nullable: true + type: string + deletionGracePeriodSeconds: + nullable: true + type: integer + deletionTimestamp: + nullable: true + type: string + finalizers: + items: + nullable: true + type: string + nullable: true + type: array + generateName: + nullable: true + type: string + generation: + type: integer + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + managedFields: + items: + properties: + apiVersion: + nullable: true + type: string + fieldsType: + nullable: true + type: string + fieldsV1: + nullable: true + type: object + manager: + nullable: true + type: string + operation: + nullable: true + type: string + subresource: + nullable: true + type: string + time: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + namespace: + nullable: true + type: string + ownerReferences: + items: + properties: + apiVersion: + nullable: true + type: string + blockOwnerDeletion: + nullable: true + type: boolean + controller: + nullable: true + type: boolean + kind: + nullable: true + type: string + name: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + nullable: true + type: array + resourceVersion: + nullable: true + type: string + selfLink: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + spec: + properties: + activeDeadlineSeconds: + nullable: true + type: integer + affinity: + nullable: true + properties: + nodeAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + nullable: true + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + type: object + podAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + podAntiAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + type: object + automountServiceAccountToken: + nullable: true + type: boolean + containers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + name: + nullable: true + type: string + ports: + items: + properties: + containerPort: + type: integer + hostIP: + nullable: true + type: string + hostPort: + type: integer + name: + nullable: true + type: string + protocol: + nullable: true + type: string + type: object + nullable: true + type: array + readinessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + nullable: true + type: string + restartPolicy: + nullable: true + type: string + type: object + nullable: true + type: array + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + startupProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + dnsConfig: + nullable: true + properties: + nameservers: + items: + nullable: true + type: string + nullable: true + type: array + options: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + searches: + items: + nullable: true + type: string + nullable: true + type: array + type: object + dnsPolicy: + nullable: true + type: string + enableServiceLinks: + nullable: true + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + name: + nullable: true + type: string + ports: + items: + properties: + containerPort: + type: integer + hostIP: + nullable: true + type: string + hostPort: + type: integer + name: + nullable: true + type: string + protocol: + nullable: true + type: string + type: object + nullable: true + type: array + readinessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + nullable: true + type: string + restartPolicy: + nullable: true + type: string + type: object + nullable: true + type: array + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + startupProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + nullable: true + type: string + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + hostAliases: + items: + properties: + hostnames: + items: + nullable: true + type: string + nullable: true + type: array + ip: + nullable: true + type: string + type: object + nullable: true + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostUsers: + nullable: true + type: boolean + hostname: + nullable: true + type: string + imagePullSecrets: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + initContainers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + name: + nullable: true + type: string + ports: + items: + properties: + containerPort: + type: integer + hostIP: + nullable: true + type: string + hostPort: + type: integer + name: + nullable: true + type: string + protocol: + nullable: true + type: string + type: object + nullable: true + type: array + readinessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + nullable: true + type: string + restartPolicy: + nullable: true + type: string + type: object + nullable: true + type: array + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + startupProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + nodeName: + nullable: true + type: string + nodeSelector: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + os: + nullable: true + properties: + name: + nullable: true + type: string + type: object + overhead: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + preemptionPolicy: + nullable: true + type: string + priority: + nullable: true + type: integer + priorityClassName: + nullable: true + type: string + readinessGates: + items: + properties: + conditionType: + nullable: true + type: string + type: object + nullable: true + type: array + resourceClaims: + items: + properties: + name: + nullable: true + type: string + source: + properties: + resourceClaimName: + nullable: true + type: string + resourceClaimTemplateName: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + restartPolicy: + nullable: true + type: string + runtimeClassName: + nullable: true + type: string + schedulerName: + nullable: true + type: string + schedulingGates: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + securityContext: + nullable: true + properties: + fsGroup: + nullable: true + type: integer + fsGroupChangePolicy: + nullable: true + type: string + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + supplementalGroups: + items: + type: integer + nullable: true + type: array + sysctls: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + serviceAccount: + nullable: true + type: string + serviceAccountName: + nullable: true + type: string + setHostnameAsFQDN: + nullable: true + type: boolean + shareProcessNamespace: + nullable: true + type: boolean + subdomain: + nullable: true + type: string + terminationGracePeriodSeconds: + nullable: true + type: integer + tolerations: + items: + properties: + effect: + nullable: true + type: string + key: + nullable: true + type: string + operator: + nullable: true + type: string + tolerationSeconds: + nullable: true + type: integer + value: + nullable: true + type: string + type: object + nullable: true + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + matchLabelKeys: + items: + nullable: true + type: string + nullable: true + type: array + maxSkew: + type: integer + minDomains: + nullable: true + type: integer + nodeAffinityPolicy: + nullable: true + type: string + nodeTaintsPolicy: + nullable: true + type: string + topologyKey: + nullable: true + type: string + whenUnsatisfiable: + nullable: true + type: string + type: object + nullable: true + type: array + volumes: + items: + properties: + awsElasticBlockStore: + nullable: true + properties: + fsType: + nullable: true + type: string + partition: + type: integer + readOnly: + type: boolean + volumeID: + nullable: true + type: string + type: object + azureDisk: + nullable: true + properties: + cachingMode: + nullable: true + type: string + diskName: + nullable: true + type: string + diskURI: + nullable: true + type: string + fsType: + nullable: true + type: string + kind: + nullable: true + type: string + readOnly: + nullable: true + type: boolean + type: object + azureFile: + nullable: true + properties: + readOnly: + type: boolean + secretName: + nullable: true + type: string + shareName: + nullable: true + type: string + type: object + cephfs: + nullable: true + properties: + monitors: + items: + nullable: true + type: string + nullable: true + type: array + path: + nullable: true + type: string + readOnly: + type: boolean + secretFile: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + user: + nullable: true + type: string + type: object + cinder: + nullable: true + properties: + fsType: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + volumeID: + nullable: true + type: string + type: object + configMap: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + csi: + nullable: true + properties: + driver: + nullable: true + type: string + fsType: + nullable: true + type: string + nodePublishSecretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + readOnly: + nullable: true + type: boolean + volumeAttributes: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + downwardAPI: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + items: + items: + properties: + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + mode: + nullable: true + type: integer + path: + nullable: true + type: string + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + emptyDir: + nullable: true + properties: + medium: + nullable: true + type: string + sizeLimit: + nullable: true + type: string + type: object + ephemeral: + nullable: true + properties: + volumeClaimTemplate: + nullable: true + properties: + metadata: + properties: + annotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + creationTimestamp: + nullable: true + type: string + deletionGracePeriodSeconds: + nullable: true + type: integer + deletionTimestamp: + nullable: true + type: string + finalizers: + items: + nullable: true + type: string + nullable: true + type: array + generateName: + nullable: true + type: string + generation: + type: integer + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + managedFields: + items: + properties: + apiVersion: + nullable: true + type: string + fieldsType: + nullable: true + type: string + fieldsV1: + nullable: true + type: object + manager: + nullable: true + type: string + operation: + nullable: true + type: string + subresource: + nullable: true + type: string + time: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + namespace: + nullable: true + type: string + ownerReferences: + items: + properties: + apiVersion: + nullable: true + type: string + blockOwnerDeletion: + nullable: true + type: boolean + controller: + nullable: true + type: boolean + kind: + nullable: true + type: string + name: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + nullable: true + type: array + resourceVersion: + nullable: true + type: string + selfLink: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + spec: + properties: + accessModes: + items: + nullable: true + type: string + nullable: true + type: array + dataSource: + nullable: true + properties: + apiGroup: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + type: object + dataSourceRef: + nullable: true + properties: + apiGroup: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + storageClassName: + nullable: true + type: string + volumeMode: + nullable: true + type: string + volumeName: + nullable: true + type: string + type: object + type: object + type: object + fc: + nullable: true + properties: + fsType: + nullable: true + type: string + lun: + nullable: true + type: integer + readOnly: + type: boolean + targetWWNs: + items: + nullable: true + type: string + nullable: true + type: array + wwids: + items: + nullable: true + type: string + nullable: true + type: array + type: object + flexVolume: + nullable: true + properties: + driver: + nullable: true + type: string + fsType: + nullable: true + type: string + options: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + type: object + flocker: + nullable: true + properties: + datasetName: + nullable: true + type: string + datasetUUID: + nullable: true + type: string + type: object + gcePersistentDisk: + nullable: true + properties: + fsType: + nullable: true + type: string + partition: + type: integer + pdName: + nullable: true + type: string + readOnly: + type: boolean + type: object + gitRepo: + nullable: true + properties: + directory: + nullable: true + type: string + repository: + nullable: true + type: string + revision: + nullable: true + type: string + type: object + glusterfs: + nullable: true + properties: + endpoints: + nullable: true + type: string + path: + nullable: true + type: string + readOnly: + type: boolean + type: object + hostPath: + nullable: true + properties: + path: + nullable: true + type: string + type: + nullable: true + type: string + type: object + iscsi: + nullable: true + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + nullable: true + type: string + initiatorName: + nullable: true + type: string + iqn: + nullable: true + type: string + iscsiInterface: + nullable: true + type: string + lun: + type: integer + portals: + items: + nullable: true + type: string + nullable: true + type: array + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + targetPortal: + nullable: true + type: string + type: object + name: + nullable: true + type: string + nfs: + nullable: true + properties: + path: + nullable: true + type: string + readOnly: + type: boolean + server: + nullable: true + type: string + type: object + persistentVolumeClaim: + nullable: true + properties: + claimName: + nullable: true + type: string + readOnly: + type: boolean + type: object + photonPersistentDisk: + nullable: true + properties: + fsType: + nullable: true + type: string + pdID: + nullable: true + type: string + type: object + portworxVolume: + nullable: true + properties: + fsType: + nullable: true + type: string + readOnly: + type: boolean + volumeID: + nullable: true + type: string + type: object + projected: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + sources: + items: + properties: + configMap: + nullable: true + properties: + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + downwardAPI: + nullable: true + properties: + items: + items: + properties: + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + mode: + nullable: true + type: integer + path: + nullable: true + type: string + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + secret: + nullable: true + properties: + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + serviceAccountToken: + nullable: true + properties: + audience: + nullable: true + type: string + expirationSeconds: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + quobyte: + nullable: true + properties: + group: + nullable: true + type: string + readOnly: + type: boolean + registry: + nullable: true + type: string + tenant: + nullable: true + type: string + user: + nullable: true + type: string + volume: + nullable: true + type: string + type: object + rbd: + nullable: true + properties: + fsType: + nullable: true + type: string + image: + nullable: true + type: string + keyring: + nullable: true + type: string + monitors: + items: + nullable: true + type: string + nullable: true + type: array + pool: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + user: + nullable: true + type: string + type: object + scaleIO: + nullable: true + properties: + fsType: + nullable: true + type: string + gateway: + nullable: true + type: string + protectionDomain: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + sslEnabled: + type: boolean + storageMode: + nullable: true + type: string + storagePool: + nullable: true + type: string + system: + nullable: true + type: string + volumeName: + nullable: true + type: string + type: object + secret: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + optional: + nullable: true + type: boolean + secretName: + nullable: true + type: string + type: object + storageos: + nullable: true + properties: + fsType: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + volumeName: + nullable: true + type: string + volumeNamespace: + nullable: true + type: string + type: object + vsphereVolume: + nullable: true + properties: + fsType: + nullable: true + type: string + storagePolicyID: + nullable: true + type: string + storagePolicyName: + nullable: true + type: string + volumePath: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + type: object + ttlSecondsAfterFinished: + nullable: true + type: integer + type: object + syncInterval: + type: integer + type: object + status: + properties: + commit: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + event: + nullable: true + type: string + hookId: + nullable: true + type: string + jobStatus: + nullable: true + type: string + lastExecutedCommit: + nullable: true + type: string + lastSyncedTime: + nullable: true + type: string + observedGeneration: + type: integer + secretToken: + nullable: true + type: string + updateGeneration: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +{{- else -}} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: gitjobs.gitjob.cattle.io +spec: + additionalPrinterColumns: + - JSONPath: .spec.git.repo + name: REPO + type: string + - JSONPath: .spec.git.branch + name: BRANCH + type: string + - JSONPath: .status.commit + name: COMMIT + type: string + - JSONPath: .status.jobStatus + name: JOBSTATUS + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date + group: gitjob.cattle.io + names: + kind: GitJob + plural: gitjobs + singular: gitjob + preserveUnknownFields: false + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + forceUpdateGeneration: + type: integer + git: + properties: + branch: + nullable: true + type: string + caBundle: + nullable: true + type: string + clientSecretName: + nullable: true + type: string + insecureSkipTLSVerify: + type: boolean + onTag: + nullable: true + type: string + provider: + nullable: true + type: string + repo: + nullable: true + type: string + revision: + nullable: true + type: string + type: object + jobSpec: + properties: + activeDeadlineSeconds: + nullable: true + type: integer + backoffLimit: + nullable: true + type: integer + completionMode: + nullable: true + type: string + completions: + nullable: true + type: integer + manualSelector: + nullable: true + type: boolean + parallelism: + nullable: true + type: integer + podFailurePolicy: + nullable: true + properties: + rules: + items: + properties: + action: + nullable: true + type: string + onExitCodes: + nullable: true + properties: + containerName: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + type: integer + nullable: true + type: array + type: object + onPodConditions: + items: + properties: + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + suspend: + nullable: true + type: boolean + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + creationTimestamp: + nullable: true + type: string + deletionGracePeriodSeconds: + nullable: true + type: integer + deletionTimestamp: + nullable: true + type: string + finalizers: + items: + nullable: true + type: string + nullable: true + type: array + generateName: + nullable: true + type: string + generation: + type: integer + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + managedFields: + items: + properties: + apiVersion: + nullable: true + type: string + fieldsType: + nullable: true + type: string + fieldsV1: + nullable: true + type: object + manager: + nullable: true + type: string + operation: + nullable: true + type: string + subresource: + nullable: true + type: string + time: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + namespace: + nullable: true + type: string + ownerReferences: + items: + properties: + apiVersion: + nullable: true + type: string + blockOwnerDeletion: + nullable: true + type: boolean + controller: + nullable: true + type: boolean + kind: + nullable: true + type: string + name: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + nullable: true + type: array + resourceVersion: + nullable: true + type: string + selfLink: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + spec: + properties: + activeDeadlineSeconds: + nullable: true + type: integer + affinity: + nullable: true + properties: + nodeAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + nullable: true + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + type: object + podAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + podAntiAffinity: + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + weight: + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + type: object + automountServiceAccountToken: + nullable: true + type: boolean + containers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + name: + nullable: true + type: string + ports: + items: + properties: + containerPort: + type: integer + hostIP: + nullable: true + type: string + hostPort: + type: integer + name: + nullable: true + type: string + protocol: + nullable: true + type: string + type: object + nullable: true + type: array + readinessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + nullable: true + type: string + restartPolicy: + nullable: true + type: string + type: object + nullable: true + type: array + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + startupProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + dnsConfig: + nullable: true + properties: + nameservers: + items: + nullable: true + type: string + nullable: true + type: array + options: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + searches: + items: + nullable: true + type: string + nullable: true + type: array + type: object + dnsPolicy: + nullable: true + type: string + enableServiceLinks: + nullable: true + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + name: + nullable: true + type: string + ports: + items: + properties: + containerPort: + type: integer + hostIP: + nullable: true + type: string + hostPort: + type: integer + name: + nullable: true + type: string + protocol: + nullable: true + type: string + type: object + nullable: true + type: array + readinessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + nullable: true + type: string + restartPolicy: + nullable: true + type: string + type: object + nullable: true + type: array + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + startupProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + nullable: true + type: string + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + hostAliases: + items: + properties: + hostnames: + items: + nullable: true + type: string + nullable: true + type: array + ip: + nullable: true + type: string + type: object + nullable: true + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostUsers: + nullable: true + type: boolean + hostname: + nullable: true + type: string + imagePullSecrets: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + initContainers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + name: + nullable: true + type: string + ports: + items: + properties: + containerPort: + type: integer + hostIP: + nullable: true + type: string + hostPort: + type: integer + name: + nullable: true + type: string + protocol: + nullable: true + type: string + type: object + nullable: true + type: array + readinessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + nullable: true + type: string + restartPolicy: + nullable: true + type: string + type: object + nullable: true + type: array + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + startupProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + grpc: + nullable: true + properties: + port: + type: integer + service: + nullable: true + type: string + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + terminationGracePeriodSeconds: + nullable: true + type: integer + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + nodeName: + nullable: true + type: string + nodeSelector: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + os: + nullable: true + properties: + name: + nullable: true + type: string + type: object + overhead: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + preemptionPolicy: + nullable: true + type: string + priority: + nullable: true + type: integer + priorityClassName: + nullable: true + type: string + readinessGates: + items: + properties: + conditionType: + nullable: true + type: string + type: object + nullable: true + type: array + resourceClaims: + items: + properties: + name: + nullable: true + type: string + source: + properties: + resourceClaimName: + nullable: true + type: string + resourceClaimTemplateName: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + restartPolicy: + nullable: true + type: string + runtimeClassName: + nullable: true + type: string + schedulerName: + nullable: true + type: string + schedulingGates: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + securityContext: + nullable: true + properties: + fsGroup: + nullable: true + type: integer + fsGroupChangePolicy: + nullable: true + type: string + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + seccompProfile: + nullable: true + properties: + localhostProfile: + nullable: true + type: string + type: + nullable: true + type: string + type: object + supplementalGroups: + items: + type: integer + nullable: true + type: array + sysctls: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + hostProcess: + nullable: true + type: boolean + runAsUserName: + nullable: true + type: string + type: object + type: object + serviceAccount: + nullable: true + type: string + serviceAccountName: + nullable: true + type: string + setHostnameAsFQDN: + nullable: true + type: boolean + shareProcessNamespace: + nullable: true + type: boolean + subdomain: + nullable: true + type: string + terminationGracePeriodSeconds: + nullable: true + type: integer + tolerations: + items: + properties: + effect: + nullable: true + type: string + key: + nullable: true + type: string + operator: + nullable: true + type: string + tolerationSeconds: + nullable: true + type: integer + value: + nullable: true + type: string + type: object + nullable: true + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + matchLabelKeys: + items: + nullable: true + type: string + nullable: true + type: array + maxSkew: + type: integer + minDomains: + nullable: true + type: integer + nodeAffinityPolicy: + nullable: true + type: string + nodeTaintsPolicy: + nullable: true + type: string + topologyKey: + nullable: true + type: string + whenUnsatisfiable: + nullable: true + type: string + type: object + nullable: true + type: array + volumes: + items: + properties: + awsElasticBlockStore: + nullable: true + properties: + fsType: + nullable: true + type: string + partition: + type: integer + readOnly: + type: boolean + volumeID: + nullable: true + type: string + type: object + azureDisk: + nullable: true + properties: + cachingMode: + nullable: true + type: string + diskName: + nullable: true + type: string + diskURI: + nullable: true + type: string + fsType: + nullable: true + type: string + kind: + nullable: true + type: string + readOnly: + nullable: true + type: boolean + type: object + azureFile: + nullable: true + properties: + readOnly: + type: boolean + secretName: + nullable: true + type: string + shareName: + nullable: true + type: string + type: object + cephfs: + nullable: true + properties: + monitors: + items: + nullable: true + type: string + nullable: true + type: array + path: + nullable: true + type: string + readOnly: + type: boolean + secretFile: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + user: + nullable: true + type: string + type: object + cinder: + nullable: true + properties: + fsType: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + volumeID: + nullable: true + type: string + type: object + configMap: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + csi: + nullable: true + properties: + driver: + nullable: true + type: string + fsType: + nullable: true + type: string + nodePublishSecretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + readOnly: + nullable: true + type: boolean + volumeAttributes: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + downwardAPI: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + items: + items: + properties: + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + mode: + nullable: true + type: integer + path: + nullable: true + type: string + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + emptyDir: + nullable: true + properties: + medium: + nullable: true + type: string + sizeLimit: + nullable: true + type: string + type: object + ephemeral: + nullable: true + properties: + volumeClaimTemplate: + nullable: true + properties: + metadata: + properties: + annotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + creationTimestamp: + nullable: true + type: string + deletionGracePeriodSeconds: + nullable: true + type: integer + deletionTimestamp: + nullable: true + type: string + finalizers: + items: + nullable: true + type: string + nullable: true + type: array + generateName: + nullable: true + type: string + generation: + type: integer + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + managedFields: + items: + properties: + apiVersion: + nullable: true + type: string + fieldsType: + nullable: true + type: string + fieldsV1: + nullable: true + type: object + manager: + nullable: true + type: string + operation: + nullable: true + type: string + subresource: + nullable: true + type: string + time: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + namespace: + nullable: true + type: string + ownerReferences: + items: + properties: + apiVersion: + nullable: true + type: string + blockOwnerDeletion: + nullable: true + type: boolean + controller: + nullable: true + type: boolean + kind: + nullable: true + type: string + name: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + nullable: true + type: array + resourceVersion: + nullable: true + type: string + selfLink: + nullable: true + type: string + uid: + nullable: true + type: string + type: object + spec: + properties: + accessModes: + items: + nullable: true + type: string + nullable: true + type: array + dataSource: + nullable: true + properties: + apiGroup: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + type: object + dataSourceRef: + nullable: true + properties: + apiGroup: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + resources: + properties: + claims: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + storageClassName: + nullable: true + type: string + volumeMode: + nullable: true + type: string + volumeName: + nullable: true + type: string + type: object + type: object + type: object + fc: + nullable: true + properties: + fsType: + nullable: true + type: string + lun: + nullable: true + type: integer + readOnly: + type: boolean + targetWWNs: + items: + nullable: true + type: string + nullable: true + type: array + wwids: + items: + nullable: true + type: string + nullable: true + type: array + type: object + flexVolume: + nullable: true + properties: + driver: + nullable: true + type: string + fsType: + nullable: true + type: string + options: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + type: object + flocker: + nullable: true + properties: + datasetName: + nullable: true + type: string + datasetUUID: + nullable: true + type: string + type: object + gcePersistentDisk: + nullable: true + properties: + fsType: + nullable: true + type: string + partition: + type: integer + pdName: + nullable: true + type: string + readOnly: + type: boolean + type: object + gitRepo: + nullable: true + properties: + directory: + nullable: true + type: string + repository: + nullable: true + type: string + revision: + nullable: true + type: string + type: object + glusterfs: + nullable: true + properties: + endpoints: + nullable: true + type: string + path: + nullable: true + type: string + readOnly: + type: boolean + type: object + hostPath: + nullable: true + properties: + path: + nullable: true + type: string + type: + nullable: true + type: string + type: object + iscsi: + nullable: true + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + nullable: true + type: string + initiatorName: + nullable: true + type: string + iqn: + nullable: true + type: string + iscsiInterface: + nullable: true + type: string + lun: + type: integer + portals: + items: + nullable: true + type: string + nullable: true + type: array + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + targetPortal: + nullable: true + type: string + type: object + name: + nullable: true + type: string + nfs: + nullable: true + properties: + path: + nullable: true + type: string + readOnly: + type: boolean + server: + nullable: true + type: string + type: object + persistentVolumeClaim: + nullable: true + properties: + claimName: + nullable: true + type: string + readOnly: + type: boolean + type: object + photonPersistentDisk: + nullable: true + properties: + fsType: + nullable: true + type: string + pdID: + nullable: true + type: string + type: object + portworxVolume: + nullable: true + properties: + fsType: + nullable: true + type: string + readOnly: + type: boolean + volumeID: + nullable: true + type: string + type: object + projected: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + sources: + items: + properties: + configMap: + nullable: true + properties: + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + downwardAPI: + nullable: true + properties: + items: + items: + properties: + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + mode: + nullable: true + type: integer + path: + nullable: true + type: string + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + secret: + nullable: true + properties: + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + serviceAccountToken: + nullable: true + properties: + audience: + nullable: true + type: string + expirationSeconds: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + quobyte: + nullable: true + properties: + group: + nullable: true + type: string + readOnly: + type: boolean + registry: + nullable: true + type: string + tenant: + nullable: true + type: string + user: + nullable: true + type: string + volume: + nullable: true + type: string + type: object + rbd: + nullable: true + properties: + fsType: + nullable: true + type: string + image: + nullable: true + type: string + keyring: + nullable: true + type: string + monitors: + items: + nullable: true + type: string + nullable: true + type: array + pool: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + user: + nullable: true + type: string + type: object + scaleIO: + nullable: true + properties: + fsType: + nullable: true + type: string + gateway: + nullable: true + type: string + protectionDomain: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + sslEnabled: + type: boolean + storageMode: + nullable: true + type: string + storagePool: + nullable: true + type: string + system: + nullable: true + type: string + volumeName: + nullable: true + type: string + type: object + secret: + nullable: true + properties: + defaultMode: + nullable: true + type: integer + items: + items: + properties: + key: + nullable: true + type: string + mode: + nullable: true + type: integer + path: + nullable: true + type: string + type: object + nullable: true + type: array + optional: + nullable: true + type: boolean + secretName: + nullable: true + type: string + type: object + storageos: + nullable: true + properties: + fsType: + nullable: true + type: string + readOnly: + type: boolean + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + type: object + volumeName: + nullable: true + type: string + volumeNamespace: + nullable: true + type: string + type: object + vsphereVolume: + nullable: true + properties: + fsType: + nullable: true + type: string + storagePolicyID: + nullable: true + type: string + storagePolicyName: + nullable: true + type: string + volumePath: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + type: object + type: object + ttlSecondsAfterFinished: + nullable: true + type: integer + type: object + syncInterval: + type: integer + type: object + status: + properties: + commit: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + event: + nullable: true + type: string + hookId: + nullable: true + type: string + jobStatus: + nullable: true + type: string + lastExecutedCommit: + nullable: true + type: string + lastSyncedTime: + nullable: true + type: string + observedGeneration: + type: integer + secretToken: + nullable: true + type: string + updateGeneration: + type: integer + type: object + type: object + version: v1 + versions: + - name: v1 + served: true + storage: true +{{- end -}} diff --git a/charts/fleet-crd/102.2.4+up0.8.4/values.yaml b/charts/fleet-crd/102.2.4+up0.8.4/values.yaml new file mode 100644 index 000000000..d41d3a244 --- /dev/null +++ b/charts/fleet-crd/102.2.4+up0.8.4/values.yaml @@ -0,0 +1 @@ +# This file is intentionally empty diff --git a/charts/fleet/102.2.4+up0.8.4/Chart.yaml b/charts/fleet/102.2.4+up0.8.4/Chart.yaml new file mode 100644 index 000000000..2901b056d --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/Chart.yaml @@ -0,0 +1,22 @@ +annotations: + catalog.cattle.io/auto-install: fleet-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/experimental: "true" + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.28.0-0' + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: clusters.fleet.cattle.io/v1alpha1 + catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.8.0-0' + catalog.cattle.io/release-name: fleet +apiVersion: v2 +appVersion: 0.8.4 +dependencies: +- condition: gitops.enabled + name: gitjob + repository: file://./charts/gitjob +description: Fleet Manager - GitOps at Scale +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet +version: 102.2.4+up0.8.4 diff --git a/charts/fleet/102.2.4+up0.8.4/README.md b/charts/fleet/102.2.4+up0.8.4/README.md new file mode 100644 index 000000000..2f2a4c302 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/README.md @@ -0,0 +1,30 @@ +# Fleet Helm Chart + +Fleet is GitOps at scale. Fleet is designed to manage multiple clusters. + +## What is Fleet? + +* Cluster engine: Fleet is a container management and deployment engine designed to offer users more control on the local cluster and constant monitoring through GitOps. Fleet focuses not only on the ability to scale, but it also gives users a high degree of control and visibility to monitor exactly what is installed on the cluster. + +* Deployment management: Fleet can manage deployments from git of raw Kubernetes YAML, Helm charts, Kustomize, or any combination of the three. Regardless of the source, all resources are dynamically turned into Helm charts, and Helm is used as the engine to deploy all resources in the cluster. As a result, users can enjoy a high degree of control, consistency, and auditability of their clusters. + +## Introduction + +This chart deploys Fleet on a Kubernetes cluster. It also deploys some of its dependencies as subcharts. + +The documentation is centralized in the [doc website](https://fleet.rancher.io/). + +## Prerequisites + +Get helm if you don't have it. Helm 3 is just a CLI. + + +## Install Fleet + +Install the Fleet Helm charts (there are two because we separate out CRDs for ultimate flexibility.): + +``` +$ helm repo add fleet https://rancher.github.io/fleet-helm-charts/ +$ helm -n cattle-fleet-system install --create-namespace --wait fleet-crd fleet/fleet-crd +$ helm -n cattle-fleet-system install --create-namespace --wait fleet fleet/fleet +``` \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/.helmignore b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/.helmignore new file mode 100644 index 000000000..691fa13d6 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/Chart.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/Chart.yaml new file mode 100644 index 000000000..14bfd20bb --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +appVersion: 0.8.7 +description: Controller that run jobs based on git events +name: gitjob +version: 0.8.7 diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/_helpers.tpl b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/_helpers.tpl new file mode 100644 index 000000000..f652b5643 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/_helpers.tpl @@ -0,0 +1,7 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrole.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrole.yaml new file mode 100644 index 000000000..bcad90164 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrole.yaml @@ -0,0 +1,38 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: gitjob +rules: + - apiGroups: + - "batch" + resources: + - 'jobs' + verbs: + - '*' + - apiGroups: + - "" + resources: + - 'pods' + verbs: + - 'list' + - 'get' + - 'watch' + - apiGroups: + - "" + resources: + - 'secrets' + verbs: + - '*' + - apiGroups: + - "" + resources: + - 'configmaps' + verbs: + - '*' + - apiGroups: + - "gitjob.cattle.io" + resources: + - "gitjobs" + - "gitjobs/status" + verbs: + - "*" \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrolebinding.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrolebinding.yaml new file mode 100644 index 000000000..0bf07c4ef --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/clusterrolebinding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: gitjob-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: gitjob +subjects: + - kind: ServiceAccount + name: gitjob + namespace: {{ .Release.Namespace }} \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/deployment.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/deployment.yaml new file mode 100644 index 000000000..e7bbe5f20 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/deployment.yaml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gitjob +spec: + selector: + matchLabels: + app: "gitjob" + template: + metadata: + labels: + app: "gitjob" + spec: + serviceAccountName: gitjob + containers: + - image: "{{ template "system_default_registry" . }}{{ .Values.gitjob.repository }}:{{ .Values.gitjob.tag }}" + name: gitjob + args: + {{- if .Values.debug }} + - --debug + {{- end }} + - --tekton-image + - "{{ template "system_default_registry" . }}{{ .Values.tekton.repository }}:{{ .Values.tekton.tag }}" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- end }} + {{- if .Values.debug }} + - name: CATTLE_DEV_MODE + value: "true" + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.priorityClassName }} + priorityClassName: "{{.Values.priorityClassName}}" + {{- end }} diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/leases.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/leases.yaml new file mode 100644 index 000000000..51f933950 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/leases.yaml @@ -0,0 +1,23 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: gitjob +rules: + - apiGroups: + - "coordination.k8s.io" + resources: + - "leases" + verbs: + - "*" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: gitjob +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: gitjob +subjects: + - kind: ServiceAccount + name: gitjob diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/service.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/service.yaml new file mode 100644 index 000000000..bf57c1b55 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: gitjob +spec: + ports: + - name: http-80 + port: 80 + protocol: TCP + targetPort: 8080 + selector: + app: "gitjob" \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/serviceaccount.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/serviceaccount.yaml new file mode 100644 index 000000000..5f8aecb04 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: gitjob diff --git a/charts/fleet/102.2.4+up0.8.4/charts/gitjob/values.yaml b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/values.yaml new file mode 100644 index 000000000..6fb99de19 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/charts/gitjob/values.yaml @@ -0,0 +1,31 @@ +gitjob: + repository: rancher/gitjob + tag: v0.8.7 + +tekton: + repository: rancher/tekton-utils + tag: v0.1.43 + +global: + cattle: + systemDefaultRegistry: "" + +# http[s] proxy server +# proxy: http://@:: + +# comma separated list of domains or ip addresses that will not use the proxy +noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule + +# PriorityClassName assigned to deployment. +priorityClassName: "" + +debug: false diff --git a/charts/fleet/102.2.4+up0.8.4/templates/_helpers.tpl b/charts/fleet/102.2.4+up0.8.4/templates/_helpers.tpl new file mode 100644 index 000000000..6cd96c3ac --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/templates/_helpers.tpl @@ -0,0 +1,22 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{/* +Windows cluster will add default taint for linux nodes, +add below linux tolerations to workloads could be scheduled to those linux nodes +*/}} +{{- define "linux-node-tolerations" -}} +- key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" +{{- end -}} + +{{- define "linux-node-selector" -}} +kubernetes.io/os: linux +{{- end -}} \ No newline at end of file diff --git a/charts/fleet/102.2.4+up0.8.4/templates/configmap.yaml b/charts/fleet/102.2.4+up0.8.4/templates/configmap.yaml new file mode 100644 index 000000000..07f1b5924 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/templates/configmap.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: fleet-controller +data: + config: | + { + "systemDefaultRegistry": "{{ template "system_default_registry" . }}", + "agentImage": "{{ template "system_default_registry" . }}{{.Values.agentImage.repository}}:{{.Values.agentImage.tag}}", + "agentImagePullPolicy": "{{ .Values.agentImage.imagePullPolicy }}", + "apiServerURL": "{{.Values.apiServerURL}}", + "apiServerCA": "{{b64enc .Values.apiServerCA}}", + "agentCheckinInterval": "{{.Values.agentCheckinInterval}}", + "ignoreClusterRegistrationLabels": {{.Values.ignoreClusterRegistrationLabels}}, + "bootstrap": { + "paths": "{{.Values.bootstrap.paths}}", + "repo": "{{.Values.bootstrap.repo}}", + "secret": "{{.Values.bootstrap.secret}}", + "branch": "{{.Values.bootstrap.branch}}", + "namespace": "{{.Values.bootstrap.namespace}}", + "agentNamespace": "{{.Values.bootstrap.agentNamespace}}", + }, + "webhookReceiverURL": "{{.Values.webhookReceiverURL}}", + "githubURLPrefix": "{{.Values.githubURLPrefix}}" + } diff --git a/charts/fleet/102.2.4+up0.8.4/templates/deployment.yaml b/charts/fleet/102.2.4+up0.8.4/templates/deployment.yaml new file mode 100644 index 000000000..164340c44 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/templates/deployment.yaml @@ -0,0 +1,102 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: fleet-controller +spec: + selector: + matchLabels: + app: fleet-controller + template: + metadata: + labels: + app: fleet-controller + spec: + containers: + - env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: FLEET_PROPAGATE_DEBUG_SETTINGS_TO_AGENTS + value: {{ quote .Values.propagateDebugSettingsToAgents }} + {{- if .Values.clusterEnqueueDelay }} + - name: FLEET_CLUSTER_ENQUEUE_DELAY + value: {{ .Values.clusterEnqueueDelay }} + {{- end }} + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- end }} + {{- if .Values.cpuPprof }} + - name: FLEET_CPU_PPROF_DIR + value: /tmp/pprof/ + {{- end }} + {{- if .Values.cpuPprof }} + - name: FLEET_CPU_PPROF_PERIOD + value: {{ quote .Values.cpuPprof.period }} + {{- end }} + {{- if .Values.debug }} + - name: CATTLE_DEV_MODE + value: "true" + {{- end }} + image: '{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}' + name: fleet-controller + imagePullPolicy: "{{ .Values.image.imagePullPolicy }}" + command: + - fleetcontroller + {{- if not .Values.gitops.enabled }} + - --disable-gitops + {{- end }} + {{- if not .Values.bootstrap.enabled }} + - --disable-bootstrap + {{- end }} + {{- if .Values.debug }} + - --debug + - --debug-level + - {{ quote .Values.debugLevel }} + {{- else }} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + privileged: false + capabilities: + drop: + - ALL + {{- end }} + volumeMounts: + - mountPath: /tmp + name: tmp + {{- if .Values.cpuPprof }} + - mountPath: /tmp/pprof + name: pprof + {{- end }} + volumes: + - name: tmp + emptyDir: {} + {{- if .Values.cpuPprof }} + - name: pprof {{ toYaml .Values.cpuPprof.volumeConfiguration | nindent 10 }} + {{- end }} + + serviceAccountName: fleet-controller + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} +{{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} +{{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} +{{- if .Values.tolerations }} +{{ toYaml .Values.tolerations | indent 8 }} +{{- end }} + {{- if .Values.priorityClassName }} + priorityClassName: "{{.Values.priorityClassName}}" + {{- end }} + +{{- if not .Values.debug }} + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 +{{- end }} diff --git a/charts/fleet/102.2.4+up0.8.4/templates/job_cleanup_clusterregistrations.yaml b/charts/fleet/102.2.4+up0.8.4/templates/job_cleanup_clusterregistrations.yaml new file mode 100644 index 000000000..fa59cc575 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/templates/job_cleanup_clusterregistrations.yaml @@ -0,0 +1,29 @@ +{{- if .Values.migrations.clusterRegistrationCleanup }} +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: fleet-cleanup-clusterregistrations + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + template: + metadata: + labels: + app: fleet-job + spec: + serviceAccountName: fleet-controller + restartPolicy: Never + containers: + - name: cleanup + image: "{{ template "system_default_registry" . }}{{.Values.agentImage.repository}}:{{.Values.agentImage.tag}}" + imagePullPolicy: {{ .Values.global.imagePullPolicy }} + command: + - fleet + args: + - cleanup + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} + backoffLimit: 1 +{{- end }} diff --git a/charts/fleet/102.2.4+up0.8.4/templates/rbac.yaml b/charts/fleet/102.2.4+up0.8.4/templates/rbac.yaml new file mode 100644 index 000000000..361d68c08 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/templates/rbac.yaml @@ -0,0 +1,114 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: fleet-controller +rules: +- apiGroups: + - gitjob.cattle.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - fleet.cattle.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - "" + resources: + - namespaces + - serviceaccounts + verbs: + - '*' +- apiGroups: + - "" + resources: + - secrets + - configmaps + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + - clusterrolebindings + - roles + - rolebindings + verbs: + - '*' + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: fleet-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: fleet-controller +subjects: +- kind: ServiceAccount + name: fleet-controller + namespace: {{.Release.Namespace}} + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: fleet-controller +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - '*' +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - '*' + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: fleet-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: fleet-controller +subjects: +- kind: ServiceAccount + name: fleet-controller + +{{- if .Values.bootstrap.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: fleet-controller-bootstrap +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: fleet-controller-bootstrap +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: fleet-controller-bootstrap +subjects: +- kind: ServiceAccount + name: fleet-controller-bootstrap + namespace: {{.Release.Namespace}} +{{- end }} diff --git a/charts/fleet/102.2.4+up0.8.4/templates/serviceaccount.yaml b/charts/fleet/102.2.4+up0.8.4/templates/serviceaccount.yaml new file mode 100644 index 000000000..ba27c748d --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/templates/serviceaccount.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-controller + +{{- if .Values.bootstrap.enabled }} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-controller-bootstrap +{{- end }} diff --git a/charts/fleet/102.2.4+up0.8.4/values.yaml b/charts/fleet/102.2.4+up0.8.4/values.yaml new file mode 100644 index 000000000..fde4f62f4 --- /dev/null +++ b/charts/fleet/102.2.4+up0.8.4/values.yaml @@ -0,0 +1,83 @@ +image: + repository: rancher/fleet + tag: v0.8.4 + imagePullPolicy: IfNotPresent + +agentImage: + repository: rancher/fleet-agent + tag: v0.8.4 + imagePullPolicy: IfNotPresent + +# For cluster registration the public URL of the Kubernetes API server must be set here +# Example: https://example.com:6443 +apiServerURL: "" + +# For cluster registration the pem encoded value of the CA of the Kubernetes API server must be set here +# If left empty it is assumed this Kubernetes API TLS is signed by a well known CA. +apiServerCA: "" + +# A duration string for how often agents should report a heartbeat +agentCheckinInterval: "15m" + +# Whether you want to allow cluster upon registration to specify their labels. +ignoreClusterRegistrationLabels: false + +# Counts from gitrepo are out of sync with bundleDeployment state. +# Just retry in a number of seconds as there is no great way to trigger an event that doesn't cause a loop. +# If not set default is 15 seconds. +# clusterEnqueueDelay: 120s + +# http[s] proxy server +# proxy: http://@:: + +# comma separated list of domains or ip addresses that will not use the proxy +noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local + +bootstrap: + enabled: true + # The namespace that will be autocreated and the local cluster will be registered in + namespace: fleet-local + # The namespace where the fleet agent for the local cluster will be ran, if empty + # this will default to cattle-fleet-system + agentNamespace: "" + # A repo to add at install time that will deploy to the local cluster. This allows + # one to fully bootstrap fleet, its configuration and all its downstream clusters + # in one shot. + repo: "" + secret: "" + branch: master + paths: "" + + +global: + cattle: + systemDefaultRegistry: "" + +## Node labels for pod assignment +## Ref: https://kubernetes.io/docs/user-guide/node-selection/ +## +nodeSelector: {} +## List of node taints to tolerate (requires Kubernetes >= 1.6) +tolerations: [] + +## PriorityClassName assigned to deployment. +priorityClassName: "" + +gitops: + enabled: true + +debug: false +debugLevel: 0 +propagateDebugSettingsToAgents: true + +## Optional CPU pprof configuration. Profiles are collected continuously and saved every period +## Any valid volume configuration can be provided, the example below uses hostPath +#cpuPprof: +# period: "60s" +# volumeConfiguration: +# hostPath: +# path: /tmp/pprof +# type: DirectoryOrCreate + +migrations: + clusterRegistrationCleanup: true diff --git a/index.yaml b/index.yaml index 40fa5500a..6536c6f8c 100755 --- a/index.yaml +++ b/index.yaml @@ -194,6 +194,32 @@ entries: urls: - assets/fleet/fleet-103.1.0+up0.9.0.tgz version: 103.1.0+up0.9.0 + - annotations: + catalog.cattle.io/auto-install: fleet-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/experimental: "true" + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.28.0-0' + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: clusters.fleet.cattle.io/v1alpha1 + catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.8.0-0' + catalog.cattle.io/release-name: fleet + apiVersion: v2 + appVersion: 0.8.4 + created: "2024-05-14T11:50:16.758699-03:00" + dependencies: + - condition: gitops.enabled + name: gitjob + repository: file://./charts/gitjob + description: Fleet Manager - GitOps at Scale + digest: fddb67d8712dac68a575574b4c8d4b2a7e8773cf58914b122a1ef8765a2c1666 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet + urls: + - assets/fleet/fleet-102.2.4+up0.8.4.tgz + version: 102.2.4+up0.8.4 - annotations: catalog.cattle.io/auto-install: fleet-crd=match catalog.cattle.io/certified: rancher @@ -905,6 +931,25 @@ entries: urls: - assets/fleet-agent/fleet-agent-103.1.0+up0.9.0.tgz version: 103.1.0+up0.9.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.28.0-0' + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.8.0-0' + catalog.cattle.io/release-name: fleet-agent + apiVersion: v2 + appVersion: 0.8.4 + created: "2024-05-14T11:51:25.863487-03:00" + description: Fleet Manager Agent - GitOps at Scale + digest: 04da777debc4c314c7f461de72ccd46bae31500d5579cb6cec20eb50eff63d1b + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-agent + urls: + - assets/fleet-agent/fleet-agent-102.2.4+up0.8.4.tgz + version: 102.2.4+up0.8.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -1445,6 +1490,23 @@ entries: urls: - assets/fleet-crd/fleet-crd-103.1.0+up0.9.0.tgz version: 103.1.0+up0.9.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: fleet-crd + apiVersion: v2 + appVersion: 0.8.4 + created: "2024-05-14T11:50:46.22945-03:00" + description: Fleet Manager CustomResourceDefinitions + digest: 2eaad269e7bd2fc527253dbbf419f658a5d756cf0db777f2a04ec45d8c5b2889 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-crd + urls: + - assets/fleet-crd/fleet-crd-102.2.4+up0.8.4.tgz + version: 102.2.4+up0.8.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" diff --git a/release.yaml b/release.yaml index 130baa1c9..f3a8698ae 100644 --- a/release.yaml +++ b/release.yaml @@ -9,16 +9,19 @@ fleet: - 102.2.3+up0.8.3 - 103.1.2+up0.9.2 - 104.0.0+up0.10.0-rc.13 + - 102.2.4+up0.8.4 fleet-agent: - 102.2.2+up0.8.2 - 102.2.3+up0.8.3 - 103.1.2+up0.9.2 - 104.0.0+up0.10.0-rc.13 + - 102.2.4+up0.8.4 fleet-crd: - 102.2.2+up0.8.2 - 102.2.3+up0.8.3 - 103.1.2+up0.9.2 - 104.0.0+up0.10.0-rc.13 + - 102.2.4+up0.8.4 longhorn: - 102.3.1+up1.5.3 - 102.3.2+up1.5.4