From 47e69f03a552ca966b3688050b2d9517c233a877 Mon Sep 17 00:00:00 2001 From: Nicholas openSUSE Software Engineer Date: Tue, 20 Aug 2024 23:00:20 -0300 Subject: [PATCH] [release-v2.9] forward-porting charts from dev-v2.9 (#4371) --- .../elemental-crd-103.3.1+up1.5.4.tgz | Bin 0 -> 22178 bytes .../elemental/elemental-103.3.1+up1.5.4.tgz | Bin 0 -> 3453 bytes .../fleet-agent-103.1.7+up0.9.8.tgz | Bin 0 -> 3206 bytes .../fleet-crd/fleet-crd-103.1.7+up0.9.8.tgz | Bin 0 -> 49262 bytes assets/fleet/fleet-103.1.7+up0.9.8.tgz | Bin 0 -> 5341 bytes .../harvester-csi-driver-103.0.2+up0.1.18.tgz | Bin 0 -> 3764 bytes ...ncher-aks-operator-crd-103.4.0+up1.2.4.tgz | Bin 0 -> 1248 bytes .../rancher-aks-operator-103.4.0+up1.2.4.tgz | Bin 0 -> 2049 bytes .../rancher-backup-crd-103.0.3+up4.0.3.tgz | Bin 0 -> 1777 bytes .../rancher-backup-103.0.3+up4.0.3.tgz | Bin 0 -> 11578 bytes .../rancher-cis-benchmark-crd-5.3.0.tgz | Bin 0 -> 1464 bytes .../rancher-cis-benchmark-5.3.0.tgz | Bin 0 -> 7257 bytes ...ncher-eks-operator-crd-103.4.0+up1.3.4.tgz | Bin 0 -> 1209 bytes .../rancher-eks-operator-103.4.0+up1.3.4.tgz | Bin 0 -> 2041 bytes ...ncher-gke-operator-crd-103.4.0+up1.2.4.tgz | Bin 0 -> 1413 bytes .../rancher-gke-operator-103.4.0+up1.2.4.tgz | Bin 0 -> 2075 bytes .../rancher-logging-crd-103.1.2+up4.4.0.tgz | Bin 0 -> 128627 bytes .../rancher-logging-103.1.2+up4.4.0.tgz | Bin 0 -> 18737 bytes .../rancher-webhook-103.0.9+up0.4.10.tgz | Bin 0 -> 2800 bytes .../elemental-crd/103.3.1+up1.5.4/Chart.yaml | 11 + .../103.3.1+up1.5.4/templates/crds.yaml | 4079 ++++ .../validate-no-pending-deletions.yaml | 6 + charts/elemental/103.3.1+up1.5.4/Chart.yaml | 20 + charts/elemental/103.3.1+up1.5.4/README.md | 5 + .../elemental/103.3.1+up1.5.4/app-readme.md | 5 + .../elemental/103.3.1+up1.5.4/questions.yaml | 27 + .../103.3.1+up1.5.4/templates/_helpers.tpl | 17 + .../103.3.1+up1.5.4/templates/apiservice.yaml | 9 + .../103.3.1+up1.5.4/templates/capi_rbac.yaml | 10 + .../103.3.1+up1.5.4/templates/channel.yaml | 11 + .../templates/cluster_role.yaml | 267 + .../templates/cluster_role_binding.yaml | 13 + .../103.3.1+up1.5.4/templates/deployment.yaml | 50 + .../103.3.1+up1.5.4/templates/globalrole.yaml | 16 + .../templates/serviceaccount.yaml | 4 + .../templates/validate-install-crd.yaml | 25 + charts/elemental/103.3.1+up1.5.4/values.yaml | 42 + charts/fleet-agent/103.1.7+up0.9.8/Chart.yaml | 15 + charts/fleet-agent/103.1.7+up0.9.8/README.md | 8 + .../103.1.7+up0.9.8/templates/_helpers.tpl | 22 + .../103.1.7+up0.9.8/templates/configmap.yaml | 13 + .../103.1.7+up0.9.8/templates/deployment.yaml | 51 + .../templates/network_policy_allow_all.yaml | 15 + .../patch_default_serviceaccount.yaml | 28 + .../103.1.7+up0.9.8/templates/rbac.yaml | 28 + .../103.1.7+up0.9.8/templates/secret.yaml | 10 + .../templates/serviceaccount.yaml | 4 + .../103.1.7+up0.9.8/templates/validate.yaml | 11 + .../fleet-agent/103.1.7+up0.9.8/values.yaml | 67 + charts/fleet-crd/103.1.7+up0.9.8/Chart.yaml | 13 + charts/fleet-crd/103.1.7+up0.9.8/README.md | 5 + .../103.1.7+up0.9.8/templates/crds.yaml | 5736 +++++ .../templates/gitjobs-crds.yaml | 7690 +++++++ charts/fleet-crd/103.1.7+up0.9.8/values.yaml | 1 + charts/fleet/103.1.7+up0.9.8/Chart.yaml | 22 + charts/fleet/103.1.7+up0.9.8/README.md | 30 + .../103.1.7+up0.9.8/charts/gitjob/.helmignore | 23 + .../103.1.7+up0.9.8/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 | 52 + .../charts/gitjob/templates/leases.yaml | 23 + .../charts/gitjob/templates/service.yaml | 12 + .../gitjob/templates/serviceaccount.yaml | 4 + .../103.1.7+up0.9.8/charts/gitjob/values.yaml | 27 + .../103.1.7+up0.9.8/templates/_helpers.tpl | 22 + .../103.1.7+up0.9.8/templates/configmap.yaml | 26 + .../103.1.7+up0.9.8/templates/deployment.yaml | 102 + .../job_cleanup_clusterregistrations.yaml | 40 + .../fleet/103.1.7+up0.9.8/templates/rbac.yaml | 114 + .../templates/serviceaccount.yaml | 12 + charts/fleet/103.1.7+up0.9.8/values.yaml | 87 + .../103.0.2+up0.1.18/.helmignore | 23 + .../103.0.2+up0.1.18/Chart.yaml | 22 + .../103.0.2+up0.1.18/questions.yml | 11 + .../103.0.2+up0.1.18/templates/NOTES.txt | 1 + .../103.0.2+up0.1.18/templates/_helpers.tpl | 62 + .../103.0.2+up0.1.18/templates/csidriver.yaml | 10 + .../103.0.2+up0.1.18/templates/daemonset.yaml | 149 + .../templates/deployment.yaml | 95 + .../103.0.2+up0.1.18/templates/rbac.yaml | 75 + .../templates/storageclass.yaml | 10 + .../103.0.2+up0.1.18/values.yaml | 54 + .../103.4.0+up1.2.4/Chart.yaml | 12 + .../103.4.0+up1.2.4/templates/crds.yaml | 211 + .../103.4.0+up1.2.4/Chart.yaml | 20 + .../103.4.0+up1.2.4/templates/NOTES.txt | 4 + .../103.4.0+up1.2.4/templates/_helpers.tpl | 25 + .../templates/clusterrole.yaml | 15 + .../templates/clusterrolebinding.yaml | 13 + .../103.4.0+up1.2.4/templates/deployment.yaml | 61 + .../templates/serviceaccount.yaml | 5 + .../103.4.0+up1.2.4/values.yaml | 23 + .../103.0.3+up4.0.3/Chart.yaml | 11 + .../103.0.3+up4.0.3/README.md | 3 + .../103.0.3+up4.0.3/templates/backup.yaml | 141 + .../templates/resourceset.yaml | 118 + .../103.0.3+up4.0.3/templates/restore.yaml | 122 + .../rancher-backup/103.0.3+up4.0.3/Chart.yaml | 26 + .../rancher-backup/103.0.3+up4.0.3/README.md | 79 + .../103.0.3+up4.0.3/app-readme.md | 33 + .../default-resourceset-contents/aks.yaml | 25 + .../default-resourceset-contents/eks.yaml | 17 + .../elemental.yaml | 49 + .../default-resourceset-contents/fleet.yaml | 53 + .../default-resourceset-contents/gke.yaml | 17 + .../provisioningv2.yaml | 23 + .../rancher-operator.yaml | 28 + .../default-resourceset-contents/rancher.yaml | 69 + .../103.0.3+up4.0.3/templates/_helpers.tpl | 87 + .../templates/clusterrolebinding.yaml | 14 + .../103.0.3+up4.0.3/templates/deployment.yaml | 79 + .../103.0.3+up4.0.3/templates/hardened.yaml | 124 + .../103.0.3+up4.0.3/templates/psp.yaml | 31 + .../103.0.3+up4.0.3/templates/pvc.yaml | 27 + .../templates/rancher-resourceset.yaml | 13 + .../103.0.3+up4.0.3/templates/s3-secret.yaml | 31 + .../templates/serviceaccount.yaml | 11 + .../templates/validate-install-crd.yaml | 16 + .../templates/validate-psp-install.yaml | 7 + .../tests/deployment_test.yaml | 216 + .../103.0.3+up4.0.3/tests/pvc_test.yaml | 102 + .../103.0.3+up4.0.3/tests/s3-secret_test.yaml | 141 + .../103.0.3+up4.0.3/values.yaml | 81 + .../5.3.0/Chart.yaml | 10 + .../rancher-cis-benchmark-crd/5.3.0/README.md | 2 + .../5.3.0/templates/clusterscan.yaml | 148 + .../5.3.0/templates/clusterscanbenchmark.yaml | 54 + .../5.3.0/templates/clusterscanprofile.yaml | 36 + .../5.3.0/templates/clusterscanreport.yaml | 39 + charts/rancher-cis-benchmark/5.3.0/Chart.yaml | 22 + charts/rancher-cis-benchmark/5.3.0/README.md | 9 + .../rancher-cis-benchmark/5.3.0/app-readme.md | 55 + .../5.3.0/templates/_helpers.tpl | 27 + .../5.3.0/templates/alertingrule.yaml | 14 + .../5.3.0/templates/benchmark-aks-1.0.yaml | 8 + .../5.3.0/templates/benchmark-cis-1.7.yaml | 9 + .../5.3.0/templates/benchmark-cis-1.8.yaml | 8 + .../5.3.0/templates/benchmark-eks-1.2.0.yaml | 8 + .../5.3.0/templates/benchmark-gke-1.2.0.yaml | 8 + .../benchmark-k3s-cis-1.7-hardened.yaml | 9 + .../benchmark-k3s-cis-1.7-permissive.yaml | 9 + .../benchmark-k3s-cis-1.8-hardened.yaml | 8 + .../benchmark-k3s-cis-1.8-permissive.yaml | 8 + .../benchmark-rke-cis-1.7-hardened.yaml | 9 + .../benchmark-rke-cis-1.7-permissive.yaml | 9 + .../benchmark-rke-cis-1.8-hardened.yaml | 8 + .../benchmark-rke-cis-1.8-permissive.yaml | 8 + .../benchmark-rke2-cis-1.7-hardened.yaml | 9 + .../benchmark-rke2-cis-1.7-permissive.yaml | 9 + .../benchmark-rke2-cis-1.8-hardened.yaml | 8 + .../benchmark-rke2-cis-1.8-permissive.yaml | 8 + .../5.3.0/templates/cis-roles.yaml | 49 + .../5.3.0/templates/configmap.yaml | 18 + .../5.3.0/templates/deployment.yaml | 61 + .../templates/network_policy_allow_all.yaml | 15 + .../patch_default_serviceaccount.yaml | 29 + .../5.3.0/templates/psp.yaml | 59 + .../5.3.0/templates/rbac.yaml | 219 + .../5.3.0/templates/scanprofile-cis-1.7.yaml | 9 + .../5.3.0/templates/scanprofile-cis-1.8.yaml | 9 + .../scanprofile-k3s-cis-1.7-hardened.yml | 9 + .../scanprofile-k3s-cis-1.7-permissive.yml | 9 + .../scanprofile-k3s-cis-1.8-hardened.yml | 9 + .../scanprofile-k3s-cis-1.8-permissive.yml | 9 + .../scanprofile-rke-1.7-hardened.yaml | 9 + .../scanprofile-rke-1.7-permissive.yaml | 9 + .../scanprofile-rke-1.8-hardened.yaml | 9 + .../scanprofile-rke-1.8-permissive.yaml | 9 + .../scanprofile-rke2-cis-1.7-hardened.yml | 9 + .../scanprofile-rke2-cis-1.7-permissive.yml | 9 + .../scanprofile-rke2-cis-1.8-hardened.yml | 9 + .../scanprofile-rke2-cis-1.8-permissive.yml | 9 + .../5.3.0/templates/scanprofileaks.yml | 9 + .../5.3.0/templates/scanprofileeks.yml | 9 + .../5.3.0/templates/scanprofilegke.yml | 9 + .../5.3.0/templates/serviceaccount.yaml | 14 + .../5.3.0/templates/validate-install-crd.yaml | 17 + .../5.3.0/templates/validate-psp-install.yaml | 7 + .../rancher-cis-benchmark/5.3.0/values.yaml | 55 + .../103.4.0+up1.3.4/Chart.yaml | 12 + .../103.4.0+up1.3.4/templates/crds.yaml | 226 + .../103.4.0+up1.3.4/Chart.yaml | 20 + .../103.4.0+up1.3.4/templates/NOTES.txt | 4 + .../103.4.0+up1.3.4/templates/_helpers.tpl | 25 + .../templates/clusterrole.yaml | 15 + .../templates/clusterrolebinding.yaml | 13 + .../103.4.0+up1.3.4/templates/deployment.yaml | 61 + .../templates/serviceaccount.yaml | 5 + .../103.4.0+up1.3.4/values.yaml | 22 + .../103.4.0+up1.2.4/Chart.yaml | 12 + .../103.4.0+up1.2.4/templates/crds.yaml | 250 + .../103.4.0+up1.2.4/Chart.yaml | 20 + .../103.4.0+up1.2.4/templates/NOTES.txt | 4 + .../103.4.0+up1.2.4/templates/_helpers.tpl | 25 + .../templates/clusterrole.yaml | 15 + .../templates/clusterrolebinding.yaml | 13 + .../103.4.0+up1.2.4/templates/deployment.yaml | 62 + .../templates/serviceaccount.yaml | 5 + .../103.4.0+up1.2.4/values.yaml | 23 + .../103.1.2+up4.4.0/Chart.yaml | 10 + .../103.1.2+up4.4.0/README.md | 2 + ...xtensions.banzaicloud.io_eventtailers.yaml | 2212 ++ ...extensions.banzaicloud.io_hosttailers.yaml | 2367 ++ .../logging.banzaicloud.io_clusterflows.yaml | 2080 ++ ...logging.banzaicloud.io_clusteroutputs.yaml | 12658 +++++++++++ .../logging.banzaicloud.io_flows.yaml | 2072 ++ ...ogging.banzaicloud.io_fluentbitagents.yaml | 2260 ++ .../logging.banzaicloud.io_loggingroutes.yaml | 111 + .../logging.banzaicloud.io_loggings.yaml | 17914 ++++++++++++++++ .../logging.banzaicloud.io_nodeagents.yaml | 4328 ++++ .../logging.banzaicloud.io_outputs.yaml | 12334 +++++++++++ ...g.banzaicloud.io_syslogngclusterflows.yaml | 355 + ...banzaicloud.io_syslogngclusteroutputs.yaml | 2431 +++ .../logging.banzaicloud.io_syslogngflows.yaml | 359 + ...ogging.banzaicloud.io_syslogngoutputs.yaml | 2425 +++ .../103.1.2+up4.4.0/.helmignore | 26 + .../103.1.2+up4.4.0/Chart.yaml | 30 + .../rancher-logging/103.1.2+up4.4.0/README.md | 112 + .../103.1.2+up4.4.0/app-readme.md | 45 + .../103.1.2+up4.4.0/templates/NOTES.txt | 0 .../templates/_generic_logging.yaml | 121 + .../103.1.2+up4.4.0/templates/_helpers.tpl | 197 + .../templates/clusterrole.yaml | 367 + .../templates/clusterrolebinding.yaml | 18 + .../103.1.2+up4.4.0/templates/crds.yaml | 6 + .../103.1.2+up4.4.0/templates/deployment.yaml | 79 + .../103.1.2+up4.4.0/templates/logging.yaml | 57 + .../templates/logging_clusterflows.yaml | 14 + .../templates/logging_clusteroutputs.yaml | 14 + .../templates/logging_eventtailer.yaml | 35 + .../templates/logging_fluentbit.yaml | 17 + .../templates/logging_hosttailer.yaml | 26 + .../templates/loggings/aks/logging.yaml | 18 + .../templates/loggings/eks/logging.yaml | 28 + .../templates/loggings/gke/logging.yaml | 18 + .../templates/loggings/k3s/configmap.yaml | 57 + .../templates/loggings/k3s/daemonset.yaml | 110 + .../loggings/k3s/logging-k3s-openrc.yaml | 19 + .../loggings/kube-audit/logging.yaml | 25 + .../templates/loggings/rke/configmap.yaml | 29 + .../templates/loggings/rke/daemonset.yaml | 122 + .../templates/loggings/rke2/configmap.yaml | 69 + .../templates/loggings/rke2/daemonset.yaml | 116 + .../templates/loggings/root/logging.yaml | 91 + .../103.1.2+up4.4.0/templates/psp.yaml | 34 + .../103.1.2+up4.4.0/templates/service.yaml | 20 + .../templates/service_monitor.yaml | 30 + .../templates/serviceaccount.yaml | 14 + .../templates/test_receiver.yaml | 53 + .../103.1.2+up4.4.0/templates/userrole.yaml | 39 + .../103.1.2+up4.4.0/templates/userroles.yaml | 35 + .../templates/validate-install-crd.yaml | 27 + .../templates/validate-install.yaml | 5 + .../templates/validate-psp-install.yaml | 7 + .../values-logging-example.yaml | 24 + .../103.1.2+up4.4.0/values.yaml | 438 + .../103.0.9+up0.4.10/Chart.yaml | 14 + .../103.0.9+up0.4.10/templates/_helpers.tpl | 22 + .../templates/deployment.yaml | 82 + .../103.0.9+up0.4.10/templates/rbac.yaml | 12 + .../103.0.9+up0.4.10/templates/secret.yaml | 11 + .../103.0.9+up0.4.10/templates/service.yaml | 13 + .../templates/serviceaccount.yaml | 11 + .../103.0.9+up0.4.10/templates/webhook.yaml | 9 + .../103.0.9+up0.4.10/tests/README.md | 16 + .../tests/deployment_test.yaml | 73 + .../103.0.9+up0.4.10/tests/service_test.yaml | 18 + .../103.0.9+up0.4.10/values.yaml | 30 + index.yaml | 398 + release.yaml | 38 +- scripts/version | 2 +- 273 files changed, 91027 insertions(+), 6 deletions(-) create mode 100644 assets/elemental-crd/elemental-crd-103.3.1+up1.5.4.tgz create mode 100644 assets/elemental/elemental-103.3.1+up1.5.4.tgz create mode 100644 assets/fleet-agent/fleet-agent-103.1.7+up0.9.8.tgz create mode 100644 assets/fleet-crd/fleet-crd-103.1.7+up0.9.8.tgz create mode 100644 assets/fleet/fleet-103.1.7+up0.9.8.tgz create mode 100644 assets/harvester-csi-driver/harvester-csi-driver-103.0.2+up0.1.18.tgz create mode 100644 assets/rancher-aks-operator-crd/rancher-aks-operator-crd-103.4.0+up1.2.4.tgz create mode 100644 assets/rancher-aks-operator/rancher-aks-operator-103.4.0+up1.2.4.tgz create mode 100644 assets/rancher-backup-crd/rancher-backup-crd-103.0.3+up4.0.3.tgz create mode 100644 assets/rancher-backup/rancher-backup-103.0.3+up4.0.3.tgz create mode 100644 assets/rancher-cis-benchmark-crd/rancher-cis-benchmark-crd-5.3.0.tgz create mode 100644 assets/rancher-cis-benchmark/rancher-cis-benchmark-5.3.0.tgz create mode 100644 assets/rancher-eks-operator-crd/rancher-eks-operator-crd-103.4.0+up1.3.4.tgz create mode 100644 assets/rancher-eks-operator/rancher-eks-operator-103.4.0+up1.3.4.tgz create mode 100644 assets/rancher-gke-operator-crd/rancher-gke-operator-crd-103.4.0+up1.2.4.tgz create mode 100644 assets/rancher-gke-operator/rancher-gke-operator-103.4.0+up1.2.4.tgz create mode 100644 assets/rancher-logging-crd/rancher-logging-crd-103.1.2+up4.4.0.tgz create mode 100644 assets/rancher-logging/rancher-logging-103.1.2+up4.4.0.tgz create mode 100644 assets/rancher-webhook/rancher-webhook-103.0.9+up0.4.10.tgz create mode 100644 charts/elemental-crd/103.3.1+up1.5.4/Chart.yaml create mode 100644 charts/elemental-crd/103.3.1+up1.5.4/templates/crds.yaml create mode 100644 charts/elemental-crd/103.3.1+up1.5.4/templates/validate-no-pending-deletions.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/Chart.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/README.md create mode 100644 charts/elemental/103.3.1+up1.5.4/app-readme.md create mode 100644 charts/elemental/103.3.1+up1.5.4/questions.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/_helpers.tpl create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/apiservice.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/capi_rbac.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/channel.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/cluster_role.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/cluster_role_binding.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/deployment.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/globalrole.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/serviceaccount.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/templates/validate-install-crd.yaml create mode 100644 charts/elemental/103.3.1+up1.5.4/values.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/Chart.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/README.md create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/_helpers.tpl create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/configmap.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/deployment.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/network_policy_allow_all.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/patch_default_serviceaccount.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/rbac.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/secret.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/serviceaccount.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/templates/validate.yaml create mode 100644 charts/fleet-agent/103.1.7+up0.9.8/values.yaml create mode 100644 charts/fleet-crd/103.1.7+up0.9.8/Chart.yaml create mode 100644 charts/fleet-crd/103.1.7+up0.9.8/README.md create mode 100644 charts/fleet-crd/103.1.7+up0.9.8/templates/crds.yaml create mode 100644 charts/fleet-crd/103.1.7+up0.9.8/templates/gitjobs-crds.yaml create mode 100644 charts/fleet-crd/103.1.7+up0.9.8/values.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/Chart.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/README.md create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/.helmignore create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/Chart.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/_helpers.tpl create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/clusterrole.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/clusterrolebinding.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/deployment.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/leases.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/service.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/serviceaccount.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/charts/gitjob/values.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/templates/_helpers.tpl create mode 100644 charts/fleet/103.1.7+up0.9.8/templates/configmap.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/templates/deployment.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/templates/job_cleanup_clusterregistrations.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/templates/rbac.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/templates/serviceaccount.yaml create mode 100644 charts/fleet/103.1.7+up0.9.8/values.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/.helmignore create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/Chart.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/questions.yml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/NOTES.txt create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/_helpers.tpl create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/csidriver.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/daemonset.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/deployment.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/rbac.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/templates/storageclass.yaml create mode 100644 charts/harvester-csi-driver/103.0.2+up0.1.18/values.yaml create mode 100644 charts/rancher-aks-operator-crd/103.4.0+up1.2.4/Chart.yaml create mode 100644 charts/rancher-aks-operator-crd/103.4.0+up1.2.4/templates/crds.yaml create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/Chart.yaml create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/templates/NOTES.txt create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/templates/_helpers.tpl create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrole.yaml create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/templates/deployment.yaml create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml create mode 100644 charts/rancher-aks-operator/103.4.0+up1.2.4/values.yaml create mode 100644 charts/rancher-backup-crd/103.0.3+up4.0.3/Chart.yaml create mode 100644 charts/rancher-backup-crd/103.0.3+up4.0.3/README.md create mode 100644 charts/rancher-backup-crd/103.0.3+up4.0.3/templates/backup.yaml create mode 100644 charts/rancher-backup-crd/103.0.3+up4.0.3/templates/resourceset.yaml create mode 100644 charts/rancher-backup-crd/103.0.3+up4.0.3/templates/restore.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/Chart.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/README.md create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/app-readme.md create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/aks.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/eks.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/elemental.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/fleet.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/gke.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/provisioningv2.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher-operator.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/_helpers.tpl create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/clusterrolebinding.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/deployment.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/hardened.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/psp.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/pvc.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/rancher-resourceset.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/s3-secret.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/serviceaccount.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/validate-install-crd.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/templates/validate-psp-install.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/tests/deployment_test.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/tests/pvc_test.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/tests/s3-secret_test.yaml create mode 100644 charts/rancher-backup/103.0.3+up4.0.3/values.yaml create mode 100644 charts/rancher-cis-benchmark-crd/5.3.0/Chart.yaml create mode 100644 charts/rancher-cis-benchmark-crd/5.3.0/README.md create mode 100644 charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscan.yaml create mode 100644 charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanbenchmark.yaml create mode 100644 charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanprofile.yaml create mode 100644 charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanreport.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/Chart.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/README.md create mode 100644 charts/rancher-cis-benchmark/5.3.0/app-readme.md create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/_helpers.tpl create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/alertingrule.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-aks-1.0.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.7.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.8.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-eks-1.2.0.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-gke-1.2.0.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/cis-roles.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/configmap.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/deployment.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/network_policy_allow_all.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/patch_default_serviceaccount.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/psp.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/rbac.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.7.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.8.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-hardened.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-permissive.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-hardened.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-permissive.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-hardened.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-permissive.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-hardened.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-permissive.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-hardened.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-permissive.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofileaks.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofileeks.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/scanprofilegke.yml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/serviceaccount.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/validate-install-crd.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/templates/validate-psp-install.yaml create mode 100644 charts/rancher-cis-benchmark/5.3.0/values.yaml create mode 100644 charts/rancher-eks-operator-crd/103.4.0+up1.3.4/Chart.yaml create mode 100644 charts/rancher-eks-operator-crd/103.4.0+up1.3.4/templates/crds.yaml create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/Chart.yaml create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/templates/NOTES.txt create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/templates/_helpers.tpl create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrole.yaml create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrolebinding.yaml create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/templates/deployment.yaml create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/templates/serviceaccount.yaml create mode 100644 charts/rancher-eks-operator/103.4.0+up1.3.4/values.yaml create mode 100644 charts/rancher-gke-operator-crd/103.4.0+up1.2.4/Chart.yaml create mode 100644 charts/rancher-gke-operator-crd/103.4.0+up1.2.4/templates/crds.yaml create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/Chart.yaml create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/templates/NOTES.txt create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/templates/_helpers.tpl create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrole.yaml create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/templates/deployment.yaml create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml create mode 100644 charts/rancher-gke-operator/103.4.0+up1.2.4/values.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/Chart.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/README.md create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_eventtailers.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_hosttailers.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusterflows.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusteroutputs.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_flows.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_fluentbitagents.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggingroutes.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggings.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_nodeagents.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_outputs.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusterflows.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusteroutputs.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngflows.yaml create mode 100644 charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngoutputs.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/.helmignore create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/Chart.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/README.md create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/app-readme.md create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/NOTES.txt create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/_generic_logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/_helpers.tpl create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrole.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrolebinding.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/crds.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/deployment.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusterflows.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusteroutputs.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/logging_eventtailer.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/logging_fluentbit.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/logging_hosttailer.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/aks/logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/eks/logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/gke/logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/configmap.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/daemonset.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/logging-k3s-openrc.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/kube-audit/logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/configmap.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/daemonset.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/configmap.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/daemonset.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/root/logging.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/psp.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/service.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/service_monitor.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/serviceaccount.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/test_receiver.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/userrole.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/userroles.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install-crd.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/templates/validate-psp-install.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/values-logging-example.yaml create mode 100644 charts/rancher-logging/103.1.2+up4.4.0/values.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/Chart.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/_helpers.tpl create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/deployment.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/rbac.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/secret.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/service.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/serviceaccount.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/templates/webhook.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/tests/README.md create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/tests/deployment_test.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/tests/service_test.yaml create mode 100644 charts/rancher-webhook/103.0.9+up0.4.10/values.yaml diff --git a/assets/elemental-crd/elemental-crd-103.3.1+up1.5.4.tgz b/assets/elemental-crd/elemental-crd-103.3.1+up1.5.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..01e9b588834dc89fe66045ef1a36eac5d81ba41b GIT binary patch literal 22178 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 literal 0 HcmV?d00001 diff --git a/assets/fleet-agent/fleet-agent-103.1.7+up0.9.8.tgz b/assets/fleet-agent/fleet-agent-103.1.7+up0.9.8.tgz new file mode 100644 index 0000000000000000000000000000000000000000..745b969f5187de9c755c03ee2ed822ed09880ac8 GIT binary patch literal 3206 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 vlN}uN?)hKcKDc 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 literal 0 HcmV?d00001 diff --git a/assets/harvester-csi-driver/harvester-csi-driver-103.0.2+up0.1.18.tgz b/assets/harvester-csi-driver/harvester-csi-driver-103.0.2+up0.1.18.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b646657644c78e8aef10570820a736339b4f66fc GIT binary patch literal 3764 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 literal 0 HcmV?d00001 diff --git a/assets/rancher-aks-operator-crd/rancher-aks-operator-crd-103.4.0+up1.2.4.tgz b/assets/rancher-aks-operator-crd/rancher-aks-operator-crd-103.4.0+up1.2.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..af5e8256c7b7ff8f400de0360425eb05c6e55cef GIT binary patch literal 1248 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 T(&?W700960jE*53073u&FdS+7 literal 0 HcmV?d00001 diff --git a/assets/rancher-backup/rancher-backup-103.0.3+up4.0.3.tgz b/assets/rancher-backup/rancher-backup-103.0.3+up4.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a0f323c03364239ea220bf757538fa3839664d0d GIT binary patch literal 11578 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 s0V1=)YAb)%aKlD`0QDc zVQyr3R8em|NM&qo0PI>(bK*7-&NIJ4bA85V6CfSla@@6ZZ7-K0>GgS$H=v6xd8BoE zOsD_7BijkKu`vciu5;`QgCu_|+24LEt*t@wCF(vGrawo?mm%oKKG*)+=@K+KD+q&& z1I=|^cRU;>zpm?+f8Ei*z3_(P(bZ@?8eWYqTyN}ogA3*!>UbB64S~LJ5B61F-2cQt zN<~0INi*p&#(^ME3x@+yfR0daIcgFQ0{scgxKcT6DSRL0guNjhGlF4M7kXMoVPV z*?Yqtl&;2ddQFaK72$+I6a|7OcdhsI?04i`I&SZ^pJ!XEkAK223V_hOS{6;A4KjS?9Y-|WVdA&y={Rx}KhEzC1qhihR zJw6C2k_ZTqzy|`WA8GvL2xA;B%sQfbCPHopF0_iHLGg>aF_w8vq3$@yq%{g+ z4MEXGk1@lQ4a{tGkFhK)6RdtVttT&mFsPrboLQwx8%SwbV6FvxKUo_Dw^~R-Jyk&* z%4}wR_SGnP3$&at#}H6#oB#~XVrl1jtJQ-D@CL#Z?D?+bmXZz0x>Hdxq=j76Ixuk< zf?heK2!aCceXgYyR0PHpkZ#uvt$-dt6sPpdx}g=2c@$9r=x*K63g~apvH&KpH+qiZMZj4SsdL_-i3SNunHX9IAA+%bHKejK2088%h&K`b1umAuQ^ zi)7sF*l=Ouxz55pW4?_QyMzh*=ihV)Ut$Q)ohm|kef#mtsW za;hOvWvAgvqZJq-E0}{a4mVr-ET_Kt=A4$UZC`TNOganV9YgO1zmW}%>k3xwA9Z)n zToZC(>DF~rb0yOpUco{^7*>+AiMm#~?=?u1AX|;DH9gKC0N=wU1=L5j|{`qMd>Qw1!ow&le^NVAXMUL#>tGmT>AdcPr-(&xw`^ zM+2u99jKIj*0}sF&$#+D(WN|=_n=*3t9g3F`V}SWq)M`hzHKX#?Y%pusZFf=ZHo$L zfc+qBvfp!0_9!YI&MsFbC&m3Pwa2G@uB@eWWk;d$wF@CXsI{#BtxKgX3V{vv|H0L8 zT&n+F4#vZC{qGcZ?E2peVLB`XzI(<@x+^MzYp1VU8jO%T*|cu8dJ_JNWELudrM?|X zJ)w}l$8*#Y2~GC=3do=82kZh5-x}cS2kZdP6DGYp#kAz|38IaP=?()AbeFu3+SzA* z^mkn?E0M0#bM=<{b1FaSTf`2XRS~{Z{EBew4*!tNRm=PzrKgd0uK^qKzc(6Omh%7L zYJ7hGe-b-({?7>0VfN3zJFCe3&knoK{NIznzl7=$#LAvH@6k}3!f9hUWot2I&w^I7 z?y)^KY~@>9*d4s9?kueCwL`j;LS-_4`jBoX|hmN7MJe z-f&R*{&zGSp6h=nv7fel?0U^+X&>WD(8Op7#Kgwuw6Q^-%~y4w)V}r#&vv%6o$YK@ S_Fn)10RR8|Te4*UGynkPV9as= literal 0 HcmV?d00001 diff --git a/assets/rancher-cis-benchmark/rancher-cis-benchmark-5.3.0.tgz b/assets/rancher-cis-benchmark/rancher-cis-benchmark-5.3.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0f42b8ab0fa8a5733d503dbe4b5bfb453fc5452f GIT binary patch literal 7257 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 literal 0 HcmV?d00001 diff --git a/assets/rancher-eks-operator-crd/rancher-eks-operator-crd-103.4.0+up1.3.4.tgz b/assets/rancher-eks-operator-crd/rancher-eks-operator-crd-103.4.0+up1.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a0fbd361d28e0f172ae8772baf1bc7064ffabbb3 GIT binary patch literal 1209 zcmV;q1V;NGiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI;`QzJJF=XpPc=U&@{&5?sn-fqIR!_d;33*}w$ij5nu?Mika z*Xeif?4LkLb|H`@2Ml^)u)O+7TIsj4Ltx|tse@DQSce4OQb$sT49L{%%b+a@YW&@lm|YyR?#xpTAY=PP9rd&RZ82{i&^CwJf`inWT5z^Mx)R@Mx}>|+GZ z-Td3@9(4Orf-FfnUo3q&9f?1y$Hg$Px7jyj8%W|YUMi!CoJJ2|&TbImgKobY{}fz_ zwX65v*#90gr@9cQ(Y^MRNmx=4t!KXA%Y2lhzPnoE^( z7pHvN!4W%@xxJKZaK-i|Woe|sD}DWPIvSSthK0RC<#Zs>HDHC7Czkx#t)Wh_PnJ4m z(x8FXpN)iYgp4%9zs%IwEAy*Do$x?hf@X|_U}+r=#My%Ul1PZE>kFh#m4aEXgpw1? zpmae9>(G4udUA0vy0e^v=FRHW!rM|7X}XpAeYrpe->n%ECTP3@Jwi$7S9b|vg4QtB zI1o9ruc`e!kB&VllddQe#ZJRKkGxH@IOgH#4|p7)@lT^qE(r*WTd{=)a8cZ-ny-f$FvxVYLFC9cL0O(Ou&qi!fdAs|VL?C^m)>o2923Np^-dYvTAP1Kvj!8@$;Ju6Mv$nKC;-$-f`ptbXP` z&ryoWw0_iS6N>Pkfb2)k`jd*s8oQ#lUFs{0>sR}EM z4f;0{jDNG$7Z~ZdIzDfSa*wwUd}i7J$+;;Xtm`m3cS*AG0MU@ACm$djsTp|uEG2SH zO>A*mbYZNOd}hO=f_Y!TL5(nN`Jl?heFT3olIG==Ynw@Cl!26=Kl*U_gYwHrGbI~l znJtps^oe+B@z>M;ro_Jkr)!9-LBSq;;7zaTEe!B4t z45XO+e&>{Ua{TNN7fUy*cjaZ*iVz0o7r*`;C89wwK3?cp}Lh)KDWoH zvF?uLrFlM6)TP%KrNtSH0x0G|{(n=UFPO~?8tLRw#``^xfbA6Y0 Xd6##23G#mc00960jPxda044wczgJ;# literal 0 HcmV?d00001 diff --git a/assets/rancher-eks-operator/rancher-eks-operator-103.4.0+up1.3.4.tgz b/assets/rancher-eks-operator/rancher-eks-operator-103.4.0+up1.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..08d2cc5d77c19f9ccf9408d527c4b1a6dbf168b2 GIT binary patch literal 2041 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 literal 0 HcmV?d00001 diff --git a/assets/rancher-gke-operator/rancher-gke-operator-103.4.0+up1.2.4.tgz b/assets/rancher-gke-operator/rancher-gke-operator-103.4.0+up1.2.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b2a3d95567af28ce7f4bf1be9259df2ee9a87e72 GIT binary patch literal 2075 zcmV+$2;}!4iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PGrTZ{xTzpY9vc)BA}_U z#F`d$B;~B@^?xr&$+Dy_xR_POec-(QRo^Aw121-)Lx zbev5*D&`xtdo^Jn&_jt#QdEKCKAKu-(Y`9d zfB$&cZ^r-8c)XAQF98u36T*wouQ{40fIK+9$0^CUzQl+rEtdgwI*t>~@Vq!D2A9oA zRBV!%3dOWAn61uckTi(`SmZti5aJ|@0+Vo_oP+2J8v;&dBvOj?l%YE&lhg@USHri@Eu zEW}dC1-4x{||(0Ib)}`)UDj9Wzz#-DZDP&;3&==4RzIUpTc@5u9Es?^lz7Ul(@x z|4ocMMX5ZUKD`v!)&KQ}M-Bf!9uEe4|9=Tst$JU>g3SX^sA0-D>Sc=W=Ef{E#sI$V zt=EpTTDcJ7lqCqAyg0ZC^XlM67Ue+)-1XWbvMG2!<|SlaUTpe`*0Q49mP(fBDRh3L zdYvZ`K(4U-r?Zs@lkm>7V-$D(mUnKOcm%hMb0A>|g>rc&w?%|)^=x`qZ%hFK6XfEy zSgs^+lbvscoN+-y1yp3*pn{??h8fSZw~mFvDn-XyxoTwl(zV4$g?O%$3o|r@P_<(< z9kVUlgJQ2)!08mJ4xn=;t_uEUdE@5+bUyr?5#DK9rd148R6My1^`dFpG1n-)_Tk>c zPS_Fu3&)Uxsv zyxCh-OseLnNk}v?-CsVHX>@z{4&7wN(T*EkASwGsiYzsaPq+K2Xe2k29QdiLkV@35 zc(p(|vC9$a?i=WGrtDuTk!Unew?xy}VmFA_CT(q;?hNO4@XXTi`FZw~COW&ry5RNc z*+c5%{eQxekR{O*!oV*7AC1Nh{~!4K`OnM1qrLr3p!jos9$Lb{2?v|LuVF+F$8E2Rr<~GG}`FG45>WMjlBR0w>hH@>e@~{*GuEU0N2N&3W{D|hl&Apu4#1|P$j8U_2Jw44 zwapg*YIkGXt|giozuz3vVs}ME1H49P2PuG!fCd`l-4(Ee@+`cs8}i@_BrFLr(eM`T zw!l?#`D@VPBboDdj4#lnW!kCrx)825D!xayTEnvgBXq9Gd1EUrj2e%9NAF;zw0>HGe1xhk{dMEzBvtgTa#Xu=Yd z<-u~{!F$yl@;egf8rv3!_JJwNSFm2MR`69h0oh)-c$Sj4y=Z~;I(QgYlL*%9Ze5m( zjPnb@8C?eOm+6_%7ZMfPyqE)#ktsVnuDzgnw^~6P2m2Dfl*1Bx0R!uG=Tk`tlf~B5 z8)JQYeSL9rae4mtkL9a!cu`?hUI%TzVx7j-BZ;VcshpiZf<$ri)Z#mB_fSZ($!XDtMHo!rAel(!6-^?=olRH zJt$EKdD~@FDt^U6O;u#jDB&DK`{81QX{IxYAmqmU=T{FKHl4AaHfN@1EG(q@?=Wvp zPTh6cM{v#?_4+X_BEt_N!~pz}@7E=@JI>k}IJF@D+GW!JE$pcOi;Pb4jQ+$PU|0X& zA2$2{{=nbQ|6T-Yzv|kQ{*7+AS^nSiL%Noh`n9#&!yfjqhdtZ}{|W#A|NpR$o>u@c F008^w`*Q#Q literal 0 HcmV?d00001 diff --git a/assets/rancher-logging-crd/rancher-logging-crd-103.1.2+up4.4.0.tgz b/assets/rancher-logging-crd/rancher-logging-crd-103.1.2+up4.4.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..cc373099f10689215a22f2dc69832712677dff66 GIT binary patch literal 128627 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 literal 0 HcmV?d00001 diff --git a/assets/rancher-logging/rancher-logging-103.1.2+up4.4.0.tgz b/assets/rancher-logging/rancher-logging-103.1.2+up4.4.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..86e83bec45f62d36ba672199587e62524307156e GIT binary patch literal 18737 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 literal 0 HcmV?d00001 diff --git a/assets/rancher-webhook/rancher-webhook-103.0.9+up0.4.10.tgz b/assets/rancher-webhook/rancher-webhook-103.0.9+up0.4.10.tgz new file mode 100644 index 0000000000000000000000000000000000000000..63791b8b135b300448868865623087f7a894d2dc GIT binary patch literal 2800 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 Cm49Ra literal 0 HcmV?d00001 diff --git a/charts/elemental-crd/103.3.1+up1.5.4/Chart.yaml b/charts/elemental-crd/103.3.1+up1.5.4/Chart.yaml new file mode 100644 index 0000000000..e0a015cfaf --- /dev/null +++ b/charts/elemental-crd/103.3.1+up1.5.4/Chart.yaml @@ -0,0 +1,11 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/release-name: elemental-operator-crds +apiVersion: v2 +appVersion: 1.5.4 +description: A Helm chart for deploying Rancher Elemental Operator CRDs +name: elemental-crd +type: application +version: 103.3.1+up1.5.4 diff --git a/charts/elemental-crd/103.3.1+up1.5.4/templates/crds.yaml b/charts/elemental-crd/103.3.1+up1.5.4/templates/crds.yaml new file mode 100644 index 0000000000..5501439ab7 --- /dev/null +++ b/charts/elemental-crd/103.3.1+up1.5.4/templates/crds.yaml @@ -0,0 +1,4079 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineinventories.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineInventory + listKind: MachineInventoryList + plural: machineinventories + singular: machineinventory + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + machineHash: + description: |- + MachineHash the hash of the identifier used by the host to identify + to the operator. This is used when the host authenticates without TPM. + Both the authentication method and the identifier used to derive the hash + depend upon the MachineRegistration spec.config.elemental.registration.auth value. + type: string + tpmHash: + description: |- + TPMHash the hash of the TPM EK public key. This is used if you are + using TPM2 to identifiy nodes. You can obtain the TPM by + running `rancherd get-tpm-hash` on the node. Or nodes can + report their TPM hash by using the MachineRegister. + type: string + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine inventory + object. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + plan: + description: PlanStatus reflect the status of the plan owned by the + machine inventory object. + properties: + checksum: + description: Checksum checksum of the created plan. + type: string + secretRef: + description: PlanSecretRef a reference to the created plan secret. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. + type: string + kind: + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + namespace: + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + type: string + resourceVersion: + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + type: string + uid: + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + type: string + type: object + x-kubernetes-map-type: atomic + state: + description: State reflect state of the plan that belongs to the + machine inventory. + enum: + - Applied + - Failed + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineinventoryselectors.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineInventorySelector + listKind: MachineInventorySelectorList + plural: machineinventoryselectors + singular: machineinventoryselector + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + providerID: + description: |- + ProviderID the identifier for the elemental instance. + NOTE: Functionality not implemented yet. + type: string + selector: + description: Selector selector to choose elemental machines. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: object + status: + properties: + addresses: + description: Addresses represent machine addresses. + items: + description: MachineAddress contains information for the node's + address. + properties: + address: + description: The machine address. + type: string + type: + description: Machine address type, one of Hostname, ExternalIP, + InternalIP, ExternalDNS or InternalDNS. + type: string + required: + - address + - type + type: object + type: array + bootstrapPlanChecksum: + description: BootstrapPlanChecksum represent bootstrap plan checksum. + type: string + conditions: + description: Conditions describe the state of the machine selector + object. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + machineInventoryRef: + description: MachineInventoryRef reference to the machine inventory + that belongs to the selector. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + ready: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineinventoryselectortemplates.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineInventorySelectorTemplate + listKind: MachineInventorySelectorTemplateList + plural: machineinventoryselectortemplates + singular: machineinventoryselectortemplate + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + template: + description: Template machine inventory selector template. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + providerID: + description: |- + ProviderID the identifier for the elemental instance. + NOTE: Functionality not implemented yet. + type: string + selector: + description: Selector selector to choose elemental machines. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: object + status: + properties: + addresses: + description: Addresses represent machine addresses. + items: + description: MachineAddress contains information for the + node's address. + properties: + address: + description: The machine address. + type: string + type: + description: Machine address type, one of Hostname, + ExternalIP, InternalIP, ExternalDNS or InternalDNS. + type: string + required: + - address + - type + type: object + type: array + bootstrapPlanChecksum: + description: BootstrapPlanChecksum represent bootstrap plan + checksum. + type: string + conditions: + description: Conditions describe the state of the machine + selector object. + items: + description: "Condition contains details for one aspect + of the current state of this API Resource.\n---\nThis + struct is intended for direct use as an array at the field + path .status.conditions. For example,\n\n\n\ttype FooStatus + struct{\n\t // Represents the observations of a foo's + current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t + \ // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t + \ // +listType=map\n\t // +listMapKey=type\n\t Conditions + []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" + patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + machineInventoryRef: + description: MachineInventoryRef reference to the machine + inventory that belongs to the selector. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + ready: + type: boolean + type: object + type: object + required: + - template + type: object + type: object + served: true + storage: true +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: machineregistrations.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: MachineRegistration + listKind: MachineRegistrationList + plural: machineregistrations + singular: machineregistration + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + config: + description: Config the cloud config that will be used to provision + the node. + properties: + cloud-config: + x-kubernetes-preserve-unknown-fields: true + elemental: + properties: + install: + properties: + config-dir: + type: string + config-urls: + items: + type: string + type: array + debug: + type: boolean + device: + type: string + device-selector: + items: + properties: + key: + enum: + - Name + - Size + type: string + operator: + enum: + - In + - NotIn + - Gt + - Lt + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + disable-boot-entry: + type: boolean + eject-cd: + type: boolean + firmware: + type: string + iso: + type: string + no-format: + type: boolean + poweroff: + type: boolean + reboot: + type: boolean + snapshotter: + default: + type: loopdevice + properties: + type: + default: loopdevice + description: Type sets the snapshotter type a new + installation, available options are 'loopdevice' + and 'btrfs' + type: string + type: object + system-uri: + type: string + tty: + type: string + type: object + registration: + properties: + auth: + default: tpm + type: string + ca-cert: + type: string + emulate-tpm: + type: boolean + emulated-tpm-seed: + format: int64 + type: integer + no-smbios: + type: boolean + no-toolkit: + type: boolean + url: + type: string + type: object + reset: + default: + reboot: true + reset-oem: true + reset-persistent: true + properties: + config-urls: + items: + type: string + type: array + debug: + type: boolean + disable-boot-entry: + type: boolean + enabled: + type: boolean + poweroff: + type: boolean + reboot: + default: true + type: boolean + reset-oem: + default: true + type: boolean + reset-persistent: + default: true + type: boolean + system-uri: + type: string + type: object + system-agent: + properties: + secret-name: + type: string + secret-namespace: + type: string + token: + type: string + url: + type: string + type: object + type: object + type: object + machineInventoryAnnotations: + additionalProperties: + type: string + description: MachineInventoryAnnotations annotations to be added to + the created MachineInventory object. + type: object + machineInventoryLabels: + additionalProperties: + type: string + description: MachineInventoryLabels label to be added to the created + MachineInventory object. + type: object + machineName: + type: string + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine registration + object. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + registrationToken: + description: RegistrationToken a token for registering a machine. + type: string + registrationURL: + description: RegistrationURL is the URL for registering a new machine. + type: string + serviceAccountRef: + description: ServiceAccountRef a reference to the service account + created by the machine registration. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. + type: string + kind: + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + namespace: + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + type: string + resourceVersion: + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + type: string + uid: + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosimages.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSImage + listKind: ManagedOSImageList + plural: managedosimages + singular: managedosimage + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cloudConfig: + x-kubernetes-preserve-unknown-fields: true + clusterRolloutStrategy: + description: RolloverStrategy controls the rollout of the bundle across + clusters. + properties: + autoPartitionSize: + anyOf: + - type: integer + - type: string + description: |- + A number or percentage of how to automatically partition clusters if no + specific partitioning strategy is configured. + default: 25% + nullable: true + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + description: |- + A number or percentage of clusters that can be unavailable during an update + of a bundle. This follows the same basic approach as a deployment rollout + strategy. Once the number of clusters meets unavailable state update will be + paused. Default value is 100% which doesn't take effect on update. + default: 100% + nullable: true + x-kubernetes-int-or-string: true + maxUnavailablePartitions: + anyOf: + - type: integer + - type: string + description: |- + A number or percentage of cluster partitions that can be unavailable during + an update of a bundle. + default: 0 + nullable: true + x-kubernetes-int-or-string: true + partitions: + description: |- + A list of definitions of partitions. If any target clusters do not match + the configuration they are added to partitions at the end following the + autoPartitionSize. + items: + description: Partition defines a separate rollout strategy for + a set of clusters. + properties: + clusterGroup: + description: A cluster group name to include in this partition + type: string + clusterGroupSelector: + description: Selector matching cluster group labels to include + in this partition + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + description: ClusterName is the name of a cluster to include + in this partition + type: string + clusterSelector: + description: Selector matching cluster labels to include + in this partition + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + maxUnavailable: + anyOf: + - type: integer + - type: string + description: |- + A number or percentage of clusters that can be unavailable in this + partition before this partition is treated as done. + default: 10% + x-kubernetes-int-or-string: true + name: + description: A user-friendly name given to the partition + used for Display (optional). + type: string + type: object + nullable: true + type: array + type: object + clusterTargets: + items: + description: |- + BundleTarget declares clusters to deploy to. Fleet will merge the + BundleDeploymentOptions from customizations into this struct. + properties: + clusterGroup: + description: ClusterGroup to match a specific cluster group + by name. + nullable: true + type: string + clusterGroupSelector: + description: ClusterGroupSelector is a selector to match cluster + groups. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + clusterName: + description: |- + ClusterName to match a specific cluster by name that will be + selected + nullable: true + type: string + clusterSelector: + description: |- + ClusterSelector is a selector to match clusters. The structure is + the standard metav1.LabelSelector format. If clusterGroupSelector or + clusterGroup is specified, clusterSelector will be used only to + further refine the selection after clusterGroupSelector and + clusterGroup is evaluated. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: |- + DefaultNamespace is the namespace to use for resources that do not + specify a namespace. This field is not used to enforce or lock down + the deployment to a specific namespace. + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + diff: + description: Diff can be used to ignore the modified state of + objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the + resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + doNotDeploy: + description: DoNotDeploy if set to true, will not deploy to + this target. + type: boolean + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + format: int64 + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + nullable: true + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: |- + Chart can refer to any go-getter URL or OCI registry based helm + chart URL. The chart will be downloaded. + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disableDependencyUpdate: + description: DisableDependencyUpdate allows skipping chart + dependencies update + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: |- + ReleaseName sets a custom release name to deploy the chart as. If + not specified a release name will be generated by combining the + invoking GitRepo.name + GitRepo.path. + 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: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: |- + Values passed to Helm. It is possible to specify the keys and values + as go template strings. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: |- + WaitForJobs if set and timeoutSeconds provided, will wait until all + Jobs have been completed before marking the GitRepo as ready. It + will wait for as long as timeoutSeconds + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + type: string + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: |- + Kustomize options for the deployment, like the dir containing the + kustomization.yaml file. + nullable: true + properties: + dir: + description: |- + Dir points to a custom folder for kustomize resources. This folder must contain + a kustomization.yaml file. + nullable: true + type: string + type: object + name: + description: |- + Name of target. This value is largely for display and logging. If + not specified a default name of the format "target000" will be used + type: string + namespace: + description: |- + TargetNamespace if present will assign all resource to this + namespace and if any cluster scoped resource exists the deployment + will fail. + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this + deployment. + nullable: true + type: string + yaml: + description: |- + YAML options, if using raw YAML these are names that map to + overlays/{name} files that will be used to replace or patch a resource. + nullable: true + properties: + overlays: + description: |- + Overlays is a list of names that maps to folders in "overlays/". + If you wish to customize the file ./subdir/resource.yaml then a file + ./overlays/myoverlay/subdir/resource.yaml will replace the base + file. + A file named ./overlays/myoverlay/subdir/resource_patch.yaml will patch the base file. + items: + type: string + nullable: true + type: array + type: object + type: object + type: array + concurrency: + format: int64 + type: integer + cordon: + type: boolean + drain: + default: + deleteLocalData: true + force: true + ignoreDaemonSets: true + skipWaitForDeleteTimeout: 60 + description: DrainSpec encapsulates `kubectl drain` parameters minus + node/pod selectors. + nullable: true + properties: + deleteEmptydirData: + type: boolean + deleteLocalData: + type: boolean + disableEviction: + type: boolean + force: + type: boolean + gracePeriod: + format: int32 + type: integer + ignoreDaemonSets: + type: boolean + podSelector: + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + skipWaitForDeleteTimeout: + type: integer + timeout: + description: |- + A Duration represents the elapsed time between two instants + as an int64 nanosecond count. The representation limits the + largest representable duration to approximately 290 years. + format: int64 + type: integer + type: object + managedOSVersionName: + type: string + nodeSelector: + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + osImage: + type: string + prepare: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + securityContext: + description: |- + SecurityContext holds security configuration that will be applied to a container. + Some fields are present in both SecurityContext and PodSecurityContext. When both + are set, the values in SecurityContext take precedence. + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + volumes: + items: + properties: + destination: + type: string + name: + type: string + source: + type: string + type: object + type: array + type: object + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + securityContext: + description: |- + SecurityContext holds security configuration that will be applied to a container. + Some fields are present in both SecurityContext and PodSecurityContext. When both + are set, the values in SecurityContext take precedence. + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + volumes: + items: + properties: + destination: + type: string + name: + type: string + source: + type: string + type: object + type: array + type: object + required: + - drain + type: object + status: + properties: + conditions: + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosversionchannels.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSVersionChannel + listKind: ManagedOSVersionChannelList + plural: managedosversionchannels + singular: managedosversionchannel + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + options: + x-kubernetes-preserve-unknown-fields: true + syncInterval: + default: 1h + type: string + type: + type: string + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + securityContext: + description: |- + SecurityContext holds security configuration that will be applied to a container. + Some fields are present in both SecurityContext and PodSecurityContext. When both + are set, the values in SecurityContext take precedence. + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + volumes: + items: + properties: + destination: + type: string + name: + type: string + source: + type: string + type: object + type: array + type: object + type: object + status: + properties: + conditions: + description: Conditions describe the state of the managed OS version + object. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + failedSynchronizationAttempts: + description: FailedSynchronizationAttempts counts the number of consecutive + synchronization failures + type: integer + lastSyncedTime: + description: LastSyncedTime is the timestamp of the last synchronization + format: date-time + type: string + syncedGeneration: + description: SyncedGeneration tracks the spec generation of the last + synchronization + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: managedosversions.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: ManagedOSVersion + listKind: ManagedOSVersionList + plural: managedosversions + singular: managedosversion + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + metadata: + x-kubernetes-preserve-unknown-fields: true + minVersion: + type: string + type: + type: string + upgradeContainer: + description: ContainerSpec is a simplified container template. + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + envFrom: + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + envs: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + image: + type: string + securityContext: + description: |- + SecurityContext holds security configuration that will be applied to a container. + Some fields are present in both SecurityContext and PodSecurityContext. When both + are set, the values in SecurityContext take precedence. + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + volumes: + items: + properties: + destination: + type: string + name: + type: string + source: + type: string + type: object + type: array + type: object + version: + type: string + type: object + status: + properties: + conditions: + description: |- + Conditions is a list of Wrangler conditions that describe the state + of the bundle. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + lastUpdateTime: + description: The last time this condition was updated. + type: string + message: + description: Human-readable message indicating details about + last transition + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type of cluster condition. + type: string + required: + - status + - type + type: object + type: array + display: + description: |- + Display contains the number of ready, desiredready clusters and a + summary state for the bundle's resources. + properties: + readyClusters: + description: |- + ReadyClusters is a string in the form "%d/%d", that describes the + number of clusters that are ready vs. the number of clusters desired + to be ready. + nullable: true + type: string + state: + description: State is a summary state for the bundle, calculated + over the non-ready resources. + nullable: true + type: string + type: object + maxNew: + description: |- + MaxNew is always 50. A bundle change can only stage 50 + bundledeployments at a time. + type: integer + maxUnavailable: + description: |- + MaxUnavailable is the maximum number of unavailable deployments. See + rollout configuration. + type: integer + maxUnavailablePartitions: + description: |- + MaxUnavailablePartitions is the maximum number of unavailable + partitions. The rollout configuration defines a maximum number or + percentage of unavailable partitions. + type: integer + newlyCreated: + description: |- + NewlyCreated is the number of bundle deployments that have been created, + not updated. + type: integer + observedGeneration: + description: ObservedGeneration is the current generation of the bundle. + format: int64 + type: integer + partitions: + description: PartitionStatus lists the status of each partition. + items: + description: PartitionStatus is the status of a single rollout partition. + properties: + count: + description: Count is the number of clusters in the partition. + type: integer + maxUnavailable: + description: MaxUnavailable is the maximum number of unavailable + clusters in the partition. + type: integer + name: + description: Name is the name of the partition. + nullable: true + type: string + summary: + description: Summary is a summary state for the partition, calculated + over its non-ready resources. + properties: + desiredReady: + description: |- + DesiredReady is the number of bundle deployments that should be + ready. + type: integer + errApplied: + description: |- + ErrApplied is the number of bundle deployments that have been synced + from the Fleet controller and the downstream cluster, but with some + errors when deploying the bundle. + type: integer + modified: + description: |- + Modified is the number of bundle deployments that have been deployed + and for which all resources are ready, but where some changes from the + Git repository have not yet been synced. + type: integer + nonReadyResources: + description: |- + NonReadyClusters is a list of states, which is filled for a bundle + that is not ready. + items: + description: |- + NonReadyResource contains information about a bundle that is not ready for a + given state like "ErrApplied". It contains a list of non-ready or modified + resources and their states. + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the + bundle is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each + modified resource. + items: + description: |- + ModifiedStatus is used to report the status of a resource that is modified. + It indicates if the modification was a create, a delete or a patch. + 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 + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each + non-ready resource. + items: + description: NonReadyStatus is used to report the + status of a resource that is not ready. It includes + a summary. + 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: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + nullable: true + type: string + type: object + type: array + type: object + type: array + notReady: + description: |- + NotReady is the number of bundle deployments that have been deployed + where some resources are not ready. + type: integer + outOfSync: + description: |- + OutOfSync is the number of bundle deployments that have been synced + from Fleet controller, but not yet by the downstream agent. + type: integer + pending: + description: |- + Pending is the number of bundle deployments that are being processed + by Fleet controller. + type: integer + ready: + description: |- + Ready is the number of bundle deployments that have been deployed + where all resources are ready. + type: integer + waitApplied: + description: |- + WaitApplied is the number of bundle deployments that have been + synced from Fleet controller and downstream cluster, but are waiting + to be deployed. + type: integer + type: object + unavailable: + description: Unavailable is the number of unavailable clusters + in the partition. + type: integer + type: object + type: array + resourceKey: + description: |- + ResourceKey lists resources, which will likely be deployed. The + actual list of resources on a cluster might differ, depending on the + helm chart, value templating, etc.. + items: + description: ResourceKey lists resources, which will likely be deployed. + properties: + apiVersion: + description: APIVersion is the k8s api version of the resource. + nullable: true + type: string + kind: + description: Kind is the k8s api kind of the resource. + nullable: true + type: string + name: + description: Name is the name of the resource. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource. + nullable: true + type: string + type: object + type: array + resourcesSha256Sum: + description: ResourcesSHA256Sum corresponds to the JSON serialization + of the .Spec.Resources field + type: string + summary: + description: |- + Summary contains the number of bundle deployments in each state and + a list of non-ready resources. + properties: + desiredReady: + description: |- + DesiredReady is the number of bundle deployments that should be + ready. + type: integer + errApplied: + description: |- + ErrApplied is the number of bundle deployments that have been synced + from the Fleet controller and the downstream cluster, but with some + errors when deploying the bundle. + type: integer + modified: + description: |- + Modified is the number of bundle deployments that have been deployed + and for which all resources are ready, but where some changes from the + Git repository have not yet been synced. + type: integer + nonReadyResources: + description: |- + NonReadyClusters is a list of states, which is filled for a bundle + that is not ready. + items: + description: |- + NonReadyResource contains information about a bundle that is not ready for a + given state like "ErrApplied". It contains a list of non-ready or modified + resources and their states. + properties: + bundleState: + description: State is the state of the resource, like e.g. + "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: |- + ModifiedStatus is used to report the status of a resource that is modified. + It indicates if the modification was a create, a delete or a patch. + 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 + type: array + name: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + 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: + type: string + type: array + state: + type: string + transitioning: + type: boolean + type: object + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + nullable: true + type: string + type: object + type: array + type: object + type: array + notReady: + description: |- + NotReady is the number of bundle deployments that have been deployed + where some resources are not ready. + type: integer + outOfSync: + description: |- + OutOfSync is the number of bundle deployments that have been synced + from Fleet controller, but not yet by the downstream agent. + type: integer + pending: + description: |- + Pending is the number of bundle deployments that are being processed + by Fleet controller. + type: integer + ready: + description: |- + Ready is the number of bundle deployments that have been deployed + where all resources are ready. + type: integer + waitApplied: + description: |- + WaitApplied is the number of bundle deployments that have been + synced from Fleet controller and downstream cluster, but are waiting + to be deployed. + type: integer + type: object + unavailable: + description: |- + Unavailable is the number of bundle deployments that are not ready or + where the AppliedDeploymentID in the status does not match the + DeploymentID from the spec. + type: integer + unavailablePartitions: + description: UnavailablePartitions is the number of unavailable partitions. + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + labels: + cluster.x-k8s.io/provider: infrastructure-elemental + cluster.x-k8s.io/v1beta1: v1beta1 + release-name: '{{ .Release.Name }}' + name: seedimages.elemental.cattle.io +spec: + group: elemental.cattle.io + names: + kind: SeedImage + listKind: SeedImageList + plural: seedimages + singular: seedimage + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + baseImage: + description: BaseImg the base elemental image used to build the seed + image. + type: string + buildContainer: + description: |- + BuildContainer settings for a custom container used to generate the + downloadable image. + properties: + args: + description: Args same as corev1.Container.Args + items: + type: string + type: array + command: + description: Command same as corev1.Container.Command + items: + type: string + type: array + image: + description: Image container image to run + type: string + imagePullPolicy: + description: Args same as corev1.Container.ImagePullPolicy + type: string + name: + description: Name of the spawned container + type: string + type: object + cleanupAfterMinutes: + default: 60 + description: |- + LifetimeMinutes the time at which the built seed image will be cleaned up. + If when the lifetime elapses the built image is being downloaded, the active + download will be completed before removing the built image. + Default is 60 minutes, set to 0 to disable. + format: int32 + type: integer + cloud-config: + description: CloudConfig contains cloud-config data to be put in the + generated iso. + x-kubernetes-preserve-unknown-fields: true + registrationRef: + description: MachineRegistrationRef a reference to the related MachineRegistration. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. + type: string + kind: + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + namespace: + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + type: string + resourceVersion: + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + type: string + uid: + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + type: string + type: object + x-kubernetes-map-type: atomic + retriggerBuild: + description: RetriggerBuild triggers to build again a cleaned up seed + image. + type: boolean + size: + anyOf: + - type: integer + - type: string + default: 6442450944 + description: |- + Size specifies the size of the volume used to store the image. + Defaults to 6Gi + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + targetPlatform: + description: 'Platform specifies the target platform for the built + image. Example: linux/amd64' + example: linux/amd64 + pattern: ^$|^\S+\/\S+$ + type: string + type: + default: iso + description: |- + Type specifies the type of seed image to built. + Valid values are iso|raw + Defaults to "iso" + enum: + - iso + - raw + type: string + required: + - registrationRef + - type + type: object + status: + properties: + conditions: + description: Conditions describe the state of the machine registration + object. + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + downloadToken: + description: DownloadToken a token to identify the seed image to download. + type: string + downloadURL: + description: DownloadURL the URL from which the SeedImage can be downloaded + once built. + type: string + state: + description: State reflect the state of the seed image build process. + enum: + - Initialized + - Started + - Completed + - Failed + - NotStarted + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/elemental-crd/103.3.1+up1.5.4/templates/validate-no-pending-deletions.yaml b/charts/elemental-crd/103.3.1+up1.5.4/templates/validate-no-pending-deletions.yaml new file mode 100644 index 0000000000..bf92107168 --- /dev/null +++ b/charts/elemental-crd/103.3.1+up1.5.4/templates/validate-no-pending-deletions.yaml @@ -0,0 +1,6 @@ +{{- $inventoryCRD := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" .Release.Namespace "machineinventories.elemental.cattle.io" -}} +{{- if $inventoryCRD -}} + {{- if $inventoryCRD.metadata.deletionTimestamp -}} + {{- required "CRDs from previous installations are pending to be removed (deletionTimestamp is set). Fully deleting them before (re-)installing is required" "" -}} + {{- end -}} +{{- end -}} diff --git a/charts/elemental/103.3.1+up1.5.4/Chart.yaml b/charts/elemental/103.3.1+up1.5.4/Chart.yaml new file mode 100644 index 0000000000..57302d114d --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/Chart.yaml @@ -0,0 +1,20 @@ +annotations: + catalog.cattle.io/auto-install: elemental-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Elemental + catalog.cattle.io/kube-version: '>= 1.23.0-0' + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: elemental.cattle.io/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: elemental-operator + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 1.5.4 +apiVersion: v2 +appVersion: 1.5.4 +description: Elemental provides Cloud Native OS Management for Cluster Nodes. +icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg +name: elemental +version: 103.3.1+up1.5.4 diff --git a/charts/elemental/103.3.1+up1.5.4/README.md b/charts/elemental/103.3.1+up1.5.4/README.md new file mode 100644 index 0000000000..bf7b83ea6c --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/README.md @@ -0,0 +1,5 @@ +# Elemental Operator Helm Chart + +This chart bootstraps an elemental-operator deployment on a [Rancher Manager](https://rancher.com/docs/rancher/) cluster using the [Helm](https://helm.sh) package manager. + +Check out the [Elemental Operator Helm Chart documentation](https://elemental.docs.rancher.com/elementaloperatorchart-reference/) in the official [Elemental guide](https://elemental.docs.rancher.com/). diff --git a/charts/elemental/103.3.1+up1.5.4/app-readme.md b/charts/elemental/103.3.1+up1.5.4/app-readme.md new file mode 100644 index 0000000000..3d694ac5f6 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/app-readme.md @@ -0,0 +1,5 @@ +# Elemental + +Elemental brings to Rancher the ability to install and manage the OS of bare metal and virtualized machines. + +For more information on how to deploy an Elemental Cluster, follow the [official documentation](https://elemental.docs.rancher.com/). \ No newline at end of file diff --git a/charts/elemental/103.3.1+up1.5.4/questions.yaml b/charts/elemental/103.3.1+up1.5.4/questions.yaml new file mode 100644 index 0000000000..15887b25c9 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/questions.yaml @@ -0,0 +1,27 @@ +questions: +- variable: channel.defaultChannel + default: "true" + description: "Provide an Elemental OS Channel container image" + label: Elemental OS Channel + type: boolean + show_subquestion_if: true + group: "Elemental OS Channel" + subquestions: + - variable: channel.image + default: "registry.suse.com/rancher/elemental-channel" + description: "Specify the Elemental OS channel: for air-gapped scenarios you need to provide your own OS channel image (see https://elemental.docs.rancher.com/airgap for detailed instructions)" + type: string + label: Elemental OS Channel Image + group: "Elemental OS Channel" + - variable: channel.tag + default: "1.5.4" + description: "Specify Elemental OS channel image tag" + type: string + label: "Elemental OS Channel Tag" + group: "Elemental OS Channel" +- variable: debug + default: "false" + description: "Enable debug logging in the Elemental operator" + type: boolean + label: "Enable Debug Logging" + group: "Logging" diff --git a/charts/elemental/103.3.1+up1.5.4/templates/_helpers.tpl b/charts/elemental/103.3.1+up1.5.4/templates/_helpers.tpl new file mode 100644 index 0000000000..ee1e6fe7d8 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/_helpers.tpl @@ -0,0 +1,17 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{- define "registry_url" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{ include "system_default_registry" . }} +{{- else if .Values.registryUrl -}} +{{- printf "%s/" .Values.registryUrl -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/elemental/103.3.1+up1.5.4/templates/apiservice.yaml b/charts/elemental/103.3.1+up1.5.4/templates/apiservice.yaml new file mode 100644 index 0000000000..73ae2e505f --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/apiservice.yaml @@ -0,0 +1,9 @@ +kind: APIService +apiVersion: management.cattle.io/v3 +metadata: + name: {{ .Release.Name }} +spec: + secretName: elemental-operator + secretNamespace: {{ .Release.Namespace }} + pathPrefixes: + - /elemental/ diff --git a/charts/elemental/103.3.1+up1.5.4/templates/capi_rbac.yaml b/charts/elemental/103.3.1+up1.5.4/templates/capi_rbac.yaml new file mode 100644 index 0000000000..8692f75269 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/capi_rbac.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: elemental-capi-role + labels: + cluster.x-k8s.io/aggregate-to-manager: "true" +rules: + - apiGroups: ["elemental.cattle.io"] + resources: ["*"] + verbs: ["*"] diff --git a/charts/elemental/103.3.1+up1.5.4/templates/channel.yaml b/charts/elemental/103.3.1+up1.5.4/templates/channel.yaml new file mode 100644 index 0000000000..ccb6e4d3c6 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/channel.yaml @@ -0,0 +1,11 @@ +{{ if and .Values.channel .Values.channel.image .Values.channel.tag }} +apiVersion: elemental.cattle.io/v1beta1 +kind: ManagedOSVersionChannel +metadata: + name: elemental-channel + namespace: fleet-default +spec: + options: + image: {{ .Values.channel.image }}:{{ .Values.channel.tag }} + type: custom +{{ end }} diff --git a/charts/elemental/103.3.1+up1.5.4/templates/cluster_role.yaml b/charts/elemental/103.3.1+up1.5.4/templates/cluster_role.yaml new file mode 100644 index 0000000000..f4a9528c12 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/cluster_role.yaml @@ -0,0 +1,267 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: '{{ .Release.Name }}' +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - "" + resources: + - pods + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - pods/log + verbs: + - get +- apiGroups: + - "" + resources: + - pods/status + verbs: + - get +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - watch +- apiGroups: + - "" + resources: + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - services/status + verbs: + - get +- apiGroups: + - cluster.x-k8s.io + resources: + - machines + verbs: + - get + - list + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventories/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - machineinventoryselectors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineinventoryselectors/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - machineregistrations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - machineregistrations/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosimages/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosversionchannels + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosversionchannels/status + verbs: + - get + - list + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - managedosversions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - managedosversions/status + verbs: + - get + - patch + - update +- apiGroups: + - elemental.cattle.io + resources: + - seedimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - elemental.cattle.io + resources: + - seedimages/status + verbs: + - get + - patch + - update +- apiGroups: + - fleet.cattle.io + resources: + - bundles + verbs: + - create + - get + - list + - update + - watch +- apiGroups: + - management.cattle.io + resources: + - settings + verbs: + - get + - list + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + - roles + verbs: + - create + - delete + - list + - watch diff --git a/charts/elemental/103.3.1+up1.5.4/templates/cluster_role_binding.yaml b/charts/elemental/103.3.1+up1.5.4/templates/cluster_role_binding.yaml new file mode 100644 index 0000000000..e68c7bc96b --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/cluster_role_binding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }} +subjects: +- kind: ServiceAccount + name: {{ .Release.Name }} + namespace: {{.Release.Namespace}} + diff --git a/charts/elemental/103.3.1+up1.5.4/templates/deployment.yaml b/charts/elemental/103.3.1+up1.5.4/templates/deployment.yaml new file mode 100644 index 0000000000..576d58d596 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/deployment.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }} +spec: + replicas: {{ .Values.replicas }} + selector: + matchLabels: + app: elemental-operator + template: + metadata: + labels: + app: elemental-operator + spec: + containers: + - env: + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + {{- end }} + name: {{ .Release.Name }} + imagePullPolicy: "{{ .Values.image.imagePullPolicy }}" + image: {{ template "registry_url" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + args: + - operator + {{- if .Values.debug }} + - --v=5 + - --debug + {{- end }} + - --namespace + - {{ .Release.Namespace }} + - --operator-image + - {{ template "registry_url" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + - --seedimage-image + - {{ template "registry_url" . }}{{ .Values.seedImage.repository }}:{{ .Values.seedImage.tag | default .Chart.AppVersion }} + - --seedimage-image-pullpolicy + - {{ .Values.seedImage.imagePullPolicy}} + serviceAccountName: {{ .Release.Name }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/elemental/103.3.1+up1.5.4/templates/globalrole.yaml b/charts/elemental/103.3.1+up1.5.4/templates/globalrole.yaml new file mode 100644 index 0000000000..323cf2ead8 --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/globalrole.yaml @@ -0,0 +1,16 @@ +apiVersion: management.cattle.io/v3 +builtin: false +description: "Elemental Administrator Role" +displayName: Elemental Administrator +kind: GlobalRole +metadata: + labels: + cattle.io/creator: norman + name: {{ .Release.Name }} +rules: +- apiGroups: + - elemental.cattle.io + resources: + - '*' + verbs: + - '*' diff --git a/charts/elemental/103.3.1+up1.5.4/templates/serviceaccount.yaml b/charts/elemental/103.3.1+up1.5.4/templates/serviceaccount.yaml new file mode 100644 index 0000000000..cb203d6f6c --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }} diff --git a/charts/elemental/103.3.1+up1.5.4/templates/validate-install-crd.yaml b/charts/elemental/103.3.1+up1.5.4/templates/validate-install-crd.yaml new file mode 100644 index 0000000000..c5c4aded4f --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/templates/validate-install-crd.yaml @@ -0,0 +1,25 @@ +{{ if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 }} + {{ $apis := dict + "elemental.cattle.io/v1beta1/MachineInventory" "machineinventories" + "elemental.cattle.io/v1beta1/MachineInventorySelector" "machineinventoryselectors" + "elemental.cattle.io/v1beta1/MachineInventorySelectorTemplate" "machineinventoryselectortemplates" + "elemental.cattle.io/v1beta1/MachineRegistration" "machineregistrations" + "elemental.cattle.io/v1beta1/ManagedOSImage" "managedosimages" + "elemental.cattle.io/v1beta1/ManagedOSVersionChannel" "managedosversionchannels" + "elemental.cattle.io/v1beta1/ManagedOSVersion" "managedosversions" + "elemental.cattle.io/v1beta1/SeedImage" "seedimages" + }} + {{- range $api, $crd := $apis -}} + {{- if not ($.Capabilities.APIVersions.Has $api) -}} + {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} + {{- end -}} + {{- $crdobj := lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" "" (print $crd ".elemental.cattle.io") -}} + {{- if not $crdobj -}} + {{- print "Cannot lookup " $crd ".elemental.cattle.io crd object" | fail -}} + {{- end -}} + {{- $crdrelease := index $crdobj.metadata.annotations "meta.helm.sh/release-name" -}} + {{- if eq $crdrelease $.Release.Name -}} + {{- required "Elemental CRDs should be moved to the new elemental-operator-crds chart before upgrading this operator." "" -}} + {{- end -}} + {{- end -}} +{{- end -}} diff --git a/charts/elemental/103.3.1+up1.5.4/values.yaml b/charts/elemental/103.3.1+up1.5.4/values.yaml new file mode 100644 index 0000000000..663cbf359b --- /dev/null +++ b/charts/elemental/103.3.1+up1.5.4/values.yaml @@ -0,0 +1,42 @@ +image: + empty: rancher/pause:3.1 + repository: "rancher/mirrored-elemental-operator" + tag: "1.5.4" + imagePullPolicy: IfNotPresent + +seedImage: + repository: "rancher/mirrored-elemental-seedimage-builder" + tag: "1.5.4" + imagePullPolicy: IfNotPresent + +channel: + image: "registry.suse.com/rancher/elemental-channel" + tag: "1.5.4" + +# number of operator replicas to deploy +replicas: 1 + +# 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 + +global: + cattle: + systemDefaultRegistry: "" + +# used only if systemDefaultRegistry is empty +registryUrl: "" + +# enable debug output for operator +debug: false + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule diff --git a/charts/fleet-agent/103.1.7+up0.9.8/Chart.yaml b/charts/fleet-agent/103.1.7+up0.9.8/Chart.yaml new file mode 100644 index 0000000000..8f0110832b --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/Chart.yaml @@ -0,0 +1,15 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.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.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: fleet-agent +apiVersion: v2 +appVersion: 0.9.8 +description: Fleet Manager Agent - GitOps at Scale +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-agent +version: 103.1.7+up0.9.8 diff --git a/charts/fleet-agent/103.1.7+up0.9.8/README.md b/charts/fleet-agent/103.1.7+up0.9.8/README.md new file mode 100644 index 0000000000..2c5724dcef --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/_helpers.tpl b/charts/fleet-agent/103.1.7+up0.9.8/templates/_helpers.tpl new file mode 100644 index 0000000000..6cd96c3ace --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/configmap.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/configmap.yaml new file mode 100644 index 0000000000..f3e83a89cc --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/templates/configmap.yaml @@ -0,0 +1,13 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: fleet-agent +data: + config: |- + { + {{ if .Values.labels }} + "labels":{{toJson .Values.labels}}, + {{ end }} + "clientID":"{{.Values.clientID}}", + "agentTLSMode": "{{.Values.agentTLSMode}}" + } diff --git a/charts/fleet-agent/103.1.7+up0.9.8/templates/deployment.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/deployment.yaml new file mode 100644 index 0000000000..582eed608d --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/network_policy_allow_all.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/network_policy_allow_all.yaml new file mode 100644 index 0000000000..a72109a062 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/patch_default_serviceaccount.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/patch_default_serviceaccount.yaml new file mode 100644 index 0000000000..aad4eea415 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/rbac.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/rbac.yaml new file mode 100644 index 0000000000..1a7e8d8841 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/templates/rbac.yaml @@ -0,0 +1,28 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: fleet-agent-system-fleet-agent-role +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +- nonResourceURLs: + - "*" + 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/103.1.7+up0.9.8/templates/secret.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/secret.yaml new file mode 100644 index 0000000000..4715882047 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/serviceaccount.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/serviceaccount.yaml new file mode 100644 index 0000000000..73e27f0be9 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-agent diff --git a/charts/fleet-agent/103.1.7+up0.9.8/templates/validate.yaml b/charts/fleet-agent/103.1.7+up0.9.8/templates/validate.yaml new file mode 100644 index 0000000000..d53ff1c508 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/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/103.1.7+up0.9.8/values.yaml b/charts/fleet-agent/103.1.7+up0.9.8/values.yaml new file mode 100644 index 0000000000..f940d94e90 --- /dev/null +++ b/charts/fleet-agent/103.1.7+up0.9.8/values.yaml @@ -0,0 +1,67 @@ +image: + os: "windows,linux" + repository: rancher/fleet-agent + tag: v0.9.8 + +# 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: "" + +# Determines whether the agent should trust CA bundles from the operating system's trust store when connecting to a +# management cluster. True in `system-store` mode, false in `strict` mode. +agentTLSMode: "system-store" + +# 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/103.1.7+up0.9.8/Chart.yaml b/charts/fleet-crd/103.1.7+up0.9.8/Chart.yaml new file mode 100644 index 0000000000..8e939593d3 --- /dev/null +++ b/charts/fleet-crd/103.1.7+up0.9.8/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.9.8 +description: Fleet Manager CustomResourceDefinitions +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-crd +version: 103.1.7+up0.9.8 diff --git a/charts/fleet-crd/103.1.7+up0.9.8/README.md b/charts/fleet-crd/103.1.7+up0.9.8/README.md new file mode 100644 index 0000000000..2452ab2f1f --- /dev/null +++ b/charts/fleet-crd/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/crds.yaml b/charts/fleet-crd/103.1.7+up0.9.8/templates/crds.yaml new file mode 100644 index 0000000000..8ae8101218 --- /dev/null +++ b/charts/fleet-crd/103.1.7+up0.9.8/templates/crds.yaml @@ -0,0 +1,5736 @@ +--- +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: + description: BundleDeployment is used internally by Fleet and should not + be used directly. When a Bundle is deployed to a cluster an instance of + a Bundle is called a BundleDeployment. A BundleDeployment represents the + state of that Bundle on a specific cluster with its cluster-specific customizations. + The Fleet agent is only aware of BundleDeployment resources that are created + for the cluster the agent is managing. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + nullable: true + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will be + used if true. This will try to recreate all resources in the + release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + dependsOn: + description: DependsOn refers to the bundles which must be ready + before this bundle can be deployed. + items: + properties: + name: + description: Name of the bundle. + nullable: true + type: string + selector: + description: Selector matching bundle's labels. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + type: object + nullable: true + type: array + deploymentID: + description: DeploymentID is the ID of the currently applied deployment. + nullable: true + type: string + options: + description: Options are the deployment options, that are currently + applied. + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + nullable: true + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: DefaultNamespace is the namespace to use for resources + that do not specify a namespace. This field is not used to + enforce or lock down the deployment to a specific namespace. + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + diff: + description: Diff can be used to ignore the modified state of + objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + nullable: true + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the + resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + nullable: true + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: Chart can refer to any go-getter URL or OCI + registry based helm chart URL. The chart will be downloaded. + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: ReleaseName sets a custom release name to deploy + the chart as. If not specified a release name will be + generated by combining the invoking GitRepo.name + GitRepo.path. + 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: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: Values passed to Helm. It is possible to specify + the keys and values as go template strings. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: WaitForJobs if set and timeoutSeconds provided, + will wait until all Jobs have been completed before marking + the GitRepo as ready. It will wait for as long as timeoutSeconds + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: Kustomize options for the deployment, like the + dir containing the kustomization.yaml file. + nullable: true + properties: + dir: + description: Dir points to a custom folder for kustomize + resources. This folder must contain a kustomization.yaml + file. + nullable: true + type: string + type: object + namespace: + description: TargetNamespace if present will assign all resource + to this namespace and if any cluster scoped resource exists + the deployment will fail. + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this + deployment. + nullable: true + type: string + yaml: + description: YAML options, if using raw YAML these are names + that map to overlays/{name} files that will be used to replace + or patch a resource. + nullable: true + properties: + overlays: + description: Overlays is a list of names that maps to folders + in "overlays/". If you wish to customize the file ./subdir/resource.yaml + then a file ./overlays/myoverlay/subdir/resource.yaml + will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file. + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + paused: + description: Paused if set to true, will stop any BundleDeployments + from being updated. If true, BundleDeployments will be marked + as out of sync when changes are detected. + type: boolean + stagedDeploymentID: + description: StagedDeploymentID is the ID of the staged deployment. + nullable: true + type: string + stagedOptions: + description: StagedOptions are the deployment options, that are + staged for the next deployment. + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + nullable: true + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: DefaultNamespace is the namespace to use for resources + that do not specify a namespace. This field is not used to + enforce or lock down the deployment to a specific namespace. + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + diff: + description: Diff can be used to ignore the modified state of + objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + nullable: true + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the + resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + nullable: true + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: Chart can refer to any go-getter URL or OCI + registry based helm chart URL. The chart will be downloaded. + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: ReleaseName sets a custom release name to deploy + the chart as. If not specified a release name will be + generated by combining the invoking GitRepo.name + GitRepo.path. + nullable: true + type: string + repo: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: Values passed to Helm. It is possible to specify + the keys and values as go template strings. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: WaitForJobs if set and timeoutSeconds provided, + will wait until all Jobs have been completed before marking + the GitRepo as ready. It will wait for as long as timeoutSeconds + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: Kustomize options for the deployment, like the + dir containing the kustomization.yaml file. + nullable: true + properties: + dir: + description: Dir points to a custom folder for kustomize + resources. This folder must contain a kustomization.yaml + file. + nullable: true + type: string + type: object + namespace: + description: TargetNamespace if present will assign all resource + to this namespace and if any cluster scoped resource exists + the deployment will fail. + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this + deployment. + nullable: true + type: string + yaml: + description: YAML options, if using raw YAML these are names + that map to overlays/{name} files that will be used to replace + or patch a resource. + nullable: true + properties: + overlays: + description: Overlays is a list of names that maps to folders + in "overlays/". If you wish to customize the file ./subdir/resource.yaml + then a file ./overlays/myoverlay/subdir/resource.yaml + will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file. + 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: + description: Last time the condition transitioned from one + status to another. + nullable: true + type: string + lastUpdateTime: + description: The last time this condition was updated. + nullable: true + type: string + message: + description: Human-readable message indicating details about + last transition + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + nullable: true + type: string + type: + description: Type of cluster condition. + 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: + description: ModifiedStatus is used to report the status of a + resource that is modified. It indicates if the modification + was a create, a delete or a patch. + 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: + description: NonReadyStatus is used to report the status of a + resource that is not ready. It includes a summary. + 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: + description: UID is a type that holds unique ID values, including + UUIDs. Because we don't ONLY use UUIDs, this is an alias + to string. Being a type captures intent and helps make + sure that UIDs and names do not get conflated. + nullable: true + type: string + type: object + nullable: true + type: array + ready: + type: boolean + release: + nullable: true + type: string + resources: + description: Resources lists the metadata of resources that were + deployed according to the helm release history. + items: + description: BundleDeploymentResource contains the metadata of + a deployed resource. + 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: + description: BundleNamespaceMapping maps bundles to clusters in other namespaces. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + bundleSelector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains + values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies + to. + nullable: true + type: string + operator: + description: operator represents a key's relationship to a + set of values. Valid operators are In, NotIn, Exists and + DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. If the operator + is In or NotIn, the values array must be non-empty. If the + operator is Exists or DoesNotExist, the values array must + be empty. This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + nullable: true + type: object + type: object + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + namespaceSelector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains + values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies + to. + nullable: true + type: string + operator: + description: operator represents a key's relationship to a + set of values. Valid operators are In, NotIn, Exists and + DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. If the operator + is In or NotIn, the values array must be non-empty. If the + operator is Exists or DoesNotExist, the values array must + be empty. This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + nullable: true + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +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: + description: "Bundle contains the resources of an application and its deployment\ + \ options. It will be deployed as a Helm chart to target clusters. \n\ + \ When a GitRepo is scanned it will produce one or more bundles. Bundles\ + \ are a collection of resources that get deployed to one or more cluster(s).\ + \ Bundle is the fundamental deployment unit used in Fleet. The contents\ + \ of a Bundle may be Kubernetes manifests, Kustomize configuration, or\ + \ Helm charts. Regardless of the source the contents are dynamically rendered\ + \ into a Helm chart by the agent and installed into the downstream cluster\ + \ as a Helm release." + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + nullable: true + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will be + used if true. This will try to recreate all resources in the + release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: DefaultNamespace is the namespace to use for resources + that do not specify a namespace. This field is not used to enforce + or lock down the deployment to a specific namespace. + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this will + also delete all your Custom Resources. + type: boolean + dependsOn: + description: DependsOn refers to the bundles which must be ready + before this bundle can be deployed. + items: + properties: + name: + description: Name of the bundle. + nullable: true + type: string + selector: + description: Selector matching bundle's labels. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + type: object + nullable: true + type: array + diff: + description: Diff can be used to ignore the modified state of objects + which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove fields + from the check for modifications. + items: + description: ComparePatch matches a resource and removes fields + from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the resource + to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain JSON + path. + items: + nullable: true + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to match. + nullable: true + type: string + name: + description: Name is the name of the resource to match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from the resource. + items: + description: Operation of a ComparePatch, usually "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + type: integer + helm: + description: Helm options for the deployment, like the chart name, + repo and values. + nullable: true + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is performing + an upgrade + type: boolean + chart: + description: Chart can refer to any go-getter URL or OCI registry + based helm chart URL. The chart will be downloaded. + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's EnableDNS + option, which Fleet sets to `true` by default. + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. This + could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: ReleaseName sets a custom release name to deploy + the chart as. If not specified a release name will be generated + by combining the invoking GitRepo.name + GitRepo.path. + 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: + description: Repo is the name of the HTTPS helm repo to download + the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema validation + against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for its + own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm operations. + type: integer + values: + description: Values passed to Helm. It is possible to specify + the keys and values as go template strings. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values from. + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps and + secrets. + items: + description: 'Define helm values that can come from configmap, + secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same namespace + as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: WaitForJobs if set and timeoutSeconds provided, + will wait until all Jobs have been completed before marking + the GitRepo as ready. It will wait for as long as timeoutSeconds + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when monitoring + the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be ignored + when monitoring the Bundle. + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed resources + when removing the bundle + type: boolean + kustomize: + description: Kustomize options for the deployment, like the dir + containing the kustomization.yaml file. + nullable: true + properties: + dir: + description: Dir points to a custom folder for kustomize resources. + This folder must contain a kustomization.yaml file. + nullable: true + type: string + type: object + namespace: + description: TargetNamespace if present will assign all resource + to this namespace and if any cluster scoped resource exists the + deployment will fail. + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + description: NamespaceAnnotations are annotations that will be appended + to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + description: NamespaceLabels are labels that will be appended to + the namespace created by Fleet. + nullable: true + type: object + paused: + description: Paused if set to true, will stop any BundleDeployments + from being updated. It will be marked as out of sync. + type: boolean + resources: + description: Resources contains the resources that were read from + the bundle's path. This includes the content of downloaded helm + charts. + items: + description: BundleResource represents the content of a single + resource from the bundle, like a YAML manifest. + properties: + content: + description: The content of the resource, can be compressed. + nullable: true + type: string + encoding: + description: Encoding is either empty or "base64+gz". + nullable: true + type: string + name: + description: Name of the resource, can include the bundle's + internal path. + nullable: true + type: string + type: object + nullable: true + type: array + rolloutStrategy: + description: RolloutStrategy controls the rollout of bundles, by + defining partitions, canaries and percentages for cluster availability. + nullable: true + properties: + autoPartitionSize: + description: 'A number or percentage of how to automatically + partition clusters if no specific partitioning strategy is + configured. default: 25%' + nullable: true + x-kubernetes-int-or-string: true + maxUnavailable: + description: 'A number or percentage of clusters that can be + unavailable during an update of a bundle. This follows the + same basic approach as a deployment rollout strategy. Once + the number of clusters meets unavailable state update will + be paused. Default value is 100% which doesn''t take effect + on update. default: 100%' + nullable: true + x-kubernetes-int-or-string: true + maxUnavailablePartitions: + description: 'A number or percentage of cluster partitions that + can be unavailable during an update of a bundle. default: + 0' + nullable: true + x-kubernetes-int-or-string: true + partitions: + description: A list of definitions of partitions. If any target + clusters do not match the configuration they are added to + partitions at the end following the autoPartitionSize. + items: + description: Partition defines a separate rollout strategy + for a set of clusters. + properties: + clusterGroup: + description: A cluster group name to include in this partition + nullable: true + type: string + clusterGroupSelector: + description: Selector matching cluster group labels to + include in this partition + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values + array must be non-empty. If the operator is + Exists or DoesNotExist, the values array must + be empty. This array is replaced during a + strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + nullable: true + type: object + type: object + clusterName: + description: ClusterName is the name of a cluster to include + in this partition + nullable: true + type: string + clusterSelector: + description: Selector matching cluster labels to include + in this partition + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values + array must be non-empty. If the operator is + Exists or DoesNotExist, the values array must + be empty. This array is replaced during a + strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + nullable: true + type: object + type: object + maxUnavailable: + description: 'A number or percentage of clusters that + can be unavailable in this partition before this partition + is treated as done. default: 10%' + nullable: true + x-kubernetes-int-or-string: true + name: + description: A user-friendly name given to the partition + used for Display (optional). + nullable: true + type: string + type: object + nullable: true + type: array + type: object + serviceAccount: + description: ServiceAccount which will be used to perform this deployment. + nullable: true + type: string + targetRestrictions: + description: TargetRestrictions is an allow list, which controls + if a bundledeployment is created for a target. + items: + description: BundleTargetRestriction is used internally by Fleet + and should not be modified. It acts as an allow list, to prevent + the creation of BundleDeployments from Targets created by TargetCustomizations + in fleet.yaml. + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + description: A label selector is a label query over a set + of resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. + A null label selector matches no objects. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + description: A label selector is a label query over a set + of resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. + A null label selector matches no objects. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + name: + nullable: true + type: string + type: object + nullable: true + type: array + targets: + description: Targets refer to the clusters which will be deployed + to. Targets are evaluated in order and the first one to match + is used. + items: + description: BundleTarget declares clusters to deploy to. Fleet + will merge the BundleDeploymentOptions from customizations into + this struct. + properties: + clusterGroup: + description: ClusterGroup to match a specific cluster group + by name. + nullable: true + type: string + clusterGroupSelector: + description: ClusterGroupSelector is a selector to match cluster + groups. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + clusterName: + description: ClusterName to match a specific cluster by name + that will be selected + nullable: true + type: string + clusterSelector: + description: ClusterSelector is a selector to match clusters. + The structure is the standard metav1.LabelSelector format. + If clusterGroupSelector or clusterGroup is specified, clusterSelector + will be used only to further refine the selection after + clusterGroupSelector and clusterGroup is evaluated. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + nullable: true + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will + be used if true. This will try to recreate all resources + in the release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + defaultNamespace: + description: DefaultNamespace is the namespace to use for + resources that do not specify a namespace. This field is + not used to enforce or lock down the deployment to a specific + namespace. + nullable: true + type: string + deleteCRDResources: + description: DeleteCRDResources deletes CRDs. Warning! this + will also delete all your Custom Resources. + type: boolean + diff: + description: Diff can be used to ignore the modified state + of objects which are amended at runtime. + nullable: true + properties: + comparePatches: + description: ComparePatches match a resource and remove + fields from the check for modifications. + items: + description: ComparePatch matches a resource and removes + fields from the check for modifications. + properties: + apiVersion: + description: APIVersion is the apiVersion of the + resource to match. + nullable: true + type: string + jsonPointers: + description: JSONPointers ignore diffs at a certain + JSON path. + items: + nullable: true + type: string + nullable: true + type: array + kind: + description: Kind is the kind of the resource to + match. + nullable: true + type: string + name: + description: Name is the name of the resource to + match. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource + to match. + nullable: true + type: string + operations: + description: Operations remove a JSON path from + the resource. + items: + description: Operation of a ComparePatch, usually + "remove". + properties: + op: + description: Op is usually "remove" + nullable: true + type: string + path: + description: Path is the JSON path to remove. + nullable: true + type: string + value: + description: Value is usually empty. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + doNotDeploy: + description: DoNotDeploy if set to true, will not deploy to + this target. + type: boolean + forceSyncGeneration: + description: ForceSyncGeneration is used to force a redeployment + type: integer + helm: + description: Helm options for the deployment, like the chart + name, repo and values. + nullable: true + properties: + atomic: + description: Atomic sets the --atomic flag when Helm is + performing an upgrade + type: boolean + chart: + description: Chart can refer to any go-getter URL or OCI + registry based helm chart URL. The chart will be downloaded. + nullable: true + type: string + disableDNS: + description: DisableDNS can be used to customize Helm's + EnableDNS option, which Fleet sets to `true` by default. + type: boolean + disablePreProcess: + description: DisablePreProcess disables template processing + in values + type: boolean + force: + description: Force allows to override immutable resources. + This could be dangerous. + type: boolean + maxHistory: + description: MaxHistory limits the maximum number of revisions + saved per release by Helm. + type: integer + releaseName: + description: ReleaseName sets a custom release name to + deploy the chart as. If not specified a release name + will be generated by combining the invoking GitRepo.name + + GitRepo.path. + nullable: true + type: string + repo: + description: Repo is the name of the HTTPS helm repo to + download the chart from. + nullable: true + type: string + skipSchemaValidation: + description: SkipSchemaValidation allows skipping schema + validation against the chart values + type: boolean + takeOwnership: + description: TakeOwnership makes helm skip the check for + its own annotations + type: boolean + timeoutSeconds: + description: TimeoutSeconds is the time to wait for Helm + operations. + type: integer + values: + description: Values passed to Helm. It is possible to + specify the keys and values as go template strings. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + valuesFiles: + description: ValuesFiles is a list of files to load values + from. + items: + nullable: true + type: string + nullable: true + type: array + valuesFrom: + description: ValuesFrom loads the values from configmaps + and secrets. + items: + description: 'Define helm values that can come from + configmap, secret or external. Credit: https://github.com/fluxcd/helm-operator/blob/0cfea875b5d44bea995abe7324819432070dfbdc/pkg/apis/helm.fluxcd.io/v1/types_helmrelease.go#L439' + properties: + configMapKeyRef: + description: The reference to a config map with + release values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same + namespace as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + secretKeyRef: + description: The reference to a secret with release + values. + nullable: true + properties: + key: + nullable: true + type: string + name: + description: Name of a resource in the same + namespace as the referent. + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + type: object + nullable: true + type: array + version: + description: Version of the chart to download + nullable: true + type: string + waitForJobs: + description: WaitForJobs if set and timeoutSeconds provided, + will wait until all Jobs have been completed before + marking the GitRepo as ready. It will wait for as long + as timeoutSeconds + type: boolean + type: object + ignore: + description: IgnoreOptions can be used to ignore fields when + monitoring the bundle. + properties: + conditions: + description: Conditions is a list of conditions to be + ignored when monitoring the Bundle. + items: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nullable: true + type: array + type: object + keepResources: + description: KeepResources can be used to keep the deployed + resources when removing the bundle + type: boolean + kustomize: + description: Kustomize options for the deployment, like the + dir containing the kustomization.yaml file. + nullable: true + properties: + dir: + description: Dir points to a custom folder for kustomize + resources. This folder must contain a kustomization.yaml + file. + nullable: true + type: string + type: object + name: + description: Name of target. This value is largely for display + and logging. If not specified a default name of the format + "target000" will be used + nullable: true + type: string + namespace: + description: TargetNamespace if present will assign all resource + to this namespace and if any cluster scoped resource exists + the deployment will fail. + nullable: true + type: string + namespaceAnnotations: + additionalProperties: + nullable: true + type: string + description: NamespaceAnnotations are annotations that will + be appended to the namespace created by Fleet. + nullable: true + type: object + namespaceLabels: + additionalProperties: + nullable: true + type: string + description: NamespaceLabels are labels that will be appended + to the namespace created by Fleet. + nullable: true + type: object + serviceAccount: + description: ServiceAccount which will be used to perform + this deployment. + nullable: true + type: string + yaml: + description: YAML options, if using raw YAML these are names + that map to overlays/{name} files that will be used to replace + or patch a resource. + nullable: true + properties: + overlays: + description: Overlays is a list of names that maps to + folders in "overlays/". If you wish to customize the + file ./subdir/resource.yaml then a file ./overlays/myoverlay/subdir/resource.yaml + will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file. + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + nullable: true + type: array + yaml: + description: YAML options, if using raw YAML these are names that + map to overlays/{name} files that will be used to replace or patch + a resource. + nullable: true + properties: + overlays: + description: Overlays is a list of names that maps to folders + in "overlays/". If you wish to customize the file ./subdir/resource.yaml + then a file ./overlays/myoverlay/subdir/resource.yaml will + replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml + will patch the base file. + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + status: + properties: + conditions: + description: Conditions is a list of Wrangler conditions that describe + the state of the bundle. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + nullable: true + type: string + lastUpdateTime: + description: The last time this condition was updated. + nullable: true + type: string + message: + description: Human-readable message indicating details about + last transition + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + nullable: true + type: string + type: + description: Type of cluster condition. + nullable: true + type: string + type: object + nullable: true + type: array + display: + description: Display contains the number of ready, desiredready + clusters and a summary state for the bundle's resources. + properties: + readyClusters: + description: ReadyClusters is a string in the form "%d/%d", + that describes the number of clusters that are ready vs. the + number of clusters desired to be ready. + nullable: true + type: string + state: + description: State is a summary state for the bundle, calculated + over the non-ready resources. + nullable: true + type: string + type: object + maxNew: + description: MaxNew is always 50. A bundle change can only stage + 50 bundledeployments at a time. + type: integer + maxUnavailable: + description: MaxUnavailable is the maximum number of unavailable + deployments. See rollout configuration. + type: integer + maxUnavailablePartitions: + description: MaxUnavailablePartitions is the maximum number of unavailable + partitions. The rollout configuration defines a maximum number + or percentage of unavailable partitions. + type: integer + newlyCreated: + description: NewlyCreated is the number of bundle deployments that + have been created, not updated. + type: integer + observedGeneration: + description: ObservedGeneration is the current generation of the + bundle. + type: integer + partitions: + description: PartitionStatus lists the status of each partition. + items: + description: PartitionStatus is the status of a single rollout + partition. + properties: + count: + description: Count is the number of clusters in the partition. + type: integer + maxUnavailable: + description: MaxUnavailable is the maximum number of unavailable + clusters in the partition. + type: integer + name: + description: Name is the name of the partition. + nullable: true + type: string + summary: + description: Summary is a summary state for the partition, + calculated over its non-ready resources. + properties: + desiredReady: + description: DesiredReady is the number of bundle deployments + that should be ready. + type: integer + errApplied: + description: ErrApplied is the number of bundle deployments + that have been synced from the Fleet controller and + the downstream cluster, but with some errors when deploying + the bundle. + type: integer + modified: + description: Modified is the number of bundle deployments + that have been deployed and for which all resources + are ready, but where some changes from the Git repository + have not yet been synced. + type: integer + nonReadyResources: + description: NonReadyClusters is a list of states, which + is filled for a bundle that is not ready. + items: + description: NonReadyResource contains information about + a bundle that is not ready for a given state like + "ErrApplied". It contains a list of non-ready or modified + resources and their states. + properties: + bundleState: + description: State is the state of the resource, + like e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the + bundle is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for + each modified resource. + items: + description: ModifiedStatus is used to report + the status of a resource that is modified. It + indicates if the modification was a create, + a delete or a patch. + 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: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for + each non-ready resource. + items: + description: NonReadyStatus is used to report + the status of a resource that is not ready. + It includes a summary. + 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: + description: UID is a type that holds unique + ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to + string. Being a type captures intent and + helps make sure that UIDs and names do not + get conflated. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: NotReady is the number of bundle deployments + that have been deployed where some resources are not + ready. + type: integer + outOfSync: + description: OutOfSync is the number of bundle deployments + that have been synced from Fleet controller, but not + yet by the downstream agent. + type: integer + pending: + description: Pending is the number of bundle deployments + that are being processed by Fleet controller. + type: integer + ready: + description: Ready is the number of bundle deployments + that have been deployed where all resources are ready. + type: integer + waitApplied: + description: WaitApplied is the number of bundle deployments + that have been synced from Fleet controller and downstream + cluster, but are waiting to be deployed. + type: integer + type: object + unavailable: + description: Unavailable is the number of unavailable clusters + in the partition. + type: integer + type: object + nullable: true + type: array + resourceKey: + description: ResourceKey lists resources, which will likely be deployed. + The actual list of resources on a cluster might differ, depending + on the helm chart, value templating, etc.. + items: + description: ResourceKey lists resources, which will likely be + deployed. + properties: + apiVersion: + description: APIVersion is the k8s api version of the resource. + nullable: true + type: string + kind: + description: Kind is the k8s api kind of the resource. + nullable: true + type: string + name: + description: Name is the name of the resource. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the resource. + nullable: true + type: string + type: object + nullable: true + type: array + summary: + description: Summary contains the number of bundle deployments in + each state and a list of non-ready resources. + properties: + desiredReady: + description: DesiredReady is the number of bundle deployments + that should be ready. + type: integer + errApplied: + description: ErrApplied is the number of bundle deployments + that have been synced from the Fleet controller and the downstream + cluster, but with some errors when deploying the bundle. + type: integer + modified: + description: Modified is the number of bundle deployments that + have been deployed and for which all resources are ready, + but where some changes from the Git repository have not yet + been synced. + type: integer + nonReadyResources: + description: NonReadyClusters is a list of states, which is + filled for a bundle that is not ready. + items: + description: NonReadyResource contains information about a + bundle that is not ready for a given state like "ErrApplied". + It contains a list of non-ready or modified resources and + their states. + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: ModifiedStatus is used to report the status + of a resource that is modified. It indicates if the + modification was a create, a delete or a patch. + 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: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + 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: + description: UID is a type that holds unique ID + values, including UUIDs. Because we don't ONLY + use UUIDs, this is an alias to string. Being + a type captures intent and helps make sure that + UIDs and names do not get conflated. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: NotReady is the number of bundle deployments that + have been deployed where some resources are not ready. + type: integer + outOfSync: + description: OutOfSync is the number of bundle deployments that + have been synced from Fleet controller, but not yet by the + downstream agent. + type: integer + pending: + description: Pending is the number of bundle deployments that + are being processed by Fleet controller. + type: integer + ready: + description: Ready is the number of bundle deployments that + have been deployed where all resources are ready. + type: integer + waitApplied: + description: WaitApplied is the number of bundle deployments + that have been synced from Fleet controller and downstream + cluster, but are waiting to be deployed. + type: integer + type: object + unavailable: + description: Unavailable is the number of bundle deployments that + are not ready or where the AppliedDeploymentID in the status does + not match the DeploymentID from the spec. + type: integer + unavailablePartitions: + description: UnavailablePartitions is the number of unavailable + partitions. + type: integer + 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: + description: ClusterGroup is a re-usable selector to target a group of clusters. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + selector: + description: Selector is a label selector, used to select clusters + for this group. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + nullable: true + type: object + type: object + type: object + status: + properties: + clusterCount: + description: ClusterCount is the number of clusters in the cluster + group. + type: integer + conditions: + description: Conditions is a list of conditions and their statuses + for the cluster group. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + nullable: true + type: string + lastUpdateTime: + description: The last time this condition was updated. + nullable: true + type: string + message: + description: Human-readable message indicating details about + last transition + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + nullable: true + type: string + type: + description: Type of cluster condition. + nullable: true + type: string + type: object + nullable: true + type: array + display: + description: Display contains the number of ready, desiredready + clusters and a summary state for the bundle's resources. + properties: + readyBundles: + description: ReadyBundles is a string in the form "%d/%d", that + describes the number of bundles that are ready vs. the number + of bundles desired to be ready. + nullable: true + type: string + readyClusters: + description: ReadyClusters is a string in the form "%d/%d", + that describes the number of clusters that are ready vs. the + number of clusters desired to be ready. + nullable: true + type: string + state: + description: State is a summary state for the cluster group, + showing "NotReady" if there are non-ready resources. + nullable: true + type: string + type: object + nonReadyClusterCount: + description: NonReadyClusterCount is the number of clusters that + are not ready. + type: integer + nonReadyClusters: + description: NonReadyClusters is a list of cluster names that are + not ready. + items: + nullable: true + type: string + nullable: true + type: array + resourceCounts: + description: ResourceCounts contains the number of resources in + each state over all bundles in the cluster group. + properties: + desiredReady: + description: DesiredReady is the number of resources that should + be ready. + type: integer + missing: + description: Missing is the number of missing resources. + type: integer + modified: + description: Modified is the number of resources that have been + modified. + type: integer + notReady: + description: NotReady is the number of not ready resources. + Resources are not ready if they do not match any other state. + type: integer + orphaned: + description: Orphaned is the number of orphaned resources. + type: integer + ready: + description: Ready is the number of ready resources. + type: integer + unknown: + description: Unknown is the number of resources in an unknown + state. + type: integer + waitApplied: + description: WaitApplied is the number of resources that are + waiting to be applied. + type: integer + type: object + summary: + description: Summary is a summary of the bundle deployments and + their resources in the cluster group. + properties: + desiredReady: + description: DesiredReady is the number of bundle deployments + that should be ready. + type: integer + errApplied: + description: ErrApplied is the number of bundle deployments + that have been synced from the Fleet controller and the downstream + cluster, but with some errors when deploying the bundle. + type: integer + modified: + description: Modified is the number of bundle deployments that + have been deployed and for which all resources are ready, + but where some changes from the Git repository have not yet + been synced. + type: integer + nonReadyResources: + description: NonReadyClusters is a list of states, which is + filled for a bundle that is not ready. + items: + description: NonReadyResource contains information about a + bundle that is not ready for a given state like "ErrApplied". + It contains a list of non-ready or modified resources and + their states. + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: ModifiedStatus is used to report the status + of a resource that is modified. It indicates if the + modification was a create, a delete or a patch. + 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: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + 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: + description: UID is a type that holds unique ID + values, including UUIDs. Because we don't ONLY + use UUIDs, this is an alias to string. Being + a type captures intent and helps make sure that + UIDs and names do not get conflated. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: NotReady is the number of bundle deployments that + have been deployed where some resources are not ready. + type: integer + outOfSync: + description: OutOfSync is the number of bundle deployments that + have been synced from Fleet controller, but not yet by the + downstream agent. + type: integer + pending: + description: Pending is the number of bundle deployments that + are being processed by Fleet controller. + type: integer + ready: + description: Ready is the number of bundle deployments that + have been deployed where all resources are ready. + type: integer + waitApplied: + description: WaitApplied is the number of bundle deployments + that have been synced from Fleet controller and downstream + cluster, but are waiting to be deployed. + 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: + description: ClusterRegistration is used internally by Fleet and should + not be used directly. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + clientID: + description: ClientID is a unique string that will identify the + cluster. The agent either uses the configured ID or the kubeSystem.UID. + nullable: true + type: string + clientRandom: + description: ClientRandom is a random string that the agent generates. + When fleet-controller grants a registration, it creates a registration + secret with this string in the name. + nullable: true + type: string + clusterLabels: + additionalProperties: + nullable: true + type: string + description: ClusterLabels are copied to the cluster resource during + the registration. + nullable: true + type: object + type: object + status: + properties: + clusterName: + description: ClusterName is only set after the registration is being + processed by fleet-controller. + nullable: true + type: string + granted: + description: Granted is set to true, if the request service account + is present and its token secret exists. This happens directly + before creating the registration secret, roles and rolebindings. + type: boolean + 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: + description: ClusterRegistrationToken is used by agents to register a new + cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + properties: + name: + maxLength: 63 + pattern: ^[-a-z0-9]+$ + type: string + type: object + spec: + properties: + ttl: + description: TTL is the time to live for the token. It is used to + calculate the expiration time. If the token expires, it will be + deleted. + nullable: true + type: string + type: object + status: + properties: + expires: + description: Expires is the time when the token expires. + nullable: true + type: string + secretName: + description: SecretName is the name of the secret containing the + token. + nullable: true + type: string + 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: + description: Cluster corresponds to a Kubernetes cluster. Fleet deploys + bundles to targeted clusters. Clusters to which Fleet deploys manifests + are referred to as downstream clusters. In the single cluster use case, + the Fleet manager Kubernetes cluster is both the manager and downstream + cluster at the same time. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + properties: + name: + maxLength: 63 + pattern: ^[-a-z0-9]+$ + type: string + type: object + spec: + properties: + agentAffinity: + description: AgentAffinity overrides the default affinity for the + cluster's agent deployment. If this value is nil the default affinity + is used. + nullable: true + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for the + pod. + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods + to nodes that satisfy the affinity expressions specified + by this field, but it may choose a node that violates + one or more of the expressions. The node that is most + preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements + (resource request, requiredDuringScheduling affinity expressions, + etc.), compute a sum by iterating through the elements + of this field and adding "weight" to the sum if the node + matches the corresponding matchExpressions; the node(s) + with the highest sum are the most preferred. + items: + description: An empty preferred scheduling term matches + all objects with implicit weight 0 (i.e. it's a no-op). + A null preferred scheduling term matches no objects + (i.e. is also a no-op). + properties: + preference: + description: A node selector term, associated with + the corresponding weight. + properties: + matchExpressions: + description: A list of node selector requirements + by node's labels. + items: + description: A node selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: The label key that the selector + applies to. + nullable: true + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators are + In, NotIn, Exists, DoesNotExist. Gt, and + Lt. + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the values + array must be non-empty. If the operator + is Exists or DoesNotExist, the values + array must be empty. If the operator is + Gt or Lt, the values array must have a + single element, which will be interpreted + as an integer. This array is replaced + during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + description: A list of node selector requirements + by node's fields. + items: + description: A node selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: The label key that the selector + applies to. + nullable: true + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators are + In, NotIn, Exists, DoesNotExist. Gt, and + Lt. + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the values + array must be non-empty. If the operator + is Exists or DoesNotExist, the values + array must be empty. If the operator is + Gt or Lt, the values array must have a + single element, which will be interpreted + as an integer. This array is replaced + during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + type: object + weight: + description: Weight associated with matching the corresponding + nodeSelectorTerm, in the range 1-100. + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this + field are not met at scheduling time, the pod will not + be scheduled onto the node. If the affinity requirements + specified by this field cease to be met at some point + during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its + node. + nullable: true + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. + The terms are ORed. + items: + description: A null or empty node selector term matches + no objects. The requirements of them are ANDed. + The TopologySelectorTerm type implements a subset + of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements + by node's labels. + items: + description: A node selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: The label key that the selector + applies to. + nullable: true + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators are + In, NotIn, Exists, DoesNotExist. Gt, and + Lt. + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the values + array must be non-empty. If the operator + is Exists or DoesNotExist, the values + array must be empty. If the operator is + Gt or Lt, the values array must have a + single element, which will be interpreted + as an integer. This array is replaced + during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchFields: + description: A list of node selector requirements + by node's fields. + items: + description: A node selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: The label key that the selector + applies to. + nullable: true + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators are + In, NotIn, Exists, DoesNotExist. Gt, and + Lt. + enum: + - In + - NotIn + - Exists + - DoesNotExist + - Gt + - Lt + nullable: true + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the values + array must be non-empty. If the operator + is Exists or DoesNotExist, the values + array must be empty. If the operator is + Gt or Lt, the values array must have a + single element, which will be interpreted + as an integer. This array is replaced + during a strategic merge patch. + 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: + description: Describes pod affinity scheduling rules (e.g. co-locate + this pod in the same node, zone, etc. as some other pod(s)). + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods + to nodes that satisfy the affinity expressions specified + by this field, but it may choose a node that violates + one or more of the expressions. The node that is most + preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements + (resource request, requiredDuringScheduling affinity expressions, + etc.), compute a sum by iterating through the elements + of this field and adding "weight" to the sum if the node + has pods which matches the corresponding podAffinityTerm; + the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, a + key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that + the selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. This + array is replaced during a strategic + merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is + "In", and the values array contains only + "value". The requirements are ANDed. + nullable: true + type: object + type: object + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied + to the union of the namespaces selected by this + field and the ones listed in the namespaces + field. null selector and null or empty namespaces + list means "this pod's namespace". An empty + selector ({}) matches all namespaces. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, a + key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that + the selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. This + array is replaced during a strategic + merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is + "In", and the values array contains only + "value". The requirements are ANDed. + nullable: true + type: object + type: object + namespaces: + description: namespaces specifies a static list + of namespace names that the term applies to. + The term is applied to the union of the namespaces + listed in this field and the ones selected by + namespaceSelector. null or empty namespaces + list and null namespaceSelector means "this + pod's namespace". + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + description: This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching the labelSelector in the specified + namespaces, where co-located is defined as running + on a node whose value of the label with key + topologyKey matches that of any node on which + any of the selected pods is running. Empty topologyKey + is not allowed. + nullable: true + type: string + type: object + weight: + description: weight associated with matching the corresponding + podAffinityTerm, in the range 1-100. + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this + field are not met at scheduling time, the pod will not + be scheduled onto the node. If the affinity requirements + specified by this field cease to be met at some point + during pod execution (e.g. due to a pod label update), + the system may or may not try to eventually evict the + pod from its node. When there are multiple elements, the + lists of nodes corresponding to each podAffinityTerm are + intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching + the labelSelector relative to the given namespace(s)) + that this pod should be co-located (affinity) or not + co-located (anti-affinity) with, where co-located is + defined as running on a node whose value of the label + with key matches that of any node on which + a pod of the set of pods is running + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + the values array must be empty. This array + is replaced during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is "In", + and the values array contains only "value". + The requirements are ANDed. + nullable: true + type: object + type: object + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied to + the union of the namespaces selected by this field + and the ones listed in the namespaces field. null + selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches + all namespaces. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + the values array must be empty. This array + is replaced during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is "In", + and the values array contains only "value". + The requirements are ANDed. + nullable: true + type: object + type: object + namespaces: + description: namespaces specifies a static list of + namespace names that the term applies to. The term + is applied to the union of the namespaces listed + in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector + means "this pod's namespace". + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + description: This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching the labelSelector in the specified namespaces, + where co-located is defined as running on a node + whose value of the label with key topologyKey matches + that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. + avoid putting this pod in the same node, zone, etc. as some + other pod(s)). + nullable: true + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods + to nodes that satisfy the anti-affinity expressions specified + by this field, but it may choose a node that violates + one or more of the expressions. The node that is most + preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements + (resource request, requiredDuringScheduling anti-affinity + expressions, etc.), compute a sum by iterating through + the elements of this field and adding "weight" to the + sum if the node has pods which matches the corresponding + podAffinityTerm; the node(s) with the highest sum are + the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, a + key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that + the selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. This + array is replaced during a strategic + merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is + "In", and the values array contains only + "value". The requirements are ANDed. + nullable: true + type: object + type: object + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied + to the union of the namespaces selected by this + field and the ones listed in the namespaces + field. null selector and null or empty namespaces + list means "this pod's namespace". An empty + selector ({}) matches all namespaces. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of + label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, a + key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that + the selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. This + array is replaced during a strategic + merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is + "In", and the values array contains only + "value". The requirements are ANDed. + nullable: true + type: object + type: object + namespaces: + description: namespaces specifies a static list + of namespace names that the term applies to. + The term is applied to the union of the namespaces + listed in this field and the ones selected by + namespaceSelector. null or empty namespaces + list and null namespaceSelector means "this + pod's namespace". + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + description: This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching the labelSelector in the specified + namespaces, where co-located is defined as running + on a node whose value of the label with key + topologyKey matches that of any node on which + any of the selected pods is running. Empty topologyKey + is not allowed. + nullable: true + type: string + type: object + weight: + description: weight associated with matching the corresponding + podAffinityTerm, in the range 1-100. + type: integer + type: object + nullable: true + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the anti-affinity requirements specified + by this field are not met at scheduling time, the pod + will not be scheduled onto the node. If the anti-affinity + requirements specified by this field cease to be met at + some point during pod execution (e.g. due to a pod label + update), the system may or may not try to eventually evict + the pod from its node. When there are multiple elements, + the lists of nodes corresponding to each podAffinityTerm + are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching + the labelSelector relative to the given namespace(s)) + that this pod should be co-located (affinity) or not + co-located (anti-affinity) with, where co-located is + defined as running on a node whose value of the label + with key matches that of any node on which + a pod of the set of pods is running + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + the values array must be empty. This array + is replaced during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is "In", + and the values array contains only "value". + The requirements are ANDed. + nullable: true + type: object + type: object + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied to + the union of the namespaces selected by this field + and the ones listed in the namespaces field. null + selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches + all namespaces. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement is + a selector that contains values, a key, and + an operator that relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + nullable: true + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and DoesNotExist. + enum: + - In + - NotIn + - Exists + - DoesNotExist + nullable: true + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + the values array must be empty. This array + is replaced during a strategic merge patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is "In", + and the values array contains only "value". + The requirements are ANDed. + nullable: true + type: object + type: object + namespaces: + description: namespaces specifies a static list of + namespace names that the term applies to. The term + is applied to the union of the namespaces listed + in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector + means "this pod's namespace". + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + description: This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching the labelSelector in the specified namespaces, + where co-located is defined as running on a node + whose value of the label with key topologyKey matches + that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + type: object + agentEnvVars: + description: AgentEnvVars are extra environment variables to be + added to the agent deployment. + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + nullable: true + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the + container and any service environment variables. If a variable + cannot be resolved, the reference in the input string will + be unchanged. Double $$ are reduced to a single $, which + allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" + will produce the string literal "$(VAR_NAME)". Escaped references + will never be expanded, regardless of whether the variable + exists or not. Defaults to "".' + nullable: true + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + nullable: true + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + nullable: true + properties: + key: + description: The key to select. + nullable: true + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + nullable: true + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + nullable: true + type: boolean + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + nullable: true + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + nullable: true + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + nullable: true + type: string + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + nullable: true + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + nullable: true + type: string + divisor: + description: Specifies the output format of the exposed + resources, defaults to "1" + nullable: true + type: string + resource: + description: 'Required: resource to select' + nullable: true + type: string + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + nullable: true + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + nullable: true + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + nullable: true + type: string + optional: + description: Specify whether the Secret or its key + must be defined + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + agentNamespace: + description: AgentNamespace defaults to the system namespace, e.g. + cattle-fleet-system. + nullable: true + type: string + agentResources: + description: AgentResources sets the resources for the cluster's + agent deployment. + nullable: true + properties: + claims: + description: "Claims lists the names of resources, defined in\ + \ spec.resourceClaims, that are used by this container. \n\ + \ This is an alpha field and requires enabling the DynamicResourceAllocation\ + \ feature gate. \n This field is immutable. It can only be\ + \ set for containers." + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: Name must match the name of one entry in + pod.spec.resourceClaims of the Pod where this field + is used. It makes that resource available inside a container. + nullable: true + type: string + type: object + nullable: true + type: array + limits: + additionalProperties: + nullable: true + type: string + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. Requests cannot exceed + Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + nullable: true + type: object + type: object + agentTolerations: + description: AgentTolerations defines an extra set of Tolerations + to be added to the Agent deployment. + items: + description: The pod this Toleration is attached to tolerates + any taint that matches the triple using the + matching operator . + properties: + effect: + description: Effect indicates the taint effect to match. Empty + means match all taint effects. When specified, allowed values + are NoSchedule, PreferNoSchedule and NoExecute. + nullable: true + type: string + key: + description: Key is the taint key that the toleration applies + to. Empty means match all taint keys. If the key is empty, + operator must be Exists; this combination means to match + all values and all keys. + nullable: true + type: string + operator: + description: Operator represents a key's relationship to the + value. Valid operators are Exists and Equal. Defaults to + Equal. Exists is equivalent to wildcard for value, so that + a pod can tolerate all taints of a particular category. + nullable: true + type: string + tolerationSeconds: + description: TolerationSeconds represents the period of time + the toleration (which must be of effect NoExecute, otherwise + this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do + not evict). Zero and negative values will be treated as + 0 (evict immediately) by the system. + maximum: 86400 + nullable: true + type: integer + value: + description: Value is the taint value the toleration matches + to. If the operator is Exists, the value should be empty, + otherwise just a regular string. + nullable: true + type: string + type: object + nullable: true + type: array + clientID: + description: ClientID is a unique string that will identify the + cluster. It can either be predefined, or generated when importing + the cluster. + nullable: true + type: string + kubeConfigSecret: + description: KubeConfigSecret is the name of the secret containing + the kubeconfig for the downstream cluster. It can optionally contain + a APIServerURL and CA to override the values in the fleet-controller's + configmap. + nullable: true + type: string + kubeConfigSecretNamespace: + description: KubeConfigSecretNamespace is the namespace of the secret + containing the kubeconfig for the downstream cluster. If unset, + it will be assumed the secret can be found in the namespace that + the Cluster object resides within. + nullable: true + type: string + paused: + description: Paused if set to true, will stop any BundleDeployments + from being updated. + type: boolean + privateRepoURL: + description: PrivateRepoURL prefixes the image name and overrides + a global repo URL from the agents config. + nullable: true + type: string + redeployAgentGeneration: + description: RedeployAgentGeneration can be used to force redeploying + the agent. + type: integer + templateValues: + description: TemplateValues defines a cluster specific mapping of + values to be sent to fleet.yaml values templating. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + status: + properties: + agent: + description: AgentStatus contains information about the agent. + properties: + lastSeen: + description: LastSeen is the last time the agent checked in + to update the status of the cluster resource. + nullable: true + type: string + namespace: + description: Namespace is the namespace of the agent deployment, + e.g. "cattle-fleet-system". + nullable: true + type: string + nonReadyNodeNames: + description: NonReadyNode contains the names of non-ready nodes. + The list is limited to at most 3 names. + items: + nullable: true + type: string + nullable: true + type: array + nonReadyNodes: + description: NonReadyNodes is the number of nodes that are not + ready. + type: integer + readyNodeNames: + description: ReadyNodes contains the names of ready nodes. The + list is limited to at most 3 names. + items: + nullable: true + type: string + nullable: true + type: array + readyNodes: + description: ReadyNodes is the number of nodes that are ready. + type: integer + type: object + agentAffinityHash: + description: AgentAffinityHash is a hash of the agent's affinity + configuration, used to detect changes. + nullable: true + type: string + agentConfigChanged: + description: AgentConfigChanged is set to true if any of the agent + configuration changed, like the API server URL or CA. Setting + it to true will trigger a re-import of the cluster. + type: boolean + agentDeployedGeneration: + description: AgentDeployedGeneration is the generation of the agent + that is currently deployed. + nullable: true + type: integer + agentEnvVarsHash: + description: AgentEnvVarsHash is a hash of the agent's env vars, + used to detect changes. + nullable: true + type: string + agentMigrated: + description: AgentMigrated is always set to true after importing + a cluster. If false, it will trigger a migration. Old agents don't + have this in their status. + type: boolean + agentNamespaceMigrated: + description: AgentNamespaceMigrated is always set to true after + importing a cluster. If false, it will trigger a migration. Old + Fleet agents don't have this in their status. + type: boolean + agentPrivateRepoURL: + description: AgentPrivateRepoURL is the private repo URL for the + agent that is currently used. + nullable: true + type: string + agentResourcesHash: + description: AgentResourcesHash is a hash of the agent's resources + configuration, used to detect changes. + nullable: true + type: string + agentTLSMode: + description: 'AgentTLSMode supports two values: `system-store` and + `strict`. If set to `system-store`, instructs the agent to trust + CA bundles from the operating system''s store. If set to `strict`, + then the agent shall only connect to a server which uses the exact + CA configured when creating/updating the agent.' + nullable: true + type: string + agentTolerationsHash: + description: AgentTolerationsHash is a hash of the agent's tolerations + configuration, used to detect changes. + nullable: true + type: string + apiServerCAHash: + description: APIServerCAHash is a hash of the upstream API server + CA, used to detect changes. + nullable: true + type: string + apiServerURL: + description: APIServerURL is the currently used URL of the API server + that the cluster uses to connect to upstream. + nullable: true + type: string + cattleNamespaceMigrated: + description: CattleNamespaceMigrated is always set to true after + importing a cluster. If false, it will trigger a migration. Old + Fleet agents, don't have this in their status. + type: boolean + conditions: + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + nullable: true + type: string + lastUpdateTime: + description: The last time this condition was updated. + nullable: true + type: string + message: + description: Human-readable message indicating details about + last transition + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + nullable: true + type: string + type: + description: Type of cluster condition. + nullable: true + type: string + type: object + nullable: true + type: array + desiredReadyGitRepos: + description: DesiredReadyGitRepos is the number of gitrepos for + this cluster that are desired to be ready. + type: integer + display: + description: Display contains the number of ready bundles, nodes + and a summary state. + properties: + readyBundles: + description: ReadyBundles is a string in the form "%d/%d", that + describes the number of bundles that are ready vs. the number + of bundles desired to be ready. + nullable: true + type: string + readyNodes: + description: ReadyNodes is a string in the form "%d/%d", that + describes the number of nodes that are ready vs. the number + of expected nodes. + nullable: true + type: string + sampleNode: + description: SampleNode is the name of one of the nodes that + are ready. If no node is ready, it's the name of a node that + is not ready. + nullable: true + type: string + state: + description: State of the cluster, either one of the bundle + states, or "WaitCheckIn". + nullable: true + type: string + type: object + namespace: + description: 'Namespace is the cluster namespace, it contains the + clusters service account as well as any bundledeployments. Example: + "cluster-fleet-local-cluster-294db1acfa77-d9ccf852678f"' + nullable: true + type: string + readyGitRepos: + description: ReadyGitRepos is the number of gitrepos for this cluster + that are ready. + type: integer + resourceCounts: + description: ResourceCounts is an aggregate over the GitRepoResourceCounts. + properties: + desiredReady: + description: DesiredReady is the number of resources that should + be ready. + type: integer + missing: + description: Missing is the number of missing resources. + type: integer + modified: + description: Modified is the number of resources that have been + modified. + type: integer + notReady: + description: NotReady is the number of not ready resources. + Resources are not ready if they do not match any other state. + type: integer + orphaned: + description: Orphaned is the number of orphaned resources. + type: integer + ready: + description: Ready is the number of ready resources. + type: integer + unknown: + description: Unknown is the number of resources in an unknown + state. + type: integer + waitApplied: + description: WaitApplied is the number of resources that are + waiting to be applied. + type: integer + type: object + summary: + description: Summary is a summary of the bundledeployments. The + resource counts are copied from the gitrepo resource. + properties: + desiredReady: + description: DesiredReady is the number of bundle deployments + that should be ready. + type: integer + errApplied: + description: ErrApplied is the number of bundle deployments + that have been synced from the Fleet controller and the downstream + cluster, but with some errors when deploying the bundle. + type: integer + modified: + description: Modified is the number of bundle deployments that + have been deployed and for which all resources are ready, + but where some changes from the Git repository have not yet + been synced. + type: integer + nonReadyResources: + description: NonReadyClusters is a list of states, which is + filled for a bundle that is not ready. + items: + description: NonReadyResource contains information about a + bundle that is not ready for a given state like "ErrApplied". + It contains a list of non-ready or modified resources and + their states. + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: ModifiedStatus is used to report the status + of a resource that is modified. It indicates if the + modification was a create, a delete or a patch. + 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: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + 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: + description: UID is a type that holds unique ID + values, including UUIDs. Because we don't ONLY + use UUIDs, this is an alias to string. Being + a type captures intent and helps make sure that + UIDs and names do not get conflated. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: NotReady is the number of bundle deployments that + have been deployed where some resources are not ready. + type: integer + outOfSync: + description: OutOfSync is the number of bundle deployments that + have been synced from Fleet controller, but not yet by the + downstream agent. + type: integer + pending: + description: Pending is the number of bundle deployments that + are being processed by Fleet controller. + type: integer + ready: + description: Ready is the number of bundle deployments that + have been deployed where all resources are ready. + type: integer + waitApplied: + description: WaitApplied is the number of bundle deployments + that have been synced from Fleet controller and downstream + cluster, but are waiting to be deployed. + type: integer + type: object + type: object + 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: + description: Content is used internally by Fleet and should not be used + directly. It contains the resources from a bundle for a specific target + cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + content: + description: Content is a byte array, which contains the manifests of + a bundle. The bundle resources are copied into the bundledeployment's + content resource, so the downstream agent can deploy them. + nullable: true + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + type: object + served: true + storage: true +--- +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: + description: GitRepoRestriction is a resource that can optionally be used + to restrict the options of GitRepos in the same namespace. + properties: + allowedClientSecretNames: + description: AllowedClientSecretNames is a list of client secret names + that GitRepos are allowed to use. + items: + nullable: true + type: string + nullable: true + type: array + allowedRepoPatterns: + description: AllowedRepoPatterns is a list of regex patterns that restrict + the valid values of the Repo field of a GitRepo. + items: + nullable: true + type: string + nullable: true + type: array + allowedServiceAccounts: + description: AllowedServiceAccounts is a list of service accounts that + GitRepos are allowed to use. + items: + nullable: true + type: string + nullable: true + type: array + allowedTargetNamespaces: + description: AllowedTargetNamespaces restricts TargetNamespace to the + given namespaces. If AllowedTargetNamespaces is set, TargetNamespace + must be set. + items: + nullable: true + type: string + nullable: true + type: array + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + defaultClientSecretName: + description: DefaultClientSecretName overrides the GitRepo's default + client secret. + nullable: true + type: string + defaultServiceAccount: + description: DefaultServiceAccount overrides the GitRepo's default service + account. + nullable: true + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + 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: + description: GitRepo describes a git repository that is watched by Fleet. + The resource contains the necessary information to deploy the repo, or + parts of it, to target clusters. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + branch: + description: Branch The git branch to follow. + nullable: true + type: string + caBundle: + description: CABundle is a PEM encoded CA bundle which will be used + to validate the repo's certificate. + nullable: true + type: string + clientSecretName: + description: ClientSecretName is the name of the client secret to + be used to connect to the repo It is expected the secret be of + type "kubernetes.io/basic-auth" or "kubernetes.io/ssh-auth". + nullable: true + type: string + correctDrift: + description: CorrectDrift specifies how drift correction should + work. + nullable: true + properties: + enabled: + description: Enabled correct drift if true. + type: boolean + force: + description: Force helm rollback with --force option will be + used if true. This will try to recreate all resources in the + release. + type: boolean + keepFailHistory: + description: KeepFailHistory keeps track of failed rollbacks + in the helm history. + type: boolean + type: object + forceSyncGeneration: + description: Increment this number to force a redeployment of contents + from Git. + type: integer + helmRepoURLRegex: + description: HelmRepoURLRegex Helm credentials will be used if the + helm repo matches this regex Credentials will always be used if + this is empty or not provided. + nullable: true + type: string + helmSecretName: + description: HelmSecretName contains the auth secret for a private + Helm repository. + nullable: true + type: string + helmSecretNameForPaths: + description: HelmSecretNameForPaths contains the auth secret for + private Helm repository for each path. + nullable: true + type: string + imageScanCommit: + description: Commit specifies how to commit to the git repo when + a new image is scanned and written back to git repo. + properties: + authorEmail: + description: AuthorEmail gives the email to provide when making + a commit + nullable: true + type: string + authorName: + description: AuthorName gives the name to provide when making + a commit + nullable: true + type: string + messageTemplate: + description: MessageTemplate provides a template for the commit + message, into which will be interpolated the details of the + change made. + nullable: true + type: string + type: object + imageScanInterval: + description: ImageScanInterval is the interval of syncing scanned + images and writing back to git repo. + nullable: true + type: string + insecureSkipTLSVerify: + description: InsecureSkipTLSverify will use insecure HTTPS to clone + the repo. + type: boolean + keepResources: + description: KeepResources specifies if the resources created must + be kept after deleting the GitRepo. + type: boolean + paths: + description: Paths is the directories relative to the git repo root + that contain resources to be applied. Path globbing is supported, + for example ["charts/*"] will match all folders as a subdirectory + of charts/ If empty, "/" is the default. + items: + nullable: true + type: string + nullable: true + type: array + paused: + description: Paused, when true, causes changes in Git not to be + propagated down to the clusters but instead to mark resources + as OutOfSync. + type: boolean + pollingInterval: + description: PollingInterval is how often to check git for new updates. + nullable: true + type: string + repo: + description: Repo is a URL to a git repo to clone and index. + nullable: true + type: string + revision: + description: Revision A specific commit or tag to operate on. + nullable: true + type: string + serviceAccount: + description: ServiceAccount used in the downstream cluster for deployment. + nullable: true + type: string + targetNamespace: + description: Ensure that all resources are created in this namespace + Any cluster scoped resource will be rejected if this is set Additionally + this namespace will be created on demand. + nullable: true + type: string + targets: + description: Targets is a list of targets this repo will deploy + to. + items: + description: GitTarget is a cluster or cluster group to deploy + to. + properties: + clusterGroup: + description: ClusterGroup is the name of a cluster group in + the same namespace as the clusters. + nullable: true + type: string + clusterGroupSelector: + description: ClusterGroupSelector is a label selector to select + cluster groups. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + clusterName: + description: ClusterName is the name of a cluster. + nullable: true + type: string + clusterSelector: + description: ClusterSelector is a label selector to select + clusters. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + nullable: true + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + nullable: true + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + nullable: true + type: object + type: object + name: + description: Name is the name of this target. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + status: + properties: + commit: + description: Commit is the Git commit hash from the last gitjob + run. + nullable: true + type: string + conditions: + description: Conditions is a list of Wrangler conditions that describe + the state of the GitRepo. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + nullable: true + type: string + lastUpdateTime: + description: The last time this condition was updated. + nullable: true + type: string + message: + description: Human-readable message indicating details about + last transition + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + nullable: true + type: string + type: + description: Type of cluster condition. + nullable: true + type: string + type: object + nullable: true + type: array + desiredReadyClusters: + description: "DesiredReadyClusters\tis the number of clusters that\ + \ should be ready for bundles of this GitRepo." + type: integer + display: + description: Display contains a human readable summary of the status. + properties: + error: + description: Error is true if a message is present. + type: boolean + message: + description: Message contains the relevant message from the + deployment conditions. + nullable: true + type: string + readyBundleDeployments: + description: ReadyBundleDeployments is a string in the form + "%d/%d", that describes the number of ready bundledeployments + over the total number of bundledeployments. + nullable: true + type: string + state: + description: State is the state of the GitRepo, e.g. "GitUpdating" + or the maximal BundleState according to StateRank. + nullable: true + type: string + type: object + gitJobStatus: + description: GitJobStatus is the status of the last GitJob run, + e.g. "Current" if there was no error. + nullable: true + type: string + lastSyncedImageScanTime: + description: LastSyncedImageScanTime is the time of the last image + scan. + nullable: true + type: string + observedGeneration: + description: ObservedGeneration is the current generation of the + resource in the cluster. It is copied from k8s metadata.Generation. + The value is incremented for all changes, except for changes to + .metadata or .status. + type: integer + readyClusters: + description: ReadyClusters is the lowest number of clusters that + are ready over all the bundles of this GitRepo. + type: integer + resourceCounts: + description: ResourceCounts contains the number of resources in + each state over all bundles. + properties: + desiredReady: + description: DesiredReady is the number of resources that should + be ready. + type: integer + missing: + description: Missing is the number of missing resources. + type: integer + modified: + description: Modified is the number of resources that have been + modified. + type: integer + notReady: + description: NotReady is the number of not ready resources. + Resources are not ready if they do not match any other state. + type: integer + orphaned: + description: Orphaned is the number of orphaned resources. + type: integer + ready: + description: Ready is the number of ready resources. + type: integer + unknown: + description: Unknown is the number of resources in an unknown + state. + type: integer + waitApplied: + description: WaitApplied is the number of resources that are + waiting to be applied. + type: integer + type: object + resourceErrors: + description: ResourceErrors is a sorted list of errors from the + resources. + items: + nullable: true + type: string + nullable: true + type: array + resources: + description: Resources contains metadata about the resources of + each bundle. + items: + description: GitRepoResource contains metadata about the resources + of a bundle. + properties: + apiVersion: + description: APIVersion is the API version of the resource. + nullable: true + type: string + error: + description: Error is true if any Error in the PerClusterState + is true. + type: boolean + id: + description: ID is the name of the resource, e.g. "namespace1/my-config" + or "backingimagemanagers.storage.io". + nullable: true + type: string + incompleteState: + description: IncompleteState is true if a bundle summary has + 10 or more non-ready resources or a non-ready resource has + more 10 or more non-ready or modified states. + type: boolean + kind: + description: Kind is the k8s kind of the resource. + nullable: true + type: string + message: + description: Message is the first message from the PerClusterStates. + nullable: true + type: string + name: + description: Name of the resource. + nullable: true + type: string + namespace: + description: Namespace of the resource. + nullable: true + type: string + perClusterState: + description: PerClusterState is a list of states for each + cluster. Derived from the summaries non-ready resources. + items: + description: ResourcePerClusterState is generated for each + non-ready resource of the bundles. + properties: + clusterId: + description: ClusterID is the id of the cluster. + nullable: true + type: string + error: + description: Error is true if the resource is in an + error state, copied from the bundle's summary for + non-ready resources. + type: boolean + message: + description: Message combines the messages from the + bundle's summary. Messages are joined with the delimiter + ';'. + nullable: true + type: string + patch: + description: Patch for modified resources. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + state: + description: State is the state of the resource. + nullable: true + type: string + transitioning: + description: Transitioning is true if the resource is + in a transitioning state, copied from the bundle's + summary for non-ready resources. + type: boolean + type: object + nullable: true + type: array + state: + description: State is the state of the resource, e.g. "Unknown", + "WaitApplied", "ErrApplied" or "Ready". + nullable: true + type: string + transitioning: + description: Transitioning is true if any Transitioning in + the PerClusterState is true. + type: boolean + type: + description: Type is the type of the resource, e.g. "apiextensions.k8s.io.customresourcedefinition" + or "configmap". + nullable: true + type: string + type: object + nullable: true + type: array + summary: + description: Summary contains the number of bundle deployments in + each state and a list of non-ready resources. + properties: + desiredReady: + description: DesiredReady is the number of bundle deployments + that should be ready. + type: integer + errApplied: + description: ErrApplied is the number of bundle deployments + that have been synced from the Fleet controller and the downstream + cluster, but with some errors when deploying the bundle. + type: integer + modified: + description: Modified is the number of bundle deployments that + have been deployed and for which all resources are ready, + but where some changes from the Git repository have not yet + been synced. + type: integer + nonReadyResources: + description: NonReadyClusters is a list of states, which is + filled for a bundle that is not ready. + items: + description: NonReadyResource contains information about a + bundle that is not ready for a given state like "ErrApplied". + It contains a list of non-ready or modified resources and + their states. + properties: + bundleState: + description: State is the state of the resource, like + e.g. "NotReady" or "ErrApplied". + nullable: true + type: string + message: + description: Message contains information why the bundle + is not ready. + nullable: true + type: string + modifiedStatus: + description: ModifiedStatus lists the state for each modified + resource. + items: + description: ModifiedStatus is used to report the status + of a resource that is modified. It indicates if the + modification was a create, a delete or a patch. + 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: + description: Name is the name of the resource. + nullable: true + type: string + nonReadyStatus: + description: NonReadyStatus lists the state for each non-ready + resource. + items: + description: NonReadyStatus is used to report the status + of a resource that is not ready. It includes a summary. + 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: + description: UID is a type that holds unique ID + values, including UUIDs. Because we don't ONLY + use UUIDs, this is an alias to string. Being + a type captures intent and helps make sure that + UIDs and names do not get conflated. + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + description: NotReady is the number of bundle deployments that + have been deployed where some resources are not ready. + type: integer + outOfSync: + description: OutOfSync is the number of bundle deployments that + have been synced from Fleet controller, but not yet by the + downstream agent. + type: integer + pending: + description: Pending is the number of bundle deployments that + are being processed by Fleet controller. + type: integer + ready: + description: Ready is the number of bundle deployments that + have been deployed where all resources are ready. + type: integer + waitApplied: + description: WaitApplied is the number of bundle deployments + that have been synced from Fleet controller and downstream + cluster, but are waiting to be deployed. + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +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: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource + this object represents. Servers may infer this from the endpoint the + client submits requests to. Cannot be updated. In CamelCase. More + info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: API is taken from https://github.com/fluxcd/image-reflector-controller + properties: + gitrepoName: + description: GitRepo reference name + nullable: true + type: string + image: + description: Image is the name of the image repository + nullable: true + type: string + interval: + description: Interval is the length of time to wait between scans + of the image repository. + nullable: true + type: string + policy: + description: Policy gives the particulars of the policy to be followed + in selecting the most recent image + properties: + alphabetical: + description: Alphabetical set of rules to use for alphabetical + ordering of the tags. + nullable: true + properties: + order: + description: Order specifies the sorting order of the tags. + Given the letters of the alphabet as tags, ascending order + would select Z, and descending order would select A. + nullable: true + type: string + type: object + semver: + description: SemVer gives a semantic version range to check + against the tags available. + nullable: true + properties: + range: + description: Range gives a semver range for the image tag; + the highest version within the range that's a tag yields + the latest image. + nullable: true + type: string + type: object + type: object + secretRef: + description: SecretRef can be given the name of a secret containing + credentials to use for the image registry. The secret should be + created with `kubectl create secret docker-registry`, or the equivalent. + nullable: true + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + nullable: true + type: string + type: object + suspend: + description: This flag tells the controller to suspend subsequent + image scans. It does not apply to already started scans. Defaults + to false. + type: boolean + tagName: + description: TagName is the tag ref that needs to be put in manifest + to replace fields + nullable: true + type: string + type: object + status: + properties: + canonicalImageName: + description: CanonicalName is the name of the image repository with + all the implied bits made explicit; e.g., `docker.io/library/alpine` + rather than `alpine`. + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one + status to another. + nullable: true + type: string + lastUpdateTime: + description: The last time this condition was updated. + nullable: true + type: string + message: + description: Human-readable message indicating details about + last transition + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + nullable: true + type: string + type: + description: Type of cluster condition. + nullable: true + type: string + type: object + nullable: true + type: array + lastScanTime: + description: LastScanTime is the last time image was scanned + nullable: true + type: string + latestDigest: + description: LatestDigest is the digest of latest tag + nullable: true + type: string + latestImage: + description: LatestImage gives the first in the list of images scanned + by the image repository, when filtered and ordered according to + the policy. + nullable: true + type: string + latestTag: + description: Latest tag is the latest tag filtered by the policy + nullable: true + type: string + observedGeneration: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/fleet-crd/103.1.7+up0.9.8/templates/gitjobs-crds.yaml b/charts/fleet-crd/103.1.7+up0.9.8/templates/gitjobs-crds.yaml new file mode 100644 index 0000000000..b5296dbaf5 --- /dev/null +++ b/charts/fleet-crd/103.1.7+up0.9.8/templates/gitjobs-crds.yaml @@ -0,0 +1,7690 @@ +{{- 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 + backoffLimitPerIndex: + nullable: true + type: integer + completionMode: + nullable: true + type: string + completions: + nullable: true + type: integer + manualSelector: + nullable: true + type: boolean + maxFailedIndexes: + nullable: true + type: integer + 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 + podReplacementPolicy: + 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 + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + restartPolicy: + nullable: true + type: string + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + restartPolicy: + nullable: true + type: string + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + restartPolicy: + nullable: true + type: string + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + backoffLimitPerIndex: + nullable: true + type: integer + completionMode: + nullable: true + type: string + completions: + nullable: true + type: integer + manualSelector: + nullable: true + type: boolean + maxFailedIndexes: + nullable: true + type: integer + 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 + podReplacementPolicy: + 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 + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + restartPolicy: + nullable: true + type: string + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + restartPolicy: + nullable: true + type: string + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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 + restartPolicy: + nullable: true + type: string + 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: + x-kubernetes-int-or-string: true + 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: + x-kubernetes-int-or-string: true + 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/103.1.7+up0.9.8/values.yaml b/charts/fleet-crd/103.1.7+up0.9.8/values.yaml new file mode 100644 index 0000000000..d41d3a2444 --- /dev/null +++ b/charts/fleet-crd/103.1.7+up0.9.8/values.yaml @@ -0,0 +1 @@ +# This file is intentionally empty diff --git a/charts/fleet/103.1.7+up0.9.8/Chart.yaml b/charts/fleet/103.1.7+up0.9.8/Chart.yaml new file mode 100644 index 0000000000..bd22f522ed --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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.23.0-0 < 1.29.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.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: fleet +apiVersion: v2 +appVersion: 0.9.8 +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: 103.1.7+up0.9.8 diff --git a/charts/fleet/103.1.7+up0.9.8/README.md b/charts/fleet/103.1.7+up0.9.8/README.md new file mode 100644 index 0000000000..2f2a4c302a --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/.helmignore b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/.helmignore new file mode 100644 index 0000000000..691fa13d6a --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/Chart.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/Chart.yaml new file mode 100644 index 0000000000..e0cd8fae3b --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +appVersion: 0.9.13 +description: Controller that run jobs based on git events +name: gitjob +version: 0.9.13 diff --git a/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/_helpers.tpl b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/_helpers.tpl new file mode 100644 index 0000000000..f652b5643d --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/templates/clusterrole.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/clusterrole.yaml new file mode 100644 index 0000000000..bcad90164f --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/templates/clusterrolebinding.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..0bf07c4ef8 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/templates/deployment.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/deployment.yaml new file mode 100644 index 0000000000..7771db512c --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/deployment.yaml @@ -0,0 +1,52 @@ +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: + - gitjob + - --gitjob-image + - "{{ template "system_default_registry" . }}{{ .Values.gitjob.repository }}:{{ .Values.gitjob.tag }}" + {{- if .Values.debug }} + - --debug + {{- end }} + 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/103.1.7+up0.9.8/charts/gitjob/templates/leases.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/leases.yaml new file mode 100644 index 0000000000..51f9339509 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/templates/service.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/service.yaml new file mode 100644 index 0000000000..bf57c1b55c --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/charts/gitjob/templates/serviceaccount.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/serviceaccount.yaml new file mode 100644 index 0000000000..5f8aecb045 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: gitjob diff --git a/charts/fleet/103.1.7+up0.9.8/charts/gitjob/values.yaml b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/values.yaml new file mode 100644 index 0000000000..5099190a33 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/charts/gitjob/values.yaml @@ -0,0 +1,27 @@ +gitjob: + repository: rancher/gitjob + tag: v0.9.13 + +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/103.1.7+up0.9.8/templates/_helpers.tpl b/charts/fleet/103.1.7+up0.9.8/templates/_helpers.tpl new file mode 100644 index 0000000000..6cd96c3ace --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/configmap.yaml b/charts/fleet/103.1.7+up0.9.8/templates/configmap.yaml new file mode 100644 index 0000000000..3fd0b15cf8 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/templates/configmap.yaml @@ -0,0 +1,26 @@ +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}}", + "agentTLSMode": "{{.Values.agentTLSMode}}", + "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/103.1.7+up0.9.8/templates/deployment.yaml b/charts/fleet/103.1.7+up0.9.8/templates/deployment.yaml new file mode 100644 index 0000000000..164340c444 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/job_cleanup_clusterregistrations.yaml b/charts/fleet/103.1.7+up0.9.8/templates/job_cleanup_clusterregistrations.yaml new file mode 100644 index 0000000000..17d1ba7864 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/templates/job_cleanup_clusterregistrations.yaml @@ -0,0 +1,40 @@ +{{- 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 + securityContext: + runAsNonRoot: true + runAsGroup: 1000 + runAsUser: 1000 + containers: + - name: cleanup + image: "{{ template "system_default_registry" . }}{{.Values.agentImage.repository}}:{{.Values.agentImage.tag}}" + imagePullPolicy: {{ .Values.global.imagePullPolicy }} + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: false + privileged: false + 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/103.1.7+up0.9.8/templates/rbac.yaml b/charts/fleet/103.1.7+up0.9.8/templates/rbac.yaml new file mode 100644 index 0000000000..361d68c08b --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/templates/serviceaccount.yaml b/charts/fleet/103.1.7+up0.9.8/templates/serviceaccount.yaml new file mode 100644 index 0000000000..ba27c748d7 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/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/103.1.7+up0.9.8/values.yaml b/charts/fleet/103.1.7+up0.9.8/values.yaml new file mode 100644 index 0000000000..89703c5a54 --- /dev/null +++ b/charts/fleet/103.1.7+up0.9.8/values.yaml @@ -0,0 +1,87 @@ +image: + repository: rancher/fleet + tag: v0.9.8 + imagePullPolicy: IfNotPresent + +agentImage: + repository: rancher/fleet-agent + tag: v0.9.8 + 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: "" + +# Determines whether the agent should trust CA bundles from the operating system's trust store when connecting to a +# management cluster. True in `system-store` mode, false in `strict` mode. +agentTLSMode: "system-store" + +# 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/charts/harvester-csi-driver/103.0.2+up0.1.18/.helmignore b/charts/harvester-csi-driver/103.0.2+up0.1.18/.helmignore new file mode 100644 index 0000000000..0e8a0eb36f --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/.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/ diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/Chart.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/Chart.yaml new file mode 100644 index 0000000000..7f5bbf957a --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/Chart.yaml @@ -0,0 +1,22 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Harvester CSI Driver + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: kube-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: harvester-csi-driver + catalog.cattle.io/ui-component: harvester-csi-driver + catalog.cattle.io/upstream-version: 0.1.18 +apiVersion: v2 +appVersion: v0.1.7 +description: A Helm chart for Harvester CSI driver +keywords: +- infrastructure +- harvester +maintainers: +- name: harvester +name: harvester-csi-driver +type: application +version: 103.0.2+up0.1.18 diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/questions.yml b/charts/harvester-csi-driver/103.0.2+up0.1.18/questions.yml new file mode 100644 index 0000000000..0c703a0f29 --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/questions.yml @@ -0,0 +1,11 @@ +categories: +- infrastructure +- harvester +namespace: kube-system +questions: +- variable: cloudConfig.hostPath + label: Cloud config file path + description: "Specify the path of the cloud config." + group: "Default" + type: string + default: "/etc/kubernetes/cloud-config" diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/NOTES.txt b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/NOTES.txt new file mode 100644 index 0000000000..ba09c6d518 --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/NOTES.txt @@ -0,0 +1 @@ +Successfully deployed Harvester CSI driver to the {{ .Release.Namespace }} namespace. diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/_helpers.tpl b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/_helpers.tpl new file mode 100644 index 0000000000..def471b21d --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "harvester-csi-driver.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "harvester-csi-driver.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "harvester-csi-driver.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "harvester-csi-driver.labels" -}} +helm.sh/chart: {{ include "harvester-csi-driver.chart" . }} +{{ include "harvester-csi-driver.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "harvester-csi-driver.selectorLabels" -}} +app.kubernetes.io/name: {{ include "harvester-csi-driver.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Global system default registry +*/}} +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/csidriver.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/csidriver.yaml new file mode 100644 index 0000000000..5fc6ec84a2 --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/csidriver.yaml @@ -0,0 +1,10 @@ +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: driver.harvesterhci.io +spec: + attachRequired: true + fsGroupPolicy: ReadWriteOnceWithFSType + podInfoOnMount: true + volumeLifecycleModes: + - Persistent diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/daemonset.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/daemonset.yaml new file mode 100644 index 0000000000..e995ee65b4 --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/daemonset.yaml @@ -0,0 +1,149 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ include "harvester-csi-driver.name" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "harvester-csi-driver.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + component: csi-driver + {{- include "harvester-csi-driver.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + component: csi-driver + {{- include "harvester-csi-driver.selectorLabels" . | nindent 8 }} + spec: + containers: + - args: + - --v=5 + - --csi-address=$(ADDRESS) + - --kubelet-registration-path={{ .Values.kubeletRootDir }}/harvester-plugins/driver.harvesterhci.io/csi.sock + env: + - name: ADDRESS + value: /csi/csi.sock + image: {{ template "system_default_registry" . }}{{ .Values.image.csi.nodeDriverRegistrar.repository }}:{{ .Values.image.csi.nodeDriverRegistrar.tag }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + lifecycle: + preStop: + exec: + command: + - /bin/sh + - -c + - rm -rf /registration/driver.harvesterhci.io-reg.sock + /csi//* + name: node-driver-registrar + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi/ + name: socket-dir + - mountPath: /registration + name: registration-dir + - args: + - --nodeid=$(NODE_ID) + - --endpoint=$(CSI_ENDPOINT) + - --kubeconfig=/var/lib/harvester/cloud-provider-config + env: + - name: NODE_ID + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + image: {{ template "system_default_registry" . }}{{ .Values.image.harvester.csiDriver.repository }}:{{ .Values.image.harvester.csiDriver.tag | default .Chart.AppVersion }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + lifecycle: + preStop: + exec: + command: + - /bin/sh + - -c + - rm -f /csi//* + name: harvester-csi-driver + securityContext: + allowPrivilegeEscalation: true + capabilities: + add: + - SYS_ADMIN + privileged: true + volumeMounts: + - name: cloud-config + readOnly: true + mountPath: /var/lib/harvester + - name: kubernetes + readOnly: true + mountPath: /etc/kubernetes + - mountPath: {{ .Values.kubeletRootDir }}/plugins/kubernetes.io/csi + mountPropagation: Bidirectional + name: kubernetes-csi-dir + - mountPath: /csi/ + name: socket-dir + - mountPath: {{ .Values.kubeletRootDir }}/pods + mountPropagation: Bidirectional + name: pods-mount-dir + - mountPath: /dev + name: host-dev + - mountPath: /sys + name: host-sys + - mountPath: /rootfs + mountPropagation: Bidirectional + name: host + - mountPath: /lib/modules + name: lib-modules + readOnly: true + hostPID: true + serviceAccountName: {{ include "harvester-csi-driver.name" . }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - name: cloud-config + {{- if .Values.cloudConfig.secretName }} + secret: + secretName: {{ .Values.cloudConfig.secretName }} + {{- else }} + hostPath: + path: {{ .Values.cloudConfig.hostPath }} + type: DirectoryOrCreate + {{- end }} + - hostPath: + path: /etc/kubernetes + type: DirectoryOrCreate + name: kubernetes + - hostPath: + path: {{ .Values.kubeletRootDir }}/plugins/kubernetes.io/csi + type: DirectoryOrCreate + name: kubernetes-csi-dir + - hostPath: + path: {{ .Values.kubeletRootDir }}/plugins_registry + type: Directory + name: registration-dir + - hostPath: + path: {{ .Values.kubeletRootDir }}/harvester-plugins/driver.harvesterhci.io + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: {{ .Values.kubeletRootDir }}/pods + type: DirectoryOrCreate + name: pods-mount-dir + - hostPath: + path: /dev + name: host-dev + - hostPath: + path: /sys + name: host-sys + - hostPath: + path: / + name: host + - hostPath: + path: /lib/modules + name: lib-modules diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/deployment.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/deployment.yaml new file mode 100644 index 0000000000..bb511dfa7b --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/deployment.yaml @@ -0,0 +1,95 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "harvester-csi-driver.name" . }}-controllers + namespace: {{ .Release.Namespace }} + labels: + {{- include "harvester-csi-driver.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicasCount }} + selector: + matchLabels: + component: csi-controllers + {{- include "harvester-csi-driver.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + component: csi-controllers + {{- include "harvester-csi-driver.selectorLabels" . | nindent 8 }} + spec: + containers: + - args: + - --v=5 + - --csi-address=$(ADDRESS) + - --timeout=1m50s + - --leader-election + - --leader-election-namespace=$(POD_NAMESPACE) + env: + - name: ADDRESS + value: /csi/csi.sock + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: {{ template "system_default_registry" . }}{{ .Values.image.csi.resizer.repository }}:{{ .Values.image.csi.resizer.tag }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + name: csi-resizer + volumeMounts: + - mountPath: /csi/ + name: socket-dir + - args: + - --v=5 + - --csi-address=$(ADDRESS) + - --timeout=1m50s + - --leader-election + - --leader-election-namespace=$(POD_NAMESPACE) + - --default-fstype=ext4 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: {{ template "system_default_registry" . }}{{ .Values.image.csi.provisioner.repository }}:{{ .Values.image.csi.provisioner.tag }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + name: csi-provisioner + volumeMounts: + - mountPath: /csi/ + name: socket-dir + - args: + - --v=5 + - --csi-address=$(ADDRESS) + - --timeout=1m50s + - --leader-election + - --leader-election-namespace=$(POD_NAMESPACE) + env: + - name: ADDRESS + value: /csi/csi.sock + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: {{ template "system_default_registry" . }}{{ .Values.image.csi.attacher.repository }}:{{ .Values.image.csi.attacher.tag }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + name: csi-attacher + volumeMounts: + - mountPath: /csi/ + name: socket-dir + serviceAccountName: {{ include "harvester-csi-driver.name" . }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - hostPath: + path: {{ .Values.kubeletRootDir }}/harvester-plugins/driver.harvesterhci.io + type: DirectoryOrCreate + name: socket-dir diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/rbac.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/rbac.yaml new file mode 100644 index 0000000000..2ba042a26b --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/rbac.yaml @@ -0,0 +1,75 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "harvester-csi-driver.name" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "harvester-csi-driver.labels" . | nindent 4 }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "harvester-csi-driver.name" . }} + labels: + {{- include "harvester-csi-driver.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "harvester-csi-driver.name" . }} +subjects: + - kind: ServiceAccount + name: {{ include "harvester-csi-driver.name" . }} + namespace: {{ .Release.Namespace }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "harvester-csi-driver.name" . }} + labels: + {{- include "harvester-csi-driver.labels" . | nindent 4 }} +rules: + - apiGroups: [ "coordination.k8s.io" ] + resources: [ "leases" ] + verbs: [ "get", "watch", "list", "delete", "update", "create" ] + - apiGroups: [ "storage.k8s.io" ] + resources: [ "csistoragecapacities" ] + verbs: [ "get", "list", "watch", "create", "update", "patch", "delete" ] + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: [ "get", "list", "watch", "create","update", "patch", "delete" ] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "create","update", "patch", "delete" ] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots"] + verbs: ["get", "list"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotcontents"] + verbs: ["get", "list"] + - apiGroups: [ "storage.k8s.io" ] + resources: [ "csinodes" ] + verbs: [ "get", "list", "watch" ] + - apiGroups: [ "" ] + resources: [ "events" ] + verbs: [ "list", "watch", "create", "update", "patch" ] + - apiGroups: [ "" ] + resources: [ "pods" ] + verbs: [ "get", "list", "watch" ] + - apiGroups: [ "apps" ] + resources: [ "replicasets" ] + verbs: [ "get" ] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["storage.k8s.io"] + resources: ["volumeattachments"] + verbs: ["get", "list", "watch", "patch"] + - apiGroups: [ "storage.k8s.io" ] + resources: [ "volumeattachments/status" ] + verbs: [ "patch" ] diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/storageclass.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/storageclass.yaml new file mode 100644 index 0000000000..a29c9c7da0 --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/templates/storageclass.yaml @@ -0,0 +1,10 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: harvester + annotations: + storageclass.kubernetes.io/is-default-class: "true" +allowVolumeExpansion: true +provisioner: driver.harvesterhci.io +reclaimPolicy: Delete +volumeBindingMode: Immediate diff --git a/charts/harvester-csi-driver/103.0.2+up0.1.18/values.yaml b/charts/harvester-csi-driver/103.0.2+up0.1.18/values.yaml new file mode 100644 index 0000000000..f339092c89 --- /dev/null +++ b/charts/harvester-csi-driver/103.0.2+up0.1.18/values.yaml @@ -0,0 +1,54 @@ +# Default values for harvester-csi-driver. + +replicasCount: 3 + +image: + harvester: + csiDriver: + repository: rancher/harvester-csi-driver + # Overrides the image tag whose default is the chart appVersion. + tag: "v0.1.7" + csi: + nodeDriverRegistrar: + repository: rancher/mirrored-longhornio-csi-node-driver-registrar + tag: v2.3.0 + resizer: + repository: rancher/mirrored-longhornio-csi-resizer + tag: v1.2.0 + provisioner: + repository: rancher/mirrored-longhornio-csi-provisioner + tag: v2.1.2 + attacher: + repository: rancher/mirrored-longhornio-csi-attacher + tag: v3.2.1 + pullPolicy: IfNotPresent + +nameOverride: "" +fullnameOverride: "" + +kubeletRootDir: /var/lib/kubelet +cloudConfig: + secretName: "" + hostPath: "/var/lib/rancher/rke2/etc/config-files/" + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - effect: NoSchedule + key: kubevirt.io/drain + operator: Exists + - effect: NoSchedule + key: node-role.kubernetes.io/control-plane + operator: Equal + - effect: NoExecute + key: node-role.kubernetes.io/etcd + operator: Equal + - key: cattle.io/os + operator: Equal + value: "linux" + effect: NoSchedule + +global: + cattle: + systemDefaultRegistry: "" diff --git a/charts/rancher-aks-operator-crd/103.4.0+up1.2.4/Chart.yaml b/charts/rancher-aks-operator-crd/103.4.0+up1.2.4/Chart.yaml new file mode 100644 index 0000000000..399d68f91c --- /dev/null +++ b/charts/rancher-aks-operator-crd/103.4.0+up1.2.4/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: rancher-aks-operator-crd +apiVersion: v2 +appVersion: 1.2.4 +description: AKS Operator CustomResourceDefinitions +name: rancher-aks-operator-crd +version: 103.4.0+up1.2.4 diff --git a/charts/rancher-aks-operator-crd/103.4.0+up1.2.4/templates/crds.yaml b/charts/rancher-aks-operator-crd/103.4.0+up1.2.4/templates/crds.yaml new file mode 100644 index 0000000000..c4fcdfac05 --- /dev/null +++ b/charts/rancher-aks-operator-crd/103.4.0+up1.2.4/templates/crds.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + helm.sh/resource-policy: keep + name: aksclusterconfigs.aks.cattle.io +spec: + group: aks.cattle.io + names: + kind: AKSClusterConfig + plural: aksclusterconfigs + shortNames: + - akscc + singular: aksclusterconfig + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + authBaseUrl: + nullable: true + type: string + authorizedIpRanges: + items: + nullable: true + type: string + nullable: true + type: array + azureCredentialSecret: + nullable: true + type: string + baseUrl: + nullable: true + type: string + clusterName: + nullable: true + type: string + dnsPrefix: + nullable: true + type: string + dnsServiceIp: + nullable: true + type: string + dockerBridgeCidr: + nullable: true + type: string + httpApplicationRouting: + nullable: true + type: boolean + imported: + type: boolean + kubernetesVersion: + nullable: true + type: string + linuxAdminUsername: + nullable: true + type: string + loadBalancerSku: + nullable: true + type: string + logAnalyticsWorkspaceGroup: + nullable: true + type: string + logAnalyticsWorkspaceName: + nullable: true + type: string + managedIdentity: + nullable: true + type: boolean + monitoring: + nullable: true + type: boolean + networkPlugin: + nullable: true + type: string + networkPolicy: + nullable: true + type: string + nodePools: + items: + properties: + availabilityZones: + items: + nullable: true + type: string + nullable: true + type: array + count: + nullable: true + type: integer + enableAutoScaling: + nullable: true + type: boolean + maxCount: + nullable: true + type: integer + maxPods: + nullable: true + type: integer + maxSurge: + nullable: true + type: string + minCount: + nullable: true + type: integer + mode: + nullable: true + type: string + name: + nullable: true + type: string + nodeLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + nodeTaints: + items: + nullable: true + type: string + nullable: true + type: array + orchestratorVersion: + nullable: true + type: string + osDiskSizeGB: + nullable: true + type: integer + osDiskType: + nullable: true + type: string + osType: + nullable: true + type: string + vmSize: + nullable: true + type: string + vnetSubnetID: + nullable: true + type: string + type: object + nullable: true + type: array + nodeResourceGroup: + nullable: true + type: string + outboundType: + nullable: true + type: string + podCidr: + nullable: true + type: string + privateCluster: + nullable: true + type: boolean + privateDnsZone: + nullable: true + type: string + resourceGroup: + nullable: true + type: string + resourceLocation: + nullable: true + type: string + serviceCidr: + nullable: true + type: string + sshPublicKey: + nullable: true + type: string + subnet: + nullable: true + type: string + tags: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + userAssignedIdentity: + nullable: true + type: string + virtualNetwork: + nullable: true + type: string + virtualNetworkResourceGroup: + nullable: true + type: string + type: object + status: + properties: + failureMessage: + nullable: true + type: string + phase: + nullable: true + type: string + rbacEnabled: + nullable: true + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/Chart.yaml b/charts/rancher-aks-operator/103.4.0+up1.2.4/Chart.yaml new file mode 100644 index 0000000000..44c2574d75 --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/Chart.yaml @@ -0,0 +1,20 @@ +annotations: + catalog.cattle.io/auto-install: rancher-aks-operator-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: aksclusterconfigs.aks.cattle.io/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-aks-operator + catalog.cattle.io/scope: management +apiVersion: v2 +appVersion: 1.2.4 +description: A Helm chart for provisioning AKS clusters +home: https://github.com/rancher/aks-operator +name: rancher-aks-operator +sources: +- https://github.com/rancher/aks-operator +version: 103.4.0+up1.2.4 diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/NOTES.txt b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/NOTES.txt new file mode 100644 index 0000000000..5ba05b482c --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/NOTES.txt @@ -0,0 +1,4 @@ +You have deployed the Rancher AKS operator +Version: {{ .Chart.AppVersion }} +Description: This operator provisions AKS clusters +from AKSClusterConfig CRs. diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/_helpers.tpl b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/_helpers.tpl new file mode 100644 index 0000000000..de3b332f6a --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} + +{{- 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 -}} + diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrole.yaml b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrole.yaml new file mode 100644 index 0000000000..5e2ce97567 --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrole.yaml @@ -0,0 +1,15 @@ +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: aks-operator + namespace: cattle-system +rules: + - apiGroups: [''] + resources: ['secrets'] + verbs: ['get', 'list', 'create', 'watch', 'update'] + - apiGroups: ['aks.cattle.io'] + resources: ['aksclusterconfigs'] + verbs: ['get', 'list', 'update', 'watch'] + - apiGroups: ['aks.cattle.io'] + resources: ['aksclusterconfigs/status'] + verbs: ['update'] diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..7aa7e785a4 --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: aks-operator + namespace: cattle-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: aks-operator +subjects: +- kind: ServiceAccount + name: aks-operator + namespace: cattle-system diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/deployment.yaml b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/deployment.yaml new file mode 100644 index 0000000000..3a443f354f --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: aks-config-operator + namespace: cattle-system +spec: + replicas: 1 + selector: + matchLabels: + ke.cattle.io/operator: aks + template: + metadata: + labels: + ke.cattle.io/operator: aks + spec: + 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 }} + serviceAccountName: aks-operator + {{- if .Values.priorityClassName }} + priorityClassName: "{{.Values.priorityClassName}}" + {{- end }} + securityContext: + fsGroup: 1007 + runAsUser: 1007 + containers: + - name: aks-operator + image: '{{ template "system_default_registry" $ }}{{ $.Values.aksOperator.image.repository }}:{{ $.Values.aksOperator.image.tag }}' + imagePullPolicy: IfNotPresent + env: + - name: HTTP_PROXY + value: {{ .Values.httpProxy }} + - name: HTTPS_PROXY + value: {{ .Values.httpsProxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} +{{- if .Values.additionalTrustedCAs }} + # aks-operator mounts the additional CAs in two places: + volumeMounts: + # This directory is owned by the aks-operator user so c_rehash works here. + - mountPath: /etc/rancher/ssl/ca-additional.pem + name: tls-ca-additional-volume + subPath: ca-additional.pem + readOnly: true + # This directory is root-owned so c_rehash doesn't work here, + # but the cert is here in case update-ca-certificates is called in the future or by the OS. + - mountPath: /etc/pki/trust/anchors/ca-additional.pem + name: tls-ca-additional-volume + subPath: ca-additional.pem + readOnly: true + volumes: + - name: tls-ca-additional-volume + secret: + defaultMode: 0400 + secretName: tls-ca-additional + {{- end }} diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml new file mode 100644 index 0000000000..9c40a152f5 --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: cattle-system + name: aks-operator diff --git a/charts/rancher-aks-operator/103.4.0+up1.2.4/values.yaml b/charts/rancher-aks-operator/103.4.0+up1.2.4/values.yaml new file mode 100644 index 0000000000..ca8860e12b --- /dev/null +++ b/charts/rancher-aks-operator/103.4.0+up1.2.4/values.yaml @@ -0,0 +1,23 @@ +global: + cattle: + systemDefaultRegistry: "" + +aksOperator: + image: + repository: rancher/aks-operator + tag: v1.2.4 + +httpProxy: "" +httpsProxy: "" +noProxy: "" +additionalTrustedCAs: false + +## 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: "" diff --git a/charts/rancher-backup-crd/103.0.3+up4.0.3/Chart.yaml b/charts/rancher-backup-crd/103.0.3+up4.0.3/Chart.yaml new file mode 100644 index 0000000000..0c2e51bd35 --- /dev/null +++ b/charts/rancher-backup-crd/103.0.3+up4.0.3/Chart.yaml @@ -0,0 +1,11 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/release-name: rancher-backup-crd +apiVersion: v2 +appVersion: 4.0.3 +description: Installs the CRDs for rancher-backup. +name: rancher-backup-crd +type: application +version: 103.0.3+up4.0.3 diff --git a/charts/rancher-backup-crd/103.0.3+up4.0.3/README.md b/charts/rancher-backup-crd/103.0.3+up4.0.3/README.md new file mode 100644 index 0000000000..046410962b --- /dev/null +++ b/charts/rancher-backup-crd/103.0.3+up4.0.3/README.md @@ -0,0 +1,3 @@ +# Rancher Backup CRD + +A Rancher chart that installs the CRDs used by `rancher-backup`. diff --git a/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/backup.yaml b/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/backup.yaml new file mode 100644 index 0000000000..75ad5bf7b8 --- /dev/null +++ b/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/backup.yaml @@ -0,0 +1,141 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: backups.resources.cattle.io +spec: + group: resources.cattle.io + names: + kind: Backup + plural: backups + singular: backup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.storageLocation + name: Location + type: string + - jsonPath: .status.backupType + name: Type + type: string + - jsonPath: .status.filename + name: Latest-Backup + type: string + - jsonPath: .spec.resourceSetName + name: ResourceSet + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + encryptionConfigSecretName: + description: Name of the Secret containing the encryption config + nullable: true + type: string + resourceSetName: + description: Name of the ResourceSet CR to use for backup + nullable: true + type: string + retentionCount: + minimum: 1 + type: integer + schedule: + description: Cron schedule for recurring backups + example: + Descriptors: '@midnight' + Standard crontab specs: 0 0 * * * + nullable: true + type: string + storageLocation: + nullable: true + properties: + s3: + nullable: true + properties: + bucketName: + nullable: true + type: string + credentialSecretName: + nullable: true + type: string + credentialSecretNamespace: + nullable: true + type: string + endpoint: + nullable: true + type: string + endpointCA: + nullable: true + type: string + folder: + nullable: true + type: string + insecureTLSSkipVerify: + type: boolean + region: + nullable: true + type: string + type: object + type: object + required: + - resourceSetName + type: object + status: + properties: + backupType: + 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 + filename: + nullable: true + type: string + lastSnapshotTs: + nullable: true + type: string + nextSnapshotAt: + nullable: true + type: string + observedGeneration: + type: integer + storageLocation: + nullable: true + type: string + summary: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/resourceset.yaml b/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/resourceset.yaml new file mode 100644 index 0000000000..4b71d7ecb0 --- /dev/null +++ b/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/resourceset.yaml @@ -0,0 +1,118 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: resourcesets.resources.cattle.io +spec: + group: resources.cattle.io + names: + kind: ResourceSet + plural: resourcesets + singular: resourceset + scope: Cluster + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + controllerReferences: + items: + properties: + apiVersion: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + replicas: + type: integer + resource: + nullable: true + type: string + type: object + nullable: true + type: array + resourceSelectors: + items: + properties: + apiVersion: + nullable: true + type: string + excludeKinds: + items: + nullable: true + type: string + nullable: true + type: array + excludeResourceNameRegexp: + nullable: true + type: string + kinds: + items: + nullable: true + type: string + nullable: true + type: array + kindsRegexp: + nullable: true + type: string + labelSelectors: + 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 + namespaceRegexp: + nullable: true + type: string + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + resourceNameRegexp: + nullable: true + type: string + resourceNames: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + required: + - apiVersion + type: array + required: + - resourceSelectors + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/restore.yaml b/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/restore.yaml new file mode 100644 index 0000000000..0f39ecf06d --- /dev/null +++ b/charts/rancher-backup-crd/103.0.3+up4.0.3/templates/restore.yaml @@ -0,0 +1,122 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: restores.resources.cattle.io +spec: + group: resources.cattle.io + names: + kind: Restore + plural: restores + singular: restore + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.backupSource + name: Backup-Source + type: string + - jsonPath: .spec.backupFilename + name: Backup-File + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + backupFilename: + nullable: true + type: string + deleteTimeoutSeconds: + maximum: 10 + type: integer + encryptionConfigSecretName: + nullable: true + type: string + ignoreErrors: + type: boolean + prune: + nullable: true + type: boolean + storageLocation: + nullable: true + properties: + s3: + nullable: true + properties: + bucketName: + nullable: true + type: string + credentialSecretName: + nullable: true + type: string + credentialSecretNamespace: + nullable: true + type: string + endpoint: + nullable: true + type: string + endpointCA: + nullable: true + type: string + folder: + nullable: true + type: string + insecureTLSSkipVerify: + type: boolean + region: + nullable: true + type: string + type: object + type: object + required: + - backupFilename + type: object + status: + properties: + backupSource: + 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 + observedGeneration: + type: integer + restoreCompletionTs: + nullable: true + type: string + summary: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/Chart.yaml b/charts/rancher-backup/103.0.3+up4.0.3/Chart.yaml new file mode 100644 index 0000000000..570c77900b --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/Chart.yaml @@ -0,0 +1,26 @@ +annotations: + catalog.cattle.io/auto-install: rancher-backup-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Rancher Backups + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: resources.cattle.io.resourceset/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-backup + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: rancher-backup + catalog.cattle.io/upstream-version: 4.0.3 +apiVersion: v2 +appVersion: 4.0.3 +description: Provides ability to back up and restore the Rancher application running + on any Kubernetes cluster +icon: https://charts.rancher.io/assets/logos/backup-restore.svg +keywords: +- applications +- infrastructure +kubeVersion: '>= 1.23.0-0' +name: rancher-backup +version: 103.0.3+up4.0.3 diff --git a/charts/rancher-backup/103.0.3+up4.0.3/README.md b/charts/rancher-backup/103.0.3+up4.0.3/README.md new file mode 100644 index 0000000000..59bff44256 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/README.md @@ -0,0 +1,79 @@ +# Rancher Backup + +This chart provides ability to back up and restore the Rancher application running on any Kubernetes cluster. + +Refer [this](https://github.com/rancher/backup-restore-operator) repository for implementation details. + +----- + +### Get Repo Info +```bash +helm repo add rancher-chart https://charts.rancher.io +helm repo update +``` + +----- + +### Install Chart +```bash +helm install rancher-backup-crd rancher-chart/rancher-backup-crd -n cattle-resources-system --create-namespace +helm install rancher-backup rancher-chart/rancher-backup -n cattle-resources-system +``` + +----- + +### Configuration +The following table lists the configurable parameters of the rancher-backup chart and their default values: + +| Parameter | Description | Default | +|----------|---------------|-------| +| image.repository | Container image repository | rancher/backup-restore-operator | +| image.tag | Container image tag | v0.1.0-rc1 | +| s3.enabled | Configure S3 compatible default storage location. Current version supports S3 and MinIO | false | +| s3.credentialSecretName | Name of the Secret containing S3 credentials. This is an optional field. Skip this field in order to use IAM Role authentication. The Secret must contain following two keys, `accessKey` and `secretKey` | "" | +| s3.credentialSecretNamespace | Namespace of the Secret containing S3 credentials. This can be any namespace. | "" | +| s3.region | Region of the S3 Bucket (Required for S3, not valid for MinIO) | "" | +| s3.bucketName | Name of the Bucket | "" | +| s3.folder | Base folder within the Bucket (optional) | "" | +| s3.endpoint | Endpoint for the S3 storage provider | "" | +| s3.endpointCA | Base64 encoded CA cert for the S3 storage provider (optional) | "" | +| s3.insecureTLSSkipVerify | Skip SSL verification | false | +| persistence.enabled | Configure a Persistent Volume as the default storage location. It accepts either a StorageClass name to create a PVC, or directly accepts the PV to use. The Persistent Volume is mounted at `/var/lib/backups` in the operator pod | false | +| persistence.storageClass | StorageClass to use for dynamically provisioning the Persistent Volume, which will be used for storing backups | "" | +| persistence.volumeName | Persistent Volume to use for storing backups | "" | +| persistence.size | Requested size of the Persistent Volume (Applicable when using dynamic provisioning) | "" | +| debug | Set debug flag for backup-restore deployment | false | +| trace | Set trace flag for backup-restore deployment | false | +| nodeSelector | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector | {} | +| tolerations | https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration | [] | +| affinity | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | {} | +| serviceAccount.annotations | Annotations to apply to created service account | {} | +| global.cattle.psp.enabled | Enable or disable PSPs in the chart | false | + +----- + +### PSPs + +We have added a configuration to the chart `values.yaml` which allows you to enable or disable PSPs to align with the PSP deprecation in Kubernetes `v1.25` and above. + +----- + +### CRDs + +Refer [this](https://github.com/rancher/backup-restore-operator#crds) section for information on CRDs that this chart installs. Also refer [this](https://github.com/rancher/backup-restore-operator/tree/master/examples) folder containing sample manifests for the CRDs. + +----- +### Upgrading Chart +```bash +helm upgrade rancher-backup-crd -n cattle-resources-system +helm upgrade rancher-backup -n cattle-resources-system +``` + +----- +### Uninstall Chart + +```bash +helm uninstall rancher-backup -n cattle-resources-system +helm uninstall rancher-backup-crd -n cattle-resources-system +``` + diff --git a/charts/rancher-backup/103.0.3+up4.0.3/app-readme.md b/charts/rancher-backup/103.0.3+up4.0.3/app-readme.md new file mode 100644 index 0000000000..b1406d5ee3 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/app-readme.md @@ -0,0 +1,33 @@ +# Rancher Backup + +This chart enables ability to capture backups of the Rancher application and restore from these backups. This chart can be used to migrate Rancher from one Kubernetes cluster to a different Kubernetes cluster. + +For more information on how to use the feature, refer to our [docs](https://ranchermanager.docs.rancher.com/pages-for-subheaders/backup-restore-and-disaster-recovery). + +This chart installs the following components: + +- [backup-restore-operator](https://github.com/rancher/backup-restore-operator) + - The operator handles backing up all Kubernetes resources and CRDs that Rancher creates and manages from the local cluster. It gathers these resources by querying the Kubernetes API server, packages all the resources to create a tarball file and saves it in the configured backup storage location. + - The operator can be configured to store backups in S3-compatible object stores such as AWS S3 and MinIO, and in persistent volumes. During deployment, you can create a default storage location, but there is always the option to override the default storage location with each backup, but will be limited to using an S3-compatible object store. + - It preserves the ownerReferences on all resources, hence maintaining dependencies between objects. + - This operator provides encryption support, to encrypt user specified resources before saving them in the backup file. It uses the same encryption configuration that is used to enable [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). +- Backup - A backup is a CRD (`Backup`) that defines when to take backups, where to store the backup and what encryption to use (optional). Backups can be taken ad hoc or scheduled to be taken in intervals. +- Restore - A restore is a CRD (`Restore`) that defines which backup to use to restore the Rancher application to. + +## Upgrading to Kubernetes v1.25+ + ​ +Starting in Kubernetes v1.25, [Pod Security Policies](https://kubernetes.io/docs/concepts/security/pod-security-policy/) have been removed from the Kubernetes API. + ​ +As a result, **before upgrading to Kubernetes v1.25** (or on a fresh install in a Kubernetes v1.25+ cluster), users are expected to perform an in-place upgrade of this chart with `global.cattle.psp.enabled` set to `false` if it has been previously set to `true`. +​ +> **Note:** +> In this chart release, any previous field that was associated with any PSP resources have been removed in favor of a single global field: `global.cattle.psp.enabled`. + ​ +> **Note:** +> If you upgrade your cluster to Kubernetes v1.25+ before removing PSPs via a `helm upgrade` (even if you manually clean up resources), **it will leave the Helm release in a broken state within the cluster such that further Helm operations will not work (`helm uninstall`, `helm upgrade`, etc.).** +> +> If your charts get stuck in this state, please consult the Rancher docs on how to clean up your Helm release secrets. +​ +Upon setting `global.cattle.psp.enabled` to false, the chart will remove any PSP resources deployed on its behalf from the cluster. This is the default setting for this chart. +​ +As a replacement for PSPs, [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) should be used. Please consult the Rancher docs for more details on how to configure your chart release namespaces to work with the new Pod Security Admission and apply Pod Security Standards. diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/aks.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/aks.yaml new file mode 100644 index 0000000000..7797420589 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/aks.yaml @@ -0,0 +1,25 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "aks.cattle.io$" +- apiVersion: "aks.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + namespaces: + - "cattle-system" + resourceNames: + - "aks-config-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "aks-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "aks-operator" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaces: + - "cattle-system" + resourceNames: + - "aks-operator" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/eks.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/eks.yaml new file mode 100644 index 0000000000..ae57baddf4 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/eks.yaml @@ -0,0 +1,17 @@ +- apiVersion: "eks.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + resourceNames: + - "eks-config-operator" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "eks.cattle.io$" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "eks-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "eks-operator" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/elemental.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/elemental.yaml new file mode 100644 index 0000000000..1d38b1229c --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/elemental.yaml @@ -0,0 +1,49 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "elemental.cattle.io$" +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + namespaces: + - "cattle-elemental-system" + resourceNames: + - "elemental-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "elemental-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "elemental-operator" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaces: + - "cattle-elemental-system" + resourceNames: + - "elemental-operator" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "^globalrole$" + resourceNames: + - "elemental-operator" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "^apiservice$" + resourceNameRegexp: "elemental.cattle.io$" +- apiVersion: "elemental.cattle.io/v1beta1" + kindsRegexp: "." + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^roles$|^rolebindings$" + labelSelectors: + matchExpressions: + - key: "elemental.cattle.io/managed" + operator: "In" + values: ["true"] + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "v1" + kindsRegexp: "^secrets$|^serviceaccounts$" + labelSelectors: + matchExpressions: + - key: "elemental.cattle.io/managed" + operator: "In" + values: ["true"] + namespaceRegexp: "^cattle-fleet-|^fleet-" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/fleet.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/fleet.yaml new file mode 100644 index 0000000000..a14125fec1 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/fleet.yaml @@ -0,0 +1,53 @@ +- apiVersion: "v1" + kindsRegexp: "^namespaces$" + resourceNameRegexp: "^fleet-" +- apiVersion: "v1" + kindsRegexp: "^secrets$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + excludeResourceNameRegexp: "^import-token" + labelSelectors: + matchExpressions: + - key: "owner" + operator: "NotIn" + values: ["helm"] + - key: "fleet.cattle.io/managed" + operator: "In" + values: ["true"] +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + excludeResourceNameRegexp: "^default$" +- apiVersion: "v1" + kindsRegexp: "^configmaps$" + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^roles$|^rolebindings$" + namespaceRegexp: "^cattle-fleet-|^fleet-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNameRegexp: "^fleet-|^gitjob-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNameRegexp: "^fleet-" + resourceNames: + - "gitjob" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "fleet.cattle.io$|gitjob.cattle.io$" +- apiVersion: "fleet.cattle.io/v1alpha1" + kindsRegexp: "." + excludeKinds: + - "bundledeployments" +- apiVersion: "gitjob.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + resourceNameRegexp: "^fleet-" + resourceNames: + - "gitjob" +- apiVersion: "apps/v1" + kindsRegexp: "^services$" + namespaceRegexp: "^cattle-fleet-|^fleet-" + resourceNames: + - "gitjob" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/gke.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/gke.yaml new file mode 100644 index 0000000000..a87eef3645 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/gke.yaml @@ -0,0 +1,17 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "gke.cattle.io$" +- apiVersion: "gke.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + resourceNames: + - "gke-config-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "gke-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "gke-operator" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/provisioningv2.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/provisioningv2.yaml new file mode 100644 index 0000000000..e250d423ff --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/provisioningv2.yaml @@ -0,0 +1,23 @@ +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "provisioning.cattle.io$|rke-machine-config.cattle.io$|rke-machine.cattle.io$|rke.cattle.io$|cluster.x-k8s.io$" +- apiVersion: "provisioning.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "rke-machine-config.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "rke-machine.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "rke.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "cluster.x-k8s.io/v1beta1" + kindsRegexp: "." +- apiVersion: "v1" + kindsRegexp: "^secrets$" + resourceNameRegexp: "machine-plan$|rke-state$|machine-state$|machine-driver-secret$|machine-provision$|^harvesterconfig|^registryconfig-auth" + namespaces: + - "fleet-default" +- apiVersion: "v1" + kindsRegexp: "^configmaps$" + resourceNames: + - "provisioning-log" + namespaceRegexp: "^c-m-" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher-operator.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher-operator.yaml new file mode 100644 index 0000000000..f30c2fd96d --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher-operator.yaml @@ -0,0 +1,28 @@ +- apiVersion: "rancher.cattle.io/v1" + kindsRegexp: "." +- apiVersion: "apps/v1" + kindsRegexp: "^deployments$" + resourceNames: + - "rancher-operator" + namespaces: + - "rancher-operator-system" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaces: + - "rancher-operator-system" + excludeResourceNameRegexp: "^default$" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNames: + - "rancher-operator" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNames: + - "rancher-operator" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "rancher.cattle.io$" +- apiVersion: "v1" + kindsRegexp: "^namespaces$" + resourceNames: + - "rancher-operator-system" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher.yaml b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher.yaml new file mode 100644 index 0000000000..070bd8ec94 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/files/default-resourceset-contents/rancher.yaml @@ -0,0 +1,69 @@ +- apiVersion: "v1" + kindsRegexp: "^namespaces$" + resourceNameRegexp: "^cattle-|^p-|^c-|^user-|^u-" + resourceNames: + - "local" +- apiVersion: "v1" + kindsRegexp: "^secrets$" + namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-" + labelSelectors: + matchExpressions: + - key: "owner" + operator: "NotIn" + values: ["helm"] + excludeResourceNameRegexp: "^bootstrap-secret$|^rancher-csp-adapter|^csp-adapter-cache$" +- apiVersion: "v1" + kindsRegexp: "^serviceaccounts$" + namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-" + excludeResourceNameRegexp: "^default$|^rancher-csp-adapter$" +- apiVersion: "v1" + kindsRegexp: "^configmaps$" + namespaces: + - "cattle-system" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^roles$|^rolebindings$" + namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-" + excludeResourceNameRegexp: "^rancher-csp-adapter" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterrolebindings$" + resourceNameRegexp: "^cattle-|^clusterrolebinding-|^globaladmin-user-|^grb-u-|^crb-" +- apiVersion: "rbac.authorization.k8s.io/v1" + kindsRegexp: "^clusterroles$" + resourceNameRegexp: "^cattle-|^p-|^c-|^local-|^user-|^u-|^project-|^create-ns$" + excludeResourceNameRegexp: "^rancher-csp-adapter-" +- apiVersion: "scheduling.k8s.io/v1" + kindsRegexp: "^priorityclasses$" + resourceNameRegexp: "^rancher-critical$" +- apiVersion: "apiextensions.k8s.io/v1" + kindsRegexp: "." + resourceNameRegexp: "management.cattle.io$|project.cattle.io$|catalog.cattle.io$|resources.cattle.io$" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "." + excludeKinds: + - "tokens" + - "rancherusernotifications" +- apiVersion: "management.cattle.io/v3" + kindsRegexp: "^tokens$" + labelSelectors: + matchExpressions: + - key: "authn.management.cattle.io/kind" + operator: "NotIn" + values: [ "provisioning" ] +- apiVersion: "project.cattle.io/v3" + kindsRegexp: "." +- apiVersion: "catalog.cattle.io/v1" + kindsRegexp: "^clusterrepos$" +- apiVersion: "resources.cattle.io/v1" + kindsRegexp: "^ResourceSet$" +- apiVersion: "v1" + kindsRegexp: "^secrets$" + namespaceRegexp: "^.*$" + labelSelectors: + matchExpressions: + - key: "resources.cattle.io/backup" + operator: "In" + values: ["true"] +- apiVersion: catalog.cattle.io/v1 + kindsRegexp: ^UIPlugin$ + namespaces: + - cattle-ui-plugin-system diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/_helpers.tpl b/charts/rancher-backup/103.0.3+up4.0.3/templates/_helpers.tpl new file mode 100644 index 0000000000..a5e4852439 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/_helpers.tpl @@ -0,0 +1,87 @@ +{{- 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" -}} +{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}} +beta.kubernetes.io/os: linux +{{- else -}} +kubernetes.io/os: linux +{{- end -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "backupRestore.fullname" -}} +{{- .Chart.Name | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "backupRestore.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "backupRestore.labels" -}} +helm.sh/chart: {{ include "backupRestore.chart" . }} +{{ include "backupRestore.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "backupRestore.selectorLabels" -}} +app.kubernetes.io/name: {{ include "backupRestore.fullname" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +resources.cattle.io/operator: backup-restore +{{- end }} + + +{{/* +Create the name of the service account to use +*/}} +{{- define "backupRestore.serviceAccountName" -}} +{{ include "backupRestore.fullname" . }} +{{- end }} + + +{{- define "backupRestore.s3SecretName" -}} +{{- printf "%s-%s" .Chart.Name "s3" | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create PVC name using release and revision number, unless a volumeName is given. +*/}} +{{- define "backupRestore.pvcName" -}} +{{- if and .Values.persistence.volumeName }} +{{- printf "%s" .Values.persistence.volumeName }} +{{- else -}} +{{- printf "%s-%d" .Release.Name .Release.Revision }} +{{- end }} +{{- end }} + diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/clusterrolebinding.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..cf4abf6703 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/clusterrolebinding.yaml @@ -0,0 +1,14 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ include "backupRestore.fullname" . }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +subjects: +- kind: ServiceAccount + name: {{ include "backupRestore.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/deployment.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/deployment.yaml new file mode 100644 index 0000000000..631fa458b8 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/deployment.yaml @@ -0,0 +1,79 @@ +{{- if and .Values.s3.enabled .Values.persistence.enabled }} +{{- fail "\n\nCannot configure both s3 and PV for storing backups" }} +{{- end }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "backupRestore.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + {{- include "backupRestore.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + {{- include "backupRestore.selectorLabels" . | nindent 8 }} + annotations: + checksum/s3: {{ include (print $.Template.BasePath "/s3-secret.yaml") . | sha256sum }} + checksum/pvc: {{ include (print $.Template.BasePath "/pvc.yaml") . | sha256sum }} + spec: + serviceAccountName: {{ include "backupRestore.serviceAccountName" . }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{ toYaml .Values.imagePullSecrets | indent 6 }} + {{- end }} + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }} + imagePullPolicy: {{ default "Always" .Values.imagePullPolicy }} + args: +{{- if .Values.debug }} + - "--debug" +{{- end }} +{{- if .Values.trace }} + - "--trace" +{{- end }} + env: + - name: CHART_NAMESPACE + value: {{ .Release.Namespace }} + {{- if .Values.s3.enabled }} + - name: DEFAULT_S3_BACKUP_STORAGE_LOCATION + value: {{ include "backupRestore.s3SecretName" . }} + {{- 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.persistence.enabled }} + - name: DEFAULT_PERSISTENCE_ENABLED + value: "persistence-enabled" + volumeMounts: + - mountPath: "/var/lib/backups" + name: pv-storage + volumes: + - name: pv-storage + persistentVolumeClaim: + claimName: {{ include "backupRestore.pvcName" . }} + {{- end }} + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} +{{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} +{{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 8 }} +{{- if .Values.tolerations }} +{{ toYaml .Values.tolerations | indent 8 }} +{{- end }} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/hardened.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/hardened.yaml new file mode 100644 index 0000000000..bf8492ce0b --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/hardened.yaml @@ -0,0 +1,124 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + namespace: {{ .Release.Namespace }} + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + backoffLimit: 1 + template: + spec: + serviceAccountName: {{ include "backupRestore.fullname" . }}-patch-sa + securityContext: + runAsNonRoot: true + runAsUser: 1000 + restartPolicy: Never + 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 }} + containers: + - name: {{ include "backupRestore.fullname" . }}-patch-sa + image: {{ include "system_default_registry" . }}{{ .Values.global.kubectl.repository }}:{{ .Values.global.kubectl.tag }} + imagePullPolicy: IfNotPresent + command: ["kubectl", "-n", {{ .Release.Namespace | quote }}, "patch", "serviceaccount", "default", "-p", "{\"automountServiceAccountToken\": false}"] +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + namespace: {{ .Release.Namespace }} + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +rules: + - apiGroups: [""] + resources: ["serviceaccounts"] + verbs: ["get", "patch"] +{{- if .Values.global.cattle.psp.enabled}} + - apiGroups: ["policy"] + resources: ["podsecuritypolicies"] + verbs: ["use"] + resourceNames: + - {{ include "backupRestore.fullname" . }}-patch-sa +{{- end}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "backupRestore.fullname" . }}-patch-sa +subjects: + - kind: ServiceAccount + name: {{ include "backupRestore.fullname" . }}-patch-sa + namespace: {{ .Release.Namespace }} +--- +{{- if .Values.global.cattle.psp.enabled}} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "backupRestore.fullname" . }}-patch-sa + labels: {{ include "backupRestore.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + privileged: false + hostNetwork: false + hostIPC: false + hostPID: false + runAsUser: + rule: 'MustRunAsNonRoot' + seLinux: + rule: 'RunAsAny' + supplementalGroups: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + fsGroup: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + readOnlyRootFilesystem: false + volumes: + - 'secret' +{{- end}} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: {{ include "backupRestore.fullname" . }}-default-allow-all + namespace: {{ .Release.Namespace }} +spec: + podSelector: {} + egress: + - {} + policyTypes: + - Ingress + - Egress diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/psp.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/psp.yaml new file mode 100644 index 0000000000..34bc96ee72 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/psp.yaml @@ -0,0 +1,31 @@ +{{- if .Values.global.cattle.psp.enabled -}} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "backupRestore.fullname" . }}-psp + labels: {{ include "backupRestore.labels" . | nindent 4 }} +spec: + privileged: false + allowPrivilegeEscalation: false + hostNetwork: false + hostIPC: false + hostPID: false + runAsUser: + rule: 'MustRunAsNonRoot' + seLinux: + rule: 'RunAsAny' + supplementalGroups: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + fsGroup: + rule: 'MustRunAs' + ranges: + - min: 1 + max: 65535 + readOnlyRootFilesystem: false + volumes: + - 'persistentVolumeClaim' + - 'secret' +{{- end -}} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/pvc.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/pvc.yaml new file mode 100644 index 0000000000..ff57e4dabd --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/pvc.yaml @@ -0,0 +1,27 @@ +{{- if and .Values.persistence.enabled -}} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ include "backupRestore.pvcName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +spec: + accessModes: + - ReadWriteOnce + resources: + {{- with .Values.persistence }} + requests: + storage: {{ .size | quote }} +{{- if .storageClass }} +{{- if (eq "-" .storageClass) }} + storageClassName: "" +{{- else }} + storageClassName: {{ .storageClass | quote }} +{{- end }} +{{- end }} +{{- if .volumeName }} + volumeName: {{ .volumeName | quote }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/rancher-resourceset.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/rancher-resourceset.yaml new file mode 100644 index 0000000000..05add88245 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/rancher-resourceset.yaml @@ -0,0 +1,13 @@ +apiVersion: resources.cattle.io/v1 +kind: ResourceSet +metadata: + name: rancher-resource-set +controllerReferences: + - apiVersion: "apps/v1" + resource: "deployments" + name: "rancher" + namespace: "cattle-system" +resourceSelectors: +{{- range $path, $_ := .Files.Glob "files/default-resourceset-contents/*.yaml" -}} + {{- $.Files.Get $path | nindent 2 -}} +{{- end -}} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/s3-secret.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/s3-secret.yaml new file mode 100644 index 0000000000..7265097307 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/s3-secret.yaml @@ -0,0 +1,31 @@ +{{- if .Values.s3.enabled -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "backupRestore.s3SecretName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +type: Opaque +stringData: + {{- with .Values.s3 }} + {{- if .credentialSecretName }} + credentialSecretName: {{ .credentialSecretName }} + credentialSecretNamespace: {{ required "When providing a Secret containing S3 credentials, a valid .Values.credentialSecretNamespace must be provided" .credentialSecretNamespace }} + {{- end }} + {{- if .region }} + region: {{ .region | quote }} + {{- end }} + bucketName: {{ required "A valid .Values.bucketName is required for configuring S3 compatible storage as the default backup storage location" .bucketName | quote }} + {{- if .folder }} + folder: {{ .folder | quote }} + {{- end }} + endpoint: {{ required "A valid .Values.endpoint is required for configuring S3 compatible storage as the default backup storage location" .endpoint | quote }} + {{- if .endpointCA }} + endpointCA: {{ .endpointCA }} + {{- end }} + {{- if .insecureTLSSkipVerify }} + insecureTLSSkipVerify: {{ .insecureTLSSkipVerify | quote }} + {{- end }} + {{- end }} +{{ end }} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/serviceaccount.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/serviceaccount.yaml new file mode 100644 index 0000000000..754e1fe89e --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/serviceaccount.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "backupRestore.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "backupRestore.labels" . | nindent 4 }} +{{- if .Values.serviceAccount.annotations }} + annotations: + {{- toYaml .Values.serviceAccount.annotations | nindent 4 }} +{{- end }} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/validate-install-crd.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/validate-install-crd.yaml new file mode 100644 index 0000000000..f63fd2e2e2 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/validate-install-crd.yaml @@ -0,0 +1,16 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "resources.cattle.io/v1/Backup" false -}} +# {{- set $found "resources.cattle.io/v1/ResourceSet" false -}} +# {{- set $found "resources.cattle.io/v1/Restore" false -}} +# {{- range .Capabilities.APIVersions -}} +# {{- if hasKey $found (toString .) -}} +# {{- set $found (toString .) true -}} +# {{- end -}} +# {{- end -}} +# {{- range $_, $exists := $found -}} +# {{- if (eq $exists false) -}} +# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} +# {{- end -}} +# {{- end -}} +#{{- end -}} \ No newline at end of file diff --git a/charts/rancher-backup/103.0.3+up4.0.3/templates/validate-psp-install.yaml b/charts/rancher-backup/103.0.3+up4.0.3/templates/validate-psp-install.yaml new file mode 100644 index 0000000000..a30c59d3b7 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/templates/validate-psp-install.yaml @@ -0,0 +1,7 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +#{{- if .Values.global.cattle.psp.enabled }} +#{{- if not (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }} +#{{- fail "The target cluster does not have the PodSecurityPolicy API resource. Please disable PSPs in this chart before proceeding." -}} +#{{- end }} +#{{- end }} +#{{- end }} diff --git a/charts/rancher-backup/103.0.3+up4.0.3/tests/deployment_test.yaml b/charts/rancher-backup/103.0.3+up4.0.3/tests/deployment_test.yaml new file mode 100644 index 0000000000..671d415db0 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/tests/deployment_test.yaml @@ -0,0 +1,216 @@ +suite: Test Deployment +templates: +- deployment.yaml +- s3-secret.yaml +- pvc.yaml +- _helpers.tpl +tests: +- it: should set name + template: deployment.yaml + asserts: + - equal: + path: metadata.name + value: "rancher-backup" +- it: should set namespace + template: deployment.yaml + asserts: + - equal: + path: metadata.namespace + value: "NAMESPACE" +- it: should set priorityClassName + set: + priorityClassName: "testClass" + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.priorityClassName + value: "testClass" +- it: should set default imagePullPolicy + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.containers[0].imagePullPolicy + value: "Always" +- it: should set imagePullPolicy + set: + imagePullPolicy: "IfNotPresent" + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.containers[0].imagePullPolicy + value: "IfNotPresent" +- it: should set debug loglevel + set: + debug: true + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--debug" +- it: should set trace loglevel + set: + trace: true + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--trace" +- it: should set proxy environment variables + set: + proxy: "https://127.0.0.1:3128" + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: HTTP_PROXY + value: "https://127.0.0.1:3128" + - contains: + path: spec.template.spec.containers[0].env + content: + name: HTTPS_PROXY + value: "https://127.0.0.1:3128" + - contains: + path: spec.template.spec.containers[0].env + content: + name: NO_PROXY + value: "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local" +- it: should set proxy environment variables with modified noproxy + set: + proxy: "https://127.0.0.1:3128" + noProxy: "192.168.0.0/24" + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: NO_PROXY + value: "192.168.0.0/24" +- it: should set persistence variables + set: + persistence.enabled: true + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: DEFAULT_PERSISTENCE_ENABLED + value: "persistence-enabled" + - contains: + path: spec.template.spec.containers[0].volumeMounts + content: + mountPath: "/var/lib/backups" + name: "pv-storage" + - equal: + path: spec.template.spec.volumes[0].name + value: "pv-storage" + - equal: + path: spec.template.spec.volumes[0].persistentVolumeClaim + value: + claimName: RELEASE-NAME-0 +- it: should set claim from custom static volumeName + set: + persistence.enabled: true + persistence.volumeName: "PREDEFINED-VOLUME" + persistence.storageClass: "PREDEFINED-STORAGECLASS" + persistence.size: "PREDIFINED-SAMEAS-PVSIZE" + template: deployment.yaml + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: DEFAULT_PERSISTENCE_ENABLED + value: "persistence-enabled" + - equal: + path: spec.template.spec.volumes[0].persistentVolumeClaim + value: + claimName: PREDEFINED-VOLUME +- it: should set private registry + template: deployment.yaml + set: + global.cattle.systemDefaultRegistry: "my.registry.local:3000" + asserts: + - matchRegex: + path: spec.template.spec.containers[0].image + pattern: ^my.registry.local:3000/rancher/backup-restore-operator:.*$ +- it: should set nodeselector + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.nodeSelector + value: + kubernetes.io/os: linux +- it: should not set default affinity + template: deployment.yaml + asserts: + - isNull: + path: spec.template.spec.affinity +- it: should set custom affinity + template: deployment.yaml + set: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd + asserts: + - equal: + path: spec.template.spec.affinity + value: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: disktype + operator: In + values: + - ssd +- it: should set tolerations + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.tolerations[0] + value: + key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" +- it: should set custom tolerations + template: deployment.yaml + set: + tolerations: + - key: "example-key" + operator: "Exists" + effect: "NoSchedule" + asserts: + - equal: + path: spec.template.spec.tolerations[0] + value: + key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" + - equal: + path: spec.template.spec.tolerations[1] + value: + key: "example-key" + operator: "Exists" + effect: "NoSchedule" +- it: should not set default imagePullSecrets + template: deployment.yaml + asserts: + - isNull: + path: spec.template.spec.imagePullSecrets +- it: should set imagePullSecrets + set: + imagePullSecrets: + - name: "pull-secret" + template: deployment.yaml + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: "pull-secret" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/tests/pvc_test.yaml b/charts/rancher-backup/103.0.3+up4.0.3/tests/pvc_test.yaml new file mode 100644 index 0000000000..3a1c40698f --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/tests/pvc_test.yaml @@ -0,0 +1,102 @@ +suite: Test PVC +templates: +- pvc.yaml +- _helpers.tpl +tests: +- it: should set name + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: metadata.name + value: "RELEASE-NAME-0" +- it: should set namespace + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: metadata.namespace + value: "NAMESPACE" +- it: should set accessModes + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: spec.accessModes[0] + value: "ReadWriteOnce" +- it: should set size + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: spec.resources.requests.storage + value: "2Gi" +- it: should set size + template: pvc.yaml + set: + persistence: + enabled: true + size: "10Gi" + asserts: + - equal: + path: spec.resources.requests.storage + value: "10Gi" +- it: should not set volumeName + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - isNull: + path: spec.volumeName +- it: should set default storageClass + template: pvc.yaml + set: + persistence: + enabled: true + asserts: + - equal: + path: spec.storageClassName + value: "" +- it: should set custom storageClass + template: pvc.yaml + set: + persistence: + enabled: true + storageClass: "storage-class" + asserts: + - equal: + path: spec.storageClassName + value: "storage-class" +- it: should set custom volumeName + template: pvc.yaml + set: + persistence: + enabled: true + volumeName: "volume-name" + asserts: + - equal: + path: spec.volumeName + value: "volume-name" +- it: should set claim from custom static volumeName + set: + persistence.enabled: true + persistence.volumeName: "PREDEFINED-VOLUME" + persistence.storageClass: "PREDEFINED-STORAGECLASS" + persistence.size: "PREDEFINED-SAMEAS-PVSIZE" + template: pvc.yaml + asserts: + - equal: + path: spec.resources.requests.storage + value: "PREDEFINED-SAMEAS-PVSIZE" + - equal: + path: spec.storageClassName + value: "PREDEFINED-STORAGECLASS" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/tests/s3-secret_test.yaml b/charts/rancher-backup/103.0.3+up4.0.3/tests/s3-secret_test.yaml new file mode 100644 index 0000000000..af130dd293 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/tests/s3-secret_test.yaml @@ -0,0 +1,141 @@ +suite: Test S3 Secret +templates: +- s3-secret.yaml +- _helpers.tpl +tests: +- it: should set name + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - equal: + path: metadata.name + value: "rancher-backup-s3" +- it: should set namespace + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - equal: + path: metadata.namespace + value: "NAMESPACE" +- it: should not set credentialSecretName + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.credentialSecretName +- it: should set credentialSecretName + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + credentialSecretName: "credential-secret-name" + credentialSecretNamespace: "credential-secret-namespace" + asserts: + - equal: + path: stringData.credentialSecretName + value: "credential-secret-name" + - equal: + path: stringData.credentialSecretNamespace + value: "credential-secret-namespace" +- it: should not set folder + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.folder +- it: should set folder + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + folder: "myfolder" + asserts: + - equal: + path: stringData.folder + value: "myfolder" +- it: should not set region + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.region +- it: should set region + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + region: "us-west-1" + asserts: + - equal: + path: stringData.region + value: "us-west-1" +- it: should not set endpointCA + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.endpointCA +- it: should set endpointCA + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + endpointCA: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" + asserts: + - equal: + path: stringData.endpointCA + value: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" +- it: should not set insecureTLSSkipVerify + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + asserts: + - isNull: + path: stringData.insecureTLSSkipVerify +- it: should set insecureTLSSkipVerify + template: s3-secret.yaml + set: + s3: + enabled: true + bucketName: "yourbucket" + endpoint: "https://s3.amazonaws.com" + insecureTLSSkipVerify: "true" + asserts: + - equal: + path: stringData.insecureTLSSkipVerify + value: "true" diff --git a/charts/rancher-backup/103.0.3+up4.0.3/values.yaml b/charts/rancher-backup/103.0.3+up4.0.3/values.yaml new file mode 100644 index 0000000000..8d3997f284 --- /dev/null +++ b/charts/rancher-backup/103.0.3+up4.0.3/values.yaml @@ -0,0 +1,81 @@ +image: + repository: rancher/backup-restore-operator + tag: v4.0.3 + +## Default s3 bucket for storing all backup files created by the backup-restore-operator +s3: + enabled: false + ## credentialSecretName if set, should be the name of the Secret containing AWS credentials. + ## To use IAM Role, don't set this field + credentialSecretName: "" + credentialSecretNamespace: "" + region: "" + bucketName: "" + folder: "" + endpoint: "" + endpointCA: "" + insecureTLSSkipVerify: false + +## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +## If persistence is enabled, operator will create a PVC with mountPath /var/lib/backups +persistence: + enabled: false + + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack). + ## Refer https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1 + ## + storageClass: "-" + + ## If you want to disable dynamic provisioning by setting storageClass to "-" above, + ## and want to target a particular PV, provide name of the target volume + volumeName: "" + + ## Only certain StorageClasses allow resizing PVs; Refer https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/ + size: 2Gi + +# Add log level flags to backup-restore +debug: false +trace: false + +# http[s] proxy server passed to backup client +# 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 + +global: + cattle: + systemDefaultRegistry: "" + psp: + enabled: false # PSP enablement should default to false + kubectl: + repository: rancher/kubectl + tag: v1.27.16 + +## 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: [] + +affinity: {} + +serviceAccount: + annotations: {} + +priorityClassName: "" + +# Override imagePullPolicy for image +# options: Always, Never, IfNotPresent +# Defaults to Always +imagePullPolicy: "Always" + +## Optional array of imagePullSecrets containing private registry credentials +## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] diff --git a/charts/rancher-cis-benchmark-crd/5.3.0/Chart.yaml b/charts/rancher-cis-benchmark-crd/5.3.0/Chart.yaml new file mode 100644 index 0000000000..2cabb5fe6f --- /dev/null +++ b/charts/rancher-cis-benchmark-crd/5.3.0/Chart.yaml @@ -0,0 +1,10 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cis-operator-system + catalog.cattle.io/release-name: rancher-cis-benchmark-crd +apiVersion: v1 +description: Installs the CRDs for rancher-cis-benchmark. +name: rancher-cis-benchmark-crd +type: application +version: 5.3.0 diff --git a/charts/rancher-cis-benchmark-crd/5.3.0/README.md b/charts/rancher-cis-benchmark-crd/5.3.0/README.md new file mode 100644 index 0000000000..f6d9ef621f --- /dev/null +++ b/charts/rancher-cis-benchmark-crd/5.3.0/README.md @@ -0,0 +1,2 @@ +# rancher-cis-benchmark-crd +A Rancher chart that installs the CRDs used by rancher-cis-benchmark. diff --git a/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscan.yaml b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscan.yaml new file mode 100644 index 0000000000..3cbb0ffcd3 --- /dev/null +++ b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscan.yaml @@ -0,0 +1,148 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusterscans.cis.cattle.io +spec: + group: cis.cattle.io + names: + kind: ClusterScan + plural: clusterscans + scope: Cluster + versions: + - name: v1 + served: true + storage: true + additionalPrinterColumns: + - jsonPath: .status.lastRunScanProfileName + name: ClusterScanProfile + type: string + - jsonPath: .status.summary.total + name: Total + type: string + - jsonPath: .status.summary.pass + name: Pass + type: string + - jsonPath: .status.summary.fail + name: Fail + type: string + - jsonPath: .status.summary.skip + name: Skip + type: string + - jsonPath: .status.summary.warn + name: Warn + type: string + - jsonPath: .status.summary.notApplicable + name: Not Applicable + type: string + - jsonPath: .status.lastRunTimestamp + name: LastRunTimestamp + type: string + - jsonPath: .spec.scheduledScanConfig.cronSchedule + name: CronSchedule + type: string + subresources: + status: {} + schema: + openAPIV3Schema: + properties: + spec: + properties: + scanProfileName: + nullable: true + type: string + scheduledScanConfig: + nullable: true + properties: + cronSchedule: + nullable: true + type: string + retentionCount: + type: integer + scanAlertRule: + nullable: true + properties: + alertOnComplete: + type: boolean + alertOnFailure: + type: boolean + type: object + type: object + scoreWarning: + enum: + - pass + - fail + nullable: true + type: string + type: object + status: + properties: + NextScanAt: + nullable: true + type: string + ScanAlertingRuleName: + 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: + nullable: true + properties: + error: + type: boolean + message: + nullable: true + type: string + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + lastRunScanProfileName: + nullable: true + type: string + lastRunTimestamp: + nullable: true + type: string + observedGeneration: + type: integer + summary: + nullable: true + properties: + fail: + type: integer + notApplicable: + type: integer + pass: + type: integer + skip: + type: integer + total: + type: integer + warn: + type: integer + type: object + type: object + type: object diff --git a/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanbenchmark.yaml b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanbenchmark.yaml new file mode 100644 index 0000000000..fd291f8c33 --- /dev/null +++ b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanbenchmark.yaml @@ -0,0 +1,54 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusterscanbenchmarks.cis.cattle.io +spec: + group: cis.cattle.io + names: + kind: ClusterScanBenchmark + plural: clusterscanbenchmarks + scope: Cluster + versions: + - name: v1 + served: true + storage: true + additionalPrinterColumns: + - jsonPath: .spec.clusterProvider + name: ClusterProvider + type: string + - jsonPath: .spec.minKubernetesVersion + name: MinKubernetesVersion + type: string + - jsonPath: .spec.maxKubernetesVersion + name: MaxKubernetesVersion + type: string + - jsonPath: .spec.customBenchmarkConfigMapName + name: customBenchmarkConfigMapName + type: string + - jsonPath: .spec.customBenchmarkConfigMapNamespace + name: customBenchmarkConfigMapNamespace + type: string + subresources: + status: {} + schema: + openAPIV3Schema: + properties: + spec: + properties: + clusterProvider: + nullable: true + type: string + customBenchmarkConfigMapName: + nullable: true + type: string + customBenchmarkConfigMapNamespace: + nullable: true + type: string + maxKubernetesVersion: + nullable: true + type: string + minKubernetesVersion: + nullable: true + type: string + type: object + type: object diff --git a/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanprofile.yaml b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanprofile.yaml new file mode 100644 index 0000000000..1e75501b7c --- /dev/null +++ b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanprofile.yaml @@ -0,0 +1,36 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusterscanprofiles.cis.cattle.io +spec: + group: cis.cattle.io + names: + kind: ClusterScanProfile + plural: clusterscanprofiles + scope: Cluster + versions: + - name: v1 + served: true + storage: true + subresources: + status: {} + schema: + openAPIV3Schema: + properties: + spec: + properties: + benchmarkVersion: + nullable: true + type: string + skipTests: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + additionalPrinterColumns: + - jsonPath: .spec.benchmarkVersion + name: BenchmarkVersion + type: string diff --git a/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanreport.yaml b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanreport.yaml new file mode 100644 index 0000000000..6e8c0b7de5 --- /dev/null +++ b/charts/rancher-cis-benchmark-crd/5.3.0/templates/clusterscanreport.yaml @@ -0,0 +1,39 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: clusterscanreports.cis.cattle.io +spec: + group: cis.cattle.io + names: + kind: ClusterScanReport + plural: clusterscanreports + scope: Cluster + versions: + - name: v1 + served: true + storage: true + additionalPrinterColumns: + - jsonPath: .spec.lastRunTimestamp + name: LastRunTimestamp + type: string + - jsonPath: .spec.benchmarkVersion + name: BenchmarkVersion + type: string + subresources: + status: {} + schema: + openAPIV3Schema: + properties: + spec: + properties: + benchmarkVersion: + nullable: true + type: string + lastRunTimestamp: + nullable: true + type: string + reportJSON: + nullable: true + type: string + type: object + type: object \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/Chart.yaml b/charts/rancher-cis-benchmark/5.3.0/Chart.yaml new file mode 100644 index 0000000000..0fee66ebe6 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/Chart.yaml @@ -0,0 +1,22 @@ +annotations: + catalog.cattle.io/auto-install: rancher-cis-benchmark-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: CIS Benchmark + catalog.cattle.io/kube-version: '>= 1.25.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cis-operator-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: cis.cattle.io.clusterscans/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-cis-benchmark + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: rancher-cis-benchmark +apiVersion: v1 +appVersion: v5.3.0 +description: The cis-operator enables running CIS benchmark security scans on a kubernetes + cluster +icon: https://charts.rancher.io/assets/logos/cis-kube-bench.svg +keywords: +- security +name: rancher-cis-benchmark +version: 5.3.0 diff --git a/charts/rancher-cis-benchmark/5.3.0/README.md b/charts/rancher-cis-benchmark/5.3.0/README.md new file mode 100644 index 0000000000..50beab58ba --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/README.md @@ -0,0 +1,9 @@ +# Rancher CIS Benchmark Chart + +The cis-operator enables running CIS benchmark security scans on a kubernetes cluster and generate compliance reports that can be downloaded. + +# Installation + +``` +helm install rancher-cis-benchmark ./ --create-namespace -n cis-operator-system +``` diff --git a/charts/rancher-cis-benchmark/5.3.0/app-readme.md b/charts/rancher-cis-benchmark/5.3.0/app-readme.md new file mode 100644 index 0000000000..d240859273 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/app-readme.md @@ -0,0 +1,55 @@ +# Rancher CIS Benchmarks + +This chart enables security scanning of the cluster using [CIS (Center for Internet Security) benchmarks](https://www.cisecurity.org/benchmark/kubernetes/). + +For more information on how to use the feature, refer to our [docs](https://ranchermanager.docs.rancher.com/how-to-guides/advanced-user-guides/cis-scan-guides). + +This chart installs the following components: + +- [cis-operator](https://github.com/rancher/cis-operator) - The cis-operator handles launching the [kube-bench](https://github.com/aquasecurity/kube-bench) tool that runs a suite of CIS tests on the nodes of your Kubernetes cluster. After scans finish, the cis-operator generates a compliance report that can be downloaded. +- Scans - A scan is a CRD (`ClusterScan`) that defines when to trigger CIS scans on the cluster based on the defined profile. A report is created after the scan is completed. +- Profiles - A profile is a CRD (`ClusterScanProfile`) that defines the configuration for the CIS scan, which is the benchmark versions to use and any specific tests to skip in that benchmark. This chart installs a few default `ClusterScanProfile` custom resources with no skipped tests, which can immediately be used to launch CIS scans. +- Benchmark Versions - A benchmark version is a CRD (`ClusterScanBenchmark`) that defines the CIS benchmark version to run using kube-bench as well as the valid configuration parameters for that benchmark. This chart installs a few default `ClusterScanBenchmark` custom resources. +- Alerting Resources - Rancher's CIS Benchmark application lets you run a cluster scan on a schedule, and send alerts when scans finish. + - If you want to enable alerts to be delivered when a cluster scan completes, you need to ensure that [Rancher's Monitoring and Alerting](https://rancher.com/docs/rancher/v2.x/en/monitoring-alerting/v2.5/) application is pre-installed and the [Receivers and Routes](https://rancher.com/docs/rancher/v2.x/en/monitoring-alerting/v2.5/configuration/#alertmanager-config) are configured to send out alerts. + - Additionally, you need to set `alerts: true` in the Values YAML while installing or upgrading this chart. + +## CIS Kubernetes Benchmark support + +| Source | Kubernetes distribution | scan profile | Kubernetes versions | +|--------|-------------------------|--------------------------------------------------------------------------------------------------------------------|---------------------| +| CIS | any | [cis-1.7](https://github.com/rancher/security-scan/tree/master/package/cfg/cis-1.7) | v1.25 | +| CIS | any | [cis-1.8](https://github.com/rancher/security-scan/tree/master/package/cfg/cis-1.8) | v1.26+ | +| CIS | rke | [rke-cis-1.7-permissive](https://github.com/rancher/security-scan/tree/master/package/cfg/rke-cis-1.7-permissive) | rke1-v1.25 | +| CIS | rke | [rke-cis-1.7-hardened](https://github.com/rancher/security-scan/tree/master/package/cfg/rke-cis-1.7-hardened) | rke1-v1.25 | +| CIS | rke | [rke-cis-1.8-permissive](https://github.com/rancher/security-scan/tree/master/package/cfg/rke-cis-1.8-permissive) | rke1-v1.26+ | +| CIS | rke | [rke-cis-1.8-hardened](https://github.com/rancher/security-scan/tree/master/package/cfg/rke-cis-1.8-hardened) | rke1-v1.26+ | +| CIS | rke2 | [rke2-cis-1.7-permissive](https://github.com/rancher/security-scan/tree/master/package/cfg/rke2-cis-1.7-permissive)| rke2-v1.25 | +| CIS | rke2 | [rke2-cis-1.7-hardened](https://github.com/rancher/security-scan/tree/master/package/cfg/rke2-cis-1.7-hardened) | rke2-v1.25 | +| CIS | rke2 | [rke2-cis-1.8-permissive](https://github.com/rancher/security-scan/tree/master/package/cfg/rke2-cis-1.8-permissive)| rke2-v1.26+ | +| CIS | rke2 | [rke2-cis-1.8-hardened](https://github.com/rancher/security-scan/tree/master/package/cfg/rke2-cis-1.8-hardened) | rke2-v1.26+ | +| CIS | k3s | [k3s-cis-1.7-permissive](https://github.com/rancher/security-scan/tree/master/package/cfg/k3s-cis-1.7-permissive) | k3s-v1.25 | +| CIS | k3s | [k3s-cis-1.7-hardened](https://github.com/rancher/security-scan/tree/master/package/cfg/k3s-cis-1.7-hardened) | k3s-v1.25 | +| CIS | k3s | [k3s-cis-1.8-permissive](https://github.com/rancher/security-scan/tree/master/package/cfg/k3s-cis-1.8-permissive) | k3s-v1.26+ | +| CIS | k3s | [k3s-cis-1.8-hardened](https://github.com/rancher/security-scan/tree/master/package/cfg/k3s-cis-1.8-hardened) | k3s-v1.26+ | +| CIS | eks | eks-1.2.0 | eks | +| CIS | aks | aks-1.0 | aks | +| CIS | gke | gke-1.2.0 | gke | + +## Upgrading to Kubernetes v1.25+ + +Starting in Kubernetes v1.25, [Pod Security Policies](https://kubernetes.io/docs/concepts/security/pod-security-policy/) have been removed from the Kubernetes API. + +As a result, **before upgrading to Kubernetes v1.25** (or on a fresh install in a Kubernetes v1.25+ cluster), users are expected to perform an in-place upgrade of this chart with `global.cattle.psp.enabled` set to `false` if it has been previously set to `true`. + +> **Note:** +> In this chart release, any previous field that was associated with any PSP resources have been removed in favor of a single global field: `global.cattle.psp.enabled`. + +> **Note:** +> If you upgrade your cluster to Kubernetes v1.25+ before removing PSPs via a `helm upgrade` (even if you manually clean up resources), **it will leave the Helm release in a broken state within the cluster such that further Helm operations will not work (`helm uninstall`, `helm upgrade`, etc.).** +> +> If your charts get stuck in this state, please consult the Rancher docs on how to clean up your Helm release secrets. + +Upon setting `global.cattle.psp.enabled` to false, the chart will remove any PSP resources deployed on its behalf from the cluster. This is the default setting for this chart. + +As a replacement for PSPs, [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) should be used. Please consult the Rancher docs for more details on how to configure your chart release namespaces to work with the new Pod Security Admission and apply Pod Security Standards. diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/_helpers.tpl b/charts/rancher-cis-benchmark/5.3.0/templates/_helpers.tpl new file mode 100644 index 0000000000..b7bb000422 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/_helpers.tpl @@ -0,0 +1,27 @@ +{{/* Ensure namespace is set the same everywhere */}} +{{- define "cis.namespace" -}} + {{- .Release.Namespace | default "cis-operator-system" -}} +{{- end -}} + +{{- 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 -}} diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/alertingrule.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/alertingrule.yaml new file mode 100644 index 0000000000..1787c88a07 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/alertingrule.yaml @@ -0,0 +1,14 @@ +{{- if .Values.alerts.enabled -}} +--- +apiVersion: monitoring.coreos.com/v1 +kind: PodMonitor +metadata: + name: rancher-cis-pod-monitor + namespace: {{ template "cis.namespace" . }} +spec: + selector: + matchLabels: + cis.cattle.io/operator: cis-operator + podMetricsEndpoints: + - port: cismetrics +{{- end }} diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-aks-1.0.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-aks-1.0.yaml new file mode 100644 index 0000000000..1ac866253f --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-aks-1.0.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: aks-1.0 +spec: + clusterProvider: aks + minKubernetesVersion: "1.15.0" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.7.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.7.yaml new file mode 100644 index 0000000000..fa8dfd8eb9 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.7.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: cis-1.7 +spec: + clusterProvider: "" + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.8.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.8.yaml new file mode 100644 index 0000000000..f9fa2853e9 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-cis-1.8.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: cis-1.8 +spec: + clusterProvider: "" + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-eks-1.2.0.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-eks-1.2.0.yaml new file mode 100644 index 0000000000..c1bdd9ed5e --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-eks-1.2.0.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: eks-1.2.0 +spec: + clusterProvider: eks + minKubernetesVersion: "1.15.0" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-gke-1.2.0.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-gke-1.2.0.yaml new file mode 100644 index 0000000000..106ff7b0de --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-gke-1.2.0.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: gke-1.2.0 +spec: + clusterProvider: gke + minKubernetesVersion: "1.15.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-hardened.yaml new file mode 100644 index 0000000000..6fb369360c --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-hardened.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: k3s-cis-1.7-hardened +spec: + clusterProvider: k3s + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-permissive.yaml new file mode 100644 index 0000000000..b556d70fe5 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.7-permissive.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: k3s-cis-1.7-permissive +spec: + clusterProvider: k3s + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-hardened.yaml new file mode 100644 index 0000000000..3f6ac5c159 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-hardened.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: k3s-cis-1.8-hardened +spec: + clusterProvider: k3s + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-permissive.yaml new file mode 100644 index 0000000000..26f1cdba98 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-k3s-cis-1.8-permissive.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: k3s-cis-1.8-permissive +spec: + clusterProvider: k3s + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-hardened.yaml new file mode 100644 index 0000000000..39bac7833c --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-hardened.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke-cis-1.7-hardened +spec: + clusterProvider: rke + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-permissive.yaml new file mode 100644 index 0000000000..2e2f09ac74 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.7-permissive.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke-cis-1.7-permissive +spec: + clusterProvider: rke + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-hardened.yaml new file mode 100644 index 0000000000..4dbf8b4522 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-hardened.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke-cis-1.8-hardened +spec: + clusterProvider: rke + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-permissive.yaml new file mode 100644 index 0000000000..2aa0c85ac4 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke-cis-1.8-permissive.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke-cis-1.8-permissive +spec: + clusterProvider: rke + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-hardened.yaml new file mode 100644 index 0000000000..6306e9601a --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-hardened.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke2-cis-1.7-hardened +spec: + clusterProvider: rke2 + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-permissive.yaml new file mode 100644 index 0000000000..76236e11af --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.7-permissive.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke2-cis-1.7-permissive +spec: + clusterProvider: rke2 + minKubernetesVersion: "1.25.0" + maxKubernetesVersion: "1.25.x" diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-hardened.yaml new file mode 100644 index 0000000000..bf8ee31f7b --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-hardened.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke2-cis-1.8-hardened +spec: + clusterProvider: rke2 + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-permissive.yaml new file mode 100644 index 0000000000..bd396f9df5 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/benchmark-rke2-cis-1.8-permissive.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanBenchmark +metadata: + name: rke2-cis-1.8-permissive +spec: + clusterProvider: rke2 + minKubernetesVersion: "1.26.0" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/cis-roles.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/cis-roles.yaml new file mode 100644 index 0000000000..23c93dc659 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/cis-roles.yaml @@ -0,0 +1,49 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: cis-admin +rules: + - apiGroups: + - cis.cattle.io + resources: + - clusterscanbenchmarks + - clusterscanprofiles + - clusterscans + - clusterscanreports + verbs: ["create", "update", "delete", "patch","get", "watch", "list"] + - apiGroups: + - catalog.cattle.io + resources: ["apps"] + resourceNames: ["rancher-cis-benchmark"] + verbs: ["get", "watch", "list"] + - apiGroups: + - "" + resources: + - configmaps + verbs: + - '*' +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: cis-view +rules: + - apiGroups: + - cis.cattle.io + resources: + - clusterscanbenchmarks + - clusterscanprofiles + - clusterscans + - clusterscanreports + verbs: ["get", "watch", "list"] + - apiGroups: + - catalog.cattle.io + resources: ["apps"] + resourceNames: ["rancher-cis-benchmark"] + verbs: ["get", "watch", "list"] + - apiGroups: + - "" + resources: + - configmaps + verbs: ["get", "watch", "list"] diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/configmap.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/configmap.yaml new file mode 100644 index 0000000000..32e6d6e550 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/configmap.yaml @@ -0,0 +1,18 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: default-clusterscanprofiles + namespace: {{ template "cis.namespace" . }} +data: + # Default ClusterScanProfiles per cluster provider type + rke: |- + <1.21.0: rke-profile-permissive-1.20 + >=1.21.0: rke-profile-permissive-1.8 + rke2: |- + <1.21.0: rke2-cis-1.20-profile-permissive + >=1.21.0: rke2-cis-1.8-profile-permissive + eks: "eks-profile" + gke: "gke-profile" + aks: "aks-profile" + k3s: "k3s-cis-1.8-profile-permissive" + default: "cis-1.8-profile" \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/deployment.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/deployment.yaml new file mode 100644 index 0000000000..8c9f72f5de --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cis-operator + namespace: {{ template "cis.namespace" . }} + labels: + cis.cattle.io/operator: cis-operator +spec: + selector: + matchLabels: + cis.cattle.io/operator: cis-operator + template: + metadata: + labels: + cis.cattle.io/operator: cis-operator + spec: + serviceAccountName: cis-operator-serviceaccount + containers: + - name: cis-operator + image: '{{ template "system_default_registry" . }}{{ .Values.image.cisoperator.repository }}:{{ .Values.image.cisoperator.tag }}' + imagePullPolicy: IfNotPresent + ports: + - name: cismetrics + containerPort: {{ .Values.alerts.metricsPort }} + env: + - name: SECURITY_SCAN_IMAGE + value: {{ template "system_default_registry" . }}{{ .Values.image.securityScan.repository }} + - name: SECURITY_SCAN_IMAGE_TAG + value: {{ .Values.image.securityScan.tag }} + - name: SONOBUOY_IMAGE + value: {{ template "system_default_registry" . }}{{ .Values.image.sonobuoy.repository }} + - name: SONOBUOY_IMAGE_TAG + value: {{ .Values.image.sonobuoy.tag }} + - name: CIS_ALERTS_METRICS_PORT + value: '{{ .Values.alerts.metricsPort }}' + - name: CIS_ALERTS_SEVERITY + value: {{ .Values.alerts.severity }} + - name: CIS_ALERTS_ENABLED + value: {{ .Values.alerts.enabled | default "false" | quote }} + - name: CLUSTER_NAME + value: '{{ .Values.global.cattle.clusterName }}' + - name: CIS_OPERATOR_DEBUG + value: '{{ .Values.image.cisoperator.debug }}' + {{- if .Values.securityScanJob.overrideTolerations }} + - name: SECURITY_SCAN_JOB_TOLERATIONS + value: '{{ .Values.securityScanJob.tolerations | toJson }}' + {{- end }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + 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 }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/network_policy_allow_all.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/network_policy_allow_all.yaml new file mode 100644 index 0000000000..6ed5d645ea --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/network_policy_allow_all.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: default-allow-all + namespace: {{ template "cis.namespace" . }} +spec: + podSelector: {} + ingress: + - {} + egress: + - {} + policyTypes: + - Ingress + - Egress diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/patch_default_serviceaccount.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/patch_default_serviceaccount.yaml new file mode 100644 index 0000000000..e78a6bd08a --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/patch_default_serviceaccount.yaml @@ -0,0 +1,29 @@ +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: patch-sa + annotations: + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation +spec: + template: + spec: + serviceAccountName: cis-operator-serviceaccount + 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 }} + 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", {{ template "cis.namespace" . }}] + + backoffLimit: 1 diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/psp.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/psp.yaml new file mode 100644 index 0000000000..9b8a5995ee --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/psp.yaml @@ -0,0 +1,59 @@ +{{- if .Values.global.cattle.psp.enabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: cis-psp +spec: + allowPrivilegeEscalation: true + allowedCapabilities: + - '*' + fsGroup: + rule: RunAsAny + hostIPC: true + hostNetwork: true + hostPID: true + hostPorts: + - max: 65535 + min: 0 + privileged: true + runAsUser: + rule: RunAsAny + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + volumes: + - '*' +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: cis-psp-role + namespace: {{ template "cis.namespace" . }} +rules: +- apiGroups: + - policy + resourceNames: + - cis-psp + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: cis-psp-rolebinding + namespace: {{ template "cis.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: cis-psp-role +subjects: +- kind: ServiceAccount + name: cis-serviceaccount + namespace: {{ template "cis.namespace" . }} +- kind: ServiceAccount + name: cis-operator-serviceaccount + namespace: {{ template "cis.namespace" . }} +{{- end }} diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/rbac.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/rbac.yaml new file mode 100644 index 0000000000..33fb93f04c --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/rbac.yaml @@ -0,0 +1,219 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name + name: cis-operator-clusterrole +rules: +- apiGroups: + - "cis.cattle.io" + resources: + - "*" + verbs: + - "*" +- apiGroups: + - "" + resources: + - "pods" + - "services" + - "configmaps" + - "nodes" + - "serviceaccounts" + verbs: + - "get" + - "list" + - "create" + - "update" + - "watch" + - "patch" +- apiGroups: + - "rbac.authorization.k8s.io" + resources: + - "rolebindings" + - "clusterrolebindings" + - "clusterroles" + verbs: + - "get" + - "list" +- apiGroups: + - "batch" + resources: + - "jobs" + verbs: + - "list" + - "create" + - "patch" + - "update" + - "watch" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name + name: cis-scan-ns +rules: +{{- if .Values.global.cattle.psp.enabled }} +- apiGroups: + - "*" + resources: + - "podsecuritypolicies" + verbs: + - "get" + - "list" + - "watch" +{{- end }} +- apiGroups: + - "" + resources: + - "namespaces" + - "nodes" + - "pods" + - "serviceaccounts" + - "services" + - "replicationcontrollers" + verbs: + - "get" + - "list" + - "watch" +- apiGroups: + - "rbac.authorization.k8s.io" + resources: + - "rolebindings" + - "clusterrolebindings" + - "clusterroles" + verbs: + - "get" + - "list" +- apiGroups: + - "batch" + resources: + - "jobs" + - "cronjobs" + verbs: + - "list" +- apiGroups: + - "apps" + resources: + - "daemonsets" + - "deployments" + - "replicasets" + - "statefulsets" + verbs: + - "list" +- apiGroups: + - "autoscaling" + resources: + - "horizontalpodautoscalers" + verbs: + - "list" +- apiGroups: + - "networking.k8s.io" + resources: + - "networkpolicies" + verbs: + - "get" + - "list" + - "watch" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: cis-operator-role + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name + namespace: {{ template "cis.namespace" . }} +rules: +- apiGroups: + - "" + resources: + - "services" + verbs: + - "watch" + - "list" + - "get" + - "patch" +- apiGroups: + - "batch" + resources: + - "jobs" + verbs: + - "watch" + - "list" + - "get" + - "delete" +- apiGroups: + - "" + resources: + - "configmaps" + - "pods" + - "secrets" + verbs: + - "*" +- apiGroups: + - "apps" + resources: + - "daemonsets" + verbs: + - "*" +- apiGroups: + - monitoring.coreos.com + resources: + - prometheusrules + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name + name: cis-operator-clusterrolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cis-operator-clusterrole +subjects: +- kind: ServiceAccount + name: cis-operator-serviceaccount + namespace: {{ template "cis.namespace" . }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: cis-scan-ns + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cis-scan-ns +subjects: +- kind: ServiceAccount + name: cis-serviceaccount + namespace: {{ template "cis.namespace" . }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name + name: cis-operator-rolebinding + namespace: {{ template "cis.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: cis-operator-role +subjects: +- kind: ServiceAccount + name: cis-serviceaccount + namespace: {{ template "cis.namespace" . }} +- kind: ServiceAccount + name: cis-operator-serviceaccount + namespace: {{ template "cis.namespace" . }} diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.7.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.7.yaml new file mode 100644 index 0000000000..edac79e2a3 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.7.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: cis-1.7-profile + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: cis-1.7 \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.8.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.8.yaml new file mode 100644 index 0000000000..bf68d6ec17 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-cis-1.8.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: cis-1.8-profile + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: cis-1.8 \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-hardened.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-hardened.yml new file mode 100644 index 0000000000..51fd6baf00 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-hardened.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: k3s-cis-1.7-profile-hardened + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: k3s-cis-1.7-hardened \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-permissive.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-permissive.yml new file mode 100644 index 0000000000..0c1baf774a --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.7-permissive.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: k3s-cis-1.7-profile-permissive + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: k3s-cis-1.7-permissive \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-hardened.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-hardened.yml new file mode 100644 index 0000000000..8a78b2a964 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-hardened.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: k3s-cis-1.8-profile-hardened + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: k3s-cis-1.8-hardened \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-permissive.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-permissive.yml new file mode 100644 index 0000000000..3bbf94335c --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-k3s-cis-1.8-permissive.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: k3s-cis-1.8-profile-permissive + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: k3s-cis-1.8-permissive \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-hardened.yaml new file mode 100644 index 0000000000..e488eaedf0 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-hardened.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke-profile-hardened-1.7 + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke-cis-1.7-hardened \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-permissive.yaml new file mode 100644 index 0000000000..8e6df750d6 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.7-permissive.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke-profile-permissive-1.7 + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke-cis-1.7-permissive \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-hardened.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-hardened.yaml new file mode 100644 index 0000000000..24a1250c06 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-hardened.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke-profile-hardened-1.8 + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke-cis-1.8-hardened \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-permissive.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-permissive.yaml new file mode 100644 index 0000000000..4472913c64 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke-1.8-permissive.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke-profile-permissive-1.8 + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke-cis-1.8-permissive \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-hardened.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-hardened.yml new file mode 100644 index 0000000000..9e90d769ac --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-hardened.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke2-cis-1.7-profile-hardened + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke2-cis-1.7-hardened \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-permissive.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-permissive.yml new file mode 100644 index 0000000000..4363d3afab --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.7-permissive.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke2-cis-1.7-profile-permissive + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke2-cis-1.7-permissive \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-hardened.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-hardened.yml new file mode 100644 index 0000000000..05fc5d8d33 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-hardened.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke2-cis-1.8-profile-hardened + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke2-cis-1.8-hardened \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-permissive.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-permissive.yml new file mode 100644 index 0000000000..a83409c02e --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofile-rke2-cis-1.8-permissive.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: rke2-cis-1.8-profile-permissive + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: rke2-cis-1.8-permissive \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofileaks.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofileaks.yml new file mode 100644 index 0000000000..ea7b25b404 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofileaks.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: aks-profile + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: aks-1.0 \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofileeks.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofileeks.yml new file mode 100644 index 0000000000..de4500acd9 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofileeks.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: eks-profile + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: eks-1.2.0 \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/scanprofilegke.yml b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofilegke.yml new file mode 100644 index 0000000000..3e5e2439ac --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/scanprofilegke.yml @@ -0,0 +1,9 @@ +--- +apiVersion: cis.cattle.io/v1 +kind: ClusterScanProfile +metadata: + name: gke-profile + annotations: + clusterscanprofile.cis.cattle.io/builtin: "true" +spec: + benchmarkVersion: gke-1.2.0 \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/serviceaccount.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/serviceaccount.yaml new file mode 100644 index 0000000000..ec48ec6224 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/serviceaccount.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: {{ template "cis.namespace" . }} + name: cis-operator-serviceaccount +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: {{ template "cis.namespace" . }} + labels: + app.kubernetes.io/name: rancher-cis-benchmark + app.kubernetes.io/instance: release-name + name: cis-serviceaccount diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/validate-install-crd.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/validate-install-crd.yaml new file mode 100644 index 0000000000..562295791b --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/validate-install-crd.yaml @@ -0,0 +1,17 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "cis.cattle.io/v1/ClusterScan" false -}} +# {{- set $found "cis.cattle.io/v1/ClusterScanBenchmark" false -}} +# {{- set $found "cis.cattle.io/v1/ClusterScanProfile" false -}} +# {{- set $found "cis.cattle.io/v1/ClusterScanReport" false -}} +# {{- range .Capabilities.APIVersions -}} +# {{- if hasKey $found (toString .) -}} +# {{- set $found (toString .) true -}} +# {{- end -}} +# {{- end -}} +# {{- range $_, $exists := $found -}} +# {{- if (eq $exists false) -}} +# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} +# {{- end -}} +# {{- end -}} +#{{- end -}} \ No newline at end of file diff --git a/charts/rancher-cis-benchmark/5.3.0/templates/validate-psp-install.yaml b/charts/rancher-cis-benchmark/5.3.0/templates/validate-psp-install.yaml new file mode 100644 index 0000000000..a30c59d3b7 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/templates/validate-psp-install.yaml @@ -0,0 +1,7 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +#{{- if .Values.global.cattle.psp.enabled }} +#{{- if not (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }} +#{{- fail "The target cluster does not have the PodSecurityPolicy API resource. Please disable PSPs in this chart before proceeding." -}} +#{{- end }} +#{{- end }} +#{{- end }} diff --git a/charts/rancher-cis-benchmark/5.3.0/values.yaml b/charts/rancher-cis-benchmark/5.3.0/values.yaml new file mode 100644 index 0000000000..40c98949c4 --- /dev/null +++ b/charts/rancher-cis-benchmark/5.3.0/values.yaml @@ -0,0 +1,55 @@ +# Default values for rancher-cis-benchmark. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +image: + cisoperator: + repository: rancher/cis-operator + tag: v1.0.14 + securityScan: + repository: rancher/security-scan + tag: v0.2.16 + sonobuoy: + repository: rancher/mirrored-sonobuoy-sonobuoy + tag: v0.57.1 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +## 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: [] + +securityScanJob: + overrideTolerations: false + tolerations: [] + +affinity: {} + +global: + cattle: + systemDefaultRegistry: "" + clusterName: "" + psp: + enabled: false + kubectl: + repository: rancher/kubectl + tag: v1.28.12 + +alerts: + enabled: false + severity: warning + metricsPort: 8080 diff --git a/charts/rancher-eks-operator-crd/103.4.0+up1.3.4/Chart.yaml b/charts/rancher-eks-operator-crd/103.4.0+up1.3.4/Chart.yaml new file mode 100644 index 0000000000..8cd282b5f0 --- /dev/null +++ b/charts/rancher-eks-operator-crd/103.4.0+up1.3.4/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: rancher-eks-operator-crd +apiVersion: v2 +appVersion: 1.3.4 +description: EKS Operator CustomResourceDefinitions +name: rancher-eks-operator-crd +version: 103.4.0+up1.3.4 diff --git a/charts/rancher-eks-operator-crd/103.4.0+up1.3.4/templates/crds.yaml b/charts/rancher-eks-operator-crd/103.4.0+up1.3.4/templates/crds.yaml new file mode 100644 index 0000000000..f1c4534210 --- /dev/null +++ b/charts/rancher-eks-operator-crd/103.4.0+up1.3.4/templates/crds.yaml @@ -0,0 +1,226 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + helm.sh/resource-policy: keep + name: eksclusterconfigs.eks.cattle.io +spec: + group: eks.cattle.io + names: + kind: EKSClusterConfig + plural: eksclusterconfigs + shortNames: + - ekscc + singular: eksclusterconfig + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + amazonCredentialSecret: + nullable: true + type: string + displayName: + nullable: true + type: string + ebsCSIDriver: + nullable: true + type: boolean + imported: + type: boolean + kmsKey: + nullable: true + type: string + kubernetesVersion: + nullable: true + type: string + loggingTypes: + items: + nullable: true + type: string + nullable: true + type: array + nodeGroups: + items: + properties: + desiredSize: + nullable: true + type: integer + diskSize: + nullable: true + type: integer + ec2SshKey: + nullable: true + type: string + gpu: + nullable: true + type: boolean + imageId: + nullable: true + type: string + instanceType: + nullable: true + type: string + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + launchTemplate: + nullable: true + properties: + id: + nullable: true + type: string + name: + nullable: true + type: string + version: + nullable: true + type: integer + type: object + maxSize: + nullable: true + type: integer + minSize: + nullable: true + type: integer + nodeRole: + nullable: true + type: string + nodegroupName: + nullable: true + type: string + requestSpotInstances: + nullable: true + type: boolean + resourceTags: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + spotInstanceTypes: + items: + nullable: true + type: string + nullable: true + type: array + subnets: + items: + nullable: true + type: string + nullable: true + type: array + tags: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + userData: + nullable: true + type: string + version: + nullable: true + type: string + required: + - nodegroupName + type: object + nullable: true + type: array + privateAccess: + nullable: true + type: boolean + publicAccess: + nullable: true + type: boolean + publicAccessSources: + items: + nullable: true + type: string + nullable: true + type: array + region: + nullable: true + type: string + secretsEncryption: + nullable: true + type: boolean + securityGroups: + items: + nullable: true + type: string + nullable: true + type: array + serviceRole: + nullable: true + type: string + subnets: + items: + nullable: true + type: string + nullable: true + type: array + tags: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + status: + properties: + failureMessage: + nullable: true + type: string + generatedNodeRole: + nullable: true + type: string + managedLaunchTemplateID: + nullable: true + type: string + managedLaunchTemplateVersions: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + networkFieldsSource: + nullable: true + type: string + phase: + nullable: true + type: string + securityGroups: + items: + nullable: true + type: string + nullable: true + type: array + subnets: + items: + nullable: true + type: string + nullable: true + type: array + templateVersionsToDelete: + items: + nullable: true + type: string + nullable: true + type: array + virtualNetwork: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/Chart.yaml b/charts/rancher-eks-operator/103.4.0+up1.3.4/Chart.yaml new file mode 100644 index 0000000000..c772b75a33 --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/Chart.yaml @@ -0,0 +1,20 @@ +annotations: + catalog.cattle.io/auto-install: rancher-eks-operator-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: eksclusterconfigs.eks.cattle.io/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-eks-operator + catalog.cattle.io/scope: management +apiVersion: v2 +appVersion: 1.3.4 +description: A Helm chart for provisioning EKS clusters +home: https://github.com/rancher/eks-operator +name: rancher-eks-operator +sources: +- https://github.com/rancher/eks-operator +version: 103.4.0+up1.3.4 diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/NOTES.txt b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/NOTES.txt new file mode 100644 index 0000000000..23a1b4a8bf --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/NOTES.txt @@ -0,0 +1,4 @@ +You have deployed the Rancher EKS operator +Version: {{ .Chart.AppVersion }} +Description: This operator provisions EKS clusters +from EKSClusterConfig CRs. diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/_helpers.tpl b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/_helpers.tpl new file mode 100644 index 0000000000..de3b332f6a --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} + +{{- 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 -}} + diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrole.yaml b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrole.yaml new file mode 100644 index 0000000000..d0d561b6ea --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrole.yaml @@ -0,0 +1,15 @@ +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: eks-operator + namespace: cattle-system +rules: + - apiGroups: [''] + resources: ['secrets'] + verbs: ['get', 'list', 'create', 'watch'] + - apiGroups: ['eks.cattle.io'] + resources: ['eksclusterconfigs'] + verbs: ['get', 'list', 'update', 'watch'] + - apiGroups: ['eks.cattle.io'] + resources: ['eksclusterconfigs/status'] + verbs: ['update'] diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrolebinding.yaml b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..2b1846353e --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/clusterrolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: eks-operator + namespace: cattle-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: eks-operator +subjects: +- kind: ServiceAccount + name: eks-operator + namespace: cattle-system diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/deployment.yaml b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/deployment.yaml new file mode 100644 index 0000000000..898383907a --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: eks-config-operator + namespace: cattle-system +spec: + replicas: 1 + selector: + matchLabels: + ke.cattle.io/operator: eks + template: + metadata: + labels: + ke.cattle.io/operator: eks + spec: + 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 }} + serviceAccountName: eks-operator + {{- if .Values.priorityClassName }} + priorityClassName: "{{.Values.priorityClassName}}" + {{- end }} + securityContext: + fsGroup: 1007 + runAsUser: 1007 + containers: + - name: eks-operator + image: '{{ template "system_default_registry" $ }}{{ $.Values.eksOperator.image.repository }}:{{ $.Values.eksOperator.image.tag }}' + imagePullPolicy: IfNotPresent + env: + - name: HTTP_PROXY + value: {{ .Values.httpProxy }} + - name: HTTPS_PROXY + value: {{ .Values.httpsProxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} +{{- if .Values.additionalTrustedCAs }} + # eks-operator mounts the additional CAs in two places: + volumeMounts: + # This directory is owned by the eks-operator user so c_rehash works here. + - mountPath: /etc/rancher/ssl/ca-additional.pem + name: tls-ca-additional-volume + subPath: ca-additional.pem + readOnly: true + # This directory is root-owned so c_rehash doesn't work here, + # but the cert is here in case update-ca-certificates is called in the future or by the OS. + - mountPath: /etc/pki/trust/anchors/ca-additional.pem + name: tls-ca-additional-volume + subPath: ca-additional.pem + readOnly: true + volumes: + - name: tls-ca-additional-volume + secret: + defaultMode: 0400 + secretName: tls-ca-additional + {{- end }} diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/serviceaccount.yaml b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/serviceaccount.yaml new file mode 100644 index 0000000000..934de07e0d --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/templates/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: cattle-system + name: eks-operator diff --git a/charts/rancher-eks-operator/103.4.0+up1.3.4/values.yaml b/charts/rancher-eks-operator/103.4.0+up1.3.4/values.yaml new file mode 100644 index 0000000000..492cdd22b9 --- /dev/null +++ b/charts/rancher-eks-operator/103.4.0+up1.3.4/values.yaml @@ -0,0 +1,22 @@ +global: + cattle: + systemDefaultRegistry: "" + +eksOperator: + image: + repository: rancher/eks-operator + tag: v1.3.4 + +httpProxy: "" +httpsProxy: "" +noProxy: "" +additionalTrustedCAs: false +## 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: "" diff --git a/charts/rancher-gke-operator-crd/103.4.0+up1.2.4/Chart.yaml b/charts/rancher-gke-operator-crd/103.4.0+up1.2.4/Chart.yaml new file mode 100644 index 0000000000..eb324be37a --- /dev/null +++ b/charts/rancher-gke-operator-crd/103.4.0+up1.2.4/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: rancher-gke-operator-crd +apiVersion: v2 +appVersion: 1.2.4 +description: GKE Operator CustomResourceDefinitions +name: rancher-gke-operator-crd +version: 103.4.0+up1.2.4 diff --git a/charts/rancher-gke-operator-crd/103.4.0+up1.2.4/templates/crds.yaml b/charts/rancher-gke-operator-crd/103.4.0+up1.2.4/templates/crds.yaml new file mode 100644 index 0000000000..aaa323f363 --- /dev/null +++ b/charts/rancher-gke-operator-crd/103.4.0+up1.2.4/templates/crds.yaml @@ -0,0 +1,250 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + helm.sh/resource-policy: keep + name: gkeclusterconfigs.gke.cattle.io +spec: + group: gke.cattle.io + names: + kind: GKEClusterConfig + plural: gkeclusterconfigs + shortNames: + - gkecc + singular: gkeclusterconfig + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + clusterAddons: + nullable: true + properties: + horizontalPodAutoscaling: + type: boolean + httpLoadBalancing: + type: boolean + networkPolicyConfig: + type: boolean + type: object + clusterIpv4Cidr: + nullable: true + type: string + clusterName: + nullable: true + type: string + description: + nullable: true + type: string + enableKubernetesAlpha: + nullable: true + type: boolean + googleCredentialSecret: + nullable: true + type: string + imported: + type: boolean + ipAllocationPolicy: + nullable: true + properties: + clusterIpv4CidrBlock: + nullable: true + type: string + clusterSecondaryRangeName: + nullable: true + type: string + createSubnetwork: + type: boolean + nodeIpv4CidrBlock: + nullable: true + type: string + servicesIpv4CidrBlock: + nullable: true + type: string + servicesSecondaryRangeName: + nullable: true + type: string + subnetworkName: + nullable: true + type: string + useIpAliases: + type: boolean + type: object + kubernetesVersion: + nullable: true + type: string + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + locations: + items: + nullable: true + type: string + nullable: true + type: array + loggingService: + nullable: true + type: string + maintenanceWindow: + nullable: true + type: string + masterAuthorizedNetworks: + nullable: true + properties: + cidrBlocks: + items: + properties: + cidrBlock: + nullable: true + type: string + displayName: + nullable: true + type: string + type: object + nullable: true + type: array + enabled: + type: boolean + type: object + monitoringService: + nullable: true + type: string + network: + nullable: true + type: string + networkPolicyEnabled: + nullable: true + type: boolean + nodePools: + items: + properties: + autoscaling: + nullable: true + properties: + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + config: + nullable: true + properties: + diskSizeGb: + type: integer + diskType: + nullable: true + type: string + imageType: + nullable: true + type: string + labels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + localSsdCount: + type: integer + machineType: + nullable: true + type: string + oauthScopes: + items: + nullable: true + type: string + nullable: true + type: array + preemptible: + type: boolean + tags: + items: + nullable: true + type: string + nullable: true + type: array + taints: + items: + properties: + effect: + nullable: true + type: string + key: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + initialNodeCount: + nullable: true + type: integer + management: + nullable: true + properties: + autoRepair: + type: boolean + autoUpgrade: + type: boolean + type: object + maxPodsConstraint: + nullable: true + type: integer + name: + nullable: true + type: string + version: + nullable: true + type: string + type: object + nullable: true + type: array + privateClusterConfig: + nullable: true + properties: + enablePrivateEndpoint: + type: boolean + enablePrivateNodes: + type: boolean + masterIpv4CidrBlock: + nullable: true + type: string + type: object + projectID: + nullable: true + type: string + region: + nullable: true + type: string + subnetwork: + nullable: true + type: string + zone: + nullable: true + type: string + type: object + status: + properties: + failureMessage: + nullable: true + type: string + phase: + nullable: true + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/Chart.yaml b/charts/rancher-gke-operator/103.4.0+up1.2.4/Chart.yaml new file mode 100644 index 0000000000..1a1a71dee6 --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/Chart.yaml @@ -0,0 +1,20 @@ +annotations: + catalog.cattle.io/auto-install: rancher-gke-operator-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: gkeclusterconfigs.gke.cattle.io/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-gke-operator + catalog.cattle.io/scope: management +apiVersion: v2 +appVersion: 1.2.4 +description: A Helm chart for provisioning GKE clusters +home: https://github.com/rancher/gke-operator +name: rancher-gke-operator +sources: +- https://github.com/rancher/gke-operator +version: 103.4.0+up1.2.4 diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/NOTES.txt b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/NOTES.txt new file mode 100644 index 0000000000..238173d1bd --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/NOTES.txt @@ -0,0 +1,4 @@ +You have deployed the Rancher GKE operator +Version: {{ .Chart.AppVersion }} +Description: This operator provisions GKE clusters +from GKEClusterConfig CRs. diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/_helpers.tpl b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/_helpers.tpl new file mode 100644 index 0000000000..de3b332f6a --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} + +{{- 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 -}} + diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrole.yaml b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrole.yaml new file mode 100644 index 0000000000..7c352696ee --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrole.yaml @@ -0,0 +1,15 @@ +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: gke-operator + namespace: cattle-system +rules: + - apiGroups: [''] + resources: ['secrets'] + verbs: ['get', 'list', 'create', 'watch'] + - apiGroups: ['gke.cattle.io'] + resources: ['gkeclusterconfigs'] + verbs: ['get', 'list', 'update', 'watch'] + - apiGroups: ['gke.cattle.io'] + resources: ['gkeclusterconfigs/status'] + verbs: ['update'] diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..e2af390c71 --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/clusterrolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: gke-operator + namespace: cattle-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: gke-operator +subjects: +- kind: ServiceAccount + name: gke-operator + namespace: cattle-system diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/deployment.yaml b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/deployment.yaml new file mode 100644 index 0000000000..3af5a6c0f7 --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/deployment.yaml @@ -0,0 +1,62 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gke-config-operator + namespace: cattle-system +spec: + replicas: 1 + selector: + matchLabels: + ke.cattle.io/operator: gke + template: + metadata: + labels: + ke.cattle.io/operator: gke + spec: + 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 }} + serviceAccountName: gke-operator + {{- if .Values.priorityClassName }} + priorityClassName: "{{.Values.priorityClassName}}" + {{- end }} + securityContext: + fsGroup: 1007 + runAsUser: 1007 + containers: + - name: rancher-gke-operator + image: '{{ template "system_default_registry" $ }}{{ $.Values.gkeOperator.image.repository }}:{{ $.Values.gkeOperator.image.tag }}' + imagePullPolicy: IfNotPresent + args: ["-debug={{ .Values.gkeOperator.debug | default false }}"] + env: + - name: HTTP_PROXY + value: {{ .Values.httpProxy }} + - name: HTTPS_PROXY + value: {{ .Values.httpsProxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} +{{- if .Values.additionalTrustedCAs }} + # gke-operator mounts the additional CAs in two places: + volumeMounts: + # This directory is owned by the gke-operator user so c_rehash works here. + - mountPath: /etc/rancher/ssl/ca-additional.pem + name: tls-ca-additional-volume + subPath: ca-additional.pem + readOnly: true + # This directory is root-owned so c_rehash doesn't work here, + # but the cert is here in case update-ca-certificates is called in the future or by the OS. + - mountPath: /etc/pki/trust/anchors/ca-additional.pem + name: tls-ca-additional-volume + subPath: ca-additional.pem + readOnly: true + volumes: + - name: tls-ca-additional-volume + secret: + defaultMode: 0400 + secretName: tls-ca-additional + {{- end }} diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml new file mode 100644 index 0000000000..ba52af6280 --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/templates/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: cattle-system + name: gke-operator diff --git a/charts/rancher-gke-operator/103.4.0+up1.2.4/values.yaml b/charts/rancher-gke-operator/103.4.0+up1.2.4/values.yaml new file mode 100644 index 0000000000..8890b89649 --- /dev/null +++ b/charts/rancher-gke-operator/103.4.0+up1.2.4/values.yaml @@ -0,0 +1,23 @@ +global: + cattle: + systemDefaultRegistry: "" + +gkeOperator: + image: + repository: rancher/gke-operator + tag: v1.2.4 + debug: false + +httpProxy: "" +httpsProxy: "" +noProxy: "" +additionalTrustedCAs: false +## 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: "" diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/Chart.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/Chart.yaml new file mode 100644 index 0000000000..66f0d198a8 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/Chart.yaml @@ -0,0 +1,10 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-logging-system + catalog.cattle.io/release-name: rancher-logging-crd +apiVersion: v1 +description: Installs the CRDs for rancher-logging. +name: rancher-logging-crd +type: application +version: 103.1.2+up4.4.0 diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/README.md b/charts/rancher-logging-crd/103.1.2+up4.4.0/README.md new file mode 100644 index 0000000000..d4beb54faf --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/README.md @@ -0,0 +1,2 @@ +# rancher-logging-crd +A Rancher chart that installs the CRDs used by rancher-logging. diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_eventtailers.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_eventtailers.yaml new file mode 100644 index 0000000000..e57bb1157c --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_eventtailers.yaml @@ -0,0 +1,2212 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: eventtailers.logging-extensions.banzaicloud.io +spec: + group: logging-extensions.banzaicloud.io + names: + kind: EventTailer + listKind: EventTailerList + plural: eventtailers + singular: eventtailer + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + containerOverrides: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + controlNamespace: + type: string + positionVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + workloadMetaOverrides: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + workloadOverrides: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + containers: + items: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + type: array + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + type: array + nodeSelector: + additionalProperties: + type: string + type: object + priorityClassName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + required: + - controlNamespace + type: object + status: + type: object + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_hosttailers.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_hosttailers.yaml new file mode 100644 index 0000000000..46eeacb0da --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging-extensions.banzaicloud.io_hosttailers.yaml @@ -0,0 +1,2367 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: hosttailers.logging-extensions.banzaicloud.io +spec: + group: logging-extensions.banzaicloud.io + names: + kind: HostTailer + listKind: HostTailerList + plural: hosttailers + singular: hosttailer + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + enableRecreateWorkloadOnImmutableFieldChange: + type: boolean + fileTailers: + items: + properties: + buffer_chunk_size: + type: string + buffer_max_size: + type: string + containerOverrides: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + disabled: + type: boolean + name: + type: string + path: + type: string + read_from_head: + type: boolean + skip_long_lines: + type: string + required: + - name + type: object + type: array + systemdTailers: + items: + properties: + containerOverrides: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + disabled: + type: boolean + maxEntries: + type: integer + name: + type: string + path: + type: string + systemdFilter: + type: string + required: + - name + type: object + type: array + workloadMetaOverrides: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + workloadOverrides: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + containers: + items: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + type: array + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + command: + items: + type: string + type: array + image: + type: string + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + pullPolicy: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + type: array + nodeSelector: + additionalProperties: + type: string + type: object + priorityClassName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + status: + type: object + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusterflows.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusterflows.yaml new file mode 100644 index 0000000000..056e23fffd --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusterflows.yaml @@ -0,0 +1,2080 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: clusterflows.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: ClusterFlow + listKind: ClusterFlowList + plural: clusterflows + singular: clusterflow + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the flow active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + filters: + items: + properties: + concat: + properties: + continuous_line_regexp: + type: string + flush_interval: + type: integer + keep_partial_key: + type: boolean + keep_partial_metadata: + type: string + key: + type: string + multiline_end_regexp: + type: string + multiline_start_regexp: + type: string + n_lines: + type: integer + partial_cri_logtag_key: + type: string + partial_cri_stream_key: + type: string + partial_key: + type: string + partial_metadata_format: + type: string + partial_value: + type: string + separator: + type: string + stream_identity_key: + type: string + timeout_label: + type: string + use_first_timestamp: + type: boolean + use_partial_cri_logtag: + type: boolean + use_partial_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + force_line_breaks: + type: boolean + languages: + items: + type: string + type: array + match_tag: + type: string + max_bytes: + type: integer + max_lines: + type: integer + message: + type: string + multiline_flush_interval: + type: string + remove_tag_prefix: + type: string + stream: + type: string + type: object + elasticsearch_genid: + properties: + hash_id_key: + type: string + hash_type: + type: string + include_tag_in_seed: + type: boolean + include_time_in_seed: + type: boolean + record_keys: + type: string + separator: + type: string + use_entire_record: + type: boolean + use_record_as_seed: + type: boolean + type: object + enhanceK8s: + properties: + api_groups: + items: + type: string + type: array + bearer_token_file: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cache_refresh: + type: integer + cache_refresh_variation: + type: integer + cache_size: + type: integer + cache_ttl: + type: integer + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + core_api_versions: + items: + type: string + type: array + data_type: + type: string + in_namespace_path: + items: + type: string + type: array + in_pod_path: + items: + type: string + type: array + kubernetes_url: + type: string + secret_dir: + type: string + ssl_partial_chain: + type: boolean + verify_ssl: + type: boolean + type: object + geoip: + properties: + backend_library: + type: string + geoip_database: + type: string + geoip_lookup_keys: + type: string + geoip2_database: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + skip_adding_null_record: + type: boolean + type: object + grep: + properties: + and: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + or: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + kube_events_timestamp: + properties: + mapped_time_key: + type: string + timestamp_fields: + items: + type: string + type: array + type: object + parser: + properties: + emit_invalid_record_to_error: + type: boolean + hash_value_field: + type: string + inject_key_prefix: + type: string + key_name: + type: string + parse: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + parsers: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + remove_key_name_field: + type: boolean + replace_invalid_sequence: + type: boolean + reserve_data: + type: boolean + reserve_time: + type: boolean + type: object + prometheus: + properties: + labels: + additionalProperties: + type: string + type: object + metrics: + items: + properties: + buckets: + type: string + desc: + type: string + key: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + required: + - desc + - name + - type + type: object + type: array + type: object + record_modifier: + properties: + char_encoding: + type: string + prepare_value: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + replaces: + items: + properties: + expression: + type: string + key: + type: string + replace: + type: string + required: + - expression + - key + - replace + type: object + type: array + whitelist_keys: + type: string + type: object + record_transformer: + properties: + auto_typecast: + type: boolean + enable_ruby: + type: boolean + keep_keys: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + renew_record: + type: boolean + renew_time_key: + type: string + type: object + stdout: + properties: + output_type: + type: string + type: object + sumologic: + properties: + collector_key_name: + type: string + collector_value: + type: string + exclude_container_regex: + type: string + exclude_facility_regex: + type: string + exclude_host_regex: + type: string + exclude_namespace_regex: + type: string + exclude_pod_regex: + type: string + exclude_priority_regex: + type: string + exclude_unit_regex: + type: string + log_format: + type: string + source_category: + type: string + source_category_key_name: + type: string + source_category_prefix: + type: string + source_category_replace_dash: + type: string + source_host: + type: string + source_host_key_name: + type: string + source_name: + type: string + source_name_key_name: + type: string + tracing_annotation_prefix: + type: string + tracing_container_name: + type: string + tracing_format: + type: boolean + tracing_host: + type: string + tracing_label_prefix: + type: string + tracing_namespace: + type: string + tracing_pod: + type: string + tracing_pod_id: + type: string + type: object + tag_normaliser: + properties: + format: + type: string + match_tag: + type: string + type: object + throttle: + properties: + group_bucket_limit: + type: integer + group_bucket_period_s: + type: integer + group_drop_logs: + type: boolean + group_key: + type: string + group_reset_rate_s: + type: integer + group_warning_delay_s: + type: integer + type: object + type: object + type: array + flowLabel: + type: string + globalOutputRefs: + items: + type: string + type: array + includeLabelInRouter: + type: boolean + loggingRef: + type: string + match: + items: + properties: + exclude: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + namespaces: + items: + type: string + type: array + type: object + select: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + namespaces: + items: + type: string + type: array + type: object + type: object + type: array + outputRefs: + items: + type: string + type: array + selectors: + additionalProperties: + type: string + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Is the flow active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + filters: + items: + properties: + concat: + properties: + continuous_line_regexp: + type: string + flush_interval: + type: integer + keep_partial_key: + type: boolean + keep_partial_metadata: + type: string + key: + type: string + multiline_end_regexp: + type: string + multiline_start_regexp: + type: string + n_lines: + type: integer + partial_cri_logtag_key: + type: string + partial_cri_stream_key: + type: string + partial_key: + type: string + partial_metadata_format: + type: string + partial_value: + type: string + separator: + type: string + stream_identity_key: + type: string + timeout_label: + type: string + use_first_timestamp: + type: boolean + use_partial_cri_logtag: + type: boolean + use_partial_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + force_line_breaks: + type: boolean + languages: + items: + type: string + type: array + match_tag: + type: string + max_bytes: + type: integer + max_lines: + type: integer + message: + type: string + multiline_flush_interval: + type: string + remove_tag_prefix: + type: string + stream: + type: string + type: object + elasticsearch_genid: + properties: + hash_id_key: + type: string + hash_type: + type: string + include_tag_in_seed: + type: boolean + include_time_in_seed: + type: boolean + record_keys: + type: string + separator: + type: string + use_entire_record: + type: boolean + use_record_as_seed: + type: boolean + type: object + enhanceK8s: + properties: + api_groups: + items: + type: string + type: array + bearer_token_file: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cache_refresh: + type: integer + cache_refresh_variation: + type: integer + cache_size: + type: integer + cache_ttl: + type: integer + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + core_api_versions: + items: + type: string + type: array + data_type: + type: string + in_namespace_path: + items: + type: string + type: array + in_pod_path: + items: + type: string + type: array + kubernetes_url: + type: string + secret_dir: + type: string + ssl_partial_chain: + type: boolean + verify_ssl: + type: boolean + type: object + geoip: + properties: + backend_library: + type: string + geoip_database: + type: string + geoip_lookup_keys: + type: string + geoip2_database: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + skip_adding_null_record: + type: boolean + type: object + grep: + properties: + and: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + or: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + kube_events_timestamp: + properties: + mapped_time_key: + type: string + timestamp_fields: + items: + type: string + type: array + type: object + parser: + properties: + emit_invalid_record_to_error: + type: boolean + hash_value_field: + type: string + inject_key_prefix: + type: string + key_name: + type: string + parse: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + parsers: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + remove_key_name_field: + type: boolean + replace_invalid_sequence: + type: boolean + reserve_data: + type: boolean + reserve_time: + type: boolean + type: object + prometheus: + properties: + labels: + additionalProperties: + type: string + type: object + metrics: + items: + properties: + buckets: + type: string + desc: + type: string + key: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + required: + - desc + - name + - type + type: object + type: array + type: object + record_modifier: + properties: + char_encoding: + type: string + prepare_value: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + replaces: + items: + properties: + expression: + type: string + key: + type: string + replace: + type: string + required: + - expression + - key + - replace + type: object + type: array + whitelist_keys: + type: string + type: object + record_transformer: + properties: + auto_typecast: + type: boolean + enable_ruby: + type: boolean + keep_keys: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + renew_record: + type: boolean + renew_time_key: + type: string + type: object + stdout: + properties: + output_type: + type: string + type: object + sumologic: + properties: + collector_key_name: + type: string + collector_value: + type: string + exclude_container_regex: + type: string + exclude_facility_regex: + type: string + exclude_host_regex: + type: string + exclude_namespace_regex: + type: string + exclude_pod_regex: + type: string + exclude_priority_regex: + type: string + exclude_unit_regex: + type: string + log_format: + type: string + source_category: + type: string + source_category_key_name: + type: string + source_category_prefix: + type: string + source_category_replace_dash: + type: string + source_host: + type: string + source_host_key_name: + type: string + source_name: + type: string + source_name_key_name: + type: string + tracing_annotation_prefix: + type: string + tracing_container_name: + type: string + tracing_format: + type: boolean + tracing_host: + type: string + tracing_label_prefix: + type: string + tracing_namespace: + type: string + tracing_pod: + type: string + tracing_pod_id: + type: string + type: object + tag_normaliser: + properties: + format: + type: string + match_tag: + type: string + type: object + throttle: + properties: + group_bucket_limit: + type: integer + group_bucket_period_s: + type: integer + group_drop_logs: + type: boolean + group_key: + type: string + group_reset_rate_s: + type: integer + group_warning_delay_s: + type: integer + type: object + type: object + type: array + flowLabel: + type: string + globalOutputRefs: + items: + type: string + type: array + includeLabelInRouter: + type: boolean + loggingRef: + type: string + match: + items: + properties: + exclude: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + namespaces: + items: + type: string + type: array + type: object + select: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + namespaces: + items: + type: string + type: array + type: object + type: object + type: array + outputRefs: + items: + type: string + type: array + selectors: + additionalProperties: + type: string + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusteroutputs.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusteroutputs.yaml new file mode 100644 index 0000000000..77254d4e93 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_clusteroutputs.yaml @@ -0,0 +1,12658 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: clusteroutputs.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: ClusterOutput + listKind: ClusterOutputList + plural: clusteroutputs + singular: clusteroutput + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the output active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + awsElasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + endpoint: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_arn: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_session_name: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_web_identity_token_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ecs_container_credentials_relative_uri: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + region: + type: string + secret_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + sts_credentials_region: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + flush_interval: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + azurestorage: + properties: + auto_create_container: + type: boolean + azure_container: + type: string + azure_imds_api_version: + type: string + azure_object_key_format: + type: string + azure_storage_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_account: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_sas_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + type: string + path: + type: string + slow_flush_log_threshold: + type: string + required: + - azure_container + - azure_storage_account + type: object + cloudwatch: + properties: + auto_create_stream: + type: boolean + aws_instance_profile_credentials_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sts_role_arn: + type: string + aws_sts_session_name: + type: string + aws_use_sts: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + concurrency: + type: integer + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + http_proxy: + type: string + include_time_key: + type: boolean + json_handler: + type: string + localtime: + type: boolean + log_group_aws_tags: + type: string + log_group_aws_tags_key: + type: string + log_group_name: + type: string + log_group_name_key: + type: string + log_rejected_request: + type: string + log_stream_name: + type: string + log_stream_name_key: + type: string + max_events_per_batch: + type: integer + max_message_length: + type: integer + message_keys: + type: string + put_log_events_disable_retry_limit: + type: boolean + put_log_events_retry_limit: + type: integer + put_log_events_retry_wait: + type: string + region: + type: string + remove_log_group_aws_tags_key: + type: string + remove_log_group_name_key: + type: string + remove_log_stream_name_key: + type: string + remove_retention_in_days: + type: string + retention_in_days: + type: string + retention_in_days_key: + type: string + slow_flush_log_threshold: + type: string + use_tag_as_group: + type: boolean + use_tag_as_stream: + type: boolean + required: + - region + type: object + datadog: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compression_level: + type: string + dd_hostname: + type: string + dd_source: + type: string + dd_sourcecategory: + type: string + dd_tags: + type: string + host: + type: string + include_tag_key: + type: boolean + max_backoff: + type: string + max_retries: + type: string + no_ssl_validation: + type: boolean + port: + type: string + service: + type: string + slow_flush_log_threshold: + type: string + ssl_port: + type: string + tag_key: + type: string + timestamp_key: + type: string + use_compression: + type: boolean + use_http: + type: boolean + use_json: + type: boolean + use_ssl: + type: boolean + required: + - api_key + type: object + elasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + enabledNamespaces: + items: + type: string + type: array + file: + properties: + add_path_suffix: + type: boolean + append: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + path: + type: string + path_suffix: + type: string + recompress: + type: boolean + slow_flush_log_threshold: + type: string + symlink_path: + type: boolean + required: + - path + type: object + forward: + properties: + ack_response_timeout: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connect_timeout: + type: integer + dns_round_robin: + type: boolean + expire_dns_cache: + type: integer + hard_timeout: + type: integer + heartbeat_interval: + type: integer + heartbeat_type: + type: string + ignore_network_errors_at_startup: + type: boolean + keepalive: + type: boolean + keepalive_timeout: + type: integer + phi_failure_detector: + type: boolean + phi_threshold: + type: integer + recover_wait: + type: integer + require_ack_response: + type: boolean + security: + properties: + allow_anonymous_source: + type: boolean + self_hostname: + type: string + shared_key: + type: string + user_auth: + type: boolean + required: + - self_hostname + - shared_key + type: object + send_timeout: + type: integer + servers: + items: + properties: + host: + type: string + name: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + shared_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + standby: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + weight: + type: integer + required: + - host + type: object + type: array + slow_flush_log_threshold: + type: string + tls_allow_self_signed_cert: + type: boolean + tls_cert_logical_store_name: + type: string + tls_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_cert_thumbprint: + type: string + tls_cert_use_enterprise_store: + type: boolean + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_insecure_mode: + type: boolean + tls_verify_hostname: + type: boolean + tls_version: + type: string + transport: + type: string + verify_connection_at_startup: + type: boolean + required: + - servers + type: object + gcs: + properties: + acl: + type: string + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_retries: + type: integer + client_timeout: + type: integer + credentials_json: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + encryption_key: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + keyfile: + type: string + object_key_format: + type: string + object_metadata: + items: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: array + overwrite: + type: boolean + path: + type: string + project: + type: string + slow_flush_log_threshold: + type: string + storage_class: + type: string + store_as: + type: string + transcoding: + type: boolean + required: + - bucket + - project + type: object + gelf: + properties: + host: + type: string + port: + type: integer + protocol: + type: string + tls: + type: boolean + tls_options: + additionalProperties: + type: string + type: object + required: + - host + - port + type: object + http: + properties: + auth: + properties: + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - password + - username + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + content_type: + type: string + endpoint: + type: string + error_response_as_unrecoverable: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + headers: + additionalProperties: + type: string + type: object + http_method: + type: string + json_array: + type: boolean + open_timeout: + type: integer + proxy: + type: string + read_timeout: + type: integer + retryable_response_codes: + items: + type: integer + type: array + slow_flush_log_threshold: + type: string + ssl_timeout: + type: integer + tls_ca_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_verify_mode: + type: string + tls_version: + type: string + required: + - endpoint + type: object + kafka: + properties: + ack_timeout: + type: integer + brokers: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_id: + type: string + compression_codec: + type: string + default_message_key: + type: string + default_partition_key: + type: string + default_topic: + type: string + discard_kafka_delivery_failed: + type: boolean + exclude_partion_key: + type: boolean + exclude_topic_key: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + get_kafka_client_log: + type: boolean + headers: + additionalProperties: + type: string + type: object + headers_from_record: + additionalProperties: + type: string + type: object + idempotent: + type: boolean + kafka_agg_max_bytes: + type: integer + kafka_agg_max_messages: + type: integer + keytab: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + max_send_retries: + type: integer + message_key_key: + type: string + partition_key: + type: string + partition_key_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + principal: + type: string + required_acks: + type: integer + sasl_over_ssl: + type: boolean + scram_mechanism: + type: string + slow_flush_log_threshold: + type: string + ssl_ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_ca_certs_from_system: + type: boolean + ssl_client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_chain: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_verify_hostname: + type: boolean + topic_key: + type: string + use_default_for_unknown_topic: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - brokers + - format + type: object + kinesisFirehose: + properties: + append_new_line: + type: boolean + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + delivery_stream_name: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + required: + - delivery_stream_name + type: object + kinesisStream: + properties: + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + partition_key: + type: string + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + stream_name: + type: string + required: + - stream_name + type: object + logdna: + properties: + api_key: + type: string + app: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + hostname: + type: string + ingester_domain: + type: string + ingester_endpoint: + type: string + request_timeout: + type: string + slow_flush_log_threshold: + type: string + tags: + type: string + required: + - api_key + - hostname + type: object + loggingRef: + type: string + logz: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_limit: + type: integer + bulk_limit_warning_limit: + type: integer + endpoint: + properties: + port: + type: integer + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + gzip: + type: boolean + http_idle_timeout: + type: integer + output_include_tags: + type: boolean + output_include_time: + type: boolean + retry_count: + type: integer + retry_sleep: + type: integer + slow_flush_log_threshold: + type: string + required: + - endpoint + type: object + loki: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + configure_kubernetes_labels: + type: boolean + drop_single_key: + type: boolean + extra_labels: + additionalProperties: + type: string + type: object + extract_kubernetes_labels: + type: boolean + include_thread_label: + type: boolean + insecure_tls: + type: boolean + key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + labels: + additionalProperties: + type: string + type: object + line_format: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + remove_keys: + items: + type: string + type: array + slow_flush_log_threshold: + type: string + tenant: + type: string + url: + type: string + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + mattermost: + properties: + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + channel_id: + type: string + enable_tls: + type: boolean + message: + type: string + message_color: + type: string + message_title: + type: string + webhook_url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - webhook_url + type: object + newrelic: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + base_uri: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + license_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + nullout: + type: object + opensearch: + properties: + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + catch_transport_exception_on_retry: + type: boolean + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + compression_level: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_opensearch_version: + type: integer + emit_error_for_missing_id: + type: boolean + emit_error_label_event: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_os_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + http_backend_excon_nonblock: + type: boolean + id_key: + type: string + ignore_exceptions: + type: string + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_separator: + type: string + log_os_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_os_version: + type: integer + max_retry_putting_template: + type: string + parent_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + routing_key: + type: string + scheme: + type: string + selector_class_name: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_affinity: + type: boolean + target_index_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_exclude_timestamp: + type: boolean + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + truncate_caches_interval: + type: string + unrecoverable_error_types: + type: string + unrecoverable_record_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_os_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + oss: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + access_key_secret: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_bucket: + type: boolean + check_object: + type: boolean + download_crc_enable: + type: boolean + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + index_format: + type: string + key_format: + type: string + open_timeout: + type: integer + oss_sdk_log_dir: + type: string + overwrite: + type: boolean + path: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + store_as: + type: string + upload_crc_enable: + type: boolean + warn_for_delay: + type: string + required: + - access_key_id + - access_key_secret + - bucket + - endpoint + type: object + redis: + properties: + allow_duplicate_key: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + db_number: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + insert_key_prefix: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + slow_flush_log_threshold: + type: string + strftime_format: + type: string + ttl: + type: integer + type: object + relabel: + properties: + label: + type: string + required: + - label + type: object + s3: + properties: + acl: + type: string + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + auto_create_bucket: + type: string + aws_iam_retries: + type: string + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_apikey_on_start: + type: string + check_bucket: + type: string + check_object: + type: string + clustername: + type: string + compress: + properties: + parquet_compression_codec: + type: string + parquet_page_size: + type: string + parquet_row_group_size: + type: string + record_type: + type: string + schema_file: + type: string + schema_type: + type: string + type: object + compute_checksums: + type: string + enable_transfer_acceleration: + type: string + force_path_style: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + grant_full_control: + type: string + grant_read: + type: string + grant_read_acp: + type: string + grant_write_acp: + type: string + hex_random_length: + type: string + index_format: + type: string + instance_profile_credentials: + properties: + http_open_timeout: + type: string + http_read_timeout: + type: string + ip_address: + type: string + port: + type: string + retries: + type: string + type: object + oneeye_format: + type: boolean + overwrite: + type: string + path: + type: string + proxy_uri: + type: string + s3_bucket: + type: string + s3_endpoint: + type: string + s3_metadata: + type: string + s3_object_key_format: + type: string + s3_region: + type: string + shared_credentials: + properties: + path: + type: string + profile_name: + type: string + type: object + signature_version: + type: string + slow_flush_log_threshold: + type: string + sse_customer_algorithm: + type: string + sse_customer_key: + type: string + sse_customer_key_md5: + type: string + ssekms_key_id: + type: string + ssl_verify_peer: + type: string + storage_class: + type: string + store_as: + type: string + use_bundled_cert: + type: string + use_server_side_encryption: + type: string + warn_for_delay: + type: string + required: + - s3_bucket + type: object + splunkHec: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + coerce_to_utf8: + type: boolean + data_type: + type: string + fields: + additionalProperties: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hec_host: + type: string + hec_port: + type: integer + hec_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + host: + type: string + host_key: + type: string + idle_timeout: + type: integer + index: + type: string + index_key: + type: string + insecure_ssl: + type: boolean + keep_keys: + type: boolean + metric_name_key: + type: string + metric_value_key: + type: string + metrics_from_event: + type: boolean + non_utf8_replacement_string: + type: string + open_timeout: + type: integer + protocol: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + source: + type: string + source_key: + type: string + sourcetype: + type: string + sourcetype_key: + type: string + ssl_ciphers: + type: string + required: + - hec_host + - hec_token + type: object + sqs: + properties: + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + create_queue: + type: boolean + delay_seconds: + type: integer + include_tag: + type: boolean + message_group_id: + type: string + queue_name: + type: string + region: + type: string + slow_flush_log_threshold: + type: string + sqs_url: + type: string + tag_property_name: + type: string + type: object + sumologic: + properties: + add_timestamp: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: boolean + compress_encoding: + type: string + custom_dimensions: + type: string + custom_fields: + items: + type: string + type: array + data_type: + type: string + delimiter: + type: string + disable_cookies: + type: boolean + endpoint: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + log_format: + type: string + log_key: + type: string + metric_data_format: + type: string + open_timeout: + type: integer + proxy_uri: + type: string + slow_flush_log_threshold: + type: string + source_category: + type: string + source_host: + type: string + source_name: + type: string + source_name_key: + type: string + sumo_client: + type: string + timestamp_key: + type: string + verify_ssl: + type: boolean + required: + - endpoint + - source_name + type: object + syslog: + properties: + allow_self_signed_cert: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + enable_system_cert_store: + type: boolean + format: + properties: + app_name_field: + type: string + hostname_field: + type: string + log_field: + type: string + message_id_field: + type: string + proc_id_field: + type: string + rfc6587_message_size: + type: boolean + structured_data_field: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + fqdn: + type: string + host: + type: string + insecure: + type: boolean + port: + type: integer + private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + slow_flush_log_threshold: + type: string + transport: + type: string + trusted_ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + verify_fqdn: + type: boolean + version: + type: string + required: + - host + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Is the output active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + awsElasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + endpoint: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_arn: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_session_name: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_web_identity_token_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ecs_container_credentials_relative_uri: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + region: + type: string + secret_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + sts_credentials_region: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + flush_interval: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + azurestorage: + properties: + auto_create_container: + type: boolean + azure_container: + type: string + azure_imds_api_version: + type: string + azure_object_key_format: + type: string + azure_storage_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_account: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_sas_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + type: string + path: + type: string + slow_flush_log_threshold: + type: string + required: + - azure_container + - azure_storage_account + type: object + cloudwatch: + properties: + auto_create_stream: + type: boolean + aws_instance_profile_credentials_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sts_role_arn: + type: string + aws_sts_session_name: + type: string + aws_use_sts: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + concurrency: + type: integer + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + http_proxy: + type: string + include_time_key: + type: boolean + json_handler: + type: string + localtime: + type: boolean + log_group_aws_tags: + type: string + log_group_aws_tags_key: + type: string + log_group_name: + type: string + log_group_name_key: + type: string + log_rejected_request: + type: string + log_stream_name: + type: string + log_stream_name_key: + type: string + max_events_per_batch: + type: integer + max_message_length: + type: integer + message_keys: + type: string + put_log_events_disable_retry_limit: + type: boolean + put_log_events_retry_limit: + type: integer + put_log_events_retry_wait: + type: string + region: + type: string + remove_log_group_aws_tags_key: + type: string + remove_log_group_name_key: + type: string + remove_log_stream_name_key: + type: string + remove_retention_in_days: + type: string + retention_in_days: + type: string + retention_in_days_key: + type: string + slow_flush_log_threshold: + type: string + use_tag_as_group: + type: boolean + use_tag_as_stream: + type: boolean + required: + - region + type: object + datadog: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compression_level: + type: string + dd_hostname: + type: string + dd_source: + type: string + dd_sourcecategory: + type: string + dd_tags: + type: string + host: + type: string + include_tag_key: + type: boolean + max_backoff: + type: string + max_retries: + type: string + no_ssl_validation: + type: boolean + port: + type: string + service: + type: string + slow_flush_log_threshold: + type: string + ssl_port: + type: string + tag_key: + type: string + timestamp_key: + type: string + use_compression: + type: boolean + use_http: + type: boolean + use_json: + type: boolean + use_ssl: + type: boolean + required: + - api_key + type: object + elasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + enabledNamespaces: + items: + type: string + type: array + file: + properties: + add_path_suffix: + type: boolean + append: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + path: + type: string + path_suffix: + type: string + recompress: + type: boolean + slow_flush_log_threshold: + type: string + symlink_path: + type: boolean + required: + - path + type: object + forward: + properties: + ack_response_timeout: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connect_timeout: + type: integer + dns_round_robin: + type: boolean + expire_dns_cache: + type: integer + hard_timeout: + type: integer + heartbeat_interval: + type: integer + heartbeat_type: + type: string + ignore_network_errors_at_startup: + type: boolean + keepalive: + type: boolean + keepalive_timeout: + type: integer + phi_failure_detector: + type: boolean + phi_threshold: + type: integer + recover_wait: + type: integer + require_ack_response: + type: boolean + security: + properties: + allow_anonymous_source: + type: boolean + self_hostname: + type: string + shared_key: + type: string + user_auth: + type: boolean + required: + - self_hostname + - shared_key + type: object + send_timeout: + type: integer + servers: + items: + properties: + host: + type: string + name: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + shared_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + standby: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + weight: + type: integer + required: + - host + type: object + type: array + slow_flush_log_threshold: + type: string + tls_allow_self_signed_cert: + type: boolean + tls_cert_logical_store_name: + type: string + tls_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_cert_thumbprint: + type: string + tls_cert_use_enterprise_store: + type: boolean + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_insecure_mode: + type: boolean + tls_verify_hostname: + type: boolean + tls_version: + type: string + transport: + type: string + verify_connection_at_startup: + type: boolean + required: + - servers + type: object + gcs: + properties: + acl: + type: string + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_retries: + type: integer + client_timeout: + type: integer + credentials_json: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + encryption_key: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + keyfile: + type: string + object_key_format: + type: string + object_metadata: + items: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: array + overwrite: + type: boolean + path: + type: string + project: + type: string + slow_flush_log_threshold: + type: string + storage_class: + type: string + store_as: + type: string + transcoding: + type: boolean + required: + - bucket + - project + type: object + gelf: + properties: + host: + type: string + port: + type: integer + protocol: + type: string + tls: + type: boolean + tls_options: + additionalProperties: + type: string + type: object + required: + - host + - port + type: object + http: + properties: + auth: + properties: + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - password + - username + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + content_type: + type: string + endpoint: + type: string + error_response_as_unrecoverable: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + headers: + additionalProperties: + type: string + type: object + http_method: + type: string + json_array: + type: boolean + open_timeout: + type: integer + proxy: + type: string + read_timeout: + type: integer + retryable_response_codes: + items: + type: integer + type: array + slow_flush_log_threshold: + type: string + ssl_timeout: + type: integer + tls_ca_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_verify_mode: + type: string + tls_version: + type: string + required: + - endpoint + type: object + kafka: + properties: + ack_timeout: + type: integer + brokers: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_id: + type: string + compression_codec: + type: string + default_message_key: + type: string + default_partition_key: + type: string + default_topic: + type: string + discard_kafka_delivery_failed: + type: boolean + exclude_partion_key: + type: boolean + exclude_topic_key: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + get_kafka_client_log: + type: boolean + headers: + additionalProperties: + type: string + type: object + headers_from_record: + additionalProperties: + type: string + type: object + idempotent: + type: boolean + kafka_agg_max_bytes: + type: integer + kafka_agg_max_messages: + type: integer + keytab: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + max_send_retries: + type: integer + message_key_key: + type: string + partition_key: + type: string + partition_key_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + principal: + type: string + required_acks: + type: integer + sasl_over_ssl: + type: boolean + scram_mechanism: + type: string + slow_flush_log_threshold: + type: string + ssl_ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_ca_certs_from_system: + type: boolean + ssl_client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_chain: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_verify_hostname: + type: boolean + topic_key: + type: string + use_default_for_unknown_topic: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - brokers + - format + type: object + kinesisFirehose: + properties: + append_new_line: + type: boolean + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + delivery_stream_name: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + required: + - delivery_stream_name + type: object + kinesisStream: + properties: + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + partition_key: + type: string + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + stream_name: + type: string + required: + - stream_name + type: object + logdna: + properties: + api_key: + type: string + app: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + hostname: + type: string + ingester_domain: + type: string + ingester_endpoint: + type: string + request_timeout: + type: string + slow_flush_log_threshold: + type: string + tags: + type: string + required: + - api_key + - hostname + type: object + loggingRef: + type: string + logz: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_limit: + type: integer + bulk_limit_warning_limit: + type: integer + endpoint: + properties: + port: + type: integer + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + gzip: + type: boolean + http_idle_timeout: + type: integer + output_include_tags: + type: boolean + output_include_time: + type: boolean + retry_count: + type: integer + retry_sleep: + type: integer + slow_flush_log_threshold: + type: string + required: + - endpoint + type: object + loki: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + configure_kubernetes_labels: + type: boolean + drop_single_key: + type: boolean + extra_labels: + additionalProperties: + type: string + type: object + extract_kubernetes_labels: + type: boolean + include_thread_label: + type: boolean + insecure_tls: + type: boolean + key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + labels: + additionalProperties: + type: string + type: object + line_format: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + remove_keys: + items: + type: string + type: array + slow_flush_log_threshold: + type: string + tenant: + type: string + url: + type: string + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + mattermost: + properties: + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + channel_id: + type: string + enable_tls: + type: boolean + message: + type: string + message_color: + type: string + message_title: + type: string + webhook_url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - webhook_url + type: object + newrelic: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + base_uri: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + license_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + nullout: + type: object + opensearch: + properties: + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + catch_transport_exception_on_retry: + type: boolean + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + compression_level: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_opensearch_version: + type: integer + emit_error_for_missing_id: + type: boolean + emit_error_label_event: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_os_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + http_backend_excon_nonblock: + type: boolean + id_key: + type: string + ignore_exceptions: + type: string + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_separator: + type: string + log_os_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_os_version: + type: integer + max_retry_putting_template: + type: string + parent_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + routing_key: + type: string + scheme: + type: string + selector_class_name: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_affinity: + type: boolean + target_index_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_exclude_timestamp: + type: boolean + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + truncate_caches_interval: + type: string + unrecoverable_error_types: + type: string + unrecoverable_record_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_os_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + oss: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + access_key_secret: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_bucket: + type: boolean + check_object: + type: boolean + download_crc_enable: + type: boolean + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + index_format: + type: string + key_format: + type: string + open_timeout: + type: integer + oss_sdk_log_dir: + type: string + overwrite: + type: boolean + path: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + store_as: + type: string + upload_crc_enable: + type: boolean + warn_for_delay: + type: string + required: + - access_key_id + - access_key_secret + - bucket + - endpoint + type: object + redis: + properties: + allow_duplicate_key: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + db_number: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + insert_key_prefix: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + slow_flush_log_threshold: + type: string + strftime_format: + type: string + ttl: + type: integer + type: object + relabel: + properties: + label: + type: string + required: + - label + type: object + s3: + properties: + acl: + type: string + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + auto_create_bucket: + type: string + aws_iam_retries: + type: string + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_apikey_on_start: + type: string + check_bucket: + type: string + check_object: + type: string + clustername: + type: string + compress: + properties: + parquet_compression_codec: + type: string + parquet_page_size: + type: string + parquet_row_group_size: + type: string + record_type: + type: string + schema_file: + type: string + schema_type: + type: string + type: object + compute_checksums: + type: string + enable_transfer_acceleration: + type: string + force_path_style: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + grant_full_control: + type: string + grant_read: + type: string + grant_read_acp: + type: string + grant_write_acp: + type: string + hex_random_length: + type: string + index_format: + type: string + instance_profile_credentials: + properties: + http_open_timeout: + type: string + http_read_timeout: + type: string + ip_address: + type: string + port: + type: string + retries: + type: string + type: object + oneeye_format: + type: boolean + overwrite: + type: string + path: + type: string + proxy_uri: + type: string + s3_bucket: + type: string + s3_endpoint: + type: string + s3_metadata: + type: string + s3_object_key_format: + type: string + s3_region: + type: string + shared_credentials: + properties: + path: + type: string + profile_name: + type: string + type: object + signature_version: + type: string + slow_flush_log_threshold: + type: string + sse_customer_algorithm: + type: string + sse_customer_key: + type: string + sse_customer_key_md5: + type: string + ssekms_key_id: + type: string + ssl_verify_peer: + type: string + storage_class: + type: string + store_as: + type: string + use_bundled_cert: + type: string + use_server_side_encryption: + type: string + warn_for_delay: + type: string + required: + - s3_bucket + type: object + splunkHec: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + coerce_to_utf8: + type: boolean + data_type: + type: string + fields: + additionalProperties: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hec_host: + type: string + hec_port: + type: integer + hec_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + host: + type: string + host_key: + type: string + idle_timeout: + type: integer + index: + type: string + index_key: + type: string + insecure_ssl: + type: boolean + keep_keys: + type: boolean + metric_name_key: + type: string + metric_value_key: + type: string + metrics_from_event: + type: boolean + non_utf8_replacement_string: + type: string + open_timeout: + type: integer + protocol: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + source: + type: string + source_key: + type: string + sourcetype: + type: string + sourcetype_key: + type: string + ssl_ciphers: + type: string + required: + - hec_host + - hec_token + type: object + sqs: + properties: + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + create_queue: + type: boolean + delay_seconds: + type: integer + include_tag: + type: boolean + message_group_id: + type: string + queue_name: + type: string + region: + type: string + slow_flush_log_threshold: + type: string + sqs_url: + type: string + tag_property_name: + type: string + type: object + sumologic: + properties: + add_timestamp: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: boolean + compress_encoding: + type: string + custom_dimensions: + type: string + custom_fields: + items: + type: string + type: array + data_type: + type: string + delimiter: + type: string + disable_cookies: + type: boolean + endpoint: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + log_format: + type: string + log_key: + type: string + metric_data_format: + type: string + open_timeout: + type: integer + proxy_uri: + type: string + slow_flush_log_threshold: + type: string + source_category: + type: string + source_host: + type: string + source_name: + type: string + source_name_key: + type: string + sumo_client: + type: string + timestamp_key: + type: string + verify_ssl: + type: boolean + required: + - endpoint + - source_name + type: object + syslog: + properties: + allow_self_signed_cert: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + enable_system_cert_store: + type: boolean + format: + properties: + app_name_field: + type: string + hostname_field: + type: string + log_field: + type: string + message_id_field: + type: string + proc_id_field: + type: string + rfc6587_message_size: + type: boolean + structured_data_field: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + fqdn: + type: string + host: + type: string + insecure: + type: boolean + port: + type: integer + private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + slow_flush_log_threshold: + type: string + transport: + type: string + trusted_ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + verify_fqdn: + type: boolean + version: + type: string + required: + - host + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_flows.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_flows.yaml new file mode 100644 index 0000000000..13cfcdbddc --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_flows.yaml @@ -0,0 +1,2072 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: flows.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: Flow + listKind: FlowList + plural: flows + singular: flow + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the flow active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + filters: + items: + properties: + concat: + properties: + continuous_line_regexp: + type: string + flush_interval: + type: integer + keep_partial_key: + type: boolean + keep_partial_metadata: + type: string + key: + type: string + multiline_end_regexp: + type: string + multiline_start_regexp: + type: string + n_lines: + type: integer + partial_cri_logtag_key: + type: string + partial_cri_stream_key: + type: string + partial_key: + type: string + partial_metadata_format: + type: string + partial_value: + type: string + separator: + type: string + stream_identity_key: + type: string + timeout_label: + type: string + use_first_timestamp: + type: boolean + use_partial_cri_logtag: + type: boolean + use_partial_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + force_line_breaks: + type: boolean + languages: + items: + type: string + type: array + match_tag: + type: string + max_bytes: + type: integer + max_lines: + type: integer + message: + type: string + multiline_flush_interval: + type: string + remove_tag_prefix: + type: string + stream: + type: string + type: object + elasticsearch_genid: + properties: + hash_id_key: + type: string + hash_type: + type: string + include_tag_in_seed: + type: boolean + include_time_in_seed: + type: boolean + record_keys: + type: string + separator: + type: string + use_entire_record: + type: boolean + use_record_as_seed: + type: boolean + type: object + enhanceK8s: + properties: + api_groups: + items: + type: string + type: array + bearer_token_file: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cache_refresh: + type: integer + cache_refresh_variation: + type: integer + cache_size: + type: integer + cache_ttl: + type: integer + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + core_api_versions: + items: + type: string + type: array + data_type: + type: string + in_namespace_path: + items: + type: string + type: array + in_pod_path: + items: + type: string + type: array + kubernetes_url: + type: string + secret_dir: + type: string + ssl_partial_chain: + type: boolean + verify_ssl: + type: boolean + type: object + geoip: + properties: + backend_library: + type: string + geoip_database: + type: string + geoip_lookup_keys: + type: string + geoip2_database: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + skip_adding_null_record: + type: boolean + type: object + grep: + properties: + and: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + or: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + kube_events_timestamp: + properties: + mapped_time_key: + type: string + timestamp_fields: + items: + type: string + type: array + type: object + parser: + properties: + emit_invalid_record_to_error: + type: boolean + hash_value_field: + type: string + inject_key_prefix: + type: string + key_name: + type: string + parse: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + parsers: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + remove_key_name_field: + type: boolean + replace_invalid_sequence: + type: boolean + reserve_data: + type: boolean + reserve_time: + type: boolean + type: object + prometheus: + properties: + labels: + additionalProperties: + type: string + type: object + metrics: + items: + properties: + buckets: + type: string + desc: + type: string + key: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + required: + - desc + - name + - type + type: object + type: array + type: object + record_modifier: + properties: + char_encoding: + type: string + prepare_value: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + replaces: + items: + properties: + expression: + type: string + key: + type: string + replace: + type: string + required: + - expression + - key + - replace + type: object + type: array + whitelist_keys: + type: string + type: object + record_transformer: + properties: + auto_typecast: + type: boolean + enable_ruby: + type: boolean + keep_keys: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + renew_record: + type: boolean + renew_time_key: + type: string + type: object + stdout: + properties: + output_type: + type: string + type: object + sumologic: + properties: + collector_key_name: + type: string + collector_value: + type: string + exclude_container_regex: + type: string + exclude_facility_regex: + type: string + exclude_host_regex: + type: string + exclude_namespace_regex: + type: string + exclude_pod_regex: + type: string + exclude_priority_regex: + type: string + exclude_unit_regex: + type: string + log_format: + type: string + source_category: + type: string + source_category_key_name: + type: string + source_category_prefix: + type: string + source_category_replace_dash: + type: string + source_host: + type: string + source_host_key_name: + type: string + source_name: + type: string + source_name_key_name: + type: string + tracing_annotation_prefix: + type: string + tracing_container_name: + type: string + tracing_format: + type: boolean + tracing_host: + type: string + tracing_label_prefix: + type: string + tracing_namespace: + type: string + tracing_pod: + type: string + tracing_pod_id: + type: string + type: object + tag_normaliser: + properties: + format: + type: string + match_tag: + type: string + type: object + throttle: + properties: + group_bucket_limit: + type: integer + group_bucket_period_s: + type: integer + group_drop_logs: + type: boolean + group_key: + type: string + group_reset_rate_s: + type: integer + group_warning_delay_s: + type: integer + type: object + type: object + type: array + flowLabel: + type: string + globalOutputRefs: + items: + type: string + type: array + includeLabelInRouter: + type: boolean + localOutputRefs: + items: + type: string + type: array + loggingRef: + type: string + match: + items: + properties: + exclude: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + type: object + select: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + outputRefs: + items: + type: string + type: array + selectors: + additionalProperties: + type: string + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Is the flow active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + filters: + items: + properties: + concat: + properties: + continuous_line_regexp: + type: string + flush_interval: + type: integer + keep_partial_key: + type: boolean + keep_partial_metadata: + type: string + key: + type: string + multiline_end_regexp: + type: string + multiline_start_regexp: + type: string + n_lines: + type: integer + partial_cri_logtag_key: + type: string + partial_cri_stream_key: + type: string + partial_key: + type: string + partial_metadata_format: + type: string + partial_value: + type: string + separator: + type: string + stream_identity_key: + type: string + timeout_label: + type: string + use_first_timestamp: + type: boolean + use_partial_cri_logtag: + type: boolean + use_partial_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + force_line_breaks: + type: boolean + languages: + items: + type: string + type: array + match_tag: + type: string + max_bytes: + type: integer + max_lines: + type: integer + message: + type: string + multiline_flush_interval: + type: string + remove_tag_prefix: + type: string + stream: + type: string + type: object + elasticsearch_genid: + properties: + hash_id_key: + type: string + hash_type: + type: string + include_tag_in_seed: + type: boolean + include_time_in_seed: + type: boolean + record_keys: + type: string + separator: + type: string + use_entire_record: + type: boolean + use_record_as_seed: + type: boolean + type: object + enhanceK8s: + properties: + api_groups: + items: + type: string + type: array + bearer_token_file: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cache_refresh: + type: integer + cache_refresh_variation: + type: integer + cache_size: + type: integer + cache_ttl: + type: integer + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + core_api_versions: + items: + type: string + type: array + data_type: + type: string + in_namespace_path: + items: + type: string + type: array + in_pod_path: + items: + type: string + type: array + kubernetes_url: + type: string + secret_dir: + type: string + ssl_partial_chain: + type: boolean + verify_ssl: + type: boolean + type: object + geoip: + properties: + backend_library: + type: string + geoip_database: + type: string + geoip_lookup_keys: + type: string + geoip2_database: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + skip_adding_null_record: + type: boolean + type: object + grep: + properties: + and: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + or: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + kube_events_timestamp: + properties: + mapped_time_key: + type: string + timestamp_fields: + items: + type: string + type: array + type: object + parser: + properties: + emit_invalid_record_to_error: + type: boolean + hash_value_field: + type: string + inject_key_prefix: + type: string + key_name: + type: string + parse: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + parsers: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + remove_key_name_field: + type: boolean + replace_invalid_sequence: + type: boolean + reserve_data: + type: boolean + reserve_time: + type: boolean + type: object + prometheus: + properties: + labels: + additionalProperties: + type: string + type: object + metrics: + items: + properties: + buckets: + type: string + desc: + type: string + key: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + required: + - desc + - name + - type + type: object + type: array + type: object + record_modifier: + properties: + char_encoding: + type: string + prepare_value: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + replaces: + items: + properties: + expression: + type: string + key: + type: string + replace: + type: string + required: + - expression + - key + - replace + type: object + type: array + whitelist_keys: + type: string + type: object + record_transformer: + properties: + auto_typecast: + type: boolean + enable_ruby: + type: boolean + keep_keys: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + renew_record: + type: boolean + renew_time_key: + type: string + type: object + stdout: + properties: + output_type: + type: string + type: object + sumologic: + properties: + collector_key_name: + type: string + collector_value: + type: string + exclude_container_regex: + type: string + exclude_facility_regex: + type: string + exclude_host_regex: + type: string + exclude_namespace_regex: + type: string + exclude_pod_regex: + type: string + exclude_priority_regex: + type: string + exclude_unit_regex: + type: string + log_format: + type: string + source_category: + type: string + source_category_key_name: + type: string + source_category_prefix: + type: string + source_category_replace_dash: + type: string + source_host: + type: string + source_host_key_name: + type: string + source_name: + type: string + source_name_key_name: + type: string + tracing_annotation_prefix: + type: string + tracing_container_name: + type: string + tracing_format: + type: boolean + tracing_host: + type: string + tracing_label_prefix: + type: string + tracing_namespace: + type: string + tracing_pod: + type: string + tracing_pod_id: + type: string + type: object + tag_normaliser: + properties: + format: + type: string + match_tag: + type: string + type: object + throttle: + properties: + group_bucket_limit: + type: integer + group_bucket_period_s: + type: integer + group_drop_logs: + type: boolean + group_key: + type: string + group_reset_rate_s: + type: integer + group_warning_delay_s: + type: integer + type: object + type: object + type: array + flowLabel: + type: string + globalOutputRefs: + items: + type: string + type: array + includeLabelInRouter: + type: boolean + localOutputRefs: + items: + type: string + type: array + loggingRef: + type: string + match: + items: + properties: + exclude: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + type: object + select: + properties: + container_names: + items: + type: string + type: array + hosts: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + outputRefs: + items: + type: string + type: array + selectors: + additionalProperties: + type: string + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_fluentbitagents.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_fluentbitagents.yaml new file mode 100644 index 0000000000..e30d4a4188 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_fluentbitagents.yaml @@ -0,0 +1,2260 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: fluentbitagents.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: FluentbitAgent + listKind: FluentbitAgentList + plural: fluentbitagents + singular: fluentbitagent + scope: Cluster + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + HostNetwork: + type: boolean + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + annotations: + additionalProperties: + type: string + type: object + bufferStorage: + properties: + storage.backlog.mem_limit: + type: string + storage.checksum: + type: string + storage.metrics: + type: string + storage.path: + type: string + storage.sync: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + bufferVolumeArgs: + items: + type: string + type: array + bufferVolumeImage: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + bufferVolumeMetrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + bufferVolumeResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + coroStackSize: + format: int32 + type: integer + customConfigSecret: + type: string + customParsers: + type: string + daemonsetAnnotations: + additionalProperties: + type: string + type: object + disableKubernetesFilter: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableUpstream: + type: boolean + envVars: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + extraVolumeMounts: + items: + properties: + destination: + pattern: ^/.+$ + type: string + readOnly: + type: boolean + source: + pattern: ^/.+$ + type: string + required: + - destination + - source + type: object + type: array + filterAws: + properties: + Match: + type: string + account_id: + type: boolean + ami_id: + type: boolean + az: + type: boolean + ec2_instance_id: + type: boolean + ec2_instance_type: + type: boolean + hostname: + type: boolean + imds_version: + type: string + private_ip: + type: boolean + vpc_id: + type: boolean + type: object + filterKubernetes: + properties: + Annotations: + type: string + Buffer_Size: + type: string + Cache_Use_Docker_Id: + type: string + DNS_Retries: + type: string + DNS_Wait_Time: + type: string + Dummy_Meta: + type: string + K8S-Logging.Exclude: + type: string + K8S-Logging.Parser: + type: string + Keep_Log: + type: string + Kube_CA_File: + type: string + Kube_CA_Path: + type: string + Kube_Meta_Cache_TTL: + type: string + Kube_Tag_Prefix: + type: string + Kube_Token_File: + type: string + Kube_Token_TTL: + type: string + Kube_URL: + type: string + Kube_meta_preload_cache_dir: + type: string + Kubelet_Port: + type: string + Labels: + type: string + Match: + type: string + Merge_Log: + type: string + Merge_Log_Key: + type: string + Merge_Log_Trim: + type: string + Merge_Parser: + type: string + Regex_Parser: + type: string + Use_Journal: + type: string + Use_Kubelet: + type: string + tls.debug: + type: string + tls.verify: + type: string + type: object + filterModify: + items: + properties: + conditions: + items: + properties: + A_key_matches: + properties: + key: + type: string + type: object + Key_does_not_exist: + properties: + key: + type: string + value: + type: string + type: object + Key_exists: + properties: + key: + type: string + type: object + Key_value_does_not_equal: + properties: + key: + type: string + value: + type: string + type: object + Key_value_does_not_match: + properties: + key: + type: string + value: + type: string + type: object + Key_value_equals: + properties: + key: + type: string + value: + type: string + type: object + Key_value_matches: + properties: + key: + type: string + value: + type: string + type: object + Matching_keys_do_not_have_matching_values: + properties: + key: + type: string + value: + type: string + type: object + Matching_keys_have_matching_values: + properties: + key: + type: string + value: + type: string + type: object + No_key_matches: + properties: + key: + type: string + type: object + type: object + type: array + rules: + items: + properties: + Add: + properties: + key: + type: string + value: + type: string + type: object + Copy: + properties: + key: + type: string + value: + type: string + type: object + Hard_copy: + properties: + key: + type: string + value: + type: string + type: object + Hard_rename: + properties: + key: + type: string + value: + type: string + type: object + Remove: + properties: + key: + type: string + type: object + Remove_regex: + properties: + key: + type: string + type: object + Remove_wildcard: + properties: + key: + type: string + type: object + Rename: + properties: + key: + type: string + value: + type: string + type: object + Set: + properties: + key: + type: string + value: + type: string + type: object + type: object + type: array + type: object + type: array + flush: + format: int32 + type: integer + forwardOptions: + properties: + Require_ack_response: + type: boolean + Retry_Limit: + type: string + Send_options: + type: boolean + Tag: + type: string + Time_as_Integer: + type: boolean + Workers: + type: integer + storage.total_limit_size: + type: string + type: object + grace: + format: int32 + type: integer + healthCheck: + properties: + hcErrorsCount: + type: integer + hcPeriod: + type: integer + hcRetryFailureCount: + type: integer + type: object + image: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + inputTail: + properties: + Buffer_Chunk_Size: + type: string + Buffer_Max_Size: + type: string + DB: + type: string + DB.journal_mode: + type: string + DB.locking: + type: boolean + DB_Sync: + type: string + Docker_Mode: + type: string + Docker_Mode_Flush: + type: string + Docker_Mode_Parser: + type: string + Exclude_Path: + type: string + Ignore_Older: + type: string + Key: + type: string + Mem_Buf_Limit: + type: string + Multiline: + type: string + Multiline_Flush: + type: string + Parser: + type: string + Parser_Firstline: + type: string + Parser_N: + items: + type: string + type: array + Path: + type: string + Path_Key: + type: string + Read_From_Head: + type: boolean + Refresh_Interval: + type: string + Rotate_Wait: + type: string + Skip_Long_Lines: + type: string + Tag: + type: string + Tag_Regex: + type: string + multiline.parser: + items: + type: string + type: array + storage.type: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + livenessDefaultCheck: + type: boolean + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logLevel: + type: string + loggingRef: + type: string + metrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + mountPath: + type: string + network: + properties: + connectTimeout: + format: int32 + type: integer + connectTimeoutLogError: + type: boolean + dnsMode: + type: string + dnsPreferIpv4: + type: boolean + dnsResolver: + type: string + keepalive: + type: boolean + keepaliveIdleTimeout: + format: int32 + type: integer + keepaliveMaxRecycle: + format: int32 + type: integer + sourceAddress: + type: string + type: object + nodeSelector: + additionalProperties: + type: string + type: object + parser: + type: string + podPriorityClassName: + type: string + position_db: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + positiondb: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + security: + properties: + podSecurityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + podSecurityPolicyCreate: + type: boolean + roleBasedAccessControlCreate: + type: boolean + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + type: object + serviceAccount: + properties: + automountServiceAccountToken: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + secrets: + items: + properties: + apiVersion: + type: string + fieldPath: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + resourceVersion: + type: string + uid: + type: string + type: object + type: array + type: object + syslogng_output: + properties: + Workers: + type: integer + json_date_format: + type: string + json_date_key: + type: string + type: object + targetHost: + type: string + targetPort: + format: int32 + type: integer + tls: + properties: + enabled: + type: boolean + secretName: + type: string + sharedKey: + type: string + required: + - enabled + type: object + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + updateStrategy: + properties: + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + type: + type: string + type: object + type: object + status: + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggingroutes.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggingroutes.yaml new file mode 100644 index 0000000000..05351cfb11 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggingroutes.yaml @@ -0,0 +1,111 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: loggingroutes.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: LoggingRoute + listKind: LoggingRouteList + plural: loggingroutes + shortNames: + - lr + singular: loggingroute + scope: Cluster + versions: + - additionalPrinterColumns: + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + - description: Number of notices + jsonPath: .status.noticesCount + name: Notices + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + source: + type: string + targets: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + required: + - source + - targets + type: object + status: + properties: + notices: + items: + type: string + type: array + noticesCount: + type: integer + problems: + items: + type: string + type: array + problemsCount: + type: integer + tenants: + items: + properties: + name: + type: string + namespaces: + items: + type: string + type: array + required: + - name + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggings.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggings.yaml new file mode 100644 index 0000000000..bb907466e3 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_loggings.yaml @@ -0,0 +1,17914 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: loggings.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: Logging + listKind: LoggingList + plural: loggings + singular: logging + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + status: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + allowClusterResourcesFromAllNamespaces: + type: boolean + clusterDomain: + type: string + configCheck: + properties: + labels: + additionalProperties: + type: string + type: object + strategy: + type: string + timeoutSeconds: + type: integer + type: object + controlNamespace: + type: string + defaultFlow: + properties: + filters: + items: + properties: + concat: + properties: + continuous_line_regexp: + type: string + flush_interval: + type: integer + keep_partial_key: + type: boolean + keep_partial_metadata: + type: string + key: + type: string + multiline_end_regexp: + type: string + multiline_start_regexp: + type: string + n_lines: + type: integer + partial_cri_logtag_key: + type: string + partial_cri_stream_key: + type: string + partial_key: + type: string + partial_metadata_format: + type: string + partial_value: + type: string + separator: + type: string + stream_identity_key: + type: string + timeout_label: + type: string + use_first_timestamp: + type: boolean + use_partial_cri_logtag: + type: boolean + use_partial_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + force_line_breaks: + type: boolean + languages: + items: + type: string + type: array + match_tag: + type: string + max_bytes: + type: integer + max_lines: + type: integer + message: + type: string + multiline_flush_interval: + type: string + remove_tag_prefix: + type: string + stream: + type: string + type: object + elasticsearch_genid: + properties: + hash_id_key: + type: string + hash_type: + type: string + include_tag_in_seed: + type: boolean + include_time_in_seed: + type: boolean + record_keys: + type: string + separator: + type: string + use_entire_record: + type: boolean + use_record_as_seed: + type: boolean + type: object + enhanceK8s: + properties: + api_groups: + items: + type: string + type: array + bearer_token_file: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cache_refresh: + type: integer + cache_refresh_variation: + type: integer + cache_size: + type: integer + cache_ttl: + type: integer + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + core_api_versions: + items: + type: string + type: array + data_type: + type: string + in_namespace_path: + items: + type: string + type: array + in_pod_path: + items: + type: string + type: array + kubernetes_url: + type: string + secret_dir: + type: string + ssl_partial_chain: + type: boolean + verify_ssl: + type: boolean + type: object + geoip: + properties: + backend_library: + type: string + geoip_database: + type: string + geoip_lookup_keys: + type: string + geoip2_database: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + skip_adding_null_record: + type: boolean + type: object + grep: + properties: + and: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + or: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + kube_events_timestamp: + properties: + mapped_time_key: + type: string + timestamp_fields: + items: + type: string + type: array + type: object + parser: + properties: + emit_invalid_record_to_error: + type: boolean + hash_value_field: + type: string + inject_key_prefix: + type: string + key_name: + type: string + parse: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + parsers: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + remove_key_name_field: + type: boolean + replace_invalid_sequence: + type: boolean + reserve_data: + type: boolean + reserve_time: + type: boolean + type: object + prometheus: + properties: + labels: + additionalProperties: + type: string + type: object + metrics: + items: + properties: + buckets: + type: string + desc: + type: string + key: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + required: + - desc + - name + - type + type: object + type: array + type: object + record_modifier: + properties: + char_encoding: + type: string + prepare_value: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + replaces: + items: + properties: + expression: + type: string + key: + type: string + replace: + type: string + required: + - expression + - key + - replace + type: object + type: array + whitelist_keys: + type: string + type: object + record_transformer: + properties: + auto_typecast: + type: boolean + enable_ruby: + type: boolean + keep_keys: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + renew_record: + type: boolean + renew_time_key: + type: string + type: object + stdout: + properties: + output_type: + type: string + type: object + sumologic: + properties: + collector_key_name: + type: string + collector_value: + type: string + exclude_container_regex: + type: string + exclude_facility_regex: + type: string + exclude_host_regex: + type: string + exclude_namespace_regex: + type: string + exclude_pod_regex: + type: string + exclude_priority_regex: + type: string + exclude_unit_regex: + type: string + log_format: + type: string + source_category: + type: string + source_category_key_name: + type: string + source_category_prefix: + type: string + source_category_replace_dash: + type: string + source_host: + type: string + source_host_key_name: + type: string + source_name: + type: string + source_name_key_name: + type: string + tracing_annotation_prefix: + type: string + tracing_container_name: + type: string + tracing_format: + type: boolean + tracing_host: + type: string + tracing_label_prefix: + type: string + tracing_namespace: + type: string + tracing_pod: + type: string + tracing_pod_id: + type: string + type: object + tag_normaliser: + properties: + format: + type: string + match_tag: + type: string + type: object + throttle: + properties: + group_bucket_limit: + type: integer + group_bucket_period_s: + type: integer + group_drop_logs: + type: boolean + group_key: + type: string + group_reset_rate_s: + type: integer + group_warning_delay_s: + type: integer + type: object + type: object + type: array + flowLabel: + type: string + globalOutputRefs: + items: + type: string + type: array + includeLabelInRouter: + type: boolean + outputRefs: + items: + type: string + type: array + type: object + enableRecreateWorkloadOnImmutableFieldChange: + type: boolean + errorOutputRef: + type: string + flowConfigCheckDisabled: + type: boolean + flowConfigOverride: + type: string + fluentbit: + properties: + HostNetwork: + type: boolean + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + annotations: + additionalProperties: + type: string + type: object + bufferStorage: + properties: + storage.backlog.mem_limit: + type: string + storage.checksum: + type: string + storage.metrics: + type: string + storage.path: + type: string + storage.sync: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + bufferVolumeArgs: + items: + type: string + type: array + bufferVolumeImage: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + bufferVolumeMetrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + bufferVolumeResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + coroStackSize: + format: int32 + type: integer + customConfigSecret: + type: string + customParsers: + type: string + daemonsetAnnotations: + additionalProperties: + type: string + type: object + disableKubernetesFilter: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableUpstream: + type: boolean + envVars: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + extraVolumeMounts: + items: + properties: + destination: + pattern: ^/.+$ + type: string + readOnly: + type: boolean + source: + pattern: ^/.+$ + type: string + required: + - destination + - source + type: object + type: array + filterAws: + properties: + Match: + type: string + account_id: + type: boolean + ami_id: + type: boolean + az: + type: boolean + ec2_instance_id: + type: boolean + ec2_instance_type: + type: boolean + hostname: + type: boolean + imds_version: + type: string + private_ip: + type: boolean + vpc_id: + type: boolean + type: object + filterKubernetes: + properties: + Annotations: + type: string + Buffer_Size: + type: string + Cache_Use_Docker_Id: + type: string + DNS_Retries: + type: string + DNS_Wait_Time: + type: string + Dummy_Meta: + type: string + K8S-Logging.Exclude: + type: string + K8S-Logging.Parser: + type: string + Keep_Log: + type: string + Kube_CA_File: + type: string + Kube_CA_Path: + type: string + Kube_Meta_Cache_TTL: + type: string + Kube_Tag_Prefix: + type: string + Kube_Token_File: + type: string + Kube_Token_TTL: + type: string + Kube_URL: + type: string + Kube_meta_preload_cache_dir: + type: string + Kubelet_Port: + type: string + Labels: + type: string + Match: + type: string + Merge_Log: + type: string + Merge_Log_Key: + type: string + Merge_Log_Trim: + type: string + Merge_Parser: + type: string + Regex_Parser: + type: string + Use_Journal: + type: string + Use_Kubelet: + type: string + tls.debug: + type: string + tls.verify: + type: string + type: object + filterModify: + items: + properties: + conditions: + items: + properties: + A_key_matches: + properties: + key: + type: string + type: object + Key_does_not_exist: + properties: + key: + type: string + value: + type: string + type: object + Key_exists: + properties: + key: + type: string + type: object + Key_value_does_not_equal: + properties: + key: + type: string + value: + type: string + type: object + Key_value_does_not_match: + properties: + key: + type: string + value: + type: string + type: object + Key_value_equals: + properties: + key: + type: string + value: + type: string + type: object + Key_value_matches: + properties: + key: + type: string + value: + type: string + type: object + Matching_keys_do_not_have_matching_values: + properties: + key: + type: string + value: + type: string + type: object + Matching_keys_have_matching_values: + properties: + key: + type: string + value: + type: string + type: object + No_key_matches: + properties: + key: + type: string + type: object + type: object + type: array + rules: + items: + properties: + Add: + properties: + key: + type: string + value: + type: string + type: object + Copy: + properties: + key: + type: string + value: + type: string + type: object + Hard_copy: + properties: + key: + type: string + value: + type: string + type: object + Hard_rename: + properties: + key: + type: string + value: + type: string + type: object + Remove: + properties: + key: + type: string + type: object + Remove_regex: + properties: + key: + type: string + type: object + Remove_wildcard: + properties: + key: + type: string + type: object + Rename: + properties: + key: + type: string + value: + type: string + type: object + Set: + properties: + key: + type: string + value: + type: string + type: object + type: object + type: array + type: object + type: array + flush: + format: int32 + type: integer + forwardOptions: + properties: + Require_ack_response: + type: boolean + Retry_Limit: + type: string + Send_options: + type: boolean + Tag: + type: string + Time_as_Integer: + type: boolean + Workers: + type: integer + storage.total_limit_size: + type: string + type: object + grace: + format: int32 + type: integer + healthCheck: + properties: + hcErrorsCount: + type: integer + hcPeriod: + type: integer + hcRetryFailureCount: + type: integer + type: object + image: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + inputTail: + properties: + Buffer_Chunk_Size: + type: string + Buffer_Max_Size: + type: string + DB: + type: string + DB.journal_mode: + type: string + DB.locking: + type: boolean + DB_Sync: + type: string + Docker_Mode: + type: string + Docker_Mode_Flush: + type: string + Docker_Mode_Parser: + type: string + Exclude_Path: + type: string + Ignore_Older: + type: string + Key: + type: string + Mem_Buf_Limit: + type: string + Multiline: + type: string + Multiline_Flush: + type: string + Parser: + type: string + Parser_Firstline: + type: string + Parser_N: + items: + type: string + type: array + Path: + type: string + Path_Key: + type: string + Read_From_Head: + type: boolean + Refresh_Interval: + type: string + Rotate_Wait: + type: string + Skip_Long_Lines: + type: string + Tag: + type: string + Tag_Regex: + type: string + multiline.parser: + items: + type: string + type: array + storage.type: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + livenessDefaultCheck: + type: boolean + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logLevel: + type: string + loggingRef: + type: string + metrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + mountPath: + type: string + network: + properties: + connectTimeout: + format: int32 + type: integer + connectTimeoutLogError: + type: boolean + dnsMode: + type: string + dnsPreferIpv4: + type: boolean + dnsResolver: + type: string + keepalive: + type: boolean + keepaliveIdleTimeout: + format: int32 + type: integer + keepaliveMaxRecycle: + format: int32 + type: integer + sourceAddress: + type: string + type: object + nodeSelector: + additionalProperties: + type: string + type: object + parser: + type: string + podPriorityClassName: + type: string + position_db: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + positiondb: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + security: + properties: + podSecurityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + podSecurityPolicyCreate: + type: boolean + roleBasedAccessControlCreate: + type: boolean + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + type: object + serviceAccount: + properties: + automountServiceAccountToken: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + secrets: + items: + properties: + apiVersion: + type: string + fieldPath: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + resourceVersion: + type: string + uid: + type: string + type: object + type: array + type: object + syslogng_output: + properties: + Workers: + type: integer + json_date_format: + type: string + json_date_key: + type: string + type: object + targetHost: + type: string + targetPort: + format: int32 + type: integer + tls: + properties: + enabled: + type: boolean + secretName: + type: string + sharedKey: + type: string + required: + - enabled + type: object + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + updateStrategy: + properties: + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + type: + type: string + type: object + type: object + fluentd: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + annotations: + additionalProperties: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + bufferVolumeArgs: + items: + type: string + type: array + bufferVolumeImage: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + bufferVolumeMetrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + bufferVolumeResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + compressConfigFile: + type: boolean + configCheckAnnotations: + additionalProperties: + type: string + type: object + configCheckResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + configReloaderImage: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + disablePvc: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableMsgpackTimeSupport: + type: boolean + envVars: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + extraArgs: + items: + type: string + type: array + extraVolumes: + items: + properties: + containerName: + type: string + path: + type: string + volume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + volumeName: + type: string + type: object + type: array + fluentLogDestination: + type: string + fluentOutLogrotate: + properties: + age: + type: string + enabled: + type: boolean + path: + type: string + size: + type: string + required: + - enabled + type: object + fluentdPvcSpec: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + forwardInputConfig: + properties: + add_tag_prefix: + type: string + bind: + type: string + chunk_size_limit: + type: string + chunk_size_warn_limit: + type: string + deny_keepalive: + type: boolean + linger_timeout: + type: integer + port: + type: string + resolve_hostname: + type: boolean + security: + properties: + allow_anonymous_source: + type: boolean + self_hostname: + type: string + shared_key: + type: string + user_auth: + type: boolean + required: + - self_hostname + - shared_key + type: object + send_keepalive_packet: + type: boolean + skip_invalid_event: + type: boolean + source_address_key: + type: string + sourceHostnameKey: + type: string + tag: + type: string + transport: + properties: + ca_cert_path: + type: string + ca_path: + type: string + ca_private_key_passphrase: + type: string + ca_private_key_path: + type: string + cert_path: + type: string + ciphers: + type: string + client_cert_auth: + type: boolean + insecure: + type: boolean + private_key_passphrase: + type: string + private_key_path: + type: string + protocol: + type: string + version: + type: string + type: object + type: object + ignoreRepeatedLogInterval: + type: string + ignoreSameLogInterval: + type: string + image: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + livenessDefaultCheck: + type: boolean + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logLevel: + type: string + metrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + nodeSelector: + additionalProperties: + type: string + type: object + podPriorityClassName: + type: string + port: + format: int32 + type: integer + readinessDefaultCheck: + properties: + bufferFileNumber: + type: boolean + bufferFileNumberMax: + format: int32 + type: integer + bufferFreeSpace: + type: boolean + bufferFreeSpaceThreshold: + format: int32 + type: integer + failureThreshold: + format: int32 + type: integer + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + rootDir: + type: string + scaling: + properties: + drain: + properties: + annotations: + additionalProperties: + type: string + type: object + deleteVolume: + type: boolean + enabled: + type: boolean + image: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + pauseImage: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + type: object + podManagementPolicy: + type: string + replicas: + type: integer + type: object + security: + properties: + podSecurityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + podSecurityPolicyCreate: + type: boolean + roleBasedAccessControlCreate: + type: boolean + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + type: object + serviceAccount: + properties: + automountServiceAccountToken: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + secrets: + items: + properties: + apiVersion: + type: string + fieldPath: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + resourceVersion: + type: string + uid: + type: string + type: object + type: array + type: object + statefulsetAnnotations: + additionalProperties: + type: string + type: object + tls: + properties: + enabled: + type: boolean + secretName: + type: string + sharedKey: + type: string + required: + - enabled + type: object + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + volumeModImage: + properties: + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + volumeMountChmod: + type: boolean + workers: + format: int32 + type: integer + type: object + globalFilters: + items: + properties: + concat: + properties: + continuous_line_regexp: + type: string + flush_interval: + type: integer + keep_partial_key: + type: boolean + keep_partial_metadata: + type: string + key: + type: string + multiline_end_regexp: + type: string + multiline_start_regexp: + type: string + n_lines: + type: integer + partial_cri_logtag_key: + type: string + partial_cri_stream_key: + type: string + partial_key: + type: string + partial_metadata_format: + type: string + partial_value: + type: string + separator: + type: string + stream_identity_key: + type: string + timeout_label: + type: string + use_first_timestamp: + type: boolean + use_partial_cri_logtag: + type: boolean + use_partial_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + force_line_breaks: + type: boolean + languages: + items: + type: string + type: array + match_tag: + type: string + max_bytes: + type: integer + max_lines: + type: integer + message: + type: string + multiline_flush_interval: + type: string + remove_tag_prefix: + type: string + stream: + type: string + type: object + elasticsearch_genid: + properties: + hash_id_key: + type: string + hash_type: + type: string + include_tag_in_seed: + type: boolean + include_time_in_seed: + type: boolean + record_keys: + type: string + separator: + type: string + use_entire_record: + type: boolean + use_record_as_seed: + type: boolean + type: object + enhanceK8s: + properties: + api_groups: + items: + type: string + type: array + bearer_token_file: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cache_refresh: + type: integer + cache_refresh_variation: + type: integer + cache_size: + type: integer + cache_ttl: + type: integer + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + core_api_versions: + items: + type: string + type: array + data_type: + type: string + in_namespace_path: + items: + type: string + type: array + in_pod_path: + items: + type: string + type: array + kubernetes_url: + type: string + secret_dir: + type: string + ssl_partial_chain: + type: boolean + verify_ssl: + type: boolean + type: object + geoip: + properties: + backend_library: + type: string + geoip_database: + type: string + geoip_lookup_keys: + type: string + geoip2_database: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + skip_adding_null_record: + type: boolean + type: object + grep: + properties: + and: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + or: + items: + properties: + exclude: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + type: array + regexp: + items: + properties: + key: + type: string + pattern: + type: string + required: + - key + - pattern + type: object + type: array + type: object + kube_events_timestamp: + properties: + mapped_time_key: + type: string + timestamp_fields: + items: + type: string + type: array + type: object + parser: + properties: + emit_invalid_record_to_error: + type: boolean + hash_value_field: + type: string + inject_key_prefix: + type: string + key_name: + type: string + parse: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + parsers: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + keys: + type: string + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + custom_pattern_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + grok_failure_key: + type: string + grok_name_key: + type: string + grok_pattern: + type: string + grok_patterns: + items: + properties: + keep_time_key: + type: boolean + name: + type: string + pattern: + type: string + time_format: + type: string + time_key: + type: string + timezone: + type: string + required: + - pattern + type: object + type: array + keep_time_key: + type: boolean + local_time: + type: boolean + multiline_start_regexp: + type: string + null_empty_string: + type: boolean + null_value_pattern: + type: string + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + time_format: + type: string + time_key: + type: string + time_type: + type: string + timezone: + type: string + type: + type: string + types: + type: string + utc: + type: boolean + type: object + type: array + remove_key_name_field: + type: boolean + replace_invalid_sequence: + type: boolean + reserve_data: + type: boolean + reserve_time: + type: boolean + type: object + prometheus: + properties: + labels: + additionalProperties: + type: string + type: object + metrics: + items: + properties: + buckets: + type: string + desc: + type: string + key: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + required: + - desc + - name + - type + type: object + type: array + type: object + record_modifier: + properties: + char_encoding: + type: string + prepare_value: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + replaces: + items: + properties: + expression: + type: string + key: + type: string + replace: + type: string + required: + - expression + - key + - replace + type: object + type: array + whitelist_keys: + type: string + type: object + record_transformer: + properties: + auto_typecast: + type: boolean + enable_ruby: + type: boolean + keep_keys: + type: string + records: + items: + additionalProperties: + type: string + type: object + type: array + remove_keys: + type: string + renew_record: + type: boolean + renew_time_key: + type: string + type: object + stdout: + properties: + output_type: + type: string + type: object + sumologic: + properties: + collector_key_name: + type: string + collector_value: + type: string + exclude_container_regex: + type: string + exclude_facility_regex: + type: string + exclude_host_regex: + type: string + exclude_namespace_regex: + type: string + exclude_pod_regex: + type: string + exclude_priority_regex: + type: string + exclude_unit_regex: + type: string + log_format: + type: string + source_category: + type: string + source_category_key_name: + type: string + source_category_prefix: + type: string + source_category_replace_dash: + type: string + source_host: + type: string + source_host_key_name: + type: string + source_name: + type: string + source_name_key_name: + type: string + tracing_annotation_prefix: + type: string + tracing_container_name: + type: string + tracing_format: + type: boolean + tracing_host: + type: string + tracing_label_prefix: + type: string + tracing_namespace: + type: string + tracing_pod: + type: string + tracing_pod_id: + type: string + type: object + tag_normaliser: + properties: + format: + type: string + match_tag: + type: string + type: object + throttle: + properties: + group_bucket_limit: + type: integer + group_bucket_period_s: + type: integer + group_drop_logs: + type: boolean + group_key: + type: string + group_reset_rate_s: + type: integer + group_warning_delay_s: + type: integer + type: object + type: object + type: array + loggingRef: + type: string + nodeAgents: + items: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + nodeAgentFluentbit: + properties: + bufferStorage: + properties: + storage.backlog.mem_limit: + type: string + storage.checksum: + type: string + storage.metrics: + type: string + storage.path: + type: string + storage.sync: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + containersPath: + type: string + coroStackSize: + format: int32 + type: integer + customConfigSecret: + type: string + daemonSet: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + minReadySeconds: + format: int32 + type: integer + revisionHistoryLimit: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + updateStrategy: + properties: + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + type: + type: string + type: object + type: object + type: object + disableKubernetesFilter: + type: boolean + enableUpstream: + type: boolean + enabled: + type: boolean + extraVolumeMounts: + items: + properties: + destination: + pattern: ^/.+$ + type: string + readOnly: + type: boolean + source: + pattern: ^/.+$ + type: string + required: + - destination + - source + type: object + type: array + filterAws: + properties: + Match: + type: string + account_id: + type: boolean + ami_id: + type: boolean + az: + type: boolean + ec2_instance_id: + type: boolean + ec2_instance_type: + type: boolean + hostname: + type: boolean + imds_version: + type: string + private_ip: + type: boolean + vpc_id: + type: boolean + type: object + filterKubernetes: + properties: + Annotations: + type: string + Buffer_Size: + type: string + Cache_Use_Docker_Id: + type: string + DNS_Retries: + type: string + DNS_Wait_Time: + type: string + Dummy_Meta: + type: string + K8S-Logging.Exclude: + type: string + K8S-Logging.Parser: + type: string + Keep_Log: + type: string + Kube_CA_File: + type: string + Kube_CA_Path: + type: string + Kube_Meta_Cache_TTL: + type: string + Kube_Tag_Prefix: + type: string + Kube_Token_File: + type: string + Kube_Token_TTL: + type: string + Kube_URL: + type: string + Kube_meta_preload_cache_dir: + type: string + Kubelet_Port: + type: string + Labels: + type: string + Match: + type: string + Merge_Log: + type: string + Merge_Log_Key: + type: string + Merge_Log_Trim: + type: string + Merge_Parser: + type: string + Regex_Parser: + type: string + Use_Journal: + type: string + Use_Kubelet: + type: string + tls.debug: + type: string + tls.verify: + type: string + type: object + flush: + format: int32 + type: integer + forwardOptions: + properties: + Require_ack_response: + type: boolean + Retry_Limit: + type: string + Send_options: + type: boolean + Tag: + type: string + Time_as_Integer: + type: boolean + Workers: + type: integer + storage.total_limit_size: + type: string + type: object + grace: + format: int32 + type: integer + inputTail: + properties: + Buffer_Chunk_Size: + type: string + Buffer_Max_Size: + type: string + DB: + type: string + DB.journal_mode: + type: string + DB.locking: + type: boolean + DB_Sync: + type: string + Docker_Mode: + type: string + Docker_Mode_Flush: + type: string + Docker_Mode_Parser: + type: string + Exclude_Path: + type: string + Ignore_Older: + type: string + Key: + type: string + Mem_Buf_Limit: + type: string + Multiline: + type: string + Multiline_Flush: + type: string + Parser: + type: string + Parser_Firstline: + type: string + Parser_N: + items: + type: string + type: array + Path: + type: string + Path_Key: + type: string + Read_From_Head: + type: boolean + Refresh_Interval: + type: string + Rotate_Wait: + type: string + Skip_Long_Lines: + type: string + Tag: + type: string + Tag_Regex: + type: string + multiline.parser: + items: + type: string + type: array + storage.type: + type: string + type: object + livenessDefaultCheck: + type: boolean + logLevel: + type: string + metrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + metricsService: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + type: object + network: + properties: + connectTimeout: + format: int32 + type: integer + connectTimeoutLogError: + type: boolean + dnsMode: + type: string + dnsPreferIpv4: + type: boolean + dnsResolver: + type: string + keepalive: + type: boolean + keepaliveIdleTimeout: + format: int32 + type: integer + keepaliveMaxRecycle: + format: int32 + type: integer + sourceAddress: + type: string + type: object + podPriorityClassName: + type: string + positiondb: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + security: + properties: + podSecurityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + podSecurityPolicyCreate: + type: boolean + roleBasedAccessControlCreate: + type: boolean + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + type: object + serviceAccount: + properties: + automountServiceAccountToken: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + secrets: + items: + properties: + apiVersion: + type: string + fieldPath: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + resourceVersion: + type: string + uid: + type: string + type: object + type: array + type: object + targetHost: + type: string + targetPort: + format: int32 + type: integer + tls: + properties: + enabled: + type: boolean + secretName: + type: string + sharedKey: + type: string + required: + - enabled + type: object + varLogsPath: + type: string + type: object + profile: + type: string + type: object + type: array + skipInvalidResources: + type: boolean + syslogNG: + properties: + bufferVolumeMetrics: + properties: + interval: + type: string + mount_name: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + bufferVolumeMetricsService: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + type: object + configCheckPod: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + globalOptions: + properties: + log_level: + type: string + stats: + properties: + freq: + type: integer + level: + type: integer + type: object + stats_freq: + type: integer + stats_level: + type: integer + type: object + jsonKeyDelim: + type: string + jsonKeyPrefix: + type: string + logIWSize: + type: integer + maxConnections: + type: integer + metrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + metricsService: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + type: object + readinessDefaultCheck: + properties: + bufferFileNumber: + type: boolean + bufferFileNumberMax: + format: int32 + type: integer + bufferFreeSpace: + type: boolean + bufferFreeSpaceThreshold: + format: int32 + type: integer + failureThreshold: + format: int32 + type: integer + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + service: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + type: object + serviceAccount: + properties: + automountServiceAccountToken: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + secrets: + items: + properties: + apiVersion: + type: string + fieldPath: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + resourceVersion: + type: string + uid: + type: string + type: object + type: array + type: object + skipRBACCreate: + type: boolean + statefulSet: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + podManagementPolicy: + type: string + replicas: + format: int32 + type: integer + revisionHistoryLimit: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + serviceName: + type: string + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + updateStrategy: + properties: + rollingUpdate: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + partition: + format: int32 + type: integer + type: object + type: + type: string + type: object + volumeClaimTemplates: + items: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + type: array + type: object + type: object + tls: + properties: + enabled: + type: boolean + secretName: + type: string + sharedKey: + type: string + required: + - enabled + type: object + type: object + watchNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + watchNamespaces: + items: + type: string + type: array + required: + - controlNamespace + type: object + status: + properties: + configCheckResults: + additionalProperties: + type: boolean + type: object + problems: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_nodeagents.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_nodeagents.yaml new file mode 100644 index 0000000000..f7f0cb76c5 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_nodeagents.yaml @@ -0,0 +1,4328 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: nodeagents.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: NodeAgent + listKind: NodeAgentList + plural: nodeagents + singular: nodeagent + scope: Cluster + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + loggingRef: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + nodeAgentFluentbit: + properties: + bufferStorage: + properties: + storage.backlog.mem_limit: + type: string + storage.checksum: + type: string + storage.metrics: + type: string + storage.path: + type: string + storage.sync: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + containersPath: + type: string + coroStackSize: + format: int32 + type: integer + customConfigSecret: + type: string + daemonSet: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + minReadySeconds: + format: int32 + type: integer + revisionHistoryLimit: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + updateStrategy: + properties: + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + type: + type: string + type: object + type: object + type: object + disableKubernetesFilter: + type: boolean + enableUpstream: + type: boolean + enabled: + type: boolean + extraVolumeMounts: + items: + properties: + destination: + pattern: ^/.+$ + type: string + readOnly: + type: boolean + source: + pattern: ^/.+$ + type: string + required: + - destination + - source + type: object + type: array + filterAws: + properties: + Match: + type: string + account_id: + type: boolean + ami_id: + type: boolean + az: + type: boolean + ec2_instance_id: + type: boolean + ec2_instance_type: + type: boolean + hostname: + type: boolean + imds_version: + type: string + private_ip: + type: boolean + vpc_id: + type: boolean + type: object + filterKubernetes: + properties: + Annotations: + type: string + Buffer_Size: + type: string + Cache_Use_Docker_Id: + type: string + DNS_Retries: + type: string + DNS_Wait_Time: + type: string + Dummy_Meta: + type: string + K8S-Logging.Exclude: + type: string + K8S-Logging.Parser: + type: string + Keep_Log: + type: string + Kube_CA_File: + type: string + Kube_CA_Path: + type: string + Kube_Meta_Cache_TTL: + type: string + Kube_Tag_Prefix: + type: string + Kube_Token_File: + type: string + Kube_Token_TTL: + type: string + Kube_URL: + type: string + Kube_meta_preload_cache_dir: + type: string + Kubelet_Port: + type: string + Labels: + type: string + Match: + type: string + Merge_Log: + type: string + Merge_Log_Key: + type: string + Merge_Log_Trim: + type: string + Merge_Parser: + type: string + Regex_Parser: + type: string + Use_Journal: + type: string + Use_Kubelet: + type: string + tls.debug: + type: string + tls.verify: + type: string + type: object + flush: + format: int32 + type: integer + forwardOptions: + properties: + Require_ack_response: + type: boolean + Retry_Limit: + type: string + Send_options: + type: boolean + Tag: + type: string + Time_as_Integer: + type: boolean + Workers: + type: integer + storage.total_limit_size: + type: string + type: object + grace: + format: int32 + type: integer + inputTail: + properties: + Buffer_Chunk_Size: + type: string + Buffer_Max_Size: + type: string + DB: + type: string + DB.journal_mode: + type: string + DB.locking: + type: boolean + DB_Sync: + type: string + Docker_Mode: + type: string + Docker_Mode_Flush: + type: string + Docker_Mode_Parser: + type: string + Exclude_Path: + type: string + Ignore_Older: + type: string + Key: + type: string + Mem_Buf_Limit: + type: string + Multiline: + type: string + Multiline_Flush: + type: string + Parser: + type: string + Parser_Firstline: + type: string + Parser_N: + items: + type: string + type: array + Path: + type: string + Path_Key: + type: string + Read_From_Head: + type: boolean + Refresh_Interval: + type: string + Rotate_Wait: + type: string + Skip_Long_Lines: + type: string + Tag: + type: string + Tag_Regex: + type: string + multiline.parser: + items: + type: string + type: array + storage.type: + type: string + type: object + livenessDefaultCheck: + type: boolean + logLevel: + type: string + metrics: + properties: + interval: + type: string + path: + type: string + port: + format: int32 + type: integer + prometheusAnnotations: + type: boolean + prometheusRules: + type: boolean + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + default: replace + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + type: string + type: object + type: array + scheme: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + secret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + serverName: + type: string + type: object + type: object + timeout: + type: string + type: object + metricsService: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + type: object + network: + properties: + connectTimeout: + format: int32 + type: integer + connectTimeoutLogError: + type: boolean + dnsMode: + type: string + dnsPreferIpv4: + type: boolean + dnsResolver: + type: string + keepalive: + type: boolean + keepaliveIdleTimeout: + format: int32 + type: integer + keepaliveMaxRecycle: + format: int32 + type: integer + sourceAddress: + type: string + type: object + podPriorityClassName: + type: string + positiondb: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + host_path: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + pvc: + properties: + source: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + type: object + security: + properties: + podSecurityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + podSecurityPolicyCreate: + type: boolean + roleBasedAccessControlCreate: + type: boolean + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + type: object + serviceAccount: + properties: + automountServiceAccountToken: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + secrets: + items: + properties: + apiVersion: + type: string + fieldPath: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + resourceVersion: + type: string + uid: + type: string + type: object + type: array + type: object + targetHost: + type: string + targetPort: + format: int32 + type: integer + tls: + properties: + enabled: + type: boolean + secretName: + type: string + sharedKey: + type: string + required: + - enabled + type: object + varLogsPath: + type: string + type: object + profile: + type: string + type: object + status: + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_outputs.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_outputs.yaml new file mode 100644 index 0000000000..00ae62d819 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_outputs.yaml @@ -0,0 +1,12334 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: outputs.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: Output + listKind: OutputList + plural: outputs + singular: output + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the output active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + awsElasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + endpoint: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_arn: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_session_name: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_web_identity_token_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ecs_container_credentials_relative_uri: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + region: + type: string + secret_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + sts_credentials_region: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + flush_interval: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + azurestorage: + properties: + auto_create_container: + type: boolean + azure_container: + type: string + azure_imds_api_version: + type: string + azure_object_key_format: + type: string + azure_storage_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_account: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_sas_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + type: string + path: + type: string + slow_flush_log_threshold: + type: string + required: + - azure_container + - azure_storage_account + type: object + cloudwatch: + properties: + auto_create_stream: + type: boolean + aws_instance_profile_credentials_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sts_role_arn: + type: string + aws_sts_session_name: + type: string + aws_use_sts: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + concurrency: + type: integer + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + http_proxy: + type: string + include_time_key: + type: boolean + json_handler: + type: string + localtime: + type: boolean + log_group_aws_tags: + type: string + log_group_aws_tags_key: + type: string + log_group_name: + type: string + log_group_name_key: + type: string + log_rejected_request: + type: string + log_stream_name: + type: string + log_stream_name_key: + type: string + max_events_per_batch: + type: integer + max_message_length: + type: integer + message_keys: + type: string + put_log_events_disable_retry_limit: + type: boolean + put_log_events_retry_limit: + type: integer + put_log_events_retry_wait: + type: string + region: + type: string + remove_log_group_aws_tags_key: + type: string + remove_log_group_name_key: + type: string + remove_log_stream_name_key: + type: string + remove_retention_in_days: + type: string + retention_in_days: + type: string + retention_in_days_key: + type: string + slow_flush_log_threshold: + type: string + use_tag_as_group: + type: boolean + use_tag_as_stream: + type: boolean + required: + - region + type: object + datadog: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compression_level: + type: string + dd_hostname: + type: string + dd_source: + type: string + dd_sourcecategory: + type: string + dd_tags: + type: string + host: + type: string + include_tag_key: + type: boolean + max_backoff: + type: string + max_retries: + type: string + no_ssl_validation: + type: boolean + port: + type: string + service: + type: string + slow_flush_log_threshold: + type: string + ssl_port: + type: string + tag_key: + type: string + timestamp_key: + type: string + use_compression: + type: boolean + use_http: + type: boolean + use_json: + type: boolean + use_ssl: + type: boolean + required: + - api_key + type: object + elasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + file: + properties: + add_path_suffix: + type: boolean + append: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + path: + type: string + path_suffix: + type: string + recompress: + type: boolean + slow_flush_log_threshold: + type: string + symlink_path: + type: boolean + required: + - path + type: object + forward: + properties: + ack_response_timeout: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connect_timeout: + type: integer + dns_round_robin: + type: boolean + expire_dns_cache: + type: integer + hard_timeout: + type: integer + heartbeat_interval: + type: integer + heartbeat_type: + type: string + ignore_network_errors_at_startup: + type: boolean + keepalive: + type: boolean + keepalive_timeout: + type: integer + phi_failure_detector: + type: boolean + phi_threshold: + type: integer + recover_wait: + type: integer + require_ack_response: + type: boolean + security: + properties: + allow_anonymous_source: + type: boolean + self_hostname: + type: string + shared_key: + type: string + user_auth: + type: boolean + required: + - self_hostname + - shared_key + type: object + send_timeout: + type: integer + servers: + items: + properties: + host: + type: string + name: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + shared_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + standby: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + weight: + type: integer + required: + - host + type: object + type: array + slow_flush_log_threshold: + type: string + tls_allow_self_signed_cert: + type: boolean + tls_cert_logical_store_name: + type: string + tls_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_cert_thumbprint: + type: string + tls_cert_use_enterprise_store: + type: boolean + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_insecure_mode: + type: boolean + tls_verify_hostname: + type: boolean + tls_version: + type: string + transport: + type: string + verify_connection_at_startup: + type: boolean + required: + - servers + type: object + gcs: + properties: + acl: + type: string + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_retries: + type: integer + client_timeout: + type: integer + credentials_json: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + encryption_key: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + keyfile: + type: string + object_key_format: + type: string + object_metadata: + items: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: array + overwrite: + type: boolean + path: + type: string + project: + type: string + slow_flush_log_threshold: + type: string + storage_class: + type: string + store_as: + type: string + transcoding: + type: boolean + required: + - bucket + - project + type: object + gelf: + properties: + host: + type: string + port: + type: integer + protocol: + type: string + tls: + type: boolean + tls_options: + additionalProperties: + type: string + type: object + required: + - host + - port + type: object + http: + properties: + auth: + properties: + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - password + - username + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + content_type: + type: string + endpoint: + type: string + error_response_as_unrecoverable: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + headers: + additionalProperties: + type: string + type: object + http_method: + type: string + json_array: + type: boolean + open_timeout: + type: integer + proxy: + type: string + read_timeout: + type: integer + retryable_response_codes: + items: + type: integer + type: array + slow_flush_log_threshold: + type: string + ssl_timeout: + type: integer + tls_ca_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_verify_mode: + type: string + tls_version: + type: string + required: + - endpoint + type: object + kafka: + properties: + ack_timeout: + type: integer + brokers: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_id: + type: string + compression_codec: + type: string + default_message_key: + type: string + default_partition_key: + type: string + default_topic: + type: string + discard_kafka_delivery_failed: + type: boolean + exclude_partion_key: + type: boolean + exclude_topic_key: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + get_kafka_client_log: + type: boolean + headers: + additionalProperties: + type: string + type: object + headers_from_record: + additionalProperties: + type: string + type: object + idempotent: + type: boolean + kafka_agg_max_bytes: + type: integer + kafka_agg_max_messages: + type: integer + keytab: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + max_send_retries: + type: integer + message_key_key: + type: string + partition_key: + type: string + partition_key_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + principal: + type: string + required_acks: + type: integer + sasl_over_ssl: + type: boolean + scram_mechanism: + type: string + slow_flush_log_threshold: + type: string + ssl_ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_ca_certs_from_system: + type: boolean + ssl_client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_chain: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_verify_hostname: + type: boolean + topic_key: + type: string + use_default_for_unknown_topic: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - brokers + - format + type: object + kinesisStream: + properties: + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + partition_key: + type: string + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + stream_name: + type: string + required: + - stream_name + type: object + logdna: + properties: + api_key: + type: string + app: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + hostname: + type: string + ingester_domain: + type: string + ingester_endpoint: + type: string + request_timeout: + type: string + slow_flush_log_threshold: + type: string + tags: + type: string + required: + - api_key + - hostname + type: object + loggingRef: + type: string + logz: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_limit: + type: integer + bulk_limit_warning_limit: + type: integer + endpoint: + properties: + port: + type: integer + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + gzip: + type: boolean + http_idle_timeout: + type: integer + output_include_tags: + type: boolean + output_include_time: + type: boolean + retry_count: + type: integer + retry_sleep: + type: integer + slow_flush_log_threshold: + type: string + required: + - endpoint + type: object + loki: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + configure_kubernetes_labels: + type: boolean + drop_single_key: + type: boolean + extra_labels: + additionalProperties: + type: string + type: object + extract_kubernetes_labels: + type: boolean + include_thread_label: + type: boolean + insecure_tls: + type: boolean + key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + labels: + additionalProperties: + type: string + type: object + line_format: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + remove_keys: + items: + type: string + type: array + slow_flush_log_threshold: + type: string + tenant: + type: string + url: + type: string + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + newrelic: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + base_uri: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + license_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + nullout: + type: object + opensearch: + properties: + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + catch_transport_exception_on_retry: + type: boolean + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + compression_level: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_opensearch_version: + type: integer + emit_error_for_missing_id: + type: boolean + emit_error_label_event: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_os_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + http_backend_excon_nonblock: + type: boolean + id_key: + type: string + ignore_exceptions: + type: string + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_separator: + type: string + log_os_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_os_version: + type: integer + max_retry_putting_template: + type: string + parent_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + routing_key: + type: string + scheme: + type: string + selector_class_name: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_affinity: + type: boolean + target_index_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_exclude_timestamp: + type: boolean + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + truncate_caches_interval: + type: string + unrecoverable_error_types: + type: string + unrecoverable_record_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_os_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + oss: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + access_key_secret: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_bucket: + type: boolean + check_object: + type: boolean + download_crc_enable: + type: boolean + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + index_format: + type: string + key_format: + type: string + open_timeout: + type: integer + oss_sdk_log_dir: + type: string + overwrite: + type: boolean + path: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + store_as: + type: string + upload_crc_enable: + type: boolean + warn_for_delay: + type: string + required: + - access_key_id + - access_key_secret + - bucket + - endpoint + type: object + redis: + properties: + allow_duplicate_key: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + db_number: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + insert_key_prefix: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + slow_flush_log_threshold: + type: string + strftime_format: + type: string + ttl: + type: integer + type: object + relabel: + properties: + label: + type: string + required: + - label + type: object + s3: + properties: + acl: + type: string + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + auto_create_bucket: + type: string + aws_iam_retries: + type: string + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_apikey_on_start: + type: string + check_bucket: + type: string + check_object: + type: string + clustername: + type: string + compress: + properties: + parquet_compression_codec: + type: string + parquet_page_size: + type: string + parquet_row_group_size: + type: string + record_type: + type: string + schema_file: + type: string + schema_type: + type: string + type: object + compute_checksums: + type: string + enable_transfer_acceleration: + type: string + force_path_style: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + grant_full_control: + type: string + grant_read: + type: string + grant_read_acp: + type: string + grant_write_acp: + type: string + hex_random_length: + type: string + index_format: + type: string + instance_profile_credentials: + properties: + http_open_timeout: + type: string + http_read_timeout: + type: string + ip_address: + type: string + port: + type: string + retries: + type: string + type: object + oneeye_format: + type: boolean + overwrite: + type: string + path: + type: string + proxy_uri: + type: string + s3_bucket: + type: string + s3_endpoint: + type: string + s3_metadata: + type: string + s3_object_key_format: + type: string + s3_region: + type: string + shared_credentials: + properties: + path: + type: string + profile_name: + type: string + type: object + signature_version: + type: string + slow_flush_log_threshold: + type: string + sse_customer_algorithm: + type: string + sse_customer_key: + type: string + sse_customer_key_md5: + type: string + ssekms_key_id: + type: string + ssl_verify_peer: + type: string + storage_class: + type: string + store_as: + type: string + use_bundled_cert: + type: string + use_server_side_encryption: + type: string + warn_for_delay: + type: string + required: + - s3_bucket + type: object + splunkHec: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + coerce_to_utf8: + type: boolean + data_type: + type: string + fields: + additionalProperties: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hec_host: + type: string + hec_port: + type: integer + hec_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + host: + type: string + host_key: + type: string + idle_timeout: + type: integer + index: + type: string + index_key: + type: string + insecure_ssl: + type: boolean + keep_keys: + type: boolean + metric_name_key: + type: string + metric_value_key: + type: string + metrics_from_event: + type: boolean + non_utf8_replacement_string: + type: string + open_timeout: + type: integer + protocol: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + source: + type: string + source_key: + type: string + sourcetype: + type: string + sourcetype_key: + type: string + ssl_ciphers: + type: string + required: + - hec_host + - hec_token + type: object + sqs: + properties: + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + create_queue: + type: boolean + delay_seconds: + type: integer + include_tag: + type: boolean + message_group_id: + type: string + queue_name: + type: string + region: + type: string + slow_flush_log_threshold: + type: string + sqs_url: + type: string + tag_property_name: + type: string + type: object + sumologic: + properties: + add_timestamp: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: boolean + compress_encoding: + type: string + custom_dimensions: + type: string + custom_fields: + items: + type: string + type: array + data_type: + type: string + delimiter: + type: string + disable_cookies: + type: boolean + endpoint: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + log_format: + type: string + log_key: + type: string + metric_data_format: + type: string + open_timeout: + type: integer + proxy_uri: + type: string + slow_flush_log_threshold: + type: string + source_category: + type: string + source_host: + type: string + source_name: + type: string + source_name_key: + type: string + sumo_client: + type: string + timestamp_key: + type: string + verify_ssl: + type: boolean + required: + - endpoint + - source_name + type: object + syslog: + properties: + allow_self_signed_cert: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + enable_system_cert_store: + type: boolean + format: + properties: + app_name_field: + type: string + hostname_field: + type: string + log_field: + type: string + message_id_field: + type: string + proc_id_field: + type: string + rfc6587_message_size: + type: boolean + structured_data_field: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + fqdn: + type: string + host: + type: string + insecure: + type: boolean + port: + type: integer + private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + slow_flush_log_threshold: + type: string + transport: + type: string + trusted_ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + verify_fqdn: + type: boolean + version: + type: string + required: + - host + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Is the output active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + awsElasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + endpoint: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_arn: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_session_name: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + assume_role_web_identity_token_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ecs_container_credentials_relative_uri: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + region: + type: string + secret_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + sts_credentials_region: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + flush_interval: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + azurestorage: + properties: + auto_create_container: + type: boolean + azure_container: + type: string + azure_imds_api_version: + type: string + azure_object_key_format: + type: string + azure_storage_access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_account: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + azure_storage_sas_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + type: string + path: + type: string + slow_flush_log_threshold: + type: string + required: + - azure_container + - azure_storage_account + type: object + cloudwatch: + properties: + auto_create_stream: + type: boolean + aws_instance_profile_credentials_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sts_role_arn: + type: string + aws_sts_session_name: + type: string + aws_use_sts: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + concurrency: + type: integer + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + http_proxy: + type: string + include_time_key: + type: boolean + json_handler: + type: string + localtime: + type: boolean + log_group_aws_tags: + type: string + log_group_aws_tags_key: + type: string + log_group_name: + type: string + log_group_name_key: + type: string + log_rejected_request: + type: string + log_stream_name: + type: string + log_stream_name_key: + type: string + max_events_per_batch: + type: integer + max_message_length: + type: integer + message_keys: + type: string + put_log_events_disable_retry_limit: + type: boolean + put_log_events_retry_limit: + type: integer + put_log_events_retry_wait: + type: string + region: + type: string + remove_log_group_aws_tags_key: + type: string + remove_log_group_name_key: + type: string + remove_log_stream_name_key: + type: string + remove_retention_in_days: + type: string + retention_in_days: + type: string + retention_in_days_key: + type: string + slow_flush_log_threshold: + type: string + use_tag_as_group: + type: boolean + use_tag_as_stream: + type: boolean + required: + - region + type: object + datadog: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compression_level: + type: string + dd_hostname: + type: string + dd_source: + type: string + dd_sourcecategory: + type: string + dd_tags: + type: string + host: + type: string + include_tag_key: + type: boolean + max_backoff: + type: string + max_retries: + type: string + no_ssl_validation: + type: boolean + port: + type: string + service: + type: string + slow_flush_log_threshold: + type: string + ssl_port: + type: string + tag_key: + type: string + timestamp_key: + type: string + use_compression: + type: boolean + use_http: + type: boolean + use_json: + type: boolean + use_ssl: + type: boolean + required: + - api_key + type: object + elasticsearch: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + content_type: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_ilm_name: + type: string + data_stream_ilm_policy: + type: string + data_stream_ilm_policy_overwrite: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_es_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + id_key: + type: string + ignore_exceptions: + type: string + ilm_policy: + type: string + ilm_policy_id: + type: string + ilm_policy_overwrite: + type: boolean + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_prefix: + type: string + log_es_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_es_version: + type: string + max_retry_putting_template: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys: + type: string + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + rollover_index: + type: boolean + routing_key: + type: string + scheme: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_max_version: + type: string + ssl_min_version: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_key: + type: string + target_type_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + type_name: + type: string + unrecoverable_error_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_es_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + file: + properties: + add_path_suffix: + type: boolean + append: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + path: + type: string + path_suffix: + type: string + recompress: + type: boolean + slow_flush_log_threshold: + type: string + symlink_path: + type: boolean + required: + - path + type: object + forward: + properties: + ack_response_timeout: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connect_timeout: + type: integer + dns_round_robin: + type: boolean + expire_dns_cache: + type: integer + hard_timeout: + type: integer + heartbeat_interval: + type: integer + heartbeat_type: + type: string + ignore_network_errors_at_startup: + type: boolean + keepalive: + type: boolean + keepalive_timeout: + type: integer + phi_failure_detector: + type: boolean + phi_threshold: + type: integer + recover_wait: + type: integer + require_ack_response: + type: boolean + security: + properties: + allow_anonymous_source: + type: boolean + self_hostname: + type: string + shared_key: + type: string + user_auth: + type: boolean + required: + - self_hostname + - shared_key + type: object + send_timeout: + type: integer + servers: + items: + properties: + host: + type: string + name: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + shared_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + standby: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + weight: + type: integer + required: + - host + type: object + type: array + slow_flush_log_threshold: + type: string + tls_allow_self_signed_cert: + type: boolean + tls_cert_logical_store_name: + type: string + tls_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_cert_thumbprint: + type: string + tls_cert_use_enterprise_store: + type: boolean + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_client_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_insecure_mode: + type: boolean + tls_verify_hostname: + type: boolean + tls_version: + type: string + transport: + type: string + verify_connection_at_startup: + type: boolean + required: + - servers + type: object + gcs: + properties: + acl: + type: string + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_retries: + type: integer + client_timeout: + type: integer + credentials_json: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + encryption_key: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + keyfile: + type: string + object_key_format: + type: string + object_metadata: + items: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: array + overwrite: + type: boolean + path: + type: string + project: + type: string + slow_flush_log_threshold: + type: string + storage_class: + type: string + store_as: + type: string + transcoding: + type: boolean + required: + - bucket + - project + type: object + gelf: + properties: + host: + type: string + port: + type: integer + protocol: + type: string + tls: + type: boolean + tls_options: + additionalProperties: + type: string + type: object + required: + - host + - port + type: object + http: + properties: + auth: + properties: + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - password + - username + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + content_type: + type: string + endpoint: + type: string + error_response_as_unrecoverable: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + headers: + additionalProperties: + type: string + type: object + http_method: + type: string + json_array: + type: boolean + open_timeout: + type: integer + proxy: + type: string + read_timeout: + type: integer + retryable_response_codes: + items: + type: integer + type: array + slow_flush_log_threshold: + type: string + ssl_timeout: + type: integer + tls_ca_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_ciphers: + type: string + tls_client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + tls_verify_mode: + type: string + tls_version: + type: string + required: + - endpoint + type: object + kafka: + properties: + ack_timeout: + type: integer + brokers: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_id: + type: string + compression_codec: + type: string + default_message_key: + type: string + default_partition_key: + type: string + default_topic: + type: string + discard_kafka_delivery_failed: + type: boolean + exclude_partion_key: + type: boolean + exclude_topic_key: + type: boolean + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + get_kafka_client_log: + type: boolean + headers: + additionalProperties: + type: string + type: object + headers_from_record: + additionalProperties: + type: string + type: object + idempotent: + type: boolean + kafka_agg_max_bytes: + type: integer + kafka_agg_max_messages: + type: integer + keytab: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + max_send_retries: + type: integer + message_key_key: + type: string + partition_key: + type: string + partition_key_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + principal: + type: string + required_acks: + type: integer + sasl_over_ssl: + type: boolean + scram_mechanism: + type: string + slow_flush_log_threshold: + type: string + ssl_ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_ca_certs_from_system: + type: boolean + ssl_client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_chain: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_client_cert_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ssl_verify_hostname: + type: boolean + topic_key: + type: string + use_default_for_unknown_topic: + type: boolean + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - brokers + - format + type: object + kinesisFirehose: + properties: + append_new_line: + type: boolean + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + delivery_stream_name: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + required: + - delivery_stream_name + type: object + kinesisStream: + properties: + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + aws_iam_retries: + type: integer + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_ses_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch_request_max_count: + type: integer + batch_request_max_size: + type: integer + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + partition_key: + type: string + process_credentials: + properties: + process: + type: string + required: + - process + type: object + region: + type: string + reset_backoff_if_success: + type: boolean + retries_on_batch_request: + type: integer + slow_flush_log_threshold: + type: string + stream_name: + type: string + required: + - stream_name + type: object + logdna: + properties: + api_key: + type: string + app: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + hostname: + type: string + ingester_domain: + type: string + ingester_endpoint: + type: string + request_timeout: + type: string + slow_flush_log_threshold: + type: string + tags: + type: string + required: + - api_key + - hostname + type: object + loggingRef: + type: string + logz: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_limit: + type: integer + bulk_limit_warning_limit: + type: integer + endpoint: + properties: + port: + type: integer + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + type: object + gzip: + type: boolean + http_idle_timeout: + type: integer + output_include_tags: + type: boolean + output_include_time: + type: boolean + retry_count: + type: integer + retry_sleep: + type: integer + slow_flush_log_threshold: + type: string + required: + - endpoint + type: object + loki: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + configure_kubernetes_labels: + type: boolean + drop_single_key: + type: boolean + extra_labels: + additionalProperties: + type: string + type: object + extract_kubernetes_labels: + type: boolean + include_thread_label: + type: boolean + insecure_tls: + type: boolean + key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + labels: + additionalProperties: + type: string + type: object + line_format: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + remove_keys: + items: + type: string + type: array + slow_flush_log_threshold: + type: string + tenant: + type: string + url: + type: string + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + mattermost: + properties: + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + channel_id: + type: string + enable_tls: + type: boolean + message: + type: string + message_color: + type: string + message_title: + type: string + webhook_url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + required: + - webhook_url + type: object + newrelic: + properties: + api_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + base_uri: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + license_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + nullout: + type: object + opensearch: + properties: + application_name: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + bulk_message_request_threshold: + type: string + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + catch_transport_exception_on_retry: + type: boolean + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key_pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + compression_level: + type: string + custom_headers: + type: string + customize_template: + type: string + data_stream_enable: + type: boolean + data_stream_name: + type: string + data_stream_template_name: + type: string + default_opensearch_version: + type: integer + emit_error_for_missing_id: + type: boolean + emit_error_label_event: + type: boolean + exception_backup: + type: boolean + fail_on_detecting_os_version_retry_exceed: + type: boolean + fail_on_putting_template_retry_exceed: + type: boolean + flatten_hashes: + type: boolean + flatten_hashes_separator: + type: string + host: + type: string + hosts: + type: string + http_backend: + type: string + http_backend_excon_nonblock: + type: boolean + id_key: + type: string + ignore_exceptions: + type: string + include_index_in_url: + type: boolean + include_tag_key: + type: boolean + include_timestamp: + type: boolean + index_date_pattern: + type: string + index_name: + type: string + index_separator: + type: string + log_os_400_reason: + type: boolean + logstash_dateformat: + type: string + logstash_format: + type: boolean + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + max_retry_get_os_version: + type: integer + max_retry_putting_template: + type: string + parent_key: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + path: + type: string + pipeline: + type: string + port: + type: integer + prefer_oj_serializer: + type: boolean + reconnect_on_error: + type: boolean + reload_after: + type: string + reload_connections: + type: boolean + reload_on_failure: + type: boolean + remove_keys_on_update: + type: string + remove_keys_on_update_key: + type: string + request_timeout: + type: string + resurrect_after: + type: string + retry_tag: + type: string + routing_key: + type: string + scheme: + type: string + selector_class_name: + type: string + slow_flush_log_threshold: + type: string + sniffer_class_name: + type: string + ssl_verify: + type: boolean + ssl_version: + type: string + suppress_doc_wrap: + type: boolean + suppress_type_name: + type: boolean + tag_key: + type: string + target_index_affinity: + type: boolean + target_index_key: + type: string + template_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + template_name: + type: string + template_overwrite: + type: boolean + templates: + type: string + time_key: + type: string + time_key_exclude_timestamp: + type: boolean + time_key_format: + type: string + time_parse_error_tag: + type: string + time_precision: + type: string + truncate_caches_interval: + type: string + unrecoverable_error_types: + type: string + unrecoverable_record_types: + type: string + use_legacy_template: + type: boolean + user: + type: string + utc_index: + type: boolean + validate_client_version: + type: boolean + verify_os_version_at_startup: + type: boolean + with_transporter_log: + type: boolean + write_operation: + type: string + type: object + oss: + properties: + access_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + access_key_secret: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + auto_create_bucket: + type: boolean + bucket: + type: string + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_bucket: + type: boolean + check_object: + type: boolean + download_crc_enable: + type: boolean + endpoint: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hex_random_length: + type: integer + index_format: + type: string + key_format: + type: string + open_timeout: + type: integer + oss_sdk_log_dir: + type: string + overwrite: + type: boolean + path: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + store_as: + type: string + upload_crc_enable: + type: boolean + warn_for_delay: + type: string + required: + - access_key_id + - access_key_secret + - bucket + - endpoint + type: object + redis: + properties: + allow_duplicate_key: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + db_number: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + host: + type: string + insert_key_prefix: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + port: + type: integer + slow_flush_log_threshold: + type: string + strftime_format: + type: string + ttl: + type: integer + type: object + relabel: + properties: + label: + type: string + required: + - label + type: object + s3: + properties: + acl: + type: string + assume_role_credentials: + properties: + duration_seconds: + type: string + external_id: + type: string + policy: + type: string + role_arn: + type: string + role_session_name: + type: string + required: + - role_arn + - role_session_name + type: object + auto_create_bucket: + type: string + aws_iam_retries: + type: string + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + check_apikey_on_start: + type: string + check_bucket: + type: string + check_object: + type: string + clustername: + type: string + compress: + properties: + parquet_compression_codec: + type: string + parquet_page_size: + type: string + parquet_row_group_size: + type: string + record_type: + type: string + schema_file: + type: string + schema_type: + type: string + type: object + compute_checksums: + type: string + enable_transfer_acceleration: + type: string + force_path_style: + type: string + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + grant_full_control: + type: string + grant_read: + type: string + grant_read_acp: + type: string + grant_write_acp: + type: string + hex_random_length: + type: string + index_format: + type: string + instance_profile_credentials: + properties: + http_open_timeout: + type: string + http_read_timeout: + type: string + ip_address: + type: string + port: + type: string + retries: + type: string + type: object + oneeye_format: + type: boolean + overwrite: + type: string + path: + type: string + proxy_uri: + type: string + s3_bucket: + type: string + s3_endpoint: + type: string + s3_metadata: + type: string + s3_object_key_format: + type: string + s3_region: + type: string + shared_credentials: + properties: + path: + type: string + profile_name: + type: string + type: object + signature_version: + type: string + slow_flush_log_threshold: + type: string + sse_customer_algorithm: + type: string + sse_customer_key: + type: string + sse_customer_key_md5: + type: string + ssekms_key_id: + type: string + ssl_verify_peer: + type: string + storage_class: + type: string + store_as: + type: string + use_bundled_cert: + type: string + use_server_side_encryption: + type: string + warn_for_delay: + type: string + required: + - s3_bucket + type: object + splunkHec: + properties: + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_cert: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + client_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + coerce_to_utf8: + type: boolean + data_type: + type: string + fields: + additionalProperties: + type: string + type: object + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + hec_host: + type: string + hec_port: + type: integer + hec_token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + host: + type: string + host_key: + type: string + idle_timeout: + type: integer + index: + type: string + index_key: + type: string + insecure_ssl: + type: boolean + keep_keys: + type: boolean + metric_name_key: + type: string + metric_value_key: + type: string + metrics_from_event: + type: boolean + non_utf8_replacement_string: + type: string + open_timeout: + type: integer + protocol: + type: string + read_timeout: + type: integer + slow_flush_log_threshold: + type: string + source: + type: string + source_key: + type: string + sourcetype: + type: string + sourcetype_key: + type: string + ssl_ciphers: + type: string + required: + - hec_host + - hec_token + type: object + sqs: + properties: + aws_key_id: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + aws_sec_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + create_queue: + type: boolean + delay_seconds: + type: integer + include_tag: + type: boolean + message_group_id: + type: string + queue_name: + type: string + region: + type: string + slow_flush_log_threshold: + type: string + sqs_url: + type: string + tag_property_name: + type: string + type: object + sumologic: + properties: + add_timestamp: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + compress: + type: boolean + compress_encoding: + type: string + custom_dimensions: + type: string + custom_fields: + items: + type: string + type: array + data_type: + type: string + delimiter: + type: string + disable_cookies: + type: boolean + endpoint: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + log_format: + type: string + log_key: + type: string + metric_data_format: + type: string + open_timeout: + type: integer + proxy_uri: + type: string + slow_flush_log_threshold: + type: string + source_category: + type: string + source_host: + type: string + source_name: + type: string + source_name_key: + type: string + sumo_client: + type: string + timestamp_key: + type: string + verify_ssl: + type: boolean + required: + - endpoint + - source_name + type: object + syslog: + properties: + allow_self_signed_cert: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + client_cert_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + enable_system_cert_store: + type: boolean + format: + properties: + app_name_field: + type: string + hostname_field: + type: string + log_field: + type: string + message_id_field: + type: string + proc_id_field: + type: string + rfc6587_message_size: + type: boolean + structured_data_field: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + fqdn: + type: string + host: + type: string + insecure: + type: boolean + port: + type: integer + private_key_passphrase: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + private_key_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + slow_flush_log_threshold: + type: string + transport: + type: string + trusted_ca_path: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + verify_fqdn: + type: boolean + version: + type: string + required: + - host + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusterflows.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusterflows.yaml new file mode 100644 index 0000000000..5b26a4ad99 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusterflows.yaml @@ -0,0 +1,355 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: syslogngclusterflows.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: SyslogNGClusterFlow + listKind: SyslogNGClusterFlowList + plural: syslogngclusterflows + singular: syslogngclusterflow + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the flow active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + filters: + items: + properties: + id: + type: string + match: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + parser: + properties: + metrics-probe: + properties: + key: + type: string + labels: + additionalProperties: + type: string + type: object + level: + type: integer + type: object + regexp: + properties: + flags: + items: + type: string + type: array + patterns: + items: + type: string + type: array + prefix: + type: string + template: + type: string + required: + - patterns + type: object + syslog-parser: + properties: + flags: + items: + type: string + type: array + type: object + type: object + rewrite: + items: + properties: + group_unset: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + pattern: + type: string + required: + - pattern + type: object + rename: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + newName: + type: string + oldName: + type: string + required: + - newName + - oldName + type: object + set: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + field: + type: string + value: + type: string + required: + - field + - value + type: object + subst: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + field: + type: string + flags: + items: + type: string + type: array + pattern: + type: string + replace: + type: string + type: + type: string + required: + - field + - pattern + - replace + type: object + unset: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + field: + type: string + required: + - field + type: object + type: object + type: array + type: object + type: array + globalOutputRefs: + items: + type: string + type: array + loggingRef: + type: string + match: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusteroutputs.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusteroutputs.yaml new file mode 100644 index 0000000000..af5749b859 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngclusteroutputs.yaml @@ -0,0 +1,2431 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: syslogngclusteroutputs.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: SyslogNGClusterOutput + listKind: SyslogNGClusterOutputList + plural: syslogngclusteroutputs + singular: syslogngclusteroutput + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the output active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + elasticsearch: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + body-prefix: + type: string + body-suffix: + type: string + custom_id: + type: string + delimiter: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + headers: + items: + type: string + type: array + index: + type: string + log-fifo-size: + type: integer + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + logstash_suffix: + type: string + method: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + persist_name: + type: string + response-action: + additionalProperties: + type: string + type: object + retries: + type: integer + time_reopen: + type: integer + timeout: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + type: + type: string + url: + type: string + user: + type: string + user-agent: + type: string + workers: + type: integer + type: object + enabledNamespaces: + items: + type: string + type: array + file: + properties: + create_dirs: + type: boolean + dir_group: + type: string + dir_owner: + type: string + dir_perm: + type: integer + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + path: + type: string + persist_name: + type: string + template: + type: string + required: + - path + type: object + http: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + body-prefix: + type: string + body-suffix: + type: string + delimiter: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + headers: + items: + type: string + type: array + log-fifo-size: + type: integer + method: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + persist_name: + type: string + response-action: + additionalProperties: + type: string + type: object + retries: + type: integer + time_reopen: + type: integer + timeout: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + url: + type: string + user: + type: string + user-agent: + type: string + workers: + type: integer + type: object + loggingRef: + type: string + loggly: + properties: + close_on_input: + type: boolean + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + flags: + items: + type: string + type: array + flush_lines: + type: integer + host: + type: string + persist_name: + type: string + port: + type: integer + so_keepalive: + type: boolean + suppress: + type: integer + tag: + type: string + template: + type: string + template_escape: + type: boolean + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + transport: + type: string + ts_format: + type: string + required: + - token + type: object + logscale: + properties: + attributes: + type: string + batch_bytes: + type: integer + batch_lines: + type: integer + batch_timeout: + type: integer + body: + type: string + content_type: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + extra_headers: + type: string + persist_name: + type: string + rawstring: + type: string + timezone: + type: string + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + loki: + properties: + auth: + properties: + adc: + type: object + alts: + properties: + target-service-accounts: + items: + type: string + type: array + type: object + insecure: + type: object + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + type: object + batch-lines: + type: integer + batch-timeout: + type: integer + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + labels: + additionalProperties: + type: string + type: object + log-fifo-size: + type: integer + persist_name: + type: string + retries: + type: integer + template: + type: string + time_reopen: + type: integer + timestamp: + default: current + enum: + - current + - received + - msg + type: string + url: + type: string + workers: + type: integer + type: object + mongodb: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + bulk: + type: boolean + bulk_bypass_validation: + type: boolean + bulk_unordered: + type: boolean + collection: + type: string + dir: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + log-fifo-size: + type: integer + persist_name: + type: string + retries: + type: integer + time_reopen: + type: integer + uri: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + value_pairs: + properties: + exclude: + properties: + raw_string: + type: string + type: object + key: + properties: + raw_string: + type: string + type: object + pair: + properties: + raw_string: + type: string + type: object + scope: + properties: + raw_string: + type: string + type: object + type: object + write_concern: + properties: + raw_string: + type: string + type: object + required: + - collection + type: object + mqtt: + properties: + address: + type: string + fallback-topic: + type: string + qos: + type: integer + template: + type: string + topic: + type: string + type: object + redis: + properties: + auth: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + command: + properties: + string-list: + items: + type: string + type: array + type: object + command_and_arguments: + items: + type: string + type: array + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + host: + type: string + log-fifo-size: + type: integer + persist_name: + type: string + port: + type: integer + retries: + type: integer + throttle: + type: integer + time-reopen: + type: integer + workers: + type: integer + type: object + s3: + properties: + access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + bucket: + type: string + canned_acl: + type: string + chunk_size: + type: integer + compression: + type: boolean + compresslevel: + type: integer + flush_grace_period: + type: integer + log-fifo-size: + type: integer + max_object_size: + type: integer + max_pending_uploads: + type: integer + object_key: + type: string + object_key_timestamp: + properties: + raw_string: + type: string + type: object + persist_name: + type: string + region: + type: string + retries: + type: integer + secret_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + storage_class: + type: string + template: + properties: + raw_string: + type: string + type: object + throttle: + type: integer + upload_threads: + type: integer + url: + type: string + type: object + splunk_hec_event: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + body-prefix: + type: string + body-suffix: + type: string + content_type: + type: string + default_index: + type: string + default_source: + type: string + default_sourcetype: + type: string + delimiter: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + event: + type: string + extra_headers: + items: + type: string + type: array + extra_queries: + items: + type: string + type: array + fields: + type: string + headers: + items: + type: string + type: array + host: + type: string + index: + type: string + log-fifo-size: + type: integer + method: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + persist_name: + type: string + response-action: + additionalProperties: + type: string + type: object + retries: + type: integer + source: + type: string + sourcetype: + type: string + time: + type: string + time_reopen: + type: integer + timeout: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + user: + type: string + user-agent: + type: string + workers: + type: integer + type: object + sumologic-http: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + collector: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + deployment: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + headers: + items: + type: string + type: array + persist_name: + type: string + time_reopen: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + sumologic-syslog: + properties: + deployment: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + persist_name: + type: string + port: + type: integer + tag: + type: string + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + token: + type: integer + type: object + syslog: + properties: + close_on_input: + type: boolean + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + flags: + items: + type: string + type: array + flush_lines: + type: integer + host: + type: string + persist_name: + type: string + port: + type: integer + so_keepalive: + type: boolean + suppress: + type: integer + template: + type: string + template_escape: + type: boolean + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + transport: + type: string + ts_format: + type: string + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngflows.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngflows.yaml new file mode 100644 index 0000000000..91ff800a95 --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngflows.yaml @@ -0,0 +1,359 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: syslogngflows.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: SyslogNGFlow + listKind: SyslogNGFlowList + plural: syslogngflows + singular: syslogngflow + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the flow active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + filters: + items: + properties: + id: + type: string + match: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + parser: + properties: + metrics-probe: + properties: + key: + type: string + labels: + additionalProperties: + type: string + type: object + level: + type: integer + type: object + regexp: + properties: + flags: + items: + type: string + type: array + patterns: + items: + type: string + type: array + prefix: + type: string + template: + type: string + required: + - patterns + type: object + syslog-parser: + properties: + flags: + items: + type: string + type: array + type: object + type: object + rewrite: + items: + properties: + group_unset: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + pattern: + type: string + required: + - pattern + type: object + rename: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + newName: + type: string + oldName: + type: string + required: + - newName + - oldName + type: object + set: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + field: + type: string + value: + type: string + required: + - field + - value + type: object + subst: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + field: + type: string + flags: + items: + type: string + type: array + pattern: + type: string + replace: + type: string + type: + type: string + required: + - field + - pattern + - replace + type: object + unset: + properties: + condition: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + field: + type: string + required: + - field + type: object + type: object + type: array + type: object + type: array + globalOutputRefs: + items: + type: string + type: array + localOutputRefs: + items: + type: string + type: array + loggingRef: + type: string + match: + properties: + and: + x-kubernetes-preserve-unknown-fields: true + not: + x-kubernetes-preserve-unknown-fields: true + or: + x-kubernetes-preserve-unknown-fields: true + regexp: + properties: + flags: + items: + type: string + type: array + pattern: + type: string + template: + type: string + type: + type: string + value: + type: string + required: + - pattern + type: object + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngoutputs.yaml b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngoutputs.yaml new file mode 100644 index 0000000000..32de01e92b --- /dev/null +++ b/charts/rancher-logging-crd/103.1.2+up4.4.0/templates/logging.banzaicloud.io_syslogngoutputs.yaml @@ -0,0 +1,2425 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.0 + creationTimestamp: null + name: syslogngoutputs.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: SyslogNGOutput + listKind: SyslogNGOutputList + plural: syslogngoutputs + singular: syslogngoutput + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Is the output active? + jsonPath: .status.active + name: Active + type: boolean + - description: Number of problems + jsonPath: .status.problemsCount + name: Problems + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + elasticsearch: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + body-prefix: + type: string + body-suffix: + type: string + custom_id: + type: string + delimiter: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + headers: + items: + type: string + type: array + index: + type: string + log-fifo-size: + type: integer + logstash_prefix: + type: string + logstash_prefix_separator: + type: string + logstash_suffix: + type: string + method: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + persist_name: + type: string + response-action: + additionalProperties: + type: string + type: object + retries: + type: integer + time_reopen: + type: integer + timeout: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + type: + type: string + url: + type: string + user: + type: string + user-agent: + type: string + workers: + type: integer + type: object + file: + properties: + create_dirs: + type: boolean + dir_group: + type: string + dir_owner: + type: string + dir_perm: + type: integer + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + path: + type: string + persist_name: + type: string + template: + type: string + required: + - path + type: object + http: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + body-prefix: + type: string + body-suffix: + type: string + delimiter: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + headers: + items: + type: string + type: array + log-fifo-size: + type: integer + method: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + persist_name: + type: string + response-action: + additionalProperties: + type: string + type: object + retries: + type: integer + time_reopen: + type: integer + timeout: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + url: + type: string + user: + type: string + user-agent: + type: string + workers: + type: integer + type: object + loggingRef: + type: string + loggly: + properties: + close_on_input: + type: boolean + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + flags: + items: + type: string + type: array + flush_lines: + type: integer + host: + type: string + persist_name: + type: string + port: + type: integer + so_keepalive: + type: boolean + suppress: + type: integer + tag: + type: string + template: + type: string + template_escape: + type: boolean + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + transport: + type: string + ts_format: + type: string + required: + - token + type: object + logscale: + properties: + attributes: + type: string + batch_bytes: + type: integer + batch_lines: + type: integer + batch_timeout: + type: integer + body: + type: string + content_type: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + extra_headers: + type: string + persist_name: + type: string + rawstring: + type: string + timezone: + type: string + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + loki: + properties: + auth: + properties: + adc: + type: object + alts: + properties: + target-service-accounts: + items: + type: string + type: array + type: object + insecure: + type: object + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + type: object + batch-lines: + type: integer + batch-timeout: + type: integer + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + labels: + additionalProperties: + type: string + type: object + log-fifo-size: + type: integer + persist_name: + type: string + retries: + type: integer + template: + type: string + time_reopen: + type: integer + timestamp: + default: current + enum: + - current + - received + - msg + type: string + url: + type: string + workers: + type: integer + type: object + mongodb: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + bulk: + type: boolean + bulk_bypass_validation: + type: boolean + bulk_unordered: + type: boolean + collection: + type: string + dir: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + log-fifo-size: + type: integer + persist_name: + type: string + retries: + type: integer + time_reopen: + type: integer + uri: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + value_pairs: + properties: + exclude: + properties: + raw_string: + type: string + type: object + key: + properties: + raw_string: + type: string + type: object + pair: + properties: + raw_string: + type: string + type: object + scope: + properties: + raw_string: + type: string + type: object + type: object + write_concern: + properties: + raw_string: + type: string + type: object + required: + - collection + type: object + mqtt: + properties: + address: + type: string + fallback-topic: + type: string + qos: + type: integer + template: + type: string + topic: + type: string + type: object + redis: + properties: + auth: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + command: + properties: + string-list: + items: + type: string + type: array + type: object + command_and_arguments: + items: + type: string + type: array + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + host: + type: string + log-fifo-size: + type: integer + persist_name: + type: string + port: + type: integer + retries: + type: integer + throttle: + type: integer + time-reopen: + type: integer + workers: + type: integer + type: object + s3: + properties: + access_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + bucket: + type: string + canned_acl: + type: string + chunk_size: + type: integer + compression: + type: boolean + compresslevel: + type: integer + flush_grace_period: + type: integer + log-fifo-size: + type: integer + max_object_size: + type: integer + max_pending_uploads: + type: integer + object_key: + type: string + object_key_timestamp: + properties: + raw_string: + type: string + type: object + persist_name: + type: string + region: + type: string + retries: + type: integer + secret_key: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + storage_class: + type: string + template: + properties: + raw_string: + type: string + type: object + throttle: + type: integer + upload_threads: + type: integer + url: + type: string + type: object + splunk_hec_event: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + body-prefix: + type: string + body-suffix: + type: string + content_type: + type: string + default_index: + type: string + default_source: + type: string + default_sourcetype: + type: string + delimiter: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + event: + type: string + extra_headers: + items: + type: string + type: array + extra_queries: + items: + type: string + type: array + fields: + type: string + headers: + items: + type: string + type: array + host: + type: string + index: + type: string + log-fifo-size: + type: integer + method: + type: string + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + persist_name: + type: string + response-action: + additionalProperties: + type: string + type: object + retries: + type: integer + source: + type: string + sourcetype: + type: string + time: + type: string + time_reopen: + type: integer + timeout: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + token: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + url: + type: string + user: + type: string + user-agent: + type: string + workers: + type: integer + type: object + sumologic-http: + properties: + batch-bytes: + type: integer + batch-lines: + type: integer + batch-timeout: + type: integer + body: + type: string + collector: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + deployment: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + headers: + items: + type: string + type: array + persist_name: + type: string + time_reopen: + type: integer + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + url: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + type: object + sumologic-syslog: + properties: + deployment: + type: string + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + persist_name: + type: string + port: + type: integer + tag: + type: string + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + token: + type: integer + type: object + syslog: + properties: + close_on_input: + type: boolean + disk_buffer: + properties: + compaction: + type: boolean + dir: + type: string + disk_buf_size: + format: int64 + type: integer + mem_buf_length: + format: int64 + type: integer + mem_buf_size: + format: int64 + type: integer + q_out_size: + format: int64 + type: integer + reliable: + type: boolean + required: + - disk_buf_size + - reliable + type: object + flags: + items: + type: string + type: array + flush_lines: + type: integer + host: + type: string + persist_name: + type: string + port: + type: integer + so_keepalive: + type: boolean + suppress: + type: integer + template: + type: string + template_escape: + type: boolean + tls: + properties: + ca_dir: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cert_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + cipher-suite: + type: string + key_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object + peer_verify: + type: boolean + use-system-cert-store: + type: boolean + type: object + transport: + type: string + ts_format: + type: string + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging/103.1.2+up4.4.0/.helmignore b/charts/rancher-logging/103.1.2+up4.4.0/.helmignore new file mode 100644 index 0000000000..b3123b9ea0 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/.helmignore @@ -0,0 +1,26 @@ +# 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/ + +ci/ +README.md.gotmpl diff --git a/charts/rancher-logging/103.1.2+up4.4.0/Chart.yaml b/charts/rancher-logging/103.1.2+up4.4.0/Chart.yaml new file mode 100644 index 0000000000..32e840a348 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + catalog.cattle.io/auto-install: rancher-logging-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/deploys-on-os: windows + catalog.cattle.io/display-name: Logging + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-logging-system + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: logging.banzaicloud.io.clusterflow/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-logging + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: logging + catalog.cattle.io/upstream-version: 4.4.0 +apiVersion: v2 +appVersion: 4.4.0 +description: Logging operator for Kubernetes based on Fluentd and Fluentbit. +home: https://kube-logging.github.io +icon: file://assets/logos/rancher-logging.svg +keywords: +- logging +- fluentd +- fluentbit +kubeVersion: '>=1.22.0-0' +name: rancher-logging +sources: +- https://github.com/kube-logging/logging-operator +- https://github.com/kube-logging/helm-charts/tree/main/charts/logging-operator +type: application +version: 103.1.2+up4.4.0 diff --git a/charts/rancher-logging/103.1.2+up4.4.0/README.md b/charts/rancher-logging/103.1.2+up4.4.0/README.md new file mode 100644 index 0000000000..53b8dac0a2 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/README.md @@ -0,0 +1,112 @@ +# logging-operator + +![type: application](https://img.shields.io/badge/type-application-informational?style=flat-square) ![kube version: >=1.22.0-0](https://img.shields.io/badge/kube%20version->=1.22.0--0-informational?style=flat-square) [![artifact hub](https://img.shields.io/badge/artifact%20hub-logging--operator-informational?style=flat-square)](https://artifacthub.io/packages/helm/kube-logging/logging-operator) + +Logging operator for Kubernetes based on Fluentd and Fluentbit. + +**Homepage:** + +## TL;DR; + +```bash +helm install --generate-name --wait oci://ghcr.io/kube-logging/helm-charts/logging-operator +``` + +or to install with a specific version: + +```bash +helm install --generate-name --wait oci://ghcr.io/kube-logging/helm-charts/logging-operator --version $VERSION +``` + +## Introduction + +This chart bootstraps a [Logging Operator](https://github.com/kube-logging/logging-operator) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.19+ + +## Installing CRDs + +Use `createCustomResource=false` with Helm v3 to avoid trying to create CRDs from the `crds` folder and from templates at the same time. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| replicaCount | int | `1` | | +| image.repository | string | `"ghcr.io/kube-logging/logging-operator"` | Name of the image repository to pull the container image from. | +| image.tag | string | `""` | Image tag override for the default value (chart appVersion). | +| image.pullPolicy | string | `"IfNotPresent"` | [Image pull policy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) for updating already existing images on a node. | +| env | list | `[]` | | +| volumes | list | `[]` | | +| volumeMounts | list | `[]` | | +| extraArgs[0] | string | `"-enable-leader-election=true"` | | +| imagePullSecrets | list | `[]` | | +| nameOverride | string | `""` | A name in place of the chart name for `app:` labels. | +| fullnameOverride | string | `""` | A name to substitute for the full names of resources. | +| namespaceOverride | string | `""` | A namespace override for the app. | +| annotations | object | `{}` | Define annotations for logging-operator pods. | +| createCustomResource | bool | `false` | Deploy CRDs used by Logging Operator. | +| http.port | int | `8080` | HTTP listen port number. | +| http.service | object | `{"annotations":{},"clusterIP":"None","labels":{},"type":"ClusterIP"}` | Service definition for query http service. | +| rbac.enabled | bool | `true` | Create rbac service account and roles. | +| rbac.psp.enabled | bool | `true` | Must be used with `rbac.enabled` true. If true, creates & uses RBAC resources required in the cluster with [Pod Security Policies](https://kubernetes.io/docs/concepts/policy/pod-security-policy/) enabled. | +| rbac.psp.annotations | object | `{"seccomp.security.alpha.kubernetes.io/allowedProfileNames":"docker/default,runtime/default","seccomp.security.alpha.kubernetes.io/defaultProfileName":"runtime/default"}` | PSP annotations | +| monitoring.serviceMonitor.enabled | bool | `false` | Create a Prometheus Operator ServiceMonitor object. | +| monitoring.serviceMonitor.additionalLabels | object | `{}` | | +| monitoring.serviceMonitor.metricRelabelings | list | `[]` | | +| monitoring.serviceMonitor.relabelings | list | `[]` | | +| podSecurityContext | object | `{}` | Pod SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) # SecurityContext holds pod-level security attributes and common container settings. # This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | +| securityContext | object | `{}` | Container SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) | +| priorityClassName | object | `{}` | Operator priorityClassName. | +| serviceAccount.annotations | object | `{}` | Define annotations for logging-operator ServiceAccount. | +| resources | object | `{}` | CPU/Memory resource requests/limits | +| nodeSelector | object | `{}` | | +| tolerations | list | `[]` | Node Tolerations | +| affinity | object | `{}` | Node Affinity | +| podLabels | object | `{}` | Define which Nodes the Pods are scheduled on. | +| logging | object | `{"allowClusterResourcesFromAllNamespaces":false,"clusterDomain":"cluster.local.","clusterFlows":[],"clusterOutputs":[],"controlNamespace":"","defaultFlow":{},"enableRecreateWorkloadOnImmutableFieldChange":false,"enabled":false,"errorOutputRef":"","eventTailer":{},"flowConfigCheckDisabled":false,"flowConfigOverride":"","fluentbit":{},"fluentbitDisabled":false,"fluentd":{},"fluentdDisabled":false,"globalFilters":[],"hostTailer":{},"loggingRef":"","nodeAgents":{},"skipInvalidResources":false,"syslogNG":{},"watchNamespaceSelector":{},"watchNamespaces":[]}` | Logging resources configuration. | +| logging.enabled | bool | `false` | Logging resources are disabled by default | +| logging.loggingRef | string | `""` | Reference to the logging system. Each of the loggingRefs can manage a fluentbit daemonset and a fluentd statefulset. | +| logging.flowConfigCheckDisabled | bool | `false` | Disable configuration check before applying new fluentd configuration. | +| logging.skipInvalidResources | bool | `false` | Whether to skip invalid Flow and ClusterFlow resources | +| logging.flowConfigOverride | string | `""` | Override generated config. This is a raw configuration string for troubleshooting purposes. | +| logging.fluentbitDisabled | bool | `false` | Flag to disable fluentbit completely | +| logging.fluentbit | object | `{}` | Fluent-bit configurations https://kube-logging.github.io/docs/configuration/crds/v1beta1/fluentbit_types/ | +| logging.fluentdDisabled | bool | `false` | Flag to disable fluentd completely | +| logging.fluentd | object | `{}` | Fluentd configurations https://kube-logging.github.io/docs/configuration/crds/v1beta1/fluentd_types/ | +| logging.syslogNG | object | `{}` | Syslog-NG statefulset configuration | +| logging.defaultFlow | object | `{}` | Default flow for unmatched logs. This Flow configuration collects all logs that didn’t match any other Flow. | +| logging.errorOutputRef | string | `""` | GlobalOutput name to flush ERROR events to | +| logging.globalFilters | list | `[]` | Global filters to apply on logs before any match or filter mechanism. | +| logging.watchNamespaces | list | `[]` | Limit namespaces to watch Flow and Output custom resources. | +| logging.watchNamespaceSelector | object | `{}` | Limit namespaces to watch Flow and Output custom resources. | +| logging.clusterDomain | string | `"cluster.local."` | Cluster domain name to be used when templating URLs to services | +| logging.controlNamespace | string | `""` | Namespace for cluster wide configuration resources like ClusterFlow and ClusterOutput. This should be a protected namespace from regular users. Resources like fluentbit and fluentd will run in this namespace as well. | +| logging.allowClusterResourcesFromAllNamespaces | bool | `false` | Allow configuration of cluster resources from any namespace. Mutually exclusive with ControlNamespace restriction of Cluster resources | +| logging.nodeAgents | object | `{}` | NodeAgent Configuration | +| logging.enableRecreateWorkloadOnImmutableFieldChange | bool | `false` | EnableRecreateWorkloadOnImmutableFieldChange enables the operator to recreate the fluentbit daemonset and the fluentd statefulset (and possibly other resource in the future) in case there is a change in an immutable field that otherwise couldn’t be managed with a simple update. | +| logging.clusterFlows | list | `[]` | ClusterFlows to deploy | +| logging.clusterOutputs | list | `[]` | ClusterOutputs to deploy | +| logging.eventTailer | object | `{}` | EventTailer config | +| logging.hostTailer | object | `{}` | HostTailer config | +| testReceiver.enabled | bool | `false` | | +| testReceiver.image | string | `"fluent/fluent-bit"` | | +| testReceiver.pullPolicy | string | `"IfNotPresent"` | | +| testReceiver.port | int | `8080` | | +| testReceiver.args[0] | string | `"-i"` | | +| testReceiver.args[1] | string | `"http"` | | +| testReceiver.args[2] | string | `"-p"` | | +| testReceiver.args[3] | string | `"port=8080"` | | +| testReceiver.args[4] | string | `"-o"` | | +| testReceiver.args[5] | string | `"stdout"` | | +| testReceiver.resources.limits.cpu | string | `"100m"` | | +| testReceiver.resources.limits.memory | string | `"50Mi"` | | +| testReceiver.resources.requests.cpu | string | `"20m"` | | +| testReceiver.resources.requests.memory | string | `"25Mi"` | | + +## Installing Fluentd and Fluent-bit via logging + +The chart does **not** install `logging` resource to deploy Fluentd (or Syslog-ng) and Fluent-bit on the cluster by default, but +it can be enabled by setting the `logging.enabled` value to true. diff --git a/charts/rancher-logging/103.1.2+up4.4.0/app-readme.md b/charts/rancher-logging/103.1.2+up4.4.0/app-readme.md new file mode 100644 index 0000000000..994c597ee5 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/app-readme.md @@ -0,0 +1,45 @@ +# Rancher Logging + +This chart is based off of the upstream [Banzai Logging Operator](https://banzaicloud.com/docs/one-eye/logging-operator/) chart. The chart deploys a logging operator and CRDs, which allows users to configure complex logging pipelines with a few simple custom resources. There are two levels of logging, which allow you to collect all logs in a cluster or from a single namespace. + +For more information on how to use the feature, refer to our [docs](https://rancher.com/docs/rancher/v2.x/en/logging/v2.7/). + +## Upgrading to Kubernetes v1.25+ + +Starting in Kubernetes v1.25, [Pod Security Policies](https://kubernetes.io/docs/concepts/security/pod-security-policy/) have been removed from the Kubernetes API. + +As a result, **before upgrading to Kubernetes v1.25** (or on a fresh install in a Kubernetes v1.25+ cluster), users are expected to perform an in-place upgrade of this chart with `global.cattle.psp.enabled` set to `false` if it has been previously set to `true`. + +> **Note:** +> In this chart release, any previous field that was associated with any PSP resources have been removed in favor of a single global field: `global.cattle.psp.enabled`. + +> **Note:** +> If you upgrade your cluster to Kubernetes v1.25+ before removing PSPs via a `helm upgrade` (even if you manually clean up resources), **it will leave the Helm release in a broken state within the cluster such that further Helm operations will not work (`helm uninstall`, `helm upgrade`, etc.).** +> +> If your charts get stuck in this state, please consult the Rancher docs on how to clean up your Helm release secrets. + +Upon setting `global.cattle.psp.enabled` to false, the chart will remove any PSP resources deployed on its behalf from the cluster. This is the default setting for this chart. + +As a replacement for PSPs, [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) should be used. Please consult the Rancher docs for more details on how to configure your chart release namespaces to work with the new Pod Security Admission and apply Pod Security Standards. + +## Namespace-level logging + +To collect logs from a single namespace, users create flows and these flows are connected to outputs or cluster outputs. + +## Cluster-level logging + +To collect logs from an entire cluster, users create cluster flows and cluster outputs. + +## CRDs + +- [Cluster Flow](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/clusterflow_types/) - A cluster flow is a CRD (`ClusterFlow`) that defines what logs to collect from the entire cluster. The cluster flow must be deployed in the same namespace as the logging operator. +- [Cluster Output](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/clusteroutput_types/) - A cluster output is a CRD (`ClusterOutput`) that defines how to connect to logging providers so they can start collecting logs. The cluster output must be deployed in the same namespace as the logging operator. The convenience of using a cluster output is that either a cluster flow or flow can send logs to those providers without needing to define specific outputs in each namespace for each flow. +- [Flow](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/flow_types/) - A flow is a CRD (`Flow`) that defines what logs to collect from the namespace that it is deployed in. +- [Output](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/output_types/) - An output is a CRD (`Output`) that defines how to connect to logging providers so logs can be sent to the provider. + +For more information on how to configure the Helm chart, refer to the Helm README. + +## Systemd Configuration +Some Kubernetes distributions log to journald. In order to collect these logs the `systemdLogPath` needs to be defined. While the `/run/log/journal` directory is used by default, some Linux distributions do not default to this path. For example Ubuntu defaults to `/var/log/journal`. To determine your `systemdLogPath` run `cat /etc/systemd/journald.conf | grep -E ^\#?Storage | cut -d"=" -f2` on one of your nodes. If `persistent` is returned your `systemdLogPath` should be `/var/log/journal`. If `volatile` is returned `systemdLogPath` should be `/run/log/journal`. If `auto` is returned check if `/var/log/journal` exists, and if it does then use `/var/log/journal`, otherwise use `/run/log/journal`. + +If any value not described here is returned, Rancher Logging will not be able to collect control plane logs. To address this issue set `Storage=volatile` in journald.conf, reboot your machine, and set `systemdLogPath` to `/run/log/journal`. diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/NOTES.txt b/charts/rancher-logging/103.1.2+up4.4.0/templates/NOTES.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/_generic_logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/_generic_logging.yaml new file mode 100644 index 0000000000..1583fa4498 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/_generic_logging.yaml @@ -0,0 +1,121 @@ +{{- define "logging-operator.logging.tpl" -}} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "logging-operator.fluentbitImageRepository" . }} + tag: {{ template "logging-operator.fluentbitImageTag" . }} + {{- if not .Values.disablePvc }} + {{- with .Values.fluentbit.bufferStorage }} + bufferStorage: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.fluentbit.bufferStorageVolume }} + bufferStorageVolume: {{- toYaml . | nindent 6 }} + {{- end }} + {{- end }} + {{- if or .Values.global.cattle.psp.enabled .Values.global.seLinux.enabled }} + security: + {{- end }} + {{- if .Values.global.cattle.psp.enabled }} + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- if .Values.global.seLinux.enabled }} + securityContext: + seLinuxOptions: + type: rke_logreader_t + {{- end }} + {{- if or .Values.fluentbit.inputTail.Buffer_Chunk_Size .Values.fluentbit.inputTail.Buffer_Max_Size .Values.fluentbit.inputTail.Mem_Buf_Limit .Values.fluentbit.inputTail.Multiline_Flush .Values.fluentbit.inputTail.Skip_Long_Lines }} + inputTail: + {{- if .Values.fluentbit.inputTail.Buffer_Chunk_Size }} + Buffer_Chunk_Size: {{ .Values.fluentbit.inputTail.Buffer_Chunk_Size | toString }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Buffer_Max_Size }} + Buffer_Max_Size: {{ .Values.fluentbit.inputTail.Buffer_Max_Size | toString }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Mem_Buf_Limit }} + Mem_Buf_Limit: {{ .Values.fluentbit.inputTail.Mem_Buf_Limit | toString }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Multiline_Flush }} + Multiline_Flush: {{ .Values.fluentbit.inputTail.Multiline_Flush | toString | quote }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Skip_Long_Lines }} + Skip_Long_Lines: {{ .Values.fluentbit.inputTail.Skip_Long_Lines | toString | quote }} + {{- end }} + {{- end }} + {{- with (concat (.Values.tolerations) (.Values.fluentbit.tolerations)) }} + tolerations: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.fluentbit.resources }} + resources: {{- toYaml . | nindent 6 }} + {{- end }} + fluentd: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }} + tag: {{ .Values.images.fluentd.tag }} + configReloaderImage: + repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }} + tag: {{ .Values.images.config_reloader.tag }} + {{- with .Values.fluentd.bufferStorageVolume }} + bufferStorageVolume: {{- toYaml . | nindent 6 }} + {{- end }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.fluentd.replicas }} + scaling: + replicas: {{ .Values.fluentd.replicas }} + {{- end }} + security: + podSecurityContext: + runAsUser: 100 + {{- if .Values.global.cattle.psp.enabled }} + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.fluentd.env }} + envVars: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with (default .Values.tolerations .Values.fluentd.tolerations) }} + tolerations: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with (default .Values.nodeSelector .Values.fluentd.nodeSelector) }} + nodeSelector: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.fluentd.resources }} + resources: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.fluentd.livenessProbe }} + livenessProbe: {{- toYaml . | nindent 6 }} + {{- end }} +{{- end -}} + +{{- define "logging-operator.util.merge.logging" -}} +{{/* Top context to expose fields like `.Release` and `.Values` */}} +{{- $top := first . -}} + +{{/* tpl is the template specific to the logging implementation */}} +{{- $tpl := fromYaml (include (index . 1) $top) | default (dict ) -}} + +{{/* Generic is the shared rancher logging setttings from `_generic_logging.yaml` */}} +{{- $generic := fromYaml (include (index . 2) $top) | default (dict ) -}} + +{{/* values are from the values.yaml */}} +{{- $values := $top.Values.loggingOverlay | default (dict ) -}} + +####### {{$generic}} + +{{/* the sources are merge right to left meaning tpl is the highest prcedence and values is the lowest */}} +{{- toYaml (merge $tpl $values $generic) -}} +{{- end -}} + +{{- define "logging-operator.logging" -}} +{{- include "logging-operator.util.merge.logging" (append . "logging-operator.logging.tpl") -}} +{{- end -}} \ No newline at end of file diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/_helpers.tpl b/charts/rancher-logging/103.1.2+up4.4.0/templates/_helpers.tpl new file mode 100644 index 0000000000..43b6a5413f --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/_helpers.tpl @@ -0,0 +1,197 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "logging-operator.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "logging-operator.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Expand the name of the release. +*/}} +{{- define "logging-operator.releasename" -}} +{{- default .Release.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Provides the namespace the chart will be installed in using the builtin .Release.Namespace, +or, if provided, a manually overwritten namespace value. +*/}} +{{- define "logging-operator.namespace" -}} +{{- if .Values.namespaceOverride -}} +{{ .Values.namespaceOverride -}} +{{- else -}} +{{ .Release.Namespace }} +{{- end -}} +{{- end -}} + + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "logging-operator.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "logging-operator.labels" -}} +app.kubernetes.io/name: {{ include "logging-operator.name" . }} +helm.sh/chart: {{ include "logging-operator.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{- define "windowsEnabled" }} +{{- if not (kindIs "invalid" .Values.global.cattle.windows) }} +{{- if not (kindIs "invalid" .Values.global.cattle.windows.enabled) }} +{{- if .Values.global.cattle.windows.enabled }} +true +{{- end }} +{{- end }} +{{- end }} +{{- end }} + +{{- define "windowsPathPrefix" -}} +{{- trimSuffix "/" (default "c:\\" .Values.global.cattle.rkeWindowsPathPrefix | replace "\\" "/" | replace "//" "/" | replace "c:" "C:") -}} +{{- end -}} + +{{- define "windowsKubernetesFilter" -}} +{{- printf "kubernetes.%s" ((include "windowsPathPrefix" .) | replace ":" "" | replace "/" ".") -}} +{{- end -}} + +{{- define "windowsInputTailMount" -}} +{{- (include "windowsPathPrefix" .) | replace "C:" "" -}} +{{- end -}} + +{{/* +Set the controlplane selector based on kubernetes distribution +*/}} +{{- define "controlplaneSelector" -}} +{{- $master := or .Values.additionalLoggingSources.rke2.enabled .Values.additionalLoggingSources.k3s.enabled -}} +{{- $defaultSelector := $master | ternary (dict "node-role.kubernetes.io/master" "true") (dict "node-role.kubernetes.io/controlplane" "true") -}} +{{ default $defaultSelector .Values.additionalLoggingSources.kubeAudit.nodeSelector | toYaml }} +{{- end -}} + +{{/* +Set kube-audit file path prefix based on distribution +*/}} +{{- define "kubeAuditPathPrefix" -}} +{{- if .Values.additionalLoggingSources.rke.enabled -}} +{{ default "/var/log/kube-audit" .Values.additionalLoggingSources.kubeAudit.pathPrefix }} +{{- else if .Values.additionalLoggingSources.rke2.enabled -}} +{{ default "/var/lib/rancher/rke2/server/logs" .Values.additionalLoggingSources.kubeAudit.pathPrefix }} +{{- else -}} +{{ required "Directory PathPrefix of the kube-audit location is required" .Values.additionalLoggingSources.kubeAudit.pathPrefix }} +{{- end -}} +{{- end -}} + +{{/* +Set kube-audit file name based on distribution +*/}} +{{- define "kubeAuditFilename" -}} +{{- if .Values.additionalLoggingSources.rke.enabled -}} +{{ default "audit-log.json" .Values.additionalLoggingSources.kubeAudit.auditFilename }} +{{- else if .Values.additionalLoggingSources.rke2.enabled -}} +{{ default "audit.log" .Values.additionalLoggingSources.kubeAudit.auditFilename }} +{{- else -}} +{{ required "Filename of the kube-audit log is required" .Values.additionalLoggingSources.kubeAudit.auditFilename }} +{{- end -}} +{{- end -}} + +{{/* +A shared list of custom parsers for the vairous fluentbit pods rancher creates +*/}} +{{- define "logging-operator.parsers" -}} +[PARSER] + Name klog + Format regex + Regex ^(?[IWEF])(?\d{4} \d{2}:\d{2}:\d{2}).\d{6} +?(?\d+) (?.+):(?\d+)] (?.+) + Time_Key timestamp + Time_Format %m%d %T + +[PARSER] + Name rancher + Format regex + Regex ^time="(?.+)" level=(?.+) msg="(?.+)"$ + Time_Key timestamp + Time_Format %FT%H:%M:%S +[PARSER] + Name etcd + Format json + Time_Key timestamp + Time_Format %FT%H:%M:%S.%L +{{- end -}} + +{{/* +Set kubernetes log options if they are configured +*/}} +{{- define "requireFilterKubernetes" -}} +{{- if or .Values.fluentbit.filterKubernetes.Merge_Log .Values.fluentbit.filterKubernetes.Merge_Log_Key .Values.fluentbit.filterKubernetes.Merge_Trim .Values.fluentbit.filterKubernetes.Merge_Parser -}} +true +{{- end -}} +{{- end -}} + +{{/*Fluent Bit Image Repository */}} +{{- define "logging-operator.fluentbitImageRepository" -}} +{{- if .Values.debug -}} +{{ template "system_default_registry" . }}{{ .Values.images.fluentbit_debug.repository }} +{{- else -}} +{{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} +{{- end -}} +{{- end -}} + +{{/*Fluent Bit Image Tag */}} +{{- define "logging-operator.fluentbitImageTag" -}} +{{- if .Values.debug -}} +{{ .Values.images.fluentbit_debug.tag }} +{{- else -}} +{{ .Values.images.fluentbit.tag }} +{{- end -}} +{{- end -}} + +{{/*Fluent Bit Image */}} +{{- define "logging-operator.fluentbitImage" -}} +{{ template "logging-operator.fluentbitImageRepository" . }}:{{ template "logging-operator.fluentbitImageTag" . }} +{{- end -}} + +{{/* +Formats the cluster domain as a suffix, e.g.: +.Values.clusterDomain == "", returns "" +.Values.clusterDomain == "cluster.local.", returns ".cluster.local." +*/}} +{{- define "logging-operator.clusterDomainAsSuffix" -}} +{{- if .Values.clusterDomain -}} +{{- printf ".%s" .Values.clusterDomain -}} +{{- end -}} +{{- end -}} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrole.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrole.yaml new file mode 100644 index 0000000000..bb8ab56d3f --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrole.yaml @@ -0,0 +1,367 @@ +{{- if .Values.rbac.enabled }} + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "logging-operator.fullname" . }} +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - endpoints + - namespaces + - nodes + - nodes/proxy + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - watch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + - pods + - serviceaccounts + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + - events.k8s.io + resources: + - events + verbs: + - create + - get + - list + - watch +- apiGroups: + - apps + resources: + - daemonsets + - replicasets + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + - extensions + resources: + - daemonsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + - extensions + resources: + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + - extensions + resources: + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - batch + resources: + - jobs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - '*' +- apiGroups: + - events.k8s.io + resources: + - events + verbs: + - get + - list + - watch +- apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - extensions + - policy + resources: + - podsecuritypolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - use + - watch +- apiGroups: + - logging-extensions.banzaicloud.io + resources: + - eventtailers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - logging-extensions.banzaicloud.io + resources: + - eventtailers/status + verbs: + - get + - patch + - update +- apiGroups: + - logging-extensions.banzaicloud.io + resources: + - hosttailers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - logging-extensions.banzaicloud.io + resources: + - hosttailers/status + verbs: + - get + - patch + - update +- apiGroups: + - logging.banzaicloud.io + resources: + - clusterflows + - clusteroutputs + - flows + - fluentbitagents + - loggings + - nodeagents + - outputs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - logging.banzaicloud.io + resources: + - clusterflows/status + - clusteroutputs/status + - flows/status + - fluentbitagents/status + - loggings/status + - nodeagents/status + - outputs/status + verbs: + - get + - patch + - update +- apiGroups: + - logging.banzaicloud.io + resources: + - loggingroutes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - logging.banzaicloud.io + resources: + - loggingroutes/status + verbs: + - get + - patch + - update +- apiGroups: + - logging.banzaicloud.io + resources: + - syslogngclusterflows + - syslogngclusteroutputs + - syslogngflows + - syslogngoutputs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - logging.banzaicloud.io + resources: + - syslogngclusterflows/status + - syslogngclusteroutputs/status + - syslogngflows/status + - syslogngoutputs/status + verbs: + - get + - patch + - update +- apiGroups: + - monitoring.coreos.com + resources: + - prometheusrules + - servicemonitors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + - rolebindings + - roles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrolebinding.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrolebinding.yaml new file mode 100644 index 0000000000..89d17d094f --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/clusterrolebinding.yaml @@ -0,0 +1,18 @@ +{{- if .Values.rbac.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ template "logging-operator.fullname" . }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +subjects: + - kind: ServiceAccount + name: {{ template "logging-operator.fullname" . }} + namespace: {{ include "logging-operator.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ template "logging-operator.fullname" . }} + + {{- end }} \ No newline at end of file diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/crds.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/crds.yaml new file mode 100644 index 0000000000..f573652d04 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/crds.yaml @@ -0,0 +1,6 @@ +{{- if .Values.createCustomResource -}} +{{- range $path, $bytes := .Files.Glob "crds/*.yaml" }} +{{ $.Files.Get $path }} +--- +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/deployment.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/deployment.yaml new file mode 100644 index 0000000000..73ebf3b19b --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/deployment.yaml @@ -0,0 +1,79 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "logging-operator.fullname" . }} + namespace: {{ include "logging-operator.namespace" . }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "logging-operator.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "logging-operator.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.podLabels }} + {{ toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.annotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName }} + {{- end }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + args: + {{- range .Values.extraArgs }} + - {{ . }} + {{- end }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + ports: + - name: http + containerPort: {{ .Values.http.port }} + {{- with .Values.env }} + env: {{ toYaml . | nindent 12 }} + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{ toYaml .Values.securityContext | nindent 12 }} + {{- end }} + {{- with .Values.volumeMounts }} + volumeMounts: {{ toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.volumes }} + volumes: {{ toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.podSecurityContext }} + securityContext: {{ toYaml .Values.podSecurityContext | nindent 8 }} + {{- end }} + + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.rbac.serviceAccountName }} + serviceAccountName: {{ .Values.rbac.serviceAccountName }} + {{- else if .Values.rbac.enabled }} + serviceAccountName: {{ include "logging-operator.fullname" . }} + {{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging.yaml new file mode 100644 index 0000000000..7681658c3f --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging.yaml @@ -0,0 +1,57 @@ +{{ if .Values.logging.enabled -}} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ include "logging-operator.releasename" . }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + {{- with .Values.logging.loggingRef }} + loggingRef: {{ . }} + {{- end }} + {{- with .Values.logging.flowConfigCheckDisabled }} + flowConfigCheckDisabled: {{ . }} + {{- end }} + {{- with .Values.logging.skipInvalidResources }} + skipInvalidResources: {{ . }} + {{- end }} + {{- with .Values.logging.flowConfigOverride }} + flowConfigOverride: {{ . }} + {{- end }} + {{- if (not .Values.logging.fluentdDisabled) }} + {{- if .Values.logging.fluentd }} + fluentd: {{- toYaml .Values.logging.fluentd | nindent 4 }} + {{- else }} + fluentd: {} + {{- end }} + {{- end }} + {{- with .Values.logging.syslogNG }} + syslogNG: {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .Values.logging.defaultFlow }} + defaultFlow: {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .Values.logging.errorOutputRef }} + errorOutputRef: {{ . }} + {{- end }} + {{- with .Values.logging.globalFilters }} + globalFilters: {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .Values.logging.watchNamespaces }} + watchNamespaces: {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .Values.logging.watchNamespaceSelector }} + watchNamespaceSelector: {{- toYaml . | nindent 4 }} + {{- end }} + clusterDomain: {{ .Values.logging.clusterDomain }} + controlNamespace: {{ .Values.logging.controlNamespace | default .Release.Namespace }} + {{- with .Values.logging.allowClusterResourcesFromAllNamespaces }} + allowClusterResourcesFromAllNamespaces: {{ . }} + {{- end }} + {{- with .Values.logging.nodeAgents }} + nodeAgents: {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .Values.logging.enableRecreateWorkloadOnImmutableFieldChange }} + enableRecreateWorkloadOnImmutableFieldChange: {{ . }} + {{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusterflows.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusterflows.yaml new file mode 100644 index 0000000000..3a1a46bee5 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusterflows.yaml @@ -0,0 +1,14 @@ +{{ if .Values.logging.enabled -}} +{{- range $clusterflow := .Values.logging.clusterFlows }} +--- +apiVersion: logging.banzaicloud.io/v1beta1 +kind: ClusterFlow +metadata: + name: {{ $clusterflow.name }} + namespace: {{ $.Values.logging.controlNamespace | default $.Release.Namespace }} + labels: +{{ include "logging-operator.labels" $ | indent 4 }} +spec: +{{ toYaml $clusterflow.spec | indent 2 }} +{{- end -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusteroutputs.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusteroutputs.yaml new file mode 100644 index 0000000000..60d9f30ae7 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_clusteroutputs.yaml @@ -0,0 +1,14 @@ +{{ if .Values.logging.enabled -}} +{{- range $clusteroutput := .Values.logging.clusterOutputs }} +--- +apiVersion: logging.banzaicloud.io/v1beta1 +kind: ClusterOutput +metadata: + name: {{ $clusteroutput.name }} + namespace: {{ $.Values.logging.controlNamespace | default $.Release.Namespace }} + labels: +{{ include "logging-operator.labels" $ | indent 4 }} +spec: +{{ toYaml $clusteroutput.spec | indent 2 }} +{{- end -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_eventtailer.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_eventtailer.yaml new file mode 100644 index 0000000000..00b0bfc64c --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_eventtailer.yaml @@ -0,0 +1,35 @@ +{{ if .Values.logging.enabled -}} +{{- with $.Values.logging.eventTailer }} +apiVersion: logging-extensions.banzaicloud.io/v1alpha1 +kind: EventTailer +metadata: + name: {{ .name | default "event-tailer" }} +spec: + controlNamespace: {{ $.Values.logging.controlNamespace | default $.Release.Namespace }} + {{- with .pvc }} + positionVolume: + pvc: + spec: + accessModes: {{ .accessModes | default (list "ReadWriteOnce") }} + resources: + requests: + storage: {{ .storage | default "1Gi" }} + volumeMode: {{ .volumeMode | default "Filesystem" }} + {{- with .storageClassName }} + storageClassName: {{ . }} + {{- end }} + {{- end }} + {{- with .workloadMetaOverrides }} + workloadMetaOverrides: + {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .workloadOverrides }} + workloadOverrides: + {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .containerOverrides }} + containerOverrides: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_fluentbit.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_fluentbit.yaml new file mode 100644 index 0000000000..ad9bdcb319 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_fluentbit.yaml @@ -0,0 +1,17 @@ +{{- if and .Values.logging.enabled (not .Values.logging.fluentbitDisabled) -}} +{{- $fluentbitSpec := .Values.logging.fluentbit }} +{{- if .Values.logging.loggingRef }} + {{- $fluentbitSpec := set .Values.logging.fluentbit "loggingRef" (default .Values.logging.loggingRef .Values.logging.fluentbit.loggingRef) -}} +{{- end }} + +apiVersion: logging.banzaicloud.io/v1beta1 +kind: FluentbitAgent +metadata: + name: {{ include "logging-operator.releasename" . }} + labels: {{ include "logging-operator.labels" . | nindent 4 }} +{{- if $fluentbitSpec }} +spec: {{- toYaml $fluentbitSpec | nindent 2 }} +{{- else }} +spec: {} +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_hosttailer.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_hosttailer.yaml new file mode 100644 index 0000000000..a47f04bee7 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/logging_hosttailer.yaml @@ -0,0 +1,26 @@ +{{ if .Values.logging.enabled -}} +{{- with $.Values.logging.hostTailer }} +apiVersion: logging-extensions.banzaicloud.io/v1alpha1 +kind: HostTailer +metadata: + name: {{ .name | default "hosttailer" }} +spec: + enableRecreateWorkloadOnImmutableFieldChange: {{ $.Values.logging.enableRecreateWorkloadOnImmutableFieldChange }} +{{- with .workloadOverrides }} + workloadOverrides: +{{ toYaml . | indent 4 }} +{{- end }} +{{- with .containerOverrides }} + containerOverrides: +{{- toYaml . | nindent 4 }} +{{- end }} +{{- with .fileTailers }} + fileTailers: +{{ toYaml . | indent 4 }} +{{- end }} +{{- with .systemdTailers }} + systemdTailers: +{{ toYaml . | indent 4 }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/aks/logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/aks/logging.yaml new file mode 100644 index 0000000000..54bb732505 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/aks/logging.yaml @@ -0,0 +1,18 @@ +{{- define "logging-operator.logging.aks" -}} +{{- $logPath := "/var/log/azure/kubelet-status.log" -}} +metadata: + name: {{ .Release.Name }}-aks +spec: + fluentbit: + disableKubernetesFilter: true + extraVolumeMounts: + - source: {{ $logPath }} + destination: {{ $logPath }} + readOnly: true + inputTail: + Tag: "aks" + Path: {{ $logPath }} +{{- end -}} +{{- if .Values.additionalLoggingSources.aks.enabled }} +{{- include "logging-operator.logging" (list . "logging-operator.logging.aks") -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/eks/logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/eks/logging.yaml new file mode 100644 index 0000000000..aa9d62b49a --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/eks/logging.yaml @@ -0,0 +1,28 @@ +{{- define "logging-operator.logging.eks" -}} +{{- $logPath := "/var/log/messages" -}} +metadata: + name: {{ .Release.Name }}-eks +spec: + fluentbit: + disableKubernetesFilter: true + extraVolumeMounts: + - source: {{ $logPath }} + destination: {{ $logPath }} + readOnly: true + inputTail: + Tag: "eks" + Path: {{ $logPath }} + Parser: "syslog" + fluentd: + {{- if .Values.loggingServiceAccountAnnotations.eks }} + serviceAccount: + metadata: + annotations: + {{- with .Values.loggingServiceAccountAnnotations.eks }} + {{ toYaml . | indent 8 }} + {{- end }} + {{- end }} +{{- end -}} +{{- if .Values.additionalLoggingSources.eks.enabled }} +{{- include "logging-operator.logging" (list . "logging-operator.logging.eks") -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/gke/logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/gke/logging.yaml new file mode 100644 index 0000000000..6c834b12e5 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/gke/logging.yaml @@ -0,0 +1,18 @@ +{{- define "logging-operator.logging.gke" -}} +{{- $logPath := "/var/log/kube-proxy.log" -}} +metadata: + name: {{ .Release.Name }}-gke +spec: + fluentbit: + disableKubernetesFilter: true + extraVolumeMounts: + - source: {{ $logPath }} + destination: {{ $logPath }} + readOnly: true + inputTail: + Tag: "gke" + Path: {{ $logPath }} +{{- end -}} +{{- if .Values.additionalLoggingSources.gke.enabled }} +{{- include "logging-operator.logging" (list . "logging-operator.logging.gke") -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/configmap.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/configmap.yaml new file mode 100644 index 0000000000..aa454c8adf --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/configmap.yaml @@ -0,0 +1,57 @@ +{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "systemd") }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-k3s + labels: +{{ include "logging-operator.labels" . | indent 4 }} +data: + fluent-bit.conf: | + [SERVICE] + Flush 1 + Grace 5 + Daemon Off + Log_Level info + Coro_Stack_Size 24576 + Parsers_File parsers.conf + + [INPUT] + Name systemd + Tag k3s + Path {{ .Values.systemdLogPath }} + Systemd_Filter _SYSTEMD_UNIT=k3s.service + {{- if .Values.additionalLoggingSources.k3s.stripUnderscores }} + Strip_Underscores On + {{- end }} + Systemd_Filter _SYSTEMD_UNIT=k3s-agent.service + + [FILTER] + Name parser + Match * + Key_Name MESSAGE + Parser klog + Reserve_Data On + + [FILTER] + Name parser + Match * + Key_Name MESSAGE + Parser rancher + Reserve_Data On + + [FILTER] + Name parser + Match * + Key_Name MESSAGE + Parser etcd + Reserve_Data On + + [OUTPUT] + Name forward + Match * + Host {{ .Release.Name }}-root-fluentd.{{ .Release.Namespace }}.svc + Port 24240 + Retry_Limit False + parsers.conf: | +{{ include "logging-operator.parsers" . | indent 4 }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/daemonset.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/daemonset.yaml new file mode 100644 index 0000000000..e80c2b1c8b --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/daemonset.yaml @@ -0,0 +1,110 @@ +{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "systemd") }} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: "{{ .Release.Name }}-k3s-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +spec: + selector: + matchLabels: + name: {{ .Release.Name }}-k3s-journald-aggregator + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/loggings/k3s/configmap.yaml") . | sha256sum }} + name: "{{ .Release.Name }}-k3s-journald-aggregator" + namespace: "{{ .Release.Namespace }}" + labels: + name: {{ .Release.Name }}-k3s-journald-aggregator + spec: + containers: + - name: fluentbit + image: "{{ template "logging-operator.fluentbitImage" . }}" + {{- if .Values.global.seLinux.enabled }} + securityContext: + seLinuxOptions: + type: rke_logreader_t + {{- end }} + volumeMounts: + - mountPath: /fluent-bit/etc/ + name: config + - mountPath: {{ .Values.systemdLogPath | default "/var/log/journal" }} + name: journal + readOnly: true + - mountPath: /etc/machine-id + name: machine-id + readOnly: true + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: "{{ .Release.Name }}-k3s-journald-aggregator" + volumes: + - name: config + configMap: + name: "{{ .Release.Name }}-k3s" + - name: journal + hostPath: + path: {{ .Values.systemdLogPath | default "/var/log/journal" }} + - name: machine-id + hostPath: + path: /etc/machine-id +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: "{{ .Release.Name }}-k3s-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +{{- if .Values.global.cattle.psp.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: "{{ .Release.Name }}-k3s-journald-aggregator" +rules: + - apiGroups: + - policy + resourceNames: + - "{{ .Release.Name }}-k3s-journald-aggregator" + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: "{{ .Release.Name }}-k3s-journald-aggregator" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: "{{ .Release.Name }}-k3s-journald-aggregator" +subjects: + - kind: ServiceAccount + name: "{{ .Release.Name }}-k3s-journald-aggregator" +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: "{{ .Release.Name }}-k3s-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +spec: + allowPrivilegeEscalation: false + fsGroup: + rule: RunAsAny + readOnlyRootFilesystem: true + runAsUser: + rule: RunAsAny + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + volumes: + - configMap + - emptyDir + - secret + - hostPath +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/logging-k3s-openrc.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/logging-k3s-openrc.yaml new file mode 100644 index 0000000000..963cf3ac43 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/k3s/logging-k3s-openrc.yaml @@ -0,0 +1,19 @@ +{{- define "logging-operator.logging.k3s-openrc" -}} +{{- $logPath := "/var/log/k3s.log" -}} +metadata: + name: {{ .Release.Name }}-k3s +spec: + fluentbit: + disableKubernetesFilter: true + extraVolumeMounts: + - source: {{ $logPath }} + destination: {{ $logPath }} + readOnly: true + inputTail: + Tag: "k3s" + Path: {{ $logPath }} + Path_Key: filename +{{- end -}} +{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "openrc")}} +{{- include "logging-operator.logging" (list . "logging-operator.logging.k3s-openrc") -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/kube-audit/logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/kube-audit/logging.yaml new file mode 100644 index 0000000000..fcac111bd2 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/kube-audit/logging.yaml @@ -0,0 +1,25 @@ +{{- define "logging-operator.logging.kube-audit" -}} +metadata: + name: {{ .Release.Name }}-kube-audit +spec: + {{- if .Values.additionalLoggingSources.kubeAudit.loggingRef }} + loggingRef: {{ .Values.additionalLoggingSources.kubeAudit.loggingRef }} + {{- end }} + fluentbit: + disableKubernetesFilter: true + extraVolumeMounts: + - source: {{ template "kubeAuditPathPrefix" . }} + destination: "/kube-audit-logs" + readOnly: true + inputTail: + Tag: {{ .Values.additionalLoggingSources.kubeAudit.fluentbit.logTag }} + Path: /kube-audit-logs/{{ template "kubeAuditFilename" . }} + Parser: json + {{- with (concat (.Values.tolerations) (.Values.fluentbit.tolerations) (.Values.additionalLoggingSources.kubeAudit.fluentbit.tolerations)) }} + tolerations: {{- toYaml . | nindent 6 }} + {{- end }} + nodeSelector: {{ include "controlplaneSelector" . | nindent 6 }} +{{- end -}} +{{- if .Values.additionalLoggingSources.kubeAudit.enabled }} +{{- include "logging-operator.logging" (list . "logging-operator.logging.kube-audit") -}} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/configmap.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/configmap.yaml new file mode 100644 index 0000000000..252572a4ef --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/configmap.yaml @@ -0,0 +1,29 @@ +{{- if .Values.additionalLoggingSources.rke.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-rke + labels: +{{ include "logging-operator.labels" . | indent 4 }} +data: + fluent-bit.conf: | + [SERVICE] + Log_Level {{ .Values.additionalLoggingSources.rke.fluentbit.log_level }} + Parsers_File parsers.conf + + [INPUT] + Tag rke + Name tail + Path_Key filename + Parser docker + DB /tail-db/tail-containers-state.db + Mem_Buf_Limit {{ .Values.additionalLoggingSources.rke.fluentbit.mem_buffer_limit }} + Path /var/lib/rancher/rke/log/*.log + + [OUTPUT] + Name forward + Match * + Host {{ .Release.Name }}-root-fluentd.{{ .Release.Namespace }}.svc + Port 24240 + Retry_Limit False +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/daemonset.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/daemonset.yaml new file mode 100644 index 0000000000..cc39a5cc49 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke/daemonset.yaml @@ -0,0 +1,122 @@ +{{- if .Values.additionalLoggingSources.rke.enabled }} +{{- $containers := printf "%s/containers/" (default "/var/lib/docker" .Values.global.dockerRootDirectory) }} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: "{{ .Release.Name }}-rke-aggregator" + namespace: "{{ .Release.Namespace }}" +spec: + selector: + matchLabels: + name: {{ .Release.Name }}-rke-aggregator + template: + metadata: + name: "{{ .Release.Name }}-rke-aggregator" + namespace: "{{ .Release.Namespace }}" + labels: + name: {{ .Release.Name }}-rke-aggregator + spec: + containers: + - name: fluentbit + image: "{{ template "logging-operator.fluentbitImage" . }}" + volumeMounts: + - mountPath: /var/lib/rancher/rke/log/ + name: indir + - mountPath: {{ $containers }} + name: containers + - mountPath: /tail-db + name: positiondb + - mountPath: /fluent-bit/etc/fluent-bit.conf + name: config + subPath: fluent-bit.conf + {{- if .Values.global.seLinux.enabled }} + securityContext: + seLinuxOptions: + type: rke_logreader_t + {{- end }} + volumes: + - name: indir + hostPath: + path: /var/lib/rancher/rke/log/ + type: DirectoryOrCreate + - name: containers + hostPath: + path: {{ $containers }} + type: DirectoryOrCreate + - name: positiondb + emptyDir: {} + - name: config + configMap: + name: "{{ .Release.Name }}-rke" + serviceAccountName: "{{ .Release.Name }}-rke-aggregator" + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_tolerations }} + tolerations: {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: {{- toYaml . | nindent 8 }} + {{- end }} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: "{{ .Release.Name }}-rke-aggregator" + namespace: "{{ .Release.Namespace }}" +{{- if .Values.global.cattle.psp.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: "{{ .Release.Name }}-rke-aggregator" +rules: + - apiGroups: + - policy + resourceNames: + - "{{ .Release.Name }}-rke-aggregator" + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: "{{ .Release.Name }}-rke-aggregator" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: "{{ .Release.Name }}-rke-aggregator" +subjects: + - kind: ServiceAccount + name: "{{ .Release.Name }}-rke-aggregator" +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: "{{ .Release.Name }}-rke-aggregator" + namespace: "{{ .Release.Namespace }}" +spec: + allowPrivilegeEscalation: false + allowedHostPaths: + - pathPrefix: {{ $containers }} + readOnly: false + - pathPrefix: /var/lib/rancher/rke/log/ + readOnly: false + - pathPrefix: /var/lib/rancher/logging/ + readOnly: false + fsGroup: + rule: RunAsAny + readOnlyRootFilesystem: true + runAsUser: + rule: RunAsAny + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + volumes: + - configMap + - emptyDir + - secret + - hostPath +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/configmap.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/configmap.yaml new file mode 100644 index 0000000000..3ca20be226 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/configmap.yaml @@ -0,0 +1,69 @@ +{{- if .Values.additionalLoggingSources.rke2.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-rke2 + labels: +{{ include "logging-operator.labels" . | indent 4 }} +data: + fluent-bit.conf: | + [SERVICE] + Flush 1 + Grace 5 + Daemon Off + Log_Level info + Coro_Stack_Size 24576 + Parsers_File parsers.conf + + [INPUT] + Name systemd + Tag rke2 + Path {{ .Values.systemdLogPath }} + Systemd_Filter _SYSTEMD_UNIT=rke2-server.service + Systemd_Filter _SYSTEMD_UNIT=rke2-agent.service + {{- if .Values.additionalLoggingSources.rke2.stripUnderscores }} + Strip_Underscores On + {{- end }} + + [INPUT] + Name tail + Tag rke2 + Path /var/lib/rancher/rke2/agent/logs/kubelet.log + + [FILTER] + Name parser + Match * + Key_Name log + Parser klog + Reserve_Data On + + [FILTER] + Name parser + Match * + Key_Name MESSAGE + Parser klog + Reserve_Data On + + [FILTER] + Name parser + Match * + Key_Name MESSAGE + Parser rancher + Reserve_Data On + + [FILTER] + Name parser + Match * + Key_Name MESSAGE + Parser etcd + Reserve_Data On + + [OUTPUT] + Name forward + Match * + Host {{ .Release.Name }}-root-fluentd.{{ .Release.Namespace }}.svc + Port 24240 + Retry_Limit False + parsers.conf: | +{{ include "logging-operator.parsers" . | indent 4 }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/daemonset.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/daemonset.yaml new file mode 100644 index 0000000000..8f54b718ee --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/rke2/daemonset.yaml @@ -0,0 +1,116 @@ +{{- if .Values.additionalLoggingSources.rke2.enabled }} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: "{{ .Release.Name }}-rke2-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +spec: + selector: + matchLabels: + name: {{ .Release.Name }}-rke2-journald-aggregator + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/loggings/rke2/configmap.yaml") . | sha256sum }} + name: "{{ .Release.Name }}-rke2-journald-aggregator" + namespace: "{{ .Release.Namespace }}" + labels: + name: {{ .Release.Name }}-rke2-journald-aggregator + spec: + containers: + - name: fluentbit + image: "{{ template "logging-operator.fluentbitImage" . }}" + {{- if .Values.global.seLinux.enabled }} + securityContext: + seLinuxOptions: + type: rke_logreader_t + {{- end }} + volumeMounts: + - mountPath: /fluent-bit/etc/ + name: config + - mountPath: {{ .Values.systemdLogPath | default "/var/log/journal" }} + name: journal + readOnly: true + - mountPath: "/var/lib/rancher/rke2/agent/logs" + name: kubelet + readOnly: true + - mountPath: /etc/machine-id + name: machine-id + readOnly: true + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: "{{ .Release.Name }}-rke2-journald-aggregator" + volumes: + - name: config + configMap: + name: "{{ .Release.Name }}-rke2" + - name: journal + hostPath: + path: {{ .Values.systemdLogPath | default "/var/log/journal" }} + - name: kubelet + hostPath: + path: "/var/lib/rancher/rke2/agent/logs" + - name: machine-id + hostPath: + path: /etc/machine-id +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: "{{ .Release.Name }}-rke2-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +{{- if .Values.global.cattle.psp.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: "{{ .Release.Name }}-rke2-journald-aggregator" +rules: + - apiGroups: + - policy + resourceNames: + - "{{ .Release.Name }}-rke2-journald-aggregator" + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: "{{ .Release.Name }}-rke2-journald-aggregator" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: "{{ .Release.Name }}-rke2-journald-aggregator" +subjects: + - kind: ServiceAccount + name: "{{ .Release.Name }}-rke2-journald-aggregator" +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: "{{ .Release.Name }}-rke2-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +spec: + allowPrivilegeEscalation: false + fsGroup: + rule: RunAsAny + readOnlyRootFilesystem: true + runAsUser: + rule: RunAsAny + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + volumes: + - configMap + - emptyDir + - secret + - hostPath +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/root/logging.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/root/logging.yaml new file mode 100644 index 0000000000..3a62ee7b1f --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/loggings/root/logging.yaml @@ -0,0 +1,91 @@ +{{- define "logging-operator.logging.root" -}} +{{- $containerLogPath := printf "%s/containers/" (default "/var/lib/docker" .Values.global.dockerRootDirectory) }} +metadata: + name: "{{ .Release.Name }}-root" +spec: + {{- if (include "windowsEnabled" .) }} + nodeAgents: + - name: win-agent + profile: windows + nodeAgentFluentbit: + daemonSet: + spec: + template: + spec: + containers: + - image: {{ template "system_default_registry" . }}{{ .Values.images.nodeagent_fluentbit.repository }}:{{ .Values.images.nodeagent_fluentbit.tag }} + name: fluent-bit + tls: + enabled: {{ .Values.nodeAgents.tls.enabled | default false }} + {{- if .Values.additionalLoggingSources.rke.enabled }} + - name: win-agent-rke + profile: windows + nodeAgentFluentbit: + filterKubernetes: + Kube_Tag_Prefix: "{{ template "windowsKubernetesFilter" . }}.var.lib.rancher.rke.log." + inputTail: + Path: "{{ template "windowsPathPrefix" . }}/var/lib/rancher/rke/log" + {{- if .Values.fluentbit.inputTail.Buffer_Chunk_Size }} + Buffer_Chunk_Size: {{ .Values.fluentbit.inputTail.Buffer_Chunk_Size | toString }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Buffer_Max_Size }} + Buffer_Max_Size: {{ .Values.fluentbit.inputTail.Buffer_Max_Size | toString }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Mem_Buf_Limit }} + Mem_Buf_Limit: {{ .Values.fluentbit.inputTail.Mem_Buf_Limit | toString }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Multiline_Flush }} + Multiline_Flush: {{ .Values.fluentbit.inputTail.Multiline_Flush | toString | quote }} + {{- end }} + {{- if .Values.fluentbit.inputTail.Skip_Long_Lines }} + Skip_Long_Lines: {{ .Values.fluentbit.inputTail.Skip_Long_Lines | toString | quote }} + {{- end }} + extraVolumeMounts: + - source: "{{ template "windowsInputTailMount" . }}/var/lib/rancher/rke/log" + destination: "{{ template "windowsInputTailMount" . }}/var/lib/rancher/rke/log" + readOnly: true + daemonSet: + spec: + template: + spec: + containers: + - image: "{{ template "system_default_registry" . }}{{ .Values.images.nodeagent_fluentbit.repository }}:{{ .Values.images.nodeagent_fluentbit.tag }}" + name: fluent-bit + tls: + enabled: {{ .Values.nodeAgents.tls.enabled | default false }} + {{- end }} + {{- end }} + fluentbit: + {{- if .Values.global.dockerRootDirectory }} + mountPath: {{ $containerLogPath }} + extraVolumeMounts: + - source: {{ $containerLogPath }} + destination: {{ $containerLogPath }} + readOnly: true + {{- end }} + {{- if (include "requireFilterKubernetes" .) }} + filterKubernetes: + {{- if .Values.fluentbit.filterKubernetes.Merge_Log }} + Merge_Log: "{{ .Values.fluentbit.filterKubernetes.Merge_Log }}" + {{- end }} + {{- if .Values.fluentbit.filterKubernetes.Merge_Log_Key }} + Merge_Log_Key: "{{ .Values.fluentbit.filterKubernetes.Merge_Log_Key }}" + {{- end }} + {{- if .Values.fluentbit.filterKubernetes.Merge_Log_Trim }} + Merge_Log_Trim: "{{ .Values.fluentbit.filterKubernetes.Merge_Log_Trim }}" + {{- end }} + {{- if .Values.fluentbit.filterKubernetes.Merge_Parser }} + Merge_Parser: "{{ .Values.fluentbit.filterKubernetes.Merge_Parser }}" + {{- end }} + {{- end }} + fluentd: + {{- if .Values.loggingServiceAccountAnnotations.root }} + serviceAccount: + metadata: + annotations: + {{- with .Values.loggingServiceAccountAnnotations.root }} + {{ toYaml . | indent 8 }} + {{- end }} + {{- end }} +{{- end -}} +{{- include "logging-operator.logging" (list . "logging-operator.logging.root") -}} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/psp.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/psp.yaml new file mode 100644 index 0000000000..e80bbc0dc7 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/psp.yaml @@ -0,0 +1,34 @@ +{{ if and .Values.global.cattle.psp.enabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: psp.logging-operator + namespace: {{ include "logging-operator.namespace" . }} + annotations: +{{- if .Values.rbac.psp.annotations }} +{{ toYaml .Values.rbac.psp.annotations | indent 4 }} +{{- end }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + readOnlyRootFilesystem: true + privileged: false + allowPrivilegeEscalation: false + runAsUser: + rule: MustRunAsNonRoot + fsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + supplementalGroups: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + volumes: + - secret + - configMap +{{ end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/service.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/service.yaml new file mode 100644 index 0000000000..f419ae2c48 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "logging-operator.fullname" . }} + namespace: {{ include "logging-operator.namespace" . }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + type: ClusterIP + {{- with .Values.http.service.clusterIP }} + clusterIP: {{ . }} + {{- end }} + ports: + - port: {{ .Values.http.port }} + targetPort: http + protocol: TCP + name: http + selector: + app.kubernetes.io/name: {{ include "logging-operator.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/service_monitor.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/service_monitor.yaml new file mode 100644 index 0000000000..1bb762cde5 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/service_monitor.yaml @@ -0,0 +1,30 @@ +{{ if .Values.monitoring.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "logging-operator.fullname" . }} + namespace: {{ include "logging-operator.namespace" . }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +{{- with .Values.monitoring.serviceMonitor.additionalLabels }} + {{- toYaml . | nindent 4 }} +{{- end }} +spec: + selector: + matchLabels: +{{ include "logging-operator.labels" . | indent 6 }} + endpoints: + - port: http + path: /metrics + {{- with .Values.monitoring.serviceMonitor.metricsRelabelings }} + metricRelabelings: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.monitoring.serviceMonitor.relabelings }} + relabelings: + {{- toYaml . | nindent 4 }} + {{- end }} + namespaceSelector: + matchNames: + - {{ include "logging-operator.namespace" . }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/serviceaccount.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/serviceaccount.yaml new file mode 100644 index 0000000000..bb97cf1084 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/serviceaccount.yaml @@ -0,0 +1,14 @@ +{{- if .Values.rbac.enabled }} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "logging-operator.fullname" . }} + namespace: {{ include "logging-operator.namespace" . }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +{{- with .Values.serviceAccount.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/test_receiver.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/test_receiver.yaml new file mode 100644 index 0000000000..af0b5f4dcc --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/test_receiver.yaml @@ -0,0 +1,53 @@ +{{ if .Values.testReceiver.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "logging-operator.releasename" . }}-test-receiver + namespace: {{ include "logging-operator.namespace" . }} +spec: + type: ClusterIP + ports: + - port: {{ .Values.testReceiver.port }} + targetPort: receiver + protocol: TCP + name: receiver + selector: + app.kubernetes.io/name: {{ include "logging-operator.releasename" . }}-test-receiver + app.kubernetes.io/instance: {{ .Release.Name }} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "logging-operator.releasename" . }}-test-receiver + namespace: {{ include "logging-operator.namespace" . }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ include "logging-operator.releasename" . }}-test-receiver + app.kubernetes.io/instance: {{ .Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "logging-operator.releasename" . }}-test-receiver + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + fluentbit.io/exclude: "true" + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.testReceiver.image }}" + args: + {{- range .Values.testReceiver.args }} + - {{ . }} + {{- end }} + imagePullPolicy: {{ .Values.testReceiver.pullPolicy }} + resources: + {{- toYaml .Values.testReceiver.resources | nindent 12 }} + ports: + - name: receiver + containerPort: {{ .Values.testReceiver.port }} +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/userrole.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/userrole.yaml new file mode 100644 index 0000000000..82c3200b9c --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/userrole.yaml @@ -0,0 +1,39 @@ +{{- if .Values.rbac.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "logging-operator.fullname" . }}-edit + labels: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + rbac.authorization.k8s.io/aggregate-to-edit: "true" +rules: +- apiGroups: + - logging.banzaicloud.io + resources: + - flows + - outputs + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - logging.banzaicloud.io + resources: + - syslogngflows + - syslogngoutputs + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/userroles.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/userroles.yaml new file mode 100644 index 0000000000..f4136b09a4 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/userroles.yaml @@ -0,0 +1,35 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: "logging-admin" + labels: + rbac.authorization.k8s.io/aggregate-to-admin: "true" +rules: + - apiGroups: + - "logging.banzaicloud.io" + resources: + - flows + - outputs + verbs: + - "*" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: "logging-view" + labels: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + rbac.authorization.k8s.io/aggregate-to-view: "true" + rbac.authorization.k8s.io/aggregate-to-edit: "true" +rules: + - apiGroups: + - "logging.banzaicloud.io" + resources: + - flows + - outputs + - clusterflows + - clusteroutputs + verbs: + - get + - list + - watch diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install-crd.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install-crd.yaml new file mode 100644 index 0000000000..f12e37dfa8 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install-crd.yaml @@ -0,0 +1,27 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "logging-extensions.banzaicloud.io/v1alpha1/EventTailer" false -}} +# {{- set $found "logging-extensions.banzaicloud.io/v1alpha1/HostTailer" false -}} +# {{- set $found "logging.banzaicloud.io/v1alpha1/ClusterFlow" false -}} +# {{- set $found "logging.banzaicloud.io/v1alpha1/ClusterOutput" false -}} +# {{- set $found "logging.banzaicloud.io/v1alpha1/Flow" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/FluentbitAgent" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/LoggingRoute" false -}} +# {{- set $found "logging.banzaicloud.io/v1alpha1/Logging" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/NodeAgent" false -}} +# {{- set $found "logging.banzaicloud.io/v1alpha1/Output" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/SyslogNGClusterFlow" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/SyslogNGClusterOutput" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/SyslogNGFlow" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/SyslogNGOutput" false -}} +# {{- range .Capabilities.APIVersions -}} +# {{- if hasKey $found (toString .) -}} +# {{- set $found (toString .) true -}} +# {{- end -}} +# {{- end -}} +# {{- range $_, $exists := $found -}} +# {{- if (eq $exists false) -}} +# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}} +# {{- end -}} +# {{- end -}} +#{{- end -}} \ No newline at end of file diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install.yaml new file mode 100644 index 0000000000..bd624cc4b4 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-install.yaml @@ -0,0 +1,5 @@ +#{{- if .Values.global.dockerRootDirectory }} +#{{- if or (hasSuffix "/containers" .Values.global.dockerRootDirectory) (hasSuffix "/" .Values.global.dockerRootDirectory) }} +#{{- required "global.dockerRootDirectory must not end with suffix: '/' or '/containers'" "" -}} +#{{- end }} +#{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-psp-install.yaml b/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-psp-install.yaml new file mode 100644 index 0000000000..a30c59d3b7 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/templates/validate-psp-install.yaml @@ -0,0 +1,7 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +#{{- if .Values.global.cattle.psp.enabled }} +#{{- if not (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }} +#{{- fail "The target cluster does not have the PodSecurityPolicy API resource. Please disable PSPs in this chart before proceeding." -}} +#{{- end }} +#{{- end }} +#{{- end }} diff --git a/charts/rancher-logging/103.1.2+up4.4.0/values-logging-example.yaml b/charts/rancher-logging/103.1.2+up4.4.0/values-logging-example.yaml new file mode 100644 index 0000000000..b7068af4a0 --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/values-logging-example.yaml @@ -0,0 +1,24 @@ +nameOverride: example + +# given we use `nameOverride: example` if testReceiver is enabled we can send http metrics to http://example-test-receiver:8080 +testReceiver: + enabled: true + +logging: + enabled: true + clusterFlows: + - name: all + spec: + match: + - select: {} + globalOutputRefs: ["http"] + clusterOutputs: + - name: http + spec: + http: + endpoint: http://example-test-receiver:8080 + content_type: application/json + buffer: + type: memory + timekey: 1s + timekey_wait: 1s diff --git a/charts/rancher-logging/103.1.2+up4.4.0/values.yaml b/charts/rancher-logging/103.1.2+up4.4.0/values.yaml new file mode 100644 index 0000000000..c0de561f4e --- /dev/null +++ b/charts/rancher-logging/103.1.2+up4.4.0/values.yaml @@ -0,0 +1,438 @@ +# Default values for logging-operator. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: rancher/mirrored-kube-logging-logging-operator + tag: 4.4.0 + pullPolicy: IfNotPresent + +env: [] +volumes: [] +volumeMounts: [] + +extraArgs: + - -enable-leader-election=true +imagePullSecrets: [] + +# -- A name in place of the chart name for `app:` labels. +nameOverride: "" + +# -- A name to substitute for the full names of resources. +fullnameOverride: "" + +# -- A namespace override for the app. +namespaceOverride: "" + +# -- Define annotations for logging-operator pods. +annotations: {} + +# -- Deploy CRDs used by Logging Operator. +createCustomResource: false + +http: + # -- HTTP listen port number. + port: 8080 + + # -- Service definition for query http service. + service: + type: ClusterIP + clusterIP: None + # Annotations to query http service + annotations: {} + # Labels to query http service + labels: {} + +rbac: + # -- Create rbac service account and roles. + enabled: true + + psp: + # -- Must be used with `rbac.enabled` true. If true, creates & uses RBAC resources required in the cluster with [Pod Security Policies](https://kubernetes.io/docs/concepts/policy/pod-security-policy/) enabled. + # enabled: false + + # -- PSP annotations + annotations: + seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default,runtime/default' + seccomp.security.alpha.kubernetes.io/defaultProfileName: 'runtime/default' + ## Specify pod annotations + ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor + ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp + ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl + + # specify service account manually + # serviceAccountName: custom + +monitoring: + serviceMonitor: + # -- Create a Prometheus Operator ServiceMonitor object. + enabled: false + + additionalLabels: {} + metricRelabelings: [] + relabelings: [] + +# -- Pod SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) +## SecurityContext holds pod-level security attributes and common container settings. +## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +podSecurityContext: {} +# runAsNonRoot: true +# runAsUser: 1000 +# fsGroup: 2000 + +# -- Container SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) +securityContext: {} +# allowPrivilegeEscalation: false +# readOnlyRootFilesystem: true + # capabilities: + # drop: ["ALL"] + +# -- Operator priorityClassName. +priorityClassName: {} + +serviceAccount: + # -- Define annotations for logging-operator ServiceAccount. + annotations: {} + +# -- CPU/Memory resource requests/limits +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule + +# -- Node Affinity +affinity: {} + +# -- Define which Nodes the Pods are scheduled on. +podLabels: {} + +# -- Logging resources configuration. +logging: + + # -- Logging resources are disabled by default + enabled: false + + # -- Reference to the logging system. Each of the loggingRefs can manage a fluentbit daemonset and a fluentd statefulset. + loggingRef: "" + + # -- Disable configuration check before applying new fluentd configuration. + flowConfigCheckDisabled: false + + # -- Whether to skip invalid Flow and ClusterFlow resources + skipInvalidResources: false + + # -- Override generated config. This is a raw configuration string for troubleshooting purposes. + flowConfigOverride: "" + + # -- Flag to disable fluentbit completely + fluentbitDisabled: false + # -- Fluent-bit configurations https://kube-logging.github.io/docs/configuration/crds/v1beta1/fluentbit_types/ + fluentbit: {} + + # -- Flag to disable fluentd completely + fluentdDisabled: false + # -- Fluentd configurations https://kube-logging.github.io/docs/configuration/crds/v1beta1/fluentd_types/ + fluentd: {} + # 20Gi persistent storage is configured for fluentd by default. + # Here is an example, on how to override it: + # bufferStorageVolume: + # pvc: + # spec: + # accessModes: + # - ReadWriteOnce + # resources: + # requests: + # storage: 40Gi + + # -- Syslog-NG statefulset configuration + syslogNG: {} + + # -- Default flow for unmatched logs. This Flow configuration collects all logs that didn’t match any other Flow. + defaultFlow: {} + + # -- GlobalOutput name to flush ERROR events to + errorOutputRef: "" + + # -- Global filters to apply on logs before any match or filter mechanism. + globalFilters: [] + + # -- Limit namespaces to watch Flow and Output custom resources. + watchNamespaces: [] + + # -- Limit namespaces to watch Flow and Output custom resources. + watchNamespaceSelector: {} + + # -- Cluster domain name to be used when templating URLs to services + clusterDomain: "cluster.local." + + # -- Namespace for cluster wide configuration resources like ClusterFlow and ClusterOutput. This should be a protected namespace from regular users. Resources like fluentbit and fluentd will run in this namespace as well. + controlNamespace: "" + + # -- Allow configuration of cluster resources from any namespace. Mutually exclusive with ControlNamespace restriction of Cluster resources + allowClusterResourcesFromAllNamespaces: false + + # -- NodeAgent Configuration + nodeAgents: {} + # - name: win-agent + # profile: windows + # nodeAgentFluentbit: + # daemonSet: + # spec: + # template: + # spec: + # containers: + # - image: banzaicloud/fluentbit:1.9.5 + # name: fluent-bit + # tls: + # enabled: false + # - name: linux-agent + # profile: linux + # nodeAgentFluentbit: + # metrics: + # prometheusAnnotations: true + # serviceMonitor: false + # tls: + # enabled: false + + # -- EnableRecreateWorkloadOnImmutableFieldChange enables the operator to recreate the fluentbit daemonset and the fluentd statefulset (and possibly other resource in the future) in case there is a change in an immutable field that otherwise couldn’t be managed with a simple update. + enableRecreateWorkloadOnImmutableFieldChange: false + + # -- ClusterFlows to deploy + clusterFlows: [] + + # -- ClusterOutputs to deploy + clusterOutputs: [] + + # Send all pod logs to kafka + # clusterFlows: + # - name: all + # spec: + # match: + # - select: {} + # globalOutputRefs: ["kafka"] + # clusterOutputs: + # - name: kafka + # spec: + # kafka: + # brokers: kafka-headless.kafka.svc.cluster.local:29092 + # format: + # type: json + # default_topic: topic + + # -- EventTailer config + eventTailer: {} + # name: sample + # pvc: + # accessModes: + # - ReadWriteOnce + # volumeMode: Filesystem + # storage: 1Gi + # storageClassName: standard + + # -- HostTailer config + hostTailer: {} + # name: sample + # fileTailers: + # - name: sample-file + # path: /var/log/sample-file + # disabled: false + # systemdTailers: + # - name: system-sample + # disabled: true + # maxEntries: 20 + # systemdFilter: kubelet.service + +testReceiver: + enabled: false + image: fluent/fluent-bit + pullPolicy: IfNotPresent + port: 8080 + # args: ["-i", "http", "-p", "port=8080", "-o", "stdout"] + # resources: + # limits: + # cpu: 100m + # memory: 50Mi + # requests: + # cpu: 20m + # memory: 25Mi + + # Service definition for query http service + service: + type: ClusterIP + clusterIP: None + # Annotations to query http service + annotations: {} + # Labels to query http service + labels: {} + +# Logging CR specific serviceAccount annotations +loggingServiceAccountAnnotations: {} +## Syntax ## +# : +# : +# +## Example ## +# +# root: +# eks.amazonaws.com/role-arn: +# +## Result - added to the Logging resource ## +# +# spec: +# fluentd: +# serviceAccount: +# metadata: +# annotations: +# eks.amazonaws.com/role-arn: arn:aws:iam::1234567890:role/my-iam-role +# + +################################### +# Rancher Logging Operator Values # +################################### + +# Enable debug to use fluent-bit images that allow exec +debug: false + +# Disable persistent volumes for buffers +disablePvc: true + +# If your additional logging sources collect logs from systemd configure the systemd log path here +systemdLogPath: "/run/log/journal" + +global: + cattle: + systemDefaultRegistry: "" + # Uncomment the below two lines to either enable or disable Windows logging. If this chart is + # installed via the Rancher UI, it will set this value to "true" if the cluster is a Windows + # cluster. In that scenario, if you would like to disable Windows logging on Windows clusters, + # set the value below to "false". + # windows: + # enabled: true + psp: + enabled: false + + # Change the "dockerRootDirectory" if the default Docker directory has changed. + dockerRootDirectory: "" + + rkeWindowsPathPrefix: "c:\\" + + seLinux: + enabled: false + +images: + config_reloader: + repository: rancher/mirrored-jimmidyson-configmap-reload + tag: v0.4.0 + fluentbit: + repository: rancher/mirrored-fluent-fluent-bit + tag: 2.2.0 + nodeagent_fluentbit: + os: "windows" + repository: rancher/fluent-bit + tag: 2.2.0 + fluentbit_debug: + repository: rancher/mirrored-fluent-fluent-bit + tag: 2.2.0-debug + fluentd: + repository: rancher/mirrored-banzaicloud-fluentd + tag: v1.14.6-alpine-5 + +additionalLoggingSources: + rke: + enabled: false + fluentbit: + log_level: "info" + mem_buffer_limit: "5MB" + rke2: + enabled: false + stripUnderscores: false + k3s: + enabled: false + container_engine: "systemd" + stripUnderscores: false + aks: + enabled: false + eks: + enabled: false + gke: + enabled: false + kubeAudit: + auditFilename: "" + enabled: false + pathPrefix: "" + fluentbit: + logTag: kube-audit + tolerations: + - key: node-role.kubernetes.io/control-plane + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/etcd + value: "true" + effect: NoExecute + +# configures node agent options for windows node agents +nodeAgents: + tls: + enabled: false + +# These settings apply to every Logging CR, including vendor Logging CRs enabled in "additionalLoggingSources". +# Changing these affects every Logging CR installed. +fluentd: + bufferStorageVolume: {} + livenessProbe: + tcpSocket: + port: 24240 + initialDelaySeconds: 30 + periodSeconds: 15 + nodeSelector: {} + resources: {} + tolerations: {} + env: [] +fluentbit: + inputTail: + Buffer_Chunk_Size: "" + Buffer_Max_Size: "" + Mem_Buf_Limit: "" + Multiline_Flush: "" + Skip_Long_Lines: "" + resources: {} + tolerations: + - key: node-role.kubernetes.io/control-plane + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/etcd + value: "true" + effect: NoExecute + filterKubernetes: + Merge_Log: "" + Merge_Log_Key: "" + Merge_Log_Trim: "" + Merge_Parser: "" + +# DO NOT SET THIS UNLESS YOU KNOW WHAT YOU ARE DOING. +# Setting fields on this object can break rancher logging or cause unexpected behavior. It is intended to be used if you +# need to configure functionality not exposed by rancher logging. It is highly recommended you check the `app-readme.md` +# for the functionality you need before modifying this object. + +# this object will be merged with every logging CR created by this chart. Any fields that collide with fields from the +# settings above will be overridden. Any fields that collide with fields set in the files in `templates/loggings` will +# be ignored. diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/Chart.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/Chart.yaml new file mode 100644 index 0000000000..7a1d5bbbf5 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/Chart.yaml @@ -0,0 +1,14 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-webhook +apiVersion: v2 +appVersion: 0.4.10 +description: ValidatingAdmissionWebhook for Rancher types +name: rancher-webhook +version: 103.0.9+up0.4.10 diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/templates/_helpers.tpl b/charts/rancher-webhook/103.0.9+up0.4.10/templates/_helpers.tpl new file mode 100644 index 0000000000..c37a65c6f3 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/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 -}} + +{{- define "rancher-webhook.labels" -}} +app: rancher-webhook +{{- end }} + +{{- 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/rancher-webhook/103.0.9+up0.4.10/templates/deployment.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/templates/deployment.yaml new file mode 100644 index 0000000000..b8a7201dac --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/templates/deployment.yaml @@ -0,0 +1,82 @@ +{{- $auth := .Values.auth | default dict }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rancher-webhook +spec: + selector: + matchLabels: + app: rancher-webhook + template: + metadata: + labels: + app: rancher-webhook + spec: + {{- if $auth.clientCA }} + volumes: + - name: client-ca + secret: + secretName: client-ca + {{- end }} + {{- if .Values.global.hostNetwork }} + hostNetwork: true + {{- end }} + nodeSelector: {{ include "linux-node-selector" . | nindent 8 }} + {{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end }} + tolerations: {{ include "linux-node-tolerations" . | nindent 6 }} + {{- if .Values.tolerations }} +{{ toYaml .Values.tolerations | indent 6 }} + {{- end }} + containers: + - env: + - name: STAMP + value: "{{.Values.stamp}}" + - name: ENABLE_MCM + value: "{{.Values.mcm.enabled}}" + - name: CATTLE_PORT + value: {{.Values.port | default 9443 | quote}} + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + {{- if $auth.allowedCNs }} + - name: ALLOWED_CNS + value: '{{ join "," $auth.allowedCNs }}' + {{- end }} + image: '{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}' + name: rancher-webhook + imagePullPolicy: "{{ .Values.image.imagePullPolicy }}" + ports: + - name: https + containerPort: {{ .Values.port | default 9443 }} + startupProbe: + httpGet: + path: "/healthz" + port: "https" + scheme: "HTTPS" + failureThreshold: 60 + periodSeconds: 5 + livenessProbe: + httpGet: + path: "/healthz" + port: "https" + scheme: "HTTPS" + periodSeconds: 5 + {{- if $auth.clientCA }} + volumeMounts: + - name: client-ca + mountPath: /tmp/k8s-webhook-server/client-ca + readOnly: true + {{- end }} + {{- if .Values.capNetBindService }} + securityContext: + capabilities: + add: + - NET_BIND_SERVICE + {{- end }} + serviceAccountName: rancher-webhook + {{- if .Values.priorityClassName }} + priorityClassName: "{{.Values.priorityClassName}}" + {{- end }} diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/templates/rbac.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/templates/rbac.yaml new file mode 100644 index 0000000000..f4364995c0 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/templates/rbac.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: rancher-webhook +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: +- kind: ServiceAccount + name: rancher-webhook + namespace: {{.Release.Namespace}} \ No newline at end of file diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/templates/secret.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/templates/secret.yaml new file mode 100644 index 0000000000..9fd331dc1e --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/templates/secret.yaml @@ -0,0 +1,11 @@ +{{- $auth := .Values.auth | default dict }} +{{- if $auth.clientCA }} +apiVersion: v1 +data: + ca.crt: {{ $auth.clientCA }} +kind: Secret +metadata: + name: client-ca + namespace: cattle-system +type: Opaque +{{- end }} diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/templates/service.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/templates/service.yaml new file mode 100644 index 0000000000..220afebeae --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/templates/service.yaml @@ -0,0 +1,13 @@ +kind: Service +apiVersion: v1 +metadata: + name: rancher-webhook + namespace: cattle-system +spec: + ports: + - port: 443 + targetPort: {{ .Values.port | default 9443 }} + protocol: TCP + name: https + selector: + app: rancher-webhook diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/templates/serviceaccount.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/templates/serviceaccount.yaml new file mode 100644 index 0000000000..9e7ad7e1fe --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/templates/serviceaccount.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: rancher-webhook +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: rancher-webhook-sudo + annotations: + cattle.io/description: "SA which can be impersonated to bypass rancher-webhook validation" \ No newline at end of file diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/templates/webhook.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/templates/webhook.yaml new file mode 100644 index 0000000000..53a0687b6f --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/templates/webhook.yaml @@ -0,0 +1,9 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + name: rancher.cattle.io +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + name: rancher.cattle.io diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/tests/README.md b/charts/rancher-webhook/103.0.9+up0.4.10/tests/README.md new file mode 100644 index 0000000000..6d3059a005 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/tests/README.md @@ -0,0 +1,16 @@ + +## local dev testing instructions + +Option 1: Full chart CI run with a live cluster + +```bash +./scripts/charts/ci +``` + +Option 2: Test runs against the chart only + +```bash +# install the helm plugin first - helm plugin install https://github.com/helm-unittest/helm-unittest.git +bash dev-scripts/helm-unittest.sh +``` + diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/tests/deployment_test.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/tests/deployment_test.yaml new file mode 100644 index 0000000000..bbd6e30444 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/tests/deployment_test.yaml @@ -0,0 +1,73 @@ +suite: Test Deployment +templates: + - deployment.yaml + +tests: + - it: should set webhook default port values + asserts: + - equal: + path: spec.template.spec.containers[0].ports[0].containerPort + value: 9443 + - contains: + path: spec.template.spec.containers[0].env + content: + name: CATTLE_PORT + value: "9443" + + - it: should set updated webhook port + set: + port: 2319 + asserts: + - equal: + path: spec.template.spec.containers[0].ports[0].containerPort + value: 2319 + - contains: + path: spec.template.spec.containers[0].env + content: + name: CATTLE_PORT + value: "2319" + + - it: should not set capabilities by default. + asserts: + - isNull: + path: spec.template.spec.containers[0].securityContext + + - it: should set net capabilities when capNetBindService is true. + set: + capNetBindService: true + asserts: + - contains: + path: spec.template.spec.containers[0].securityContext.capabilities.add + content: NET_BIND_SERVICE + + - it: should not set volumes or volumeMounts by default + asserts: + - isNull: + path: spec.template.spec.volumes + - isNull: + path: spec.template.spec.volumeMounts + + - it: should set CA fields when CA options are set + set: + auth.clientCA: base64-encoded-cert + auth.allowedCNs: + - kube-apiserver + - joe + asserts: + - contains: + path: spec.template.spec.volumes + content: + name: client-ca + secret: + secretName: client-ca + - contains: + path: spec.template.spec.containers[0].volumeMounts + content: + name: client-ca + mountPath: /tmp/k8s-webhook-server/client-ca + readOnly: true + - contains: + path: spec.template.spec.containers[0].env + content: + name: ALLOWED_CNS + value: kube-apiserver,joe diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/tests/service_test.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/tests/service_test.yaml new file mode 100644 index 0000000000..03172ad033 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/tests/service_test.yaml @@ -0,0 +1,18 @@ +suite: Test Service +templates: + - service.yaml + +tests: + - it: should set webhook default port values + asserts: + - equal: + path: spec.ports[0].targetPort + value: 9443 + + - it: should set updated target port + set: + port: 2319 + asserts: + - equal: + path: spec.ports[0].targetPort + value: 2319 diff --git a/charts/rancher-webhook/103.0.9+up0.4.10/values.yaml b/charts/rancher-webhook/103.0.9+up0.4.10/values.yaml new file mode 100644 index 0000000000..39b1dc0284 --- /dev/null +++ b/charts/rancher-webhook/103.0.9+up0.4.10/values.yaml @@ -0,0 +1,30 @@ +image: + repository: rancher/rancher-webhook + tag: v0.4.10 + imagePullPolicy: IfNotPresent + +global: + cattle: + systemDefaultRegistry: "" + hostNetwork: false + +mcm: + enabled: true + +# tolerations for the webhook deployment. See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ for more info +tolerations: [] +nodeSelector: {} + +## PriorityClassName assigned to deployment. +priorityClassName: "" + +# port assigns which port to use when running rancher-webhook +port: 9443 + +# Parameters for authenticating the kube-apiserver. +auth: + # CA for authenticating kube-apiserver client certs. If empty, client connections will not be authenticated. + # Must be base64-encoded. + clientCA: "" + # Allowlist of CNs for kube-apiserver client certs. If empty, any cert signed by the CA provided in clientCA will be accepted. + allowedCNs: [] diff --git a/index.yaml b/index.yaml index 5343e3c340..9f0fc14bdb 100755 --- a/index.yaml +++ b/index.yaml @@ -73,6 +73,30 @@ entries: urls: - assets/elemental/elemental-104.0.0+up1.4.3.tgz version: 104.0.0+up1.4.3 + - annotations: + catalog.cattle.io/auto-install: elemental-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Elemental + catalog.cattle.io/kube-version: '>= 1.23.0-0' + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/provides-gvr: elemental.cattle.io/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: elemental-operator + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/upstream-version: 1.5.4 + apiVersion: v2 + appVersion: 1.5.4 + created: "2024-08-20T20:11:45.443798361-03:00" + description: Elemental provides Cloud Native OS Management for Cluster Nodes. + digest: e45bb0ff3c62d8a3481bde46a8e16736bca6c13580fab56660831a3498486491 + icon: https://raw.githubusercontent.com/rancher/elemental/main/logo/icon-elemental.svg + name: elemental + urls: + - assets/elemental/elemental-103.3.1+up1.5.4.tgz + version: 103.3.1+up1.5.4 - annotations: catalog.cattle.io/auto-install: elemental-crd=match catalog.cattle.io/certified: rancher @@ -215,6 +239,21 @@ entries: urls: - assets/elemental-crd/elemental-crd-104.0.0+up1.4.3.tgz version: 104.0.0+up1.4.3 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-elemental-system + catalog.cattle.io/release-name: elemental-operator-crds + apiVersion: v2 + appVersion: 1.5.4 + created: "2024-08-20T20:11:56.920120606-03:00" + description: A Helm chart for deploying Rancher Elemental Operator CRDs + digest: 5008acb48de094d0593914f3d5560a9768682cdf8613236e9d518f35346c01f1 + name: elemental-crd + type: application + urls: + - assets/elemental-crd/elemental-crd-103.3.1+up1.5.4.tgz + version: 103.3.1+up1.5.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -733,6 +772,32 @@ entries: urls: - assets/fleet/fleet-104.0.0+up0.10.0.tgz version: 104.0.0+up0.10.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.23.0-0 < 1.29.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.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: fleet + apiVersion: v2 + appVersion: 0.9.8 + created: "2024-08-20T20:11:02.978099778-03:00" + dependencies: + - condition: gitops.enabled + name: gitjob + repository: file://./charts/gitjob + description: Fleet Manager - GitOps at Scale + digest: 8e3c5e2e10c8cba0ded372c4a6810c487850ff9952ff42ce641ff7a02e620c57 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet + urls: + - assets/fleet/fleet-103.1.7+up0.9.8.tgz + version: 103.1.7+up0.9.8 - annotations: catalog.cattle.io/auto-install: fleet-crd=match catalog.cattle.io/certified: rancher @@ -1188,6 +1253,25 @@ entries: urls: - assets/fleet-agent/fleet-agent-104.0.0+up0.10.0.tgz version: 104.0.0+up0.10.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.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.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: fleet-agent + apiVersion: v2 + appVersion: 0.9.8 + created: "2024-08-20T20:11:21.927863222-03:00" + description: Fleet Manager Agent - GitOps at Scale + digest: 569f6aad782c7c3c39d6367358a0c27948cb0ba56afbe9a34b0340183d0dd575 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-agent + urls: + - assets/fleet-agent/fleet-agent-103.1.7+up0.9.8.tgz + version: 103.1.7+up0.9.8 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -1527,6 +1611,23 @@ entries: urls: - assets/fleet-crd/fleet-crd-104.0.0+up0.10.0.tgz version: 104.0.0+up0.10.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.9.8 + created: "2024-08-20T20:11:12.110886214-03:00" + description: Fleet Manager CustomResourceDefinitions + digest: 645d37acafd57091b287d7e4722ef3abdb24a6928985f3fb8ae92966d915c21c + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-crd + urls: + - assets/fleet-crd/fleet-crd-103.1.7+up0.9.8.tgz + version: 103.1.7+up0.9.8 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -2132,6 +2233,32 @@ entries: urls: - assets/harvester-csi-driver/harvester-csi-driver-104.0.0+up0.1.17.tgz version: 104.0.0+up0.1.17 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Harvester CSI Driver + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: kube-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: harvester-csi-driver + catalog.cattle.io/ui-component: harvester-csi-driver + catalog.cattle.io/upstream-version: 0.1.18 + apiVersion: v2 + appVersion: v0.1.7 + created: "2024-08-20T20:13:53.704978872-03:00" + description: A Helm chart for Harvester CSI driver + digest: 8f5843fa07cfdfe9128c28fa8a53d58c90ed2c43b5c4b88589abf64c931317bd + keywords: + - infrastructure + - harvester + maintainers: + - name: harvester + name: harvester-csi-driver + type: application + urls: + - assets/harvester-csi-driver/harvester-csi-driver-103.0.2+up0.1.18.tgz + version: 103.0.2+up0.1.18 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/display-name: Harvester CSI Driver @@ -5556,6 +5683,30 @@ entries: urls: - assets/rancher-aks-operator/rancher-aks-operator-104.0.0+up1.9.0.tgz version: 104.0.0+up1.9.0 + - annotations: + catalog.cattle.io/auto-install: rancher-aks-operator-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: aksclusterconfigs.aks.cattle.io/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-aks-operator + catalog.cattle.io/scope: management + apiVersion: v2 + appVersion: 1.2.4 + created: "2024-08-20T20:12:13.424925389-03:00" + description: A Helm chart for provisioning AKS clusters + digest: 2952b78537456a8922a45d92ec696de0086f78e492e39968ea4ff9d8bdc555b6 + home: https://github.com/rancher/aks-operator + name: rancher-aks-operator + sources: + - https://github.com/rancher/aks-operator + urls: + - assets/rancher-aks-operator/rancher-aks-operator-103.4.0+up1.2.4.tgz + version: 103.4.0+up1.2.4 - annotations: catalog.cattle.io/auto-install: rancher-aks-operator-crd=match catalog.cattle.io/certified: rancher @@ -5845,6 +5996,22 @@ entries: urls: - assets/rancher-aks-operator-crd/rancher-aks-operator-crd-104.0.0+up1.9.0.tgz version: 104.0.0+up1.9.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: rancher-aks-operator-crd + apiVersion: v2 + appVersion: 1.2.4 + created: "2024-08-20T20:12:24.179960386-03:00" + description: AKS Operator CustomResourceDefinitions + digest: 5b18a9129f5bfec4850609784339cdf3552a821d6188abd514f418940d33124f + name: rancher-aks-operator-crd + urls: + - assets/rancher-aks-operator-crd/rancher-aks-operator-crd-103.4.0+up1.2.4.tgz + version: 103.4.0+up1.2.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -6361,6 +6528,36 @@ entries: urls: - assets/rancher-backup/rancher-backup-104.0.0+up5.0.0.tgz version: 104.0.0+up5.0.0 + - annotations: + catalog.cattle.io/auto-install: rancher-backup-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Rancher Backups + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: resources.cattle.io.resourceset/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-backup + catalog.cattle.io/scope: management + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: rancher-backup + catalog.cattle.io/upstream-version: 4.0.3 + apiVersion: v2 + appVersion: 4.0.3 + created: "2024-08-20T20:13:08.427055345-03:00" + description: Provides ability to back up and restore the Rancher application running + on any Kubernetes cluster + digest: a09de1171a9e5b60bda8ea503fa3f83374a4be5f3d6deadbfe591f80d1ff12a2 + icon: https://charts.rancher.io/assets/logos/backup-restore.svg + keywords: + - applications + - infrastructure + kubeVersion: '>= 1.23.0-0' + name: rancher-backup + urls: + - assets/rancher-backup/rancher-backup-103.0.3+up4.0.3.tgz + version: 103.0.3+up4.0.3 - annotations: catalog.cattle.io/auto-install: rancher-backup-crd=match catalog.cattle.io/certified: rancher @@ -7069,6 +7266,21 @@ entries: urls: - assets/rancher-backup-crd/rancher-backup-crd-104.0.0+up5.0.0.tgz version: 104.0.0+up5.0.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-resources-system + catalog.cattle.io/release-name: rancher-backup-crd + apiVersion: v2 + appVersion: 4.0.3 + created: "2024-08-20T20:13:18.778811234-03:00" + description: Installs the CRDs for rancher-backup. + digest: 3778c99e96a658c7720b046c6012ba5547145f0af22281e42e8d3bc2def8a2d9 + name: rancher-backup-crd + type: application + urls: + - assets/rancher-backup-crd/rancher-backup-crd-103.0.3+up4.0.3.tgz + version: 103.0.3+up4.0.3 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -7484,6 +7696,32 @@ entries: urls: - assets/rancher-cis-benchmark/rancher-cis-benchmark-6.0.0.tgz version: 6.0.0 + - annotations: + catalog.cattle.io/auto-install: rancher-cis-benchmark-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: CIS Benchmark + catalog.cattle.io/kube-version: '>= 1.25.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cis-operator-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: cis.cattle.io.clusterscans/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-cis-benchmark + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: rancher-cis-benchmark + apiVersion: v1 + appVersion: v5.3.0 + created: "2024-08-20T20:15:19.252916769-03:00" + description: The cis-operator enables running CIS benchmark security scans on + a kubernetes cluster + digest: 7dab16f454ca6462ad17e2e4aa782bedb8c36a3163add4abff3023aadb2ea22e + icon: https://charts.rancher.io/assets/logos/cis-kube-bench.svg + keywords: + - security + name: rancher-cis-benchmark + urls: + - assets/rancher-cis-benchmark/rancher-cis-benchmark-5.3.0.tgz + version: 5.3.0 - annotations: catalog.cattle.io/auto-install: rancher-cis-benchmark-crd=match catalog.cattle.io/certified: rancher @@ -7978,6 +8216,20 @@ entries: urls: - assets/rancher-cis-benchmark-crd/rancher-cis-benchmark-crd-6.0.0.tgz version: 6.0.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cis-operator-system + catalog.cattle.io/release-name: rancher-cis-benchmark-crd + apiVersion: v1 + created: "2024-08-20T20:15:40.444132001-03:00" + description: Installs the CRDs for rancher-cis-benchmark. + digest: 3f0c978371100b717f66ea1f4ef31cedf869291fc4ebbb47b25d5cdd8255cafa + name: rancher-cis-benchmark-crd + type: application + urls: + - assets/rancher-cis-benchmark-crd/rancher-cis-benchmark-crd-5.3.0.tgz + version: 5.3.0 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -8472,6 +8724,30 @@ entries: urls: - assets/rancher-eks-operator/rancher-eks-operator-104.0.0+up1.9.0.tgz version: 104.0.0+up1.9.0 + - annotations: + catalog.cattle.io/auto-install: rancher-eks-operator-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: eksclusterconfigs.eks.cattle.io/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-eks-operator + catalog.cattle.io/scope: management + apiVersion: v2 + appVersion: 1.3.4 + created: "2024-08-20T20:09:55.316242627-03:00" + description: A Helm chart for provisioning EKS clusters + digest: bded639161a1fc43914496c278e3b5cc7853cd21ed43a116c4e78897eb59fd9e + home: https://github.com/rancher/eks-operator + name: rancher-eks-operator + sources: + - https://github.com/rancher/eks-operator + urls: + - assets/rancher-eks-operator/rancher-eks-operator-103.4.0+up1.3.4.tgz + version: 103.4.0+up1.3.4 - annotations: catalog.cattle.io/auto-install: rancher-eks-operator-crd=match catalog.cattle.io/certified: rancher @@ -8809,6 +9085,22 @@ entries: urls: - assets/rancher-eks-operator-crd/rancher-eks-operator-crd-104.0.0+up1.9.0.tgz version: 104.0.0+up1.9.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: rancher-eks-operator-crd + apiVersion: v2 + appVersion: 1.3.4 + created: "2024-08-20T20:10:14.165541847-03:00" + description: EKS Operator CustomResourceDefinitions + digest: 017858cb141a01d91df54a1de41631eef4fe7015044ad08f9864e744116c5ff4 + name: rancher-eks-operator-crd + urls: + - assets/rancher-eks-operator-crd/rancher-eks-operator-crd-103.4.0+up1.3.4.tgz + version: 103.4.0+up1.3.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -9428,6 +9720,30 @@ entries: urls: - assets/rancher-gke-operator/rancher-gke-operator-104.0.0+up1.9.0.tgz version: 104.0.0+up1.9.0 + - annotations: + catalog.cattle.io/auto-install: rancher-gke-operator-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: gkeclusterconfigs.gke.cattle.io/v1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-gke-operator + catalog.cattle.io/scope: management + apiVersion: v2 + appVersion: 1.2.4 + created: "2024-08-20T20:12:39.790942852-03:00" + description: A Helm chart for provisioning GKE clusters + digest: 72654d19c39d28311a848610115b674626b860016f3fad8619598e92f7c67475 + home: https://github.com/rancher/gke-operator + name: rancher-gke-operator + sources: + - https://github.com/rancher/gke-operator + urls: + - assets/rancher-gke-operator/rancher-gke-operator-103.4.0+up1.2.4.tgz + version: 103.4.0+up1.2.4 - annotations: catalog.cattle.io/auto-install: rancher-gke-operator-crd=match catalog.cattle.io/certified: rancher @@ -9669,6 +9985,22 @@ entries: urls: - assets/rancher-gke-operator-crd/rancher-gke-operator-crd-104.0.0+up1.9.0.tgz version: 104.0.0+up1.9.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/release-name: rancher-gke-operator-crd + apiVersion: v2 + appVersion: 1.2.4 + created: "2024-08-20T20:12:52.593266453-03:00" + description: GKE Operator CustomResourceDefinitions + digest: 42f0aceee1adfdcfde7ac21a1c5eadcf1a5f9a7331ceec9d17c9b46f5c0bec32 + name: rancher-gke-operator-crd + urls: + - assets/rancher-gke-operator-crd/rancher-gke-operator-crd-103.4.0+up1.2.4.tgz + version: 103.4.0+up1.2.4 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -10661,6 +10993,40 @@ entries: urls: - assets/rancher-logging/rancher-logging-104.0.0+up4.4.0.tgz version: 104.0.0+up4.4.0 + - annotations: + catalog.cattle.io/auto-install: rancher-logging-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/deploys-on-os: windows + catalog.cattle.io/display-name: Logging + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-logging-system + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/provides-gvr: logging.banzaicloud.io.clusterflow/v1beta1 + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-logging + catalog.cattle.io/type: cluster-tool + catalog.cattle.io/ui-component: logging + catalog.cattle.io/upstream-version: 4.4.0 + apiVersion: v2 + appVersion: 4.4.0 + created: "2024-08-20T20:10:33.66871951-03:00" + description: Logging operator for Kubernetes based on Fluentd and Fluentbit. + digest: a7a83bb48d42ff128fdddda7aec255b4c98539385427f820880e194c6f3c1ade + home: https://kube-logging.github.io + icon: file://assets/logos/rancher-logging.svg + keywords: + - logging + - fluentd + - fluentbit + kubeVersion: '>=1.22.0-0' + name: rancher-logging + sources: + - https://github.com/kube-logging/logging-operator + - https://github.com/kube-logging/helm-charts/tree/main/charts/logging-operator + type: application + urls: + - assets/rancher-logging/rancher-logging-103.1.2+up4.4.0.tgz + version: 103.1.2+up4.4.0 - annotations: catalog.cattle.io/auto-install: rancher-logging-crd=match catalog.cattle.io/certified: rancher @@ -10961,6 +11327,20 @@ entries: urls: - assets/rancher-logging-crd/rancher-logging-crd-104.0.0+up4.4.0.tgz version: 104.0.0+up4.4.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: cattle-logging-system + catalog.cattle.io/release-name: rancher-logging-crd + apiVersion: v1 + created: "2024-08-20T20:10:44.351088495-03:00" + description: Installs the CRDs for rancher-logging. + digest: 7090011b9898a3f634f0eab09d3045496399c6b6a110c3d5035a2dd680d83279 + name: rancher-logging-crd + type: application + urls: + - assets/rancher-logging-crd/rancher-logging-crd-103.1.2+up4.4.0.tgz + version: 103.1.2+up4.4.0 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -14118,6 +14498,24 @@ entries: urls: - assets/rancher-webhook/rancher-webhook-104.0.0+up0.5.0.tgz version: 104.0.0+up0.5.0 + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/kube-version: '>= 1.23.0-0 < 1.29.0-0' + catalog.cattle.io/namespace: cattle-system + catalog.cattle.io/os: linux + catalog.cattle.io/permits-os: linux,windows + catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' + catalog.cattle.io/release-name: rancher-webhook + apiVersion: v2 + appVersion: 0.4.10 + created: "2024-08-20T20:13:37.15084089-03:00" + description: ValidatingAdmissionWebhook for Rancher types + digest: 2345f4e1a80155b375973ac60396173f1cd0cac498032256152287a5b4db461d + name: rancher-webhook + urls: + - assets/rancher-webhook/rancher-webhook-103.0.9+up0.4.10.tgz + version: 103.0.9+up0.4.10 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" diff --git a/release.yaml b/release.yaml index c945b19ac9..8c2cafa6b5 100644 --- a/release.yaml +++ b/release.yaml @@ -1,10 +1,38 @@ +elemental: + - 103.3.1+up1.5.4 +elemental-crd: + - 103.3.1+up1.5.4 +fleet: + - 103.1.7+up0.9.8 +fleet-agent: + - 103.1.7+up0.9.8 +fleet-crd: + - 103.1.7+up0.9.8 harvester-csi-driver: - - 104.0.1+up0.1.18 + - 103.0.2+up0.1.18 +rancher-aks-operator: + - 103.4.0+up1.2.4 +rancher-aks-operator-crd: + - 103.4.0+up1.2.4 rancher-backup: - - 104.0.1+up5.0.1 + - 103.0.3+up4.0.3 rancher-backup-crd: - - 104.0.1+up5.0.1 + - 103.0.3+up4.0.3 +rancher-eks-operator: + - 103.4.0+up1.3.4 +rancher-eks-operator-crd: + - 103.4.0+up1.3.4 +rancher-gke-operator: + - 103.4.0+up1.2.4 +rancher-gke-operator-crd: + - 103.4.0+up1.2.4 rancher-logging: - - 104.1.0+up4.8.0 + - 103.1.2+up4.4.0 rancher-logging-crd: - - 104.1.0+up4.8.0 + - 103.1.2+up4.4.0 +rancher-webhook: + - 103.0.9+up0.4.10 +rancher-cis-benchmark: + - 5.3.0 +rancher-cis-benchmark-crd: + - 5.3.0 diff --git a/scripts/version b/scripts/version index da42bf84b2..574bf77eef 100755 --- a/scripts/version +++ b/scripts/version @@ -2,4 +2,4 @@ set -e CHARTS_BUILD_SCRIPTS_REPO=https://github.com/rancher/charts-build-scripts.git -CHARTS_BUILD_SCRIPT_VERSION="${CHARTS_BUILD_SCRIPT_VERSION:-v0.9.7}" +CHARTS_BUILD_SCRIPT_VERSION="${CHARTS_BUILD_SCRIPT_VERSION:-v0.9.8}"