From f2124e5092329ddd2e3611c6645bfacf5d653472 Mon Sep 17 00:00:00 2001 From: actions Date: Fri, 23 Apr 2021 21:29:28 +0000 Subject: [PATCH] Merge pull request #1142 from nickgerace/dev-v2.5-source-32291 Add os field for logging Windows image --- .../fleet-agent/fleet-agent-0.3.500-rc06.tgz | Bin 0 -> 2317 bytes assets/fleet-crd/fleet-crd-0.3.500-rc06.tgz | Bin 0 -> 10054 bytes assets/fleet/fleet-0.3.500-rc06.tgz | Bin 0 -> 3009 bytes .../rancher-istio-1.8.500-rc03.tgz | Bin 0 -> 19496 bytes .../rancher-istio-1.9.300-rc03.tgz | Bin 0 -> 19324 bytes .../rancher-logging-3.9.400-rc06.tgz | Bin 0 -> 10329 bytes .../rancher-logging-crd-3.9.400-rc06.tgz | Bin 0 -> 36672 bytes .../fleet-agent/0.3.500-rc06/Chart.yaml | 12 + .../0.3.500-rc06/templates/_helpers.tpl | 7 + .../0.3.500-rc06/templates/configmap.yaml | 12 + .../0.3.500-rc06/templates/deployment.yaml | 30 + .../templates/network_policy_allow_all.yaml | 15 + .../patch_default_serviceaccount.yaml | 28 + .../0.3.500-rc06/templates/rbac.yaml | 25 + .../0.3.500-rc06/templates/secret.yaml | 10 + .../templates/serviceaccount.yaml | 4 + .../0.3.500-rc06/templates/validate.yaml | 11 + .../fleet-agent/0.3.500-rc06/values.yaml | 56 + .../fleet-crd/0.3.500-rc06/Chart.yaml | 12 + .../0.3.500-rc06/templates/crds.yaml | 2314 ++++++ .../0.3.500-rc06/templates/gitjobs-crds.yaml | 3208 ++++++++ charts/fleet/fleet/0.3.500-rc06/Chart.yaml | 15 + .../0.3.500-rc06/charts/gitjob/.helmignore | 23 + .../0.3.500-rc06/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 | 42 + .../charts/gitjob/templates/service.yaml | 12 + .../gitjob/templates/serviceaccount.yaml | 4 + .../0.3.500-rc06/charts/gitjob/values.yaml | 26 + .../fleet/0.3.500-rc06/templates/_helpers.tpl | 7 + .../0.3.500-rc06/templates/configmap.yaml | 23 + .../0.3.500-rc06/templates/deployment.yaml | 31 + .../fleet/0.3.500-rc06/templates/rbac.yaml | 106 + .../templates/serviceaccount.yaml | 10 + charts/fleet/fleet/0.3.500-rc06/values.yaml | 47 + .../rancher-istio/1.8.500-rc03/Chart.yaml | 21 + .../rancher-istio/1.8.500-rc03/README.md | 69 + .../rancher-istio/1.8.500-rc03/app-readme.md | 45 + .../1.8.500-rc03/charts/kiali/Chart.yaml | 31 + .../charts/kiali/templates/NOTES.txt | 5 + .../charts/kiali/templates/_helpers.tpl | 192 + .../charts/kiali/templates/cabundle.yaml | 13 + .../charts/kiali/templates/configmap.yaml | 24 + .../kiali/templates/dashboards/envoy.yaml | 56 + .../charts/kiali/templates/dashboards/go.yaml | 67 + .../kiali/templates/dashboards/kiali.yaml | 44 + .../dashboards/micrometer-1.0.6-jvm-pool.yaml | 43 + .../dashboards/micrometer-1.0.6-jvm.yaml | 65 + .../dashboards/micrometer-1.1-jvm.yaml | 68 + .../dashboards/microprofile-1.1.yaml | 59 + .../dashboards/microprofile-x.y.yaml | 38 + .../kiali/templates/dashboards/nodejs.yaml | 59 + .../kiali/templates/dashboards/quarkus.yaml | 33 + .../dashboards/springboot-jvm-pool.yaml | 16 + .../templates/dashboards/springboot-jvm.yaml | 16 + .../dashboards/springboot-tomcat.yaml | 16 + .../kiali/templates/dashboards/thorntail.yaml | 22 + .../kiali/templates/dashboards/tomcat.yaml | 67 + .../templates/dashboards/vertx-client.yaml | 60 + .../templates/dashboards/vertx-eventbus.yaml | 59 + .../kiali/templates/dashboards/vertx-jvm.yaml | 16 + .../templates/dashboards/vertx-pool.yaml | 68 + .../templates/dashboards/vertx-server.yaml | 62 + .../charts/kiali/templates/deployment.yaml | 174 + .../charts/kiali/templates/hpa.yaml | 17 + .../charts/kiali/templates/ingress.yaml | 40 + .../charts/kiali/templates/oauth.yaml | 17 + .../charts/kiali/templates/psp.yaml | 67 + .../kiali/templates/role-controlplane.yaml | 15 + .../charts/kiali/templates/role-viewer.yaml | 97 + .../charts/kiali/templates/role.yaml | 108 + .../templates/rolebinding-controlplane.yaml | 17 + .../charts/kiali/templates/rolebinding.yaml | 20 + .../charts/kiali/templates/route.yaml | 30 + .../charts/kiali/templates/service.yaml | 47 + .../kiali/templates/serviceaccount.yaml | 9 + .../kiali/templates/validate-install-crd.yaml | 14 + .../kiali/templates/web-root-configmap.yaml | 12 + .../1.8.500-rc03/charts/kiali/values.yaml | 93 + .../1.8.500-rc03/charts/tracing/.helmignore | 23 + .../1.8.500-rc03/charts/tracing/Chart.yaml | 12 + .../1.8.500-rc03/charts/tracing/README.md | 5 + .../charts/tracing/templates/_affinity.tpl | 92 + .../charts/tracing/templates/_helpers.tpl | 32 + .../charts/tracing/templates/deployment.yaml | 86 + .../charts/tracing/templates/psp.yaml | 86 + .../charts/tracing/templates/pvc.yaml | 16 + .../charts/tracing/templates/service.yaml | 63 + .../1.8.500-rc03/charts/tracing/values.yaml | 44 + .../1.8.500-rc03/configs/istio-base.yaml | 89 + .../1.8.500-rc03/requirements.yaml | 17 + .../1.8.500-rc03/samples/overlay-example.yaml | 37 + .../1.8.500-rc03/templates/_helpers.tpl | 12 + .../1.8.500-rc03/templates/admin-role.yaml | 43 + .../templates/base-config-map.yaml | 7 + .../1.8.500-rc03/templates/clusterrole.yaml | 120 + .../templates/clusterrolebinding.yaml | 12 + .../1.8.500-rc03/templates/edit-role.yaml | 43 + .../1.8.500-rc03/templates/istio-cni-psp.yaml | 51 + .../templates/istio-install-job.yaml | 50 + .../templates/istio-install-psp.yaml | 30 + .../1.8.500-rc03/templates/istio-psp.yaml | 81 + .../templates/istio-uninstall-job.yaml | 45 + .../templates/overlay-config-map.yaml | 9 + .../templates/service-monitors.yaml | 51 + .../templates/serviceaccount.yaml | 5 + .../1.8.500-rc03/templates/view-role.yaml | 41 + .../rancher-istio/1.8.500-rc03/values.yaml | 95 + .../rancher-istio/1.9.300-rc03/Chart.yaml | 21 + .../rancher-istio/1.9.300-rc03/README.md | 69 + .../rancher-istio/1.9.300-rc03/app-readme.md | 45 + .../1.9.300-rc03/charts/kiali/Chart.yaml | 31 + .../charts/kiali/templates/NOTES.txt | 5 + .../charts/kiali/templates/_helpers.tpl | 192 + .../charts/kiali/templates/cabundle.yaml | 13 + .../charts/kiali/templates/configmap.yaml | 24 + .../kiali/templates/dashboards/envoy.yaml | 56 + .../charts/kiali/templates/dashboards/go.yaml | 67 + .../kiali/templates/dashboards/kiali.yaml | 44 + .../dashboards/micrometer-1.0.6-jvm-pool.yaml | 43 + .../dashboards/micrometer-1.0.6-jvm.yaml | 65 + .../dashboards/micrometer-1.1-jvm.yaml | 68 + .../dashboards/microprofile-1.1.yaml | 59 + .../dashboards/microprofile-x.y.yaml | 38 + .../kiali/templates/dashboards/nodejs.yaml | 59 + .../kiali/templates/dashboards/quarkus.yaml | 33 + .../dashboards/springboot-jvm-pool.yaml | 16 + .../templates/dashboards/springboot-jvm.yaml | 16 + .../dashboards/springboot-tomcat.yaml | 16 + .../kiali/templates/dashboards/thorntail.yaml | 22 + .../kiali/templates/dashboards/tomcat.yaml | 67 + .../templates/dashboards/vertx-client.yaml | 60 + .../templates/dashboards/vertx-eventbus.yaml | 59 + .../kiali/templates/dashboards/vertx-jvm.yaml | 16 + .../templates/dashboards/vertx-pool.yaml | 68 + .../templates/dashboards/vertx-server.yaml | 62 + .../charts/kiali/templates/deployment.yaml | 174 + .../charts/kiali/templates/hpa.yaml | 17 + .../charts/kiali/templates/ingress.yaml | 40 + .../charts/kiali/templates/oauth.yaml | 17 + .../charts/kiali/templates/psp.yaml | 67 + .../kiali/templates/role-controlplane.yaml | 15 + .../charts/kiali/templates/role-viewer.yaml | 97 + .../charts/kiali/templates/role.yaml | 108 + .../templates/rolebinding-controlplane.yaml | 17 + .../charts/kiali/templates/rolebinding.yaml | 20 + .../charts/kiali/templates/route.yaml | 30 + .../charts/kiali/templates/service.yaml | 47 + .../kiali/templates/serviceaccount.yaml | 9 + .../kiali/templates/validate-install-crd.yaml | 14 + .../kiali/templates/web-root-configmap.yaml | 12 + .../1.9.300-rc03/charts/kiali/values.yaml | 93 + .../1.9.300-rc03/charts/tracing/.helmignore | 23 + .../1.9.300-rc03/charts/tracing/Chart.yaml | 12 + .../1.9.300-rc03/charts/tracing/README.md | 5 + .../charts/tracing/templates/_affinity.tpl | 92 + .../charts/tracing/templates/_helpers.tpl | 32 + .../charts/tracing/templates/deployment.yaml | 86 + .../charts/tracing/templates/psp.yaml | 86 + .../charts/tracing/templates/pvc.yaml | 16 + .../charts/tracing/templates/service.yaml | 63 + .../1.9.300-rc03/charts/tracing/values.yaml | 44 + .../1.9.300-rc03/configs/istio-base.yaml | 82 + .../1.9.300-rc03/requirements.yaml | 17 + .../1.9.300-rc03/samples/overlay-example.yaml | 37 + .../1.9.300-rc03/templates/_helpers.tpl | 12 + .../1.9.300-rc03/templates/admin-role.yaml | 43 + .../templates/base-config-map.yaml | 7 + .../1.9.300-rc03/templates/clusterrole.yaml | 120 + .../templates/clusterrolebinding.yaml | 12 + .../1.9.300-rc03/templates/edit-role.yaml | 43 + .../1.9.300-rc03/templates/istio-cni-psp.yaml | 51 + .../templates/istio-install-job.yaml | 50 + .../templates/istio-install-psp.yaml | 30 + .../1.9.300-rc03/templates/istio-psp.yaml | 81 + .../templates/istio-uninstall-job.yaml | 45 + .../templates/overlay-config-map.yaml | 9 + .../templates/service-monitors.yaml | 51 + .../templates/serviceaccount.yaml | 5 + .../1.9.300-rc03/templates/view-role.yaml | 41 + .../rancher-istio/1.9.300-rc03/values.yaml | 85 + .../3.9.400-rc06/Chart.yaml | 10 + .../3.9.400-rc06/README.md | 2 + .../logging.banzaicloud.io_clusterflows.yaml | 765 ++ ...logging.banzaicloud.io_clusteroutputs.yaml | 4721 +++++++++++ .../logging.banzaicloud.io_flows.yaml | 761 ++ .../logging.banzaicloud.io_loggings.yaml | 7095 +++++++++++++++++ .../logging.banzaicloud.io_outputs.yaml | 4715 +++++++++++ .../rancher-logging/3.9.400-rc06/.helmignore | 22 + .../rancher-logging/3.9.400-rc06/Chart.yaml | 19 + .../rancher-logging/3.9.400-rc06/README.md | 131 + .../3.9.400-rc06/app-readme.md | 22 + .../3.9.400-rc06/templates/NOTES.txt | 0 .../3.9.400-rc06/templates/_helpers.tpl | 66 + .../3.9.400-rc06/templates/clusterrole.yaml | 167 + .../templates/clusterrolebinding.yaml | 18 + .../3.9.400-rc06/templates/crds.yaml | 6 + .../3.9.400-rc06/templates/deployment.yaml | 68 + .../templates/loggings/aks/logging.yaml | 58 + .../templates/loggings/eks/logging.yaml | 59 + .../templates/loggings/gke/logging.yaml | 58 + .../loggings/k3s/logging-k3s-openrc.yaml | 68 + .../loggings/k3s/logging-k3s-systemd.yaml | 68 + .../templates/loggings/rke/configmap.yaml | 29 + .../templates/loggings/rke/daemonset.yaml | 124 + .../templates/loggings/rke2/configmap.yaml | 22 + .../templates/loggings/rke2/daemonset.yaml | 110 + .../rke2/logging-rke2-containers.yaml | 73 + .../templates/loggings/root/logging.yaml | 113 + .../3.9.400-rc06/templates/psp.yaml | 33 + .../3.9.400-rc06/templates/service.yaml | 20 + .../templates/serviceMonitor.yaml | 30 + .../templates/serviceaccount.yaml | 10 + .../3.9.400-rc06/templates/userroles.yaml | 35 + .../templates/validate-install-crd.yaml | 18 + .../templates/validate-install.yaml | 5 + .../rancher-logging/3.9.400-rc06/values.yaml | 176 + index.yaml | 152 + 220 files changed, 32800 insertions(+) create mode 100755 assets/fleet-agent/fleet-agent-0.3.500-rc06.tgz create mode 100755 assets/fleet-crd/fleet-crd-0.3.500-rc06.tgz create mode 100755 assets/fleet/fleet-0.3.500-rc06.tgz create mode 100755 assets/rancher-istio-1.8/rancher-istio-1.8.500-rc03.tgz create mode 100755 assets/rancher-istio-1.9/rancher-istio-1.9.300-rc03.tgz create mode 100755 assets/rancher-logging/rancher-logging-3.9.400-rc06.tgz create mode 100755 assets/rancher-logging/rancher-logging-crd-3.9.400-rc06.tgz create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/Chart.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/_helpers.tpl create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/configmap.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/deployment.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/network_policy_allow_all.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/patch_default_serviceaccount.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/rbac.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/secret.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/serviceaccount.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/validate.yaml create mode 100755 charts/fleet-agent/fleet-agent/0.3.500-rc06/values.yaml create mode 100755 charts/fleet-crd/fleet-crd/0.3.500-rc06/Chart.yaml create mode 100755 charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/crds.yaml create mode 100755 charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/gitjobs-crds.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/Chart.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/.helmignore create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/Chart.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/_helpers.tpl create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/clusterrole.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/clusterrolebinding.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/deployment.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/service.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/serviceaccount.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/charts/gitjob/values.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/templates/_helpers.tpl create mode 100755 charts/fleet/fleet/0.3.500-rc06/templates/configmap.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/templates/deployment.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/templates/rbac.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/templates/serviceaccount.yaml create mode 100755 charts/fleet/fleet/0.3.500-rc06/values.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/Chart.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/README.md create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/app-readme.md create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/Chart.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/NOTES.txt create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/_helpers.tpl create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/cabundle.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/configmap.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/envoy.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/go.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/kiali.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/nodejs.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/quarkus.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/thorntail.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/tomcat.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-client.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-server.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/deployment.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/hpa.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/ingress.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/oauth.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/psp.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-controlplane.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-viewer.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding-controlplane.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/route.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/service.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/serviceaccount.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/validate-install-crd.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/web-root-configmap.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/values.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/.helmignore create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/Chart.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/README.md create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_affinity.tpl create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_helpers.tpl create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/deployment.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/psp.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/pvc.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/service.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/values.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/configs/istio-base.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/requirements.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/samples/overlay-example.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/_helpers.tpl create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/admin-role.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/base-config-map.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrole.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrolebinding.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/edit-role.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-cni-psp.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-job.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-psp.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-psp.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-uninstall-job.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/overlay-config-map.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/service-monitors.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/serviceaccount.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/view-role.yaml create mode 100755 charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/values.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/Chart.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/README.md create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/app-readme.md create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/Chart.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/NOTES.txt create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/_helpers.tpl create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/cabundle.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/configmap.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/envoy.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/go.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/kiali.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/nodejs.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/quarkus.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/thorntail.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/tomcat.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-client.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-server.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/deployment.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/hpa.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/ingress.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/oauth.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/psp.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-controlplane.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-viewer.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding-controlplane.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/route.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/service.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/serviceaccount.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/validate-install-crd.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/web-root-configmap.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/values.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/.helmignore create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/Chart.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/README.md create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_affinity.tpl create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_helpers.tpl create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/deployment.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/psp.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/pvc.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/service.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/values.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/configs/istio-base.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/requirements.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/samples/overlay-example.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/_helpers.tpl create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/admin-role.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/base-config-map.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrole.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrolebinding.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/edit-role.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-cni-psp.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-job.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-psp.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-psp.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-uninstall-job.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/overlay-config-map.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/service-monitors.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/serviceaccount.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/view-role.yaml create mode 100755 charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/values.yaml create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/Chart.yaml create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/README.md create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusterflows.yaml create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusteroutputs.yaml create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_flows.yaml create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_loggings.yaml create mode 100755 charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_outputs.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/.helmignore create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/Chart.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/README.md create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/app-readme.md create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/NOTES.txt create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/_helpers.tpl create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrole.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrolebinding.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/crds.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/deployment.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/aks/logging.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/eks/logging.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/gke/logging.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-openrc.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-systemd.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/configmap.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/daemonset.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/configmap.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/daemonset.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/logging-rke2-containers.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/root/logging.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/psp.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/service.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/serviceMonitor.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/serviceaccount.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/userroles.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/validate-install-crd.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/validate-install.yaml create mode 100755 charts/rancher-logging/rancher-logging/3.9.400-rc06/values.yaml diff --git a/assets/fleet-agent/fleet-agent-0.3.500-rc06.tgz b/assets/fleet-agent/fleet-agent-0.3.500-rc06.tgz new file mode 100755 index 0000000000000000000000000000000000000000..628416ee483012ae585186df082be7e35dde23e2 GIT binary patch literal 2317 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 literal 0 HcmV?d00001 diff --git a/assets/fleet-crd/fleet-crd-0.3.500-rc06.tgz b/assets/fleet-crd/fleet-crd-0.3.500-rc06.tgz new file mode 100755 index 0000000000000000000000000000000000000000..1787d42b709754a622c599eae3c04aab32b3c8bc GIT binary patch literal 10054 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 DCUo^> literal 0 HcmV?d00001 diff --git a/assets/rancher-istio-1.8/rancher-istio-1.8.500-rc03.tgz b/assets/rancher-istio-1.8/rancher-istio-1.8.500-rc03.tgz new file mode 100755 index 0000000000000000000000000000000000000000..a1318e1aa724a92815e505f8ed9f3408e2d4319d GIT binary patch literal 19496 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 literal 0 HcmV?d00001 diff --git a/assets/rancher-logging/rancher-logging-3.9.400-rc06.tgz b/assets/rancher-logging/rancher-logging-3.9.400-rc06.tgz new file mode 100755 index 0000000000000000000000000000000000000000..4f504a8a445c5baa4eabaf84378bd86da9efa592 GIT binary patch literal 10329 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 Oxl4(w`h0<+eE$Iu%dx8f literal 0 HcmV?d00001 diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/Chart.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/Chart.yaml new file mode 100755 index 00000000000..1ca380a4f21 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/release-name: fleet-agent +apiVersion: v2 +appVersion: 0.3.5 +description: Fleet Manager Agent - GitOps at Scale +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-agent +version: 0.3.500-rc06 diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/_helpers.tpl b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/_helpers.tpl new file mode 100755 index 00000000000..f652b5643de --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/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-agent/fleet-agent/0.3.500-rc06/templates/configmap.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/configmap.yaml new file mode 100755 index 00000000000..ce61a875683 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/configmap.yaml @@ -0,0 +1,12 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: fleet-agent +data: + config: |- + { + {{ if .Values.labels }} + "labels":{{toJson .Values.labels}}, + {{ end }} + "clientID":"{{.Values.clientID}}" + } diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/deployment.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/deployment.yaml new file mode 100755 index 00000000000..72323dc763a --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/deployment.yaml @@ -0,0 +1,30 @@ +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 + serviceAccountName: fleet-agent + {{- with .Values.fleetAgent.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.fleetAgent.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/network_policy_allow_all.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/network_policy_allow_all.yaml new file mode 100755 index 00000000000..a72109a0627 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/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/fleet-agent/0.3.500-rc06/templates/patch_default_serviceaccount.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/patch_default_serviceaccount.yaml new file mode 100755 index 00000000000..2448cb4f32d --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/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 }}] + {{- with .Values.kubectl.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.kubectl.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + backoffLimit: 1 diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/rbac.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/rbac.yaml new file mode 100755 index 00000000000..805949bf2c6 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/rbac.yaml @@ -0,0 +1,25 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: fleet-agent-system-fleet-agent-role +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: fleet-agent-system-fleet-agent-role-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: fleet-agent-system-fleet-agent-role +subjects: +- kind: ServiceAccount + name: fleet-agent + namespace: {{.Release.Namespace}} diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/secret.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/secret.yaml new file mode 100755 index 00000000000..4715882047c --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/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/fleet-agent/0.3.500-rc06/templates/serviceaccount.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/serviceaccount.yaml new file mode 100755 index 00000000000..73e27f0be92 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-agent diff --git a/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/validate.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/templates/validate.yaml new file mode 100755 index 00000000000..d53ff1c5080 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/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/fleet-agent/0.3.500-rc06/values.yaml b/charts/fleet-agent/fleet-agent/0.3.500-rc06/values.yaml new file mode 100755 index 00000000000..5d4c1f9ac66 --- /dev/null +++ b/charts/fleet-agent/fleet-agent/0.3.500-rc06/values.yaml @@ -0,0 +1,56 @@ +image: + repository: rancher/fleet-agent + tag: v0.3.5-rc6 + +# The public URL of the Kubernetes API server running the Fleet Manager must be set here +# Example: https://example.com:6443 +apiServerURL: "" + +# The the pem encoded value of the CA of the Kubernetes API server running the Fleet Manager. +# If left empty it is assumed this Kubernetes API TLS is signed by a well known CA. +apiServerCA: "" + +# The cluster registration value +token: "" + +# Labels to add to the cluster upon registration only. They are not added after the fact. +#labels: +# foo: bar + +# The client ID of the cluster to associate with +clientID: "" + +# The namespace of the cluster we are register with +clusterNamespace: "" + +# The namespace containing the clusters registration secrets +systemRegistrationNamespace: fleet-clusters-system + +# Please do not change the below setting unless you really know what you are doing +internal: + systemNamespace: fleet-system + managedReleaseName: fleet-agent + +# The nodeSelector and tolerations for the agent deployment +fleetAgent: + nodeSelector: {} + tolerations: [] +kubectl: + nodeSelector: + kubernetes.io/os: linux + tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule + - key: node.cloudprovider.kubernetes.io/uninitialized + operator: "Equal" + value: "true" + effect: NoSchedule + +global: + cattle: + systemDefaultRegistry: "" + kubectl: + repository: rancher/kubectl + tag: v1.20.2 diff --git a/charts/fleet-crd/fleet-crd/0.3.500-rc06/Chart.yaml b/charts/fleet-crd/fleet-crd/0.3.500-rc06/Chart.yaml new file mode 100755 index 00000000000..f97ab842ed7 --- /dev/null +++ b/charts/fleet-crd/fleet-crd/0.3.500-rc06/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/release-name: fleet-crd +apiVersion: v2 +appVersion: 0.3.5 +description: Fleet Manager CustomResourceDefinitions +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet-crd +version: 0.3.500-rc06 diff --git a/charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/crds.yaml b/charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/crds.yaml new file mode 100755 index 00000000000..9fc559d8c7f --- /dev/null +++ b/charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/crds.yaml @@ -0,0 +1,2314 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: bundles.fleet.cattle.io +spec: + additionalPrinterColumns: + - JSONPath: .status.display.readyClusters + name: BundleDeployments-Ready + type: string + - JSONPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + group: fleet.cattle.io + names: + kind: Bundle + plural: bundles + singular: bundle + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + chart: + nullable: true + type: string + force: + type: boolean + maxHistory: + type: integer + releaseName: + nullable: true + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + version: + nullable: true + type: string + type: object + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + paused: + type: boolean + resources: + items: + properties: + content: + nullable: true + type: string + encoding: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + rolloutStrategy: + nullable: true + properties: + autoPartitionSize: + nullable: true + type: string + maxUnavailable: + nullable: true + type: string + maxUnavailablePartitions: + nullable: true + type: string + partitions: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + maxUnavailable: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + serviceAccount: + nullable: true + type: string + targetRestrictions: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + name: + nullable: true + type: string + type: object + nullable: true + type: array + targets: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + chart: + nullable: true + type: string + force: + type: boolean + maxHistory: + type: integer + releaseName: + nullable: true + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + version: + nullable: true + type: string + type: object + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + name: + nullable: true + type: string + namespace: + nullable: true + type: string + serviceAccount: + nullable: true + type: string + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + nullable: true + type: array + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + display: + properties: + readyClusters: + nullable: true + type: string + state: + nullable: true + type: string + type: object + maxNew: + type: integer + maxUnavailable: + type: integer + maxUnavailablePartitions: + type: integer + newlyCreated: + type: integer + observedGeneration: + type: integer + partitions: + items: + properties: + count: + type: integer + maxUnavailable: + type: integer + name: + nullable: true + type: string + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + unavailable: + type: integer + type: object + nullable: true + type: array + resourceKey: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + type: object + nullable: true + type: array + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + unavailable: + type: integer + unavailablePartitions: + type: integer + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: bundledeployments.fleet.cattle.io +spec: + 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 + group: fleet.cattle.io + names: + kind: BundleDeployment + plural: bundledeployments + singular: bundledeployment + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + deploymentID: + nullable: true + type: string + options: + properties: + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + chart: + nullable: true + type: string + force: + type: boolean + maxHistory: + type: integer + releaseName: + nullable: true + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + version: + nullable: true + type: string + type: object + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + serviceAccount: + nullable: true + type: string + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + stagedDeploymentID: + nullable: true + type: string + stagedOptions: + properties: + defaultNamespace: + nullable: true + type: string + diff: + nullable: true + properties: + comparePatches: + items: + properties: + apiVersion: + nullable: true + type: string + jsonPointers: + items: + nullable: true + type: string + nullable: true + type: array + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + operations: + items: + properties: + op: + nullable: true + type: string + path: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + type: object + forceSyncGeneration: + type: integer + helm: + nullable: true + properties: + chart: + nullable: true + type: string + force: + type: boolean + maxHistory: + type: integer + releaseName: + nullable: true + type: string + repo: + nullable: true + type: string + takeOwnership: + type: boolean + timeoutSeconds: + type: integer + values: + nullable: true + type: object + valuesFiles: + items: + nullable: true + type: string + nullable: true + type: array + version: + nullable: true + type: string + type: object + kustomize: + nullable: true + properties: + dir: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + serviceAccount: + nullable: true + type: string + yaml: + nullable: true + properties: + overlays: + items: + nullable: true + type: string + nullable: true + type: array + type: object + type: object + type: object + status: + properties: + appliedDeploymentID: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + display: + properties: + deployed: + nullable: true + type: string + monitored: + nullable: true + type: string + state: + nullable: true + type: string + type: object + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + nonModified: + type: boolean + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + ready: + type: boolean + release: + nullable: true + type: string + syncGeneration: + nullable: true + type: integer + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: bundlenamespacemappings.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: BundleNamespaceMapping + plural: bundlenamespacemappings + singular: bundlenamespacemapping + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + bundleSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + namespaceSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: clustergroups.fleet.cattle.io +spec: + 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 + group: fleet.cattle.io + names: + categories: + - fleet + kind: ClusterGroup + plural: clustergroups + singular: clustergroup + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + selector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + type: object + status: + properties: + clusterCount: + type: integer + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + display: + properties: + readyBundles: + nullable: true + type: string + readyClusters: + nullable: true + type: string + state: + nullable: true + type: string + type: object + nonReadyClusterCount: + type: integer + nonReadyClusters: + items: + nullable: true + type: string + nullable: true + type: array + resourceCounts: + properties: + desiredReady: + type: integer + missing: + type: integer + modified: + type: integer + notReady: + type: integer + orphaned: + type: integer + ready: + type: integer + unknown: + type: integer + waitApplied: + type: integer + type: object + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: clusters.fleet.cattle.io +spec: + 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 + group: fleet.cattle.io + names: + kind: Cluster + plural: clusters + singular: cluster + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + agentEnvVars: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + clientID: + nullable: true + type: string + kubeConfigSecret: + nullable: true + type: string + paused: + type: boolean + redeployAgentGeneration: + type: integer + type: object + status: + properties: + agent: + properties: + lastSeen: + nullable: true + type: string + namespace: + nullable: true + type: string + nonReadyNodeNames: + items: + nullable: true + type: string + nullable: true + type: array + nonReadyNodes: + type: integer + readyNodeNames: + items: + nullable: true + type: string + nullable: true + type: array + readyNodes: + type: integer + type: object + agentDeployedGeneration: + nullable: true + type: integer + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + desiredReadyGitRepos: + type: integer + display: + properties: + readyBundles: + nullable: true + type: string + readyNodes: + nullable: true + type: string + sampleNode: + nullable: true + type: string + state: + nullable: true + type: string + type: object + namespace: + nullable: true + type: string + readyGitRepos: + type: integer + resourceCounts: + properties: + desiredReady: + type: integer + missing: + type: integer + modified: + type: integer + notReady: + type: integer + orphaned: + type: integer + ready: + type: integer + unknown: + type: integer + waitApplied: + type: integer + type: object + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: clusterregistrationtokens.fleet.cattle.io +spec: + additionalPrinterColumns: + - JSONPath: .status.secretName + name: Secret-Name + type: string + group: fleet.cattle.io + names: + kind: ClusterRegistrationToken + plural: clusterregistrationtokens + singular: clusterregistrationtoken + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + ttl: + nullable: true + type: string + type: object + status: + properties: + expires: + nullable: true + type: string + secretName: + nullable: true + type: string + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: gitrepos.fleet.cattle.io +spec: + 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 + group: fleet.cattle.io + names: + categories: + - fleet + kind: GitRepo + plural: gitrepos + singular: gitrepo + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + branch: + nullable: true + type: string + caBundle: + nullable: true + type: string + clientSecretName: + nullable: true + type: string + forceSyncGeneration: + type: integer + helmSecretName: + nullable: true + type: string + insecureSkipTLSVerify: + type: boolean + paths: + items: + nullable: true + type: string + nullable: true + type: array + paused: + type: boolean + pollingInterval: + nullable: true + type: string + repo: + nullable: true + type: string + revision: + nullable: true + type: string + serviceAccount: + nullable: true + type: string + targetNamespace: + nullable: true + type: string + targets: + items: + properties: + clusterGroup: + nullable: true + type: string + clusterGroupSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + clusterName: + nullable: true + type: string + clusterSelector: + nullable: true + properties: + matchExpressions: + items: + properties: + key: + nullable: true + type: string + operator: + nullable: true + type: string + values: + items: + nullable: true + type: string + nullable: true + type: array + type: object + nullable: true + type: array + matchLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + name: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + status: + properties: + commit: + nullable: true + type: string + conditions: + items: + properties: + lastTransitionTime: + nullable: true + type: string + lastUpdateTime: + nullable: true + type: string + message: + nullable: true + type: string + reason: + nullable: true + type: string + status: + nullable: true + type: string + type: + nullable: true + type: string + type: object + nullable: true + type: array + desiredReadyClusters: + type: integer + display: + properties: + error: + type: boolean + message: + nullable: true + type: string + readyBundleDeployments: + nullable: true + type: string + state: + nullable: true + type: string + type: object + gitJobStatus: + nullable: true + type: string + observedGeneration: + type: integer + readyClusters: + type: integer + resourceCounts: + properties: + desiredReady: + type: integer + missing: + type: integer + modified: + type: integer + notReady: + type: integer + orphaned: + type: integer + ready: + type: integer + unknown: + type: integer + waitApplied: + type: integer + type: object + resourceErrors: + items: + nullable: true + type: string + nullable: true + type: array + resources: + items: + properties: + apiVersion: + nullable: true + type: string + error: + type: boolean + id: + nullable: true + type: string + incompleteState: + type: boolean + kind: + nullable: true + type: string + message: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + perClusterState: + items: + properties: + clusterId: + nullable: true + type: string + error: + type: boolean + message: + nullable: true + type: string + patch: + nullable: true + type: object + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: + nullable: true + type: string + type: object + nullable: true + type: array + summary: + properties: + desiredReady: + type: integer + errApplied: + type: integer + modified: + type: integer + nonReadyResources: + items: + properties: + bundleState: + nullable: true + type: string + message: + nullable: true + type: string + modifiedStatus: + items: + properties: + apiVersion: + nullable: true + type: string + delete: + type: boolean + kind: + nullable: true + type: string + missing: + type: boolean + name: + nullable: true + type: string + namespace: + nullable: true + type: string + patch: + nullable: true + type: string + type: object + nullable: true + type: array + name: + nullable: true + type: string + nonReadyStatus: + items: + properties: + apiVersion: + nullable: true + type: string + kind: + nullable: true + type: string + name: + nullable: true + type: string + namespace: + nullable: true + type: string + summary: + properties: + error: + type: boolean + message: + items: + nullable: true + type: string + nullable: true + type: array + state: + nullable: true + type: string + transitioning: + type: boolean + type: object + uid: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + nullable: true + type: array + notReady: + type: integer + outOfSync: + type: integer + pending: + type: integer + ready: + type: integer + waitApplied: + type: integer + type: object + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: clusterregistrations.fleet.cattle.io +spec: + additionalPrinterColumns: + - JSONPath: .status.clusterName + name: Cluster-Name + type: string + - JSONPath: .spec.clusterLabels + name: Labels + type: string + group: fleet.cattle.io + names: + kind: ClusterRegistration + plural: clusterregistrations + singular: clusterregistration + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + clientID: + nullable: true + type: string + clientRandom: + nullable: true + type: string + clusterLabels: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + status: + properties: + clusterName: + nullable: true + type: string + granted: + type: boolean + type: object + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: gitreporestrictions.fleet.cattle.io +spec: + additionalPrinterColumns: + - JSONPath: .defaultServiceAccount + name: Default-ServiceAccount + type: string + - JSONPath: .allowedServiceAccounts + name: Allowed-ServiceAccounts + type: string + group: fleet.cattle.io + names: + kind: GitRepoRestriction + plural: gitreporestrictions + singular: gitreporestriction + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + allowedClientSecretNames: + items: + nullable: true + type: string + nullable: true + type: array + allowedRepoPatterns: + items: + nullable: true + type: string + nullable: true + type: array + allowedServiceAccounts: + items: + nullable: true + type: string + nullable: true + type: array + defaultClientSecretName: + nullable: true + type: string + defaultServiceAccount: + nullable: true + type: string + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: contents.fleet.cattle.io +spec: + group: fleet.cattle.io + names: + kind: Content + plural: contents + singular: content + scope: Cluster + validation: + openAPIV3Schema: + properties: + content: + nullable: true + type: string + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/gitjobs-crds.yaml b/charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/gitjobs-crds.yaml new file mode 100755 index 00000000000..2c26f79ff36 --- /dev/null +++ b/charts/fleet-crd/fleet-crd/0.3.500-rc06/templates/gitjobs-crds.yaml @@ -0,0 +1,3208 @@ +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 + 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 + provider: + nullable: true + type: string + repo: + nullable: true + type: string + revision: + nullable: true + type: string + secret: + nullable: true + type: string + type: object + jobSpec: + properties: + activeDeadlineSeconds: + nullable: true + type: integer + backoffLimit: + nullable: true + type: integer + completions: + nullable: true + type: integer + manualSelector: + nullable: true + type: boolean + parallelism: + nullable: true + type: integer + 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 + template: + properties: + metadata: + properties: + annotations: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + clusterName: + nullable: true + type: string + 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 + 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 + 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 + 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 + 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 + namespaces: + items: + nullable: true + type: string + nullable: true + type: array + topologyKey: + nullable: true + type: string + type: object + nullable: true + type: array + type: object + type: object + automountServiceAccountToken: + nullable: true + type: boolean + containers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + 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 + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + timeoutSeconds: + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + 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 + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + timeoutSeconds: + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + nullable: true + type: string + terminationMessagePolicy: + nullable: true + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + nullable: true + type: string + name: + nullable: true + type: string + type: object + nullable: true + type: array + volumeMounts: + items: + properties: + mountPath: + nullable: true + type: string + mountPropagation: + nullable: true + type: string + name: + nullable: true + type: string + readOnly: + type: boolean + subPath: + nullable: true + type: string + subPathExpr: + nullable: true + type: string + type: object + nullable: true + type: array + workingDir: + nullable: true + type: string + type: object + nullable: true + type: array + dnsConfig: + nullable: true + properties: + nameservers: + items: + nullable: true + type: string + nullable: true + type: array + options: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + searches: + items: + nullable: true + type: string + nullable: true + type: array + type: object + dnsPolicy: + nullable: true + type: string + enableServiceLinks: + nullable: true + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + 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 + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + timeoutSeconds: + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + 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 + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + 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 + hostname: + nullable: true + type: string + imagePullSecrets: + items: + properties: + name: + nullable: true + type: string + type: object + nullable: true + type: array + initContainers: + items: + properties: + args: + items: + nullable: true + type: string + nullable: true + type: array + command: + items: + nullable: true + type: string + nullable: true + type: array + env: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + valueFrom: + nullable: true + properties: + configMapKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + fieldRef: + nullable: true + properties: + apiVersion: + nullable: true + type: string + fieldPath: + nullable: true + type: string + type: object + resourceFieldRef: + nullable: true + properties: + containerName: + nullable: true + type: string + divisor: + nullable: true + type: string + resource: + nullable: true + type: string + type: object + secretKeyRef: + nullable: true + properties: + key: + nullable: true + type: string + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + type: object + nullable: true + type: array + envFrom: + items: + properties: + configMapRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + prefix: + nullable: true + type: string + secretRef: + nullable: true + properties: + name: + nullable: true + type: string + optional: + nullable: true + type: boolean + type: object + type: object + nullable: true + type: array + image: + nullable: true + type: string + imagePullPolicy: + nullable: true + type: string + lifecycle: + nullable: true + properties: + postStart: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + preStop: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + type: object + type: object + livenessProbe: + nullable: true + properties: + exec: + nullable: true + properties: + command: + items: + nullable: true + type: string + nullable: true + type: array + type: object + failureThreshold: + type: integer + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + 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 + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + timeoutSeconds: + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + requests: + additionalProperties: + nullable: true + type: string + nullable: true + type: object + type: object + securityContext: + nullable: true + properties: + allowPrivilegeEscalation: + nullable: true + type: boolean + capabilities: + nullable: true + properties: + add: + items: + nullable: true + type: string + nullable: true + type: array + drop: + items: + nullable: true + type: string + nullable: true + type: array + type: object + privileged: + nullable: true + type: boolean + procMount: + nullable: true + type: string + readOnlyRootFilesystem: + nullable: true + type: boolean + runAsGroup: + nullable: true + type: integer + runAsNonRoot: + nullable: true + type: boolean + runAsUser: + nullable: true + type: integer + seLinuxOptions: + nullable: true + properties: + level: + nullable: true + type: string + role: + nullable: true + type: string + type: + nullable: true + type: string + user: + nullable: true + type: string + type: object + windowsOptions: + nullable: true + properties: + gmsaCredentialSpec: + nullable: true + type: string + gmsaCredentialSpecName: + nullable: true + type: string + 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 + httpGet: + nullable: true + properties: + host: + nullable: true + type: string + httpHeaders: + items: + properties: + name: + nullable: true + type: string + value: + nullable: true + type: string + type: object + nullable: true + type: array + path: + nullable: true + type: string + port: + nullable: true + type: string + scheme: + nullable: true + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + nullable: true + properties: + host: + nullable: true + type: string + port: + nullable: true + type: string + type: object + 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 + 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 + restartPolicy: + nullable: true + type: string + runtimeClassName: + nullable: true + type: string + schedulerName: + nullable: true + type: string + 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 + 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 + runAsUserName: + nullable: true + type: string + type: object + type: object + serviceAccount: + nullable: true + type: string + serviceAccountName: + nullable: true + type: string + 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 + maxSkew: + type: integer + 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 + 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 + observedGeneration: + type: integer + secretToken: + nullable: true + type: string + updateGeneration: + type: integer + type: object + type: object + version: v1 + versions: + - name: v1 + served: true + storage: true + diff --git a/charts/fleet/fleet/0.3.500-rc06/Chart.yaml b/charts/fleet/fleet/0.3.500-rc06/Chart.yaml new file mode 100755 index 00000000000..48171e6de19 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/Chart.yaml @@ -0,0 +1,15 @@ +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/namespace: fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: clusters.fleet.cattle.io/v1alpha1 + catalog.cattle.io/release-name: fleet +apiVersion: v2 +appVersion: 0.3.5 +description: Fleet Manager - GitOps at Scale +icon: https://charts.rancher.io/assets/logos/fleet.svg +name: fleet +version: 0.3.500-rc06 diff --git a/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/.helmignore b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/.helmignore new file mode 100755 index 00000000000..691fa13d6a5 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/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/fleet/0.3.500-rc06/charts/gitjob/Chart.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/Chart.yaml new file mode 100755 index 00000000000..62e1e02553b --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +appVersion: 0.1.15 +description: Controller that run jobs based on git events +name: gitjob +version: 0.1.15 diff --git a/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/_helpers.tpl b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/_helpers.tpl new file mode 100755 index 00000000000..f652b5643de --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/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/fleet/0.3.500-rc06/charts/gitjob/templates/clusterrole.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/clusterrole.yaml new file mode 100755 index 00000000000..bcad90164f6 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/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/fleet/0.3.500-rc06/charts/gitjob/templates/clusterrolebinding.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/clusterrolebinding.yaml new file mode 100755 index 00000000000..0bf07c4ef8d --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/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/fleet/0.3.500-rc06/charts/gitjob/templates/deployment.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/deployment.yaml new file mode 100755 index 00000000000..a12a30d92ee --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/deployment.yaml @@ -0,0 +1,42 @@ +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 + command: + - gitjob + - --tekton-image + - "{{ template "system_default_registry" . }}{{ .Values.tekton.repository }}:{{ .Values.tekton.tag }}" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + {{- if .Values.proxy }} + - name: HTTP_PROXY + value: {{ .Values.proxy }} + - name: HTTPS_PROXY + value: {{ .Values.proxy }} + - name: NO_PROXY + value: {{ .Values.noProxy }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/service.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/service.yaml new file mode 100755 index 00000000000..bf57c1b55c7 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/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/fleet/0.3.500-rc06/charts/gitjob/templates/serviceaccount.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/serviceaccount.yaml new file mode 100755 index 00000000000..5f8aecb0451 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/templates/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: gitjob diff --git a/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/values.yaml b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/values.yaml new file mode 100755 index 00000000000..90ca446a922 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/charts/gitjob/values.yaml @@ -0,0 +1,26 @@ +gitjob: + repository: rancher/gitjob + tag: v0.1.15 + +tekton: + repository: rancher/tekton-utils + tag: v0.1.1 + +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 diff --git a/charts/fleet/fleet/0.3.500-rc06/templates/_helpers.tpl b/charts/fleet/fleet/0.3.500-rc06/templates/_helpers.tpl new file mode 100755 index 00000000000..f652b5643de --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/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/fleet/0.3.500-rc06/templates/configmap.yaml b/charts/fleet/fleet/0.3.500-rc06/templates/configmap.yaml new file mode 100755 index 00000000000..c546c4b9752 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/templates/configmap.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: fleet-controller +data: + config: | + { + "agentImage": "{{ template "system_default_registry" . }}{{.Values.agentImage.repository}}:{{.Values.agentImage.tag}}", + "agentImagePullPolicy": "{{ .Values.agentImage.imagePullPolicy }}", + "apiServerURL": "{{.Values.apiServerURL}}", + "apiServerCA": "{{b64enc .Values.apiServerCA}}", + "agentCheckinInterval": "{{.Values.agentCheckinInterval}}", + "ignoreClusterRegistrationLabels": {{.Values.ignoreClusterRegistrationLabels}}, + "bootstrap": { + "paths": "{{.Values.bootstrap.paths}}", + "repo": "{{.Values.bootstrap.repo}}", + "secret": "{{.Values.bootstrap.secret}}", + "branch": "{{.Values.bootstrap.branch}}", + "namespace": "{{.Values.bootstrap.namespace}}", + }, + "webhookReceiverURL": "{{.Values.webhookReceiverURL}}", + "githubURLPrefix": "{{.Values.githubURLPrefix}}" + } diff --git a/charts/fleet/fleet/0.3.500-rc06/templates/deployment.yaml b/charts/fleet/fleet/0.3.500-rc06/templates/deployment.yaml new file mode 100755 index 00000000000..c64f94ddb22 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/templates/deployment.yaml @@ -0,0 +1,31 @@ +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 + image: '{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}' + name: fleet-controller + imagePullPolicy: "{{ .Values.image.imagePullPolicy }}" + serviceAccountName: fleet-controller + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/fleet/fleet/0.3.500-rc06/templates/rbac.yaml b/charts/fleet/fleet/0.3.500-rc06/templates/rbac.yaml new file mode 100755 index 00000000000..59df51b1ff9 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/templates/rbac.yaml @@ -0,0 +1,106 @@ +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: + - '*' + +--- +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 + +--- +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}} diff --git a/charts/fleet/fleet/0.3.500-rc06/templates/serviceaccount.yaml b/charts/fleet/fleet/0.3.500-rc06/templates/serviceaccount.yaml new file mode 100755 index 00000000000..bd99d995810 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/templates/serviceaccount.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-controller + +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: fleet-controller-bootstrap diff --git a/charts/fleet/fleet/0.3.500-rc06/values.yaml b/charts/fleet/fleet/0.3.500-rc06/values.yaml new file mode 100755 index 00000000000..e2b9525acd3 --- /dev/null +++ b/charts/fleet/fleet/0.3.500-rc06/values.yaml @@ -0,0 +1,47 @@ +image: + repository: rancher/fleet + tag: v0.3.5-rc6 + imagePullPolicy: IfNotPresent + +agentImage: + repository: rancher/fleet-agent + tag: v0.3.5-rc6 + imagePullPolicy: IfNotPresent + +# For cluster registration the public URL of the Kubernetes API server must be set here +# Example: https://example.com:6443 +apiServerURL: "" + +# For cluster registration the pem encoded value of the CA of the Kubernetes API server must be set here +# If left empty it is assumed this Kubernetes API TLS is signed by a well known CA. +apiServerCA: "" + +# A duration string for how often agents should report a heartbeat +agentCheckinInterval: "15m" + +# Whether you want to allow cluster upon registration to specify their labels. +ignoreClusterRegistrationLabels: false + +bootstrap: + # The namespace that will be autocreated and the local cluster will be registered in + namespace: fleet-local + # A repo to add at install time that will deploy to the local cluster. This allows + # one to fully bootstrap fleet, it's configuration and all it's downstream clusters + # in one shot. + repo: "" + secret: "" + branch: master + paths: "" + +global: + cattle: + systemDefaultRegistry: "" + +nodeSelector: + kubernetes.io/os: linux + +tolerations: + - key: cattle.io/os + operator: "Equal" + value: "linux" + effect: NoSchedule \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/Chart.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/Chart.yaml new file mode 100755 index 00000000000..11c19bdea1e --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/Chart.yaml @@ -0,0 +1,21 @@ +annotations: + catalog.cattle.io/auto-install: rancher-kiali-server-crd=1.32.100-rc01 + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Istio + catalog.cattle.io/namespace: istio-system + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: networking.istio.io.virtualservice/v1beta1 + catalog.cattle.io/release-name: rancher-istio + catalog.cattle.io/requests-cpu: 710m + catalog.cattle.io/requests-memory: 2314Mi + catalog.cattle.io/ui-component: istio +apiVersion: v1 +appVersion: 1.8.5 +description: A basic Istio setup that installs with the istioctl. Refer to https://istio.io/latest/ + for details. +icon: https://charts.rancher.io/assets/logos/istio.svg +keywords: +- networking +- infrastructure +name: rancher-istio +version: 1.8.500-rc03 diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/README.md b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/README.md new file mode 100755 index 00000000000..199e4531269 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/README.md @@ -0,0 +1,69 @@ +# Rancher Istio Installers + +A Rancher created chart that packages the istioctl binary to install via a helm chart. + +# Installation Requirements + +## Chart Dependencies +- rancher-kiali-server-crd chart + +# Uninstallation Requirements +To ensure rancher-istio uninstalls correctly, you must uninstall rancher-istio prior to uninstalling chart dependencies (see installation requirements for chart dependencies). This is because all definitions need to be available in order to properly build the rancher-istio objects for removal. + +If you remove dependent CRD charts prior to removing rancher-istio, you may encounter the following error:: + +`Error: uninstallation completed with 1 error(s): unable to build kubernetes objects for delete: unable to recognize "": no matches for kind "MonitoringDashboard" in version "monitoring.kiali.io/v1alpha1"` + +# Addons + +## Kiali + +Kiali allows you to view and manage your istio-based service mesh through an easy to use dashboard. + +#### Dependencies +- rancher-monitoring chart or other Prometheus installation + +This dependecy installs the required CRDs for installing Kiali. Since Kiali is bundled in with Istio in this chart, if you do not have these dependencies installed, your Istio installation will fail. If you do not plan on using Kiali, set `kiali.enabled=false` when installing Istio for a succesful installation. + +> **Note:** The following configuration options assume you have installed the dependecies for Kiali. Please ensure you have Promtheus in your cluster before proceeding. + +The Monitoring app sets `prometheus.prometheusSpec.ignoreNamespaceSelectors=false` which means all namespaces will be scraped by Prometheus by default. This ensures you can view traffic, metrics and graphs for resources deployed in other namespaces. + +To limit scraping to specific namespaces, set `prometheus.prometheusSpec.ignoreNamespaceSelectors=true` and add one of the following configurations to ensure you can continue to view traffic, metrics and graphs for your deployed resources. + +1. Add a Service Monitor or Pod Monitor in the namespace with the targets you want to scrape. +1. Add an additionalScrapeConfig to your rancher-monitoring instance to scrape all targets in all namespaces. + +#### External Services + +##### Prometheus +The `kiali.external_services.prometheus` url is set in the values.yaml: +``` +http://{{ .Values.nameOverride }}-prometheus.{{ .Values.namespaceOverride }}.svc:{{ prometheus.service.port }} +``` +The url depends on the default values for `nameOverride`, `namespaceOverride`, and `prometheus.service.port` being set in your rancher-monitoring or other monitoring instance. + +##### Grafana +The `kiali.external_services.grafana` url is set in the values.yaml: +``` +http://{{ .Values.nameOverride }}-grafana.{{ .Values.namespaceOverride }}.svc:{{ grafana.service.port }} +``` +The url depends on the default values for `nameOverride`, `namespaceOverride`, and `grafana.service.port` being set in your rancher-monitoring or other monitoring instance. + +##### Tracing +The `kiali.external_services.tracing` url and `.Values.tracing.contextPath` is set in the rancher-istio values.yaml: +``` +http://tracing.{{ .Values.namespaceOverride }}.svc:{{ .Values.service.externalPort }}/{{ .Values.tracing.contextPath }} +``` +The url depends on the default values for `namespaceOverride`, and `.Values.service.externalPort` being set in your rancher-tracing or other tracing instance. + +## Jaeger + +Jaeger allows you to trace and monitor distributed microservices. + +> **Note:** This addon is using the all-in-one Jaeger installation which is not qualified for production. Use the [Jaeger Tracing](https://www.jaegertracing.io/docs/1.21/getting-started/) documentation to determine which installation you will need for your production needs. + +# Installation +``` +helm install rancher-istio . --create-namespace -n istio-system +``` \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/app-readme.md b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/app-readme.md new file mode 100755 index 00000000000..0e42df08369 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/app-readme.md @@ -0,0 +1,45 @@ +# Rancher Istio + +Our [Istio](https://istio.io/) installer wraps the istioctl binary commands in a handy helm chart, including an overlay file option to allow complex customization. It also includes: +* **[Kiali](https://kiali.io/)**: Used for graphing traffic flow throughout the mesh +* **[Jaeger](https://www.jaegertracing.io/)**: A quick start, all-in-one installation used for tracing distributed systemm. This is not production qualified, please refer to jaeger documentation to determine which installation you may need instead. + +### Dependencies + +**Rancher Monitoring or other Prometheus installation** + +The Prometheus CRDs are required for installing Kiali which is enabled by default. If you do not have Prometheus installed your Istio installation will fail. If you do not plan on using Kiali, set `kiali.enabled=false` to bypass this requirement. + +### Customization + +**Rancher Monitoring** + +The Rancher Monitoring app sets `prometheus.prometheusSpec.ignoreNamespaceSelectors=false` which means all namespaces will be scraped by Prometheus by default. This ensures you can view traffic, metrics and graphs for resources deployed in other namespaces. + +To limit scraping to specific namespaces, set `prometheus.prometheusSpec.ignoreNamespaceSelectors=true` and add one of the following configurations to ensure you can continue to view traffic, metrics and graphs for your deployed resources. + +1. Add a Service Monitor or Pod Monitor in the namespace with the targets you want to scrape. +1. Add an additionalScrapeConfig to your rancher-monitoring instance to scrape all targets in all namespaces. + +**Custom Prometheus Installation with Kiali** + +To use a custom Monitoring installation, set the `kiali.external_services.prometheus` url in the values.yaml. This url depends on the values for `nameOverride`, `namespaceOverride`, and `prometheus.service.port` in your rancher-monitoring or other monitoring instance: +``` +http://{{ .Values.nameOverride }}-prometheus.{{ .Values.namespaceOverride }}.svc:{{ prometheus.service.port }} +``` +**Custom Grafana Installation with Kiali** + +To use a custom Grafana installation, set the `kiali.external_services.grafana` url in the values.yaml. This url depends on the values for `nameOverride`, `namespaceOverride`, and `granfa.service.port` in your rancher-monitoring or other grafana instance: +``` +http://{{ .Values.nameOverride }}-grafana.{{ .Values.namespaceOverride }}.svc:{{ grafana.service.port }} +``` +**Custom Tracing Installation with Kiali** + +To use a custom Tracing installation, set the `kiali.external_services.tracing` url and update the `.Values.tracing.contextPath` in the rancher-istio values.yaml. + +This url depends on the values for `namespaceOverride`, and `.Values.service.externalPort` in your rancher-tracing or other tracing instance.: +``` +http://tracing.{{ .Values.namespaceOverride }}.svc:{{ .Values.service.externalPort }}/{{ .Values.tracing.contextPath }} +``` + +For more information on how to use the feature, refer to our [docs](https://rancher.com/docs/rancher/v2.x/en/istio/v2.5/). diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/Chart.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/Chart.yaml new file mode 100755 index 00000000000..9b6fdf385f8 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + catalog.cattle.io/auto-install: rancher-kiali-server-crd=match + catalog.cattle.io/hidden: "true" + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: monitoringdashboards.monitoring.kiali.io/v1alpha1 + catalog.cattle.io/requires-gvr: monitoring.coreos.com.prometheus/v1 + catalog.rancher.io/namespace: cattle-istio-system + catalog.rancher.io/release-name: rancher-kiali-server +apiVersion: v2 +appVersion: v1.32.0 +description: Kiali is an open source project for service mesh observability, refer + to https://www.kiali.io for details. This is installed as sub-chart with customized + values in Rancher's Istio. +home: https://github.com/kiali/kiali +icon: https://raw.githubusercontent.com/kiali/kiali.io/master/themes/kiali/static/img/kiali_logo_masthead.png +keywords: +- istio +- kiali +- networking +- infrastructure +maintainers: +- email: kiali-users@googlegroups.com + name: Kiali + url: https://kiali.io +name: kiali +sources: +- https://github.com/kiali/kiali +- https://github.com/kiali/kiali-ui +- https://github.com/kiali/kiali-operator +- https://github.com/kiali/helm-charts +version: 1.32.1 diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/NOTES.txt b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/NOTES.txt new file mode 100755 index 00000000000..751019401be --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/NOTES.txt @@ -0,0 +1,5 @@ +Welcome to Kiali! For more details on Kiali, see: https://kiali.io + +The Kiali Server [{{ .Chart.AppVersion }}] has been installed in namespace [{{ .Release.Namespace }}]. It will be ready soon. + +(Helm: Chart=[{{ .Chart.Name }}], Release=[{{ .Release.Name }}], Version=[{{ .Chart.Version }}]) diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/_helpers.tpl b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/_helpers.tpl new file mode 100755 index 00000000000..dd33bbe480e --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/_helpers.tpl @@ -0,0 +1,192 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "kiali-server.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 "kiali-server.fullname" -}} +{{- if .Values.fullnameOverride }} + {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} + {{- $name := default .Chart.Name .Values.nameOverride }} + {{- printf "%s" $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "kiali-server.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Identifies the log_level with the old verbose_mode and the new log_level considered. +*/}} +{{- define "kiali-server.logLevel" -}} +{{- if .Values.deployment.verbose_mode -}} +{{- .Values.deployment.verbose_mode -}} +{{- else -}} +{{- .Values.deployment.logger.log_level -}} +{{- end -}} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "kiali-server.labels" -}} +helm.sh/chart: {{ include "kiali-server.chart" . }} +app: {{ include "kiali-server.name" . }} +{{ include "kiali-server.selectorLabels" . }} +version: {{ .Values.deployment.version_label | default .Chart.AppVersion | quote }} +app.kubernetes.io/version: {{ .Values.deployment.version_label | default .Chart.AppVersion | quote }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +app.kubernetes.io/part-of: "kiali" +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "kiali-server.selectorLabels" -}} +app.kubernetes.io/name: {{ include "kiali-server.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Used to determine if a custom dashboard (defined in .Template.Name) should be deployed. +*/}} +{{- define "kiali-server.isDashboardEnabled" -}} +{{- if .Values.external_services.custom_dashboards.enabled }} + {{- $includere := "" }} + {{- range $_, $s := .Values.deployment.custom_dashboards.includes }} + {{- if $s }} + {{- if $includere }} + {{- $includere = printf "%s|^%s$" $includere ($s | replace "*" ".*" | replace "?" ".") }} + {{- else }} + {{- $includere = printf "^%s$" ($s | replace "*" ".*" | replace "?" ".") }} + {{- end }} + {{- end }} + {{- end }} + {{- $excludere := "" }} + {{- range $_, $s := .Values.deployment.custom_dashboards.excludes }} + {{- if $s }} + {{- if $excludere }} + {{- $excludere = printf "%s|^%s$" $excludere ($s | replace "*" ".*" | replace "?" ".") }} + {{- else }} + {{- $excludere = printf "^%s$" ($s | replace "*" ".*" | replace "?" ".") }} + {{- end }} + {{- end }} + {{- end }} + {{- if (and (mustRegexMatch (default "no-matches" $includere) (base .Template.Name)) (not (mustRegexMatch (default "no-matches" $excludere) (base .Template.Name)))) }} + {{- print "enabled" }} + {{- else }} + {{- print "" }} + {{- end }} +{{- else }} + {{- print "" }} +{{- end }} +{{- end }} + +{{/* +Determine the default login token signing key. +*/}} +{{- define "kiali-server.login_token.signing_key" -}} +{{- if .Values.login_token.signing_key }} + {{- .Values.login_token.signing_key }} +{{- else }} + {{- randAlphaNum 16 }} +{{- end }} +{{- end }} + +{{/* +Determine the default web root. +*/}} +{{- define "kiali-server.server.web_root" -}} +{{- if .Values.server.web_root }} + {{- .Values.server.web_root | trimSuffix "/" }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- "/" }} + {{- else }} + {{- "/kiali" }} + {{- end }} +{{- end }} +{{- end }} + +{{/* +Determine the default identity cert file. There is no default if on k8s; only on OpenShift. +*/}} +{{- define "kiali-server.identity.cert_file" -}} +{{- if hasKey .Values.identity "cert_file" }} + {{- .Values.identity.cert_file }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- "/kiali-cert/tls.crt" }} + {{- else }} + {{- "" }} + {{- end }} +{{- end }} +{{- end }} + +{{/* +Determine the default identity private key file. There is no default if on k8s; only on OpenShift. +*/}} +{{- define "kiali-server.identity.private_key_file" -}} +{{- if hasKey .Values.identity "private_key_file" }} + {{- .Values.identity.private_key_file }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- "/kiali-cert/tls.key" }} + {{- else }} + {{- "" }} + {{- end }} +{{- end }} +{{- end }} + +{{/* +Determine the istio namespace - default is where Kiali is installed. +*/}} +{{- define "kiali-server.istio_namespace" -}} +{{- if .Values.istio_namespace }} + {{- .Values.istio_namespace }} +{{- else }} + {{- .Release.Namespace }} +{{- end }} +{{- end }} + +{{/* +Determine the auth strategy to use - default is "token" on Kubernetes and "openshift" on OpenShift. +*/}} +{{- define "kiali-server.auth.strategy" -}} +{{- if .Values.auth.strategy }} + {{- if (and (eq .Values.auth.strategy "openshift") (not .Values.kiali_route_url)) }} + {{- fail "You did not define what the Kiali Route URL will be (--set kiali_route_url=...). Without this set, the openshift auth strategy will not work. Either set that or use a different auth strategy via the --set auth.strategy=... option." }} + {{- end }} + {{- .Values.auth.strategy }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- if not .Values.kiali_route_url }} + {{- fail "You did not define what the Kiali Route URL will be (--set kiali_route_url=...). Without this set, the openshift auth strategy will not work. Either set that or explicitly indicate another auth strategy you want via the --set auth.strategy=... option." }} + {{- end }} + {{- "openshift" }} + {{- else }} + {{- "token" }} + {{- end }} +{{- end }} +{{- end }} + +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/cabundle.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/cabundle.yaml new file mode 100755 index 00000000000..7462b95a7f3 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/cabundle.yaml @@ -0,0 +1,13 @@ +{{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "kiali-server.fullname" . }}-cabundle + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + annotations: + service.beta.openshift.io/inject-cabundle: "true" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/configmap.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/configmap.yaml new file mode 100755 index 00000000000..b1bf531731f --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/configmap.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +data: + config.yaml: | + {{- /* Most of .Values is simply the ConfigMap - strip out the keys that are not part of the ConfigMap */}} + {{- $cm := omit .Values "nameOverride" "fullnameOverride" "kiali_route_url" }} + {{- /* The helm chart defines namespace for us, but pass it to the ConfigMap in case the server needs it */}} + {{- $_ := set $cm.deployment "namespace" .Release.Namespace }} + {{- /* Some values of the ConfigMap are generated, but might not be identical, from .Values */}} + {{- $_ := set $cm "istio_namespace" (include "kiali-server.istio_namespace" .) }} + {{- $_ := set $cm.auth "strategy" (include "kiali-server.auth.strategy" .) }} + {{- $_ := set $cm.auth.openshift "client_id_prefix" (include "kiali-server.fullname" .) }} + {{- $_ := set $cm.identity "cert_file" (include "kiali-server.identity.cert_file" .) }} + {{- $_ := set $cm.identity "private_key_file" (include "kiali-server.identity.private_key_file" .) }} + {{- $_ := set $cm.login_token "signing_key" (include "kiali-server.login_token.signing_key" .) }} + {{- $_ := set $cm.server "web_root" (include "kiali-server.server.web_root" .) }} + {{- toYaml $cm | nindent 4 }} +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/envoy.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/envoy.yaml new file mode 100755 index 00000000000..85b4020175c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/envoy.yaml @@ -0,0 +1,56 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: envoy + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Envoy Metrics + discoverOn: "envoy_server_uptime" + items: + - chart: + name: "Pods uptime" + spans: 4 + metricName: "envoy_server_uptime" + dataType: "raw" + - chart: + name: "Allocated memory" + unit: "bytes" + spans: 4 + metricName: "envoy_server_memory_allocated" + dataType: "raw" + min: 0 + - chart: + name: "Heap size" + unit: "bytes" + spans: 4 + metricName: "envoy_server_memory_heap_size" + dataType: "raw" + min: 0 + - chart: + name: "Upstream active connections" + spans: 6 + metricName: "envoy_cluster_upstream_cx_active" + dataType: "raw" + - chart: + name: "Upstream total requests" + spans: 6 + metricName: "envoy_cluster_upstream_rq_total" + unit: "rps" + dataType: "rate" + - chart: + name: "Downstream active connections" + spans: 6 + metricName: "envoy_listener_downstream_cx_active" + dataType: "raw" + - chart: + name: "Downstream HTTP requests" + spans: 6 + metricName: "envoy_listener_http_downstream_rq" + unit: "rps" + dataType: "rate" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/go.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/go.yaml new file mode 100755 index 00000000000..2d2f42a938d --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/go.yaml @@ -0,0 +1,67 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: go + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Go Metrics + runtime: Go + discoverOn: "go_info" + items: + - chart: + name: "CPU ratio" + spans: 6 + metricName: "process_cpu_seconds_total" + dataType: "rate" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "RSS Memory" + unit: "bytes" + spans: 6 + metricName: "process_resident_memory_bytes" + dataType: "raw" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "Goroutines" + spans: 6 + metricName: "go_goroutines" + dataType: "raw" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "Heap allocation rate" + unit: "bytes/s" + spans: 6 + metricName: "go_memstats_alloc_bytes_total" + dataType: "rate" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "GC rate" + spans: 6 + metricName: "go_gc_duration_seconds_count" + dataType: "rate" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "Next GC" + unit: "bytes" + spans: 6 + metricName: "go_memstats_next_gc_bytes" + dataType: "raw" + aggregations: + - label: "pod_name" + displayName: "Pod" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/kiali.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/kiali.yaml new file mode 100755 index 00000000000..b1f011b4f95 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/kiali.yaml @@ -0,0 +1,44 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: kiali + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Kiali Internal Metrics + items: + - chart: + name: "API processing duration" + unit: "seconds" + spans: 6 + metricName: "kiali_api_processing_duration_seconds" + dataType: "histogram" + aggregations: + - label: "route" + displayName: "Route" + - chart: + name: "Functions processing duration" + unit: "seconds" + spans: 6 + metricName: "kiali_go_function_processing_duration_seconds" + dataType: "histogram" + aggregations: + - label: "function" + displayName: "Function" + - label: "package" + displayName: "Package" + - chart: + name: "Failures" + spans: 12 + metricName: "kiali_go_function_failures_total" + dataType: "raw" + aggregations: + - label: "function" + displayName: "Function" + - label: "package" + displayName: "Package" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml new file mode 100755 index 00000000000..2e1ed5cfff3 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml @@ -0,0 +1,43 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: micrometer-1.0.6-jvm-pool + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: JVM + title: JVM Pool Metrics + discoverOn: "jvm_buffer_total_capacity_bytes" + items: + - chart: + name: "Pool buffer memory used" + unit: "bytes" + spans: 4 + metricName: "jvm_buffer_memory_used_bytes" + dataType: "raw" + aggregations: + - label: "id" + displayName: "Pool" + - chart: + name: "Pool buffer capacity" + unit: "bytes" + spans: 4 + metricName: "jvm_buffer_total_capacity_bytes" + dataType: "raw" + aggregations: + - label: "id" + displayName: "Pool" + - chart: + name: "Pool buffer count" + unit: "bytes" + spans: 4 + metricName: "jvm_buffer_count" + dataType: "raw" + aggregations: + - label: "id" + displayName: "Pool" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml new file mode 100755 index 00000000000..d645968820a --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml @@ -0,0 +1,65 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: micrometer-1.0.6-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: JVM + title: JVM Metrics + discoverOn: "jvm_threads_live" + items: + - chart: + name: "Total live threads" + spans: 4 + metricName: "jvm_threads_live" + dataType: "raw" + - chart: + name: "Daemon threads" + spans: 4 + metricName: "jvm_threads_daemon" + dataType: "raw" + - chart: + name: "Loaded classes" + spans: 4 + metricName: "jvm_classes_loaded" + dataType: "raw" + + - chart: + name: "Memory used" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_used_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory commited" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_committed_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory max" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_max_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml new file mode 100755 index 00000000000..76e8d0a4a0c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml @@ -0,0 +1,68 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: micrometer-1.1-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: JVM + title: JVM Metrics + discoverOn: "jvm_threads_live_threads" + items: + - chart: + name: "Memory used" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_used_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory commited" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_committed_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory max" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_max_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + + - chart: + name: "Total live threads" + spans: 4 + metricName: "jvm_threads_live_threads" + dataType: "raw" + - chart: + name: "Daemon threads" + spans: 4 + metricName: "jvm_threads_daemon_threads" + dataType: "raw" + - chart: + name: "Threads states" + spans: 4 + metricName: "jvm_threads_states_threads" + dataType: "raw" + aggregations: + - label: "state" + displayName: "State" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml new file mode 100755 index 00000000000..1d495119640 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml @@ -0,0 +1,59 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: microprofile-1.1 + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: MicroProfile Metrics + runtime: MicroProfile + discoverOn: "base:thread_count" + items: + - chart: + name: "Current loaded classes" + spans: 6 + metricName: "base:classloader_current_loaded_class_count" + dataType: "raw" + - chart: + name: "Unloaded classes" + spans: 6 + metricName: "base:classloader_total_unloaded_class_count" + dataType: "raw" + - chart: + name: "Thread count" + spans: 4 + metricName: "base:thread_count" + dataType: "raw" + - chart: + name: "Thread max count" + spans: 4 + metricName: "base:thread_max_count" + dataType: "raw" + - chart: + name: "Thread daemon count" + spans: 4 + metricName: "base:thread_daemon_count" + dataType: "raw" + - chart: + name: "Committed heap" + unit: "bytes" + spans: 4 + metricName: "base:memory_committed_heap_bytes" + dataType: "raw" + - chart: + name: "Max heap" + unit: "bytes" + spans: 4 + metricName: "base:memory_max_heap_bytes" + dataType: "raw" + - chart: + name: "Used heap" + unit: "bytes" + spans: 4 + metricName: "base:memory_used_heap_bytes" + dataType: "raw" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml new file mode 100755 index 00000000000..57ddc60ef64 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml @@ -0,0 +1,38 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: microprofile-x.y + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: MicroProfile Metrics + runtime: MicroProfile + discoverOn: "base:gc_complete_scavenger_count" + items: + - chart: + name: "Young GC time" + unit: "seconds" + spans: 3 + metricName: "base:gc_young_generation_scavenger_time_seconds" + dataType: "raw" + - chart: + name: "Young GC count" + spans: 3 + metricName: "base:gc_young_generation_scavenger_count" + dataType: "raw" + - chart: + name: "Total GC time" + unit: "seconds" + spans: 3 + metricName: "base:gc_complete_scavenger_time_seconds" + dataType: "raw" + - chart: + name: "Total GC count" + spans: 3 + metricName: "base:gc_complete_scavenger_count" + dataType: "raw" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/nodejs.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/nodejs.yaml new file mode 100755 index 00000000000..1ffe0aa10dc --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/nodejs.yaml @@ -0,0 +1,59 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: nodejs + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Node.js + title: Node.js Metrics + discoverOn: "nodejs_active_handles_total" + items: + - chart: + name: "Active handles" + spans: 4 + metricName: "nodejs_active_handles_total" + dataType: "raw" + - chart: + name: "Active requests" + spans: 4 + metricName: "nodejs_active_requests_total" + dataType: "raw" + - chart: + name: "Event loop lag" + unit: "seconds" + spans: 4 + metricName: "nodejs_eventloop_lag_seconds" + dataType: "raw" + - chart: + name: "Total heap size" + unit: "bytes" + spans: 12 + metricName: "nodejs_heap_space_size_total_bytes" + dataType: "raw" + aggregations: + - label: "space" + displayName: "Space" + - chart: + name: "Used heap size" + unit: "bytes" + spans: 6 + metricName: "nodejs_heap_space_size_used_bytes" + dataType: "raw" + aggregations: + - label: "space" + displayName: "Space" + - chart: + name: "Available heap size" + unit: "bytes" + spans: 6 + metricName: "nodejs_heap_space_size_available_bytes" + dataType: "raw" + aggregations: + - label: "space" + displayName: "Space" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/quarkus.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/quarkus.yaml new file mode 100755 index 00000000000..cef5f3dce5f --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/quarkus.yaml @@ -0,0 +1,33 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: quarkus + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Quarkus Metrics + runtime: Quarkus + items: + - chart: + name: "Thread count" + spans: 4 + metricName: "vendor:thread_count" + dataType: "raw" + - chart: + name: "Used heap" + unit: "bytes" + spans: 4 + metricName: "vendor:memory_heap_usage_bytes" + dataType: "raw" + - chart: + name: "Used non-heap" + unit: "bytes" + spans: 4 + metricName: "vendor:memory_non_heap_usage_bytes" + dataType: "raw" + - include: "microprofile-x.y" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml new file mode 100755 index 00000000000..42d87d89016 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: springboot-jvm-pool + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Spring Boot + title: JVM Pool Metrics + items: + - include: "micrometer-1.0.6-jvm-pool" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml new file mode 100755 index 00000000000..ced3acdd94c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: springboot-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Spring Boot + title: JVM Metrics + items: + - include: "micrometer-1.0.6-jvm" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml new file mode 100755 index 00000000000..c07016aa2a2 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: springboot-tomcat + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Spring Boot + title: Tomcat Metrics + items: + - include: "tomcat" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/thorntail.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/thorntail.yaml new file mode 100755 index 00000000000..6bd85e6f571 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/thorntail.yaml @@ -0,0 +1,22 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: thorntail + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Thorntail + title: Thorntail Metrics + discoverOn: "vendor:loaded_modules" + items: + - include: "microprofile-1.1" + - chart: + name: "Loaded modules" + spans: 6 + metricName: "vendor:loaded_modules" + dataType: "raw" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/tomcat.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/tomcat.yaml new file mode 100755 index 00000000000..9a803342fe0 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/tomcat.yaml @@ -0,0 +1,67 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: tomcat + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Tomcat + title: Tomcat Metrics + discoverOn: "tomcat_sessions_created_total" + items: + - chart: + name: "Sessions created" + spans: 4 + metricName: "tomcat_sessions_created_total" + dataType: "raw" + - chart: + name: "Active sessions" + spans: 4 + metricName: "tomcat_sessions_active_current" + dataType: "raw" + - chart: + name: "Sessions rejected" + spans: 4 + metricName: "tomcat_sessions_rejected_total" + dataType: "raw" + + - chart: + name: "Bytes sent" + unit: "bitrate" + spans: 6 + metricName: "tomcat_global_sent_bytes_total" + dataType: "rate" + aggregations: + - label: "name" + displayName: "Name" + - chart: + name: "Bytes received" + unit: "bitrate" + spans: 6 + metricName: "tomcat_global_received_bytes_total" + dataType: "rate" + aggregations: + - label: "name" + displayName: "Name" + + - chart: + name: "Global errors" + spans: 6 + metricName: "tomcat_global_error_total" + dataType: "raw" + aggregations: + - label: "name" + displayName: "Name" + - chart: + name: "Servlet errors" + spans: 6 + metricName: "tomcat_servlet_error_total" + dataType: "raw" + aggregations: + - label: "name" + displayName: "Name" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-client.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-client.yaml new file mode 100755 index 00000000000..2d591d6b0bb --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-client.yaml @@ -0,0 +1,60 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-client + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Client Metrics + discoverOn: "vertx_http_client_connections" + items: + - chart: + name: "Client response time" + unit: "seconds" + spans: 6 + metricName: "vertx_http_client_responseTime_seconds" + dataType: "histogram" + aggregations: + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Client request count rate" + unit: "ops" + spans: 6 + metricName: "vertx_http_client_requestCount_total" + dataType: "rate" + aggregations: + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Client active connections" + spans: 6 + metricName: "vertx_http_client_connections" + dataType: "raw" + - chart: + name: "Client active websockets" + spans: 6 + metricName: "vertx_http_client_wsConnections" + dataType: "raw" + - chart: + name: "Client bytes sent" + unit: "bytes" + spans: 6 + metricName: "vertx_http_client_bytesSent" + dataType: "histogram" + - chart: + name: "Client bytes received" + unit: "bytes" + spans: 6 + metricName: "vertx_http_client_bytesReceived" + dataType: "histogram" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml new file mode 100755 index 00000000000..65f9ee2ecaf --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml @@ -0,0 +1,59 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-eventbus + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Eventbus Metrics + discoverOn: "vertx_eventbus_handlers" + items: + - chart: + name: "Event bus handlers" + spans: 6 + metricName: "vertx_eventbus_handlers" + dataType: "raw" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus pending messages" + spans: 6 + metricName: "vertx_eventbus_pending" + dataType: "raw" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus processing time" + unit: "seconds" + spans: 6 + metricName: "vertx_eventbus_processingTime_seconds" + dataType: "histogram" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus bytes read" + unit: "bytes" + spans: 6 + metricName: "vertx_eventbus_bytesRead" + dataType: "histogram" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus bytes written" + unit: "bytes" + spans: 6 + metricName: "vertx_eventbus_bytesWritten" + dataType: "histogram" + aggregations: + - label: "address" + displayName: "Eventbus address" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml new file mode 100755 index 00000000000..2663186f3e6 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: JVM Metrics + items: + - include: "micrometer-1.1-jvm" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml new file mode 100755 index 00000000000..f6af921b356 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml @@ -0,0 +1,68 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-pool + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Pools Metrics + discoverOn: "vertx_pool_ratio" + items: + - chart: + name: "Usage duration" + unit: "seconds" + spans: 6 + metricName: "vertx_pool_usage_seconds" + dataType: "histogram" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Usage ratio" + spans: 6 + metricName: "vertx_pool_ratio" + dataType: "raw" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Queue size" + spans: 6 + metricName: "vertx_pool_queue_size" + dataType: "raw" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Time in queue" + unit: "seconds" + spans: 6 + metricName: "vertx_pool_queue_delay_seconds" + dataType: "histogram" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Resources used" + spans: 6 + metricName: "vertx_pool_inUse" + dataType: "raw" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-server.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-server.yaml new file mode 100755 index 00000000000..de6b89df9fd --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/dashboards/vertx-server.yaml @@ -0,0 +1,62 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-server + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Server Metrics + discoverOn: "vertx_http_server_connections" + items: + - chart: + name: "Server response time" + unit: "seconds" + spans: 6 + metricName: "vertx_http_server_responseTime_seconds" + dataType: "histogram" + aggregations: + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Server request count rate" + unit: "ops" + spans: 6 + metricName: "vertx_http_server_requestCount_total" + dataType: "rate" + aggregations: + - label: "code" + displayName: "Error code" + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Server active connections" + spans: 6 + metricName: "vertx_http_server_connections" + dataType: "raw" + - chart: + name: "Server active websockets" + spans: 6 + metricName: "vertx_http_server_wsConnections" + dataType: "raw" + - chart: + name: "Server bytes sent" + unit: "bytes" + spans: 6 + metricName: "vertx_http_server_bytesSent" + dataType: "histogram" + - chart: + name: "Server bytes received" + unit: "bytes" + spans: 6 + metricName: "vertx_http_server_bytesReceived" + dataType: "histogram" +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/deployment.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/deployment.yaml new file mode 100755 index 00000000000..100c5792288 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/deployment.yaml @@ -0,0 +1,174 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.deployment.replicas }} + selector: + matchLabels: + {{- include "kiali-server.selectorLabels" . | nindent 6 }} + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + name: {{ include "kiali-server.fullname" . }} + labels: + {{- include "kiali-server.labels" . | nindent 8 }} + {{- if .Values.deployment.pod_labels }} + {{- toYaml .Values.deployment.pod_labels | nindent 8 }} + {{- end }} + annotations: + {{- if .Values.server.metrics_enabled }} + prometheus.io/scrape: "true" + prometheus.io/port: {{ .Values.server.metrics_port | quote }} + {{- else }} + prometheus.io/scrape: "false" + prometheus.io/port: "" + {{- end }} + kiali.io/runtimes: go,kiali + {{- if .Values.deployment.pod_annotations }} + {{- toYaml .Values.deployment.pod_annotations | nindent 8 }} + {{- end }} + spec: + serviceAccountName: {{ include "kiali-server.fullname" . }} + {{- if .Values.deployment.priority_class_name }} + priorityClassName: {{ .Values.deployment.priority_class_name | quote }} + {{- end }} + {{- if .Values.deployment.image_pull_secrets }} + imagePullSecrets: + {{- range .Values.deployment.image_pull_secrets }} + - name: {{ . }} + {{- end }} + {{- end }} + containers: + - image: "{{ template "system_default_registry" . }}{{ .Values.deployment.repository }}:{{ .Values.deployment.tag }}" + imagePullPolicy: {{ .Values.deployment.image_pull_policy | default "Always" }} + name: {{ include "kiali-server.fullname" . }} + command: + - "/opt/kiali/kiali" + - "-config" + - "/kiali-configuration/config.yaml" + ports: + - name: api-port + containerPort: {{ .Values.server.port | default 20001 }} + {{- if .Values.server.metrics_enabled }} + - name: http-metrics + containerPort: {{ .Values.server.metrics_port | default 9090 }} + {{- end }} + readinessProbe: + httpGet: + path: {{ include "kiali-server.server.web_root" . | trimSuffix "/" }}/healthz + port: api-port + {{- if (include "kiali-server.identity.cert_file" .) }} + scheme: HTTPS + {{- else }} + scheme: HTTP + {{- end }} + initialDelaySeconds: 5 + periodSeconds: 30 + livenessProbe: + httpGet: + path: {{ include "kiali-server.server.web_root" . | trimSuffix "/" }}/healthz + port: api-port + {{- if (include "kiali-server.identity.cert_file" .) }} + scheme: HTTPS + {{- else }} + scheme: HTTP + {{- end }} + initialDelaySeconds: 5 + periodSeconds: 30 + env: + - name: ACTIVE_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: LOG_LEVEL + value: "{{ include "kiali-server.logLevel" . }}" + - name: LOG_FORMAT + value: "{{ .Values.deployment.logger.log_format }}" + - name: LOG_TIME_FIELD_FORMAT + value: "{{ .Values.deployment.logger.time_field_format }}" + - name: LOG_SAMPLER_RATE + value: "{{ .Values.deployment.logger.sampler_rate }}" + volumeMounts: + {{- if .Values.web_root_override }} + - name: kiali-console + subPath: env.js + mountPath: /opt/kiali/console/env.js + {{- end }} + - name: {{ include "kiali-server.fullname" . }}-configuration + mountPath: "/kiali-configuration" + - name: {{ include "kiali-server.fullname" . }}-cert + mountPath: "/kiali-cert" + - name: {{ include "kiali-server.fullname" . }}-secret + mountPath: "/kiali-secret" + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + - name: {{ include "kiali-server.fullname" . }}-cabundle + mountPath: "/kiali-cabundle" + {{- end }} + {{- if .Values.deployment.resources }} + resources: + {{- toYaml .Values.deployment.resources | nindent 10 }} + {{- end }} + volumes: + {{- if .Values.web_root_override }} + - name: kiali-console + configMap: + name: kiali-console + items: + - key: env.js + path: env.js + {{- end }} + - name: {{ include "kiali-server.fullname" . }}-configuration + configMap: + name: {{ include "kiali-server.fullname" . }} + - name: {{ include "kiali-server.fullname" . }}-cert + secret: + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + secretName: {{ include "kiali-server.fullname" . }}-cert-secret + {{- else }} + secretName: istio.{{ include "kiali-server.fullname" . }}-service-account + {{- end }} + {{- if not (include "kiali-server.identity.cert_file" .) }} + optional: true + {{- end }} + - name: {{ include "kiali-server.fullname" . }}-secret + secret: + secretName: {{ .Values.deployment.secret_name }} + optional: true + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + - name: {{ include "kiali-server.fullname" . }}-cabundle + configMap: + name: {{ include "kiali-server.fullname" . }}-cabundle + {{- end }} + {{- if or (.Values.deployment.affinity.node) (or (.Values.deployment.pod) (.Values.deployment.pod_anti)) }} + affinity: + {{- if .Values.deployment.affinity.node }} + nodeAffinity: + {{- toYaml .Values.deployment.affinity.node | nindent 10 }} + {{- end }} + {{- if .Values.deployment.affinity.pod }} + podAffinity: + {{- toYaml .Values.deployment.affinity.pod | nindent 10 }} + {{- end }} + {{- if .Values.deployment.affinity.pod_anti }} + podAntiAffinity: + {{- toYaml .Values.deployment.affinity.pod_anti | nindent 10 }} + {{- end }} + {{- end }} + {{- if .Values.deployment.tolerations }} + tolerations: + {{- toYaml .Values.deployment.tolerations | nindent 8 }} + {{- end }} + {{- if .Values.deployment.node_selector }} + nodeSelector: + {{- toYaml .Values.deployment.node_selector | nindent 8 }} + {{- end }} +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/hpa.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/hpa.yaml new file mode 100755 index 00000000000..934c4c1e9d7 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/hpa.yaml @@ -0,0 +1,17 @@ +{{- if .Values.deployment.hpa.spec }} +--- +apiVersion: {{ .Values.deployment.hpa.api_version }} +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "kiali-server.fullname" . }} + {{- toYaml .Values.deployment.hpa.spec | nindent 2 }} +... +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/ingress.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/ingress.yaml new file mode 100755 index 00000000000..e4c98db1b82 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/ingress.yaml @@ -0,0 +1,40 @@ +{{- if not (.Capabilities.APIVersions.Has "route.openshift.io/v1") }} +{{- if .Values.deployment.ingress_enabled }} +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + annotations: + {{- if hasKey .Values.deployment.override_ingress_yaml.metadata "annotations" }} + {{- toYaml .Values.deployment.override_ingress_yaml.metadata.annotations | nindent 4 }} + {{- else }} + # For ingress-nginx versions older than 0.20.0 use secure-backends. + # (see: https://github.com/kubernetes/ingress-nginx/issues/3416#issuecomment-438247948) + # For ingress-nginx versions 0.20.0 and later use backend-protocol. + {{- if (include "kiali-server.identity.cert_file" .) }} + nginx.ingress.kubernetes.io/secure-backends: "true" + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + {{- else }} + nginx.ingress.kubernetes.io/secure-backends: "false" + nginx.ingress.kubernetes.io/backend-protocol: "HTTP" + {{- end }} + {{- end }} +spec: + {{- if hasKey .Values.deployment.override_ingress_yaml "spec" }} + {{- toYaml .Values.deployment.override_ingress_yaml.spec | nindent 2 }} + {{- else }} + rules: + - http: + paths: + - path: {{ include "kiali-server.server.web_root" . }} + backend: + serviceName: {{ include "kiali-server.fullname" . }} + servicePort: {{ .Values.server.port }} + {{- end }} +... +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/oauth.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/oauth.yaml new file mode 100755 index 00000000000..a178bb85efc --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/oauth.yaml @@ -0,0 +1,17 @@ +{{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} +{{- if .Values.kiali_route_url }} +--- +apiVersion: oauth.openshift.io/v1 +kind: OAuthClient +metadata: + name: {{ include "kiali-server.fullname" . }}-{{ .Release.Namespace }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +redirectURIs: +- {{ .Values.kiali_route_url }} +grantMethod: auto +allowAnyScope: true +... +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/psp.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/psp.yaml new file mode 100755 index 00000000000..f891892cc4a --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/psp.yaml @@ -0,0 +1,67 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "kiali-server.fullname" . }}-psp + namespace: {{ .Release.Namespace }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "kiali-server.fullname" . }}-psp +subjects: + - kind: ServiceAccount + name: kiali +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "kiali-server.fullname" . }}-psp + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - policy + resourceNames: + - {{ include "kiali-server.fullname" . }}-psp + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "kiali-server.fullname" . }}-psp + namespace: {{ .Release.Namespace }} +spec: + allowPrivilegeEscalation: false + forbiddenSysctls: + - '*' + fsGroup: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + requiredDropCapabilities: + - ALL + runAsUser: + rule: MustRunAsNonRoot + runAsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + supplementalGroups: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + volumes: + - configMap + - emptyDir + - projected + - secret + - downwardAPI + - persistentVolumeClaim +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-controlplane.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-controlplane.yaml new file mode 100755 index 00000000000..a22c76756a7 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-controlplane.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "kiali-server.fullname" . }}-controlplane + namespace: {{ include "kiali-server.istio_namespace" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +rules: +- apiGroups: [""] + resources: + - secrets + verbs: + - list +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-viewer.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-viewer.yaml new file mode 100755 index 00000000000..9fdd9fd1de8 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role-viewer.yaml @@ -0,0 +1,97 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kiali-server.fullname" . }}-viewer + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +rules: +- apiGroups: [""] + resources: + - configmaps + - endpoints + - namespaces + - nodes + - pods + - pods/log + - pods/proxy + - replicationcontrollers + - services + verbs: + - get + - list + - watch +- apiGroups: [""] + resources: + - pods/portforward + verbs: + - create + - post +- apiGroups: ["extensions", "apps"] + resources: + - daemonsets + - deployments + - replicasets + - statefulsets + verbs: + - get + - list + - watch +- apiGroups: ["autoscaling"] + resources: + - horizontalpodautoscalers + verbs: + - get + - list + - watch +- apiGroups: ["batch"] + resources: + - cronjobs + - jobs + verbs: + - get + - list + - watch +- apiGroups: + - networking.istio.io + - security.istio.io + resources: ["*"] + verbs: + - get + - list + - watch +- apiGroups: ["apps.openshift.io"] + resources: + - deploymentconfigs + verbs: + - get + - list + - watch +- apiGroups: ["project.openshift.io"] + resources: + - projects + verbs: + - get +- apiGroups: ["route.openshift.io"] + resources: + - routes + verbs: + - get +- apiGroups: ["monitoring.kiali.io"] + resources: + - monitoringdashboards + verbs: + - get + - list +- apiGroups: ["iter8.tools"] + resources: + - experiments + verbs: + - get + - list +- apiGroups: ["authentication.k8s.io"] + resources: + - tokenreviews + verbs: + - create +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role.yaml new file mode 100755 index 00000000000..8444bc753ae --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/role.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kiali-server.fullname" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +rules: +- apiGroups: [""] + resources: + - configmaps + - endpoints + - namespaces + - nodes + - pods + - pods/log + - pods/proxy + - replicationcontrollers + - services + verbs: + - get + - list + - patch + - watch +- apiGroups: [""] + resources: + - pods/portforward + verbs: + - create + - post +- apiGroups: ["extensions", "apps"] + resources: + - daemonsets + - deployments + - replicasets + - statefulsets + verbs: + - get + - list + - patch + - watch +- apiGroups: ["autoscaling"] + resources: + - horizontalpodautoscalers + verbs: + - get + - list + - watch +- apiGroups: ["batch"] + resources: + - cronjobs + - jobs + verbs: + - get + - list + - patch + - watch +- apiGroups: + - networking.istio.io + - security.istio.io + resources: ["*"] + verbs: + - create + - delete + - get + - list + - patch + - watch +- apiGroups: ["apps.openshift.io"] + resources: + - deploymentconfigs + verbs: + - get + - list + - patch + - watch +- apiGroups: ["project.openshift.io"] + resources: + - projects + verbs: + - get +- apiGroups: ["route.openshift.io"] + resources: + - routes + verbs: + - get +- apiGroups: ["monitoring.kiali.io"] + resources: + - monitoringdashboards + verbs: + - get + - list +- apiGroups: ["iter8.tools"] + resources: + - experiments + verbs: + - create + - delete + - get + - list + - patch + - watch +- apiGroups: ["authentication.k8s.io"] + resources: + - tokenreviews + verbs: + - create +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding-controlplane.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding-controlplane.yaml new file mode 100755 index 00000000000..5a00158360c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding-controlplane.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "kiali-server.fullname" . }}-controlplane + namespace: {{ include "kiali-server.istio_namespace" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "kiali-server.fullname" . }}-controlplane +subjects: +- kind: ServiceAccount + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding.yaml new file mode 100755 index 00000000000..1eaabd65f59 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/rolebinding.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "kiali-server.fullname" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + {{- if .Values.deployment.view_only_mode }} + name: {{ include "kiali-server.fullname" . }}-viewer + {{- else }} + name: {{ include "kiali-server.fullname" . }} + {{- end }} +subjects: +- kind: ServiceAccount + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/route.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/route.yaml new file mode 100755 index 00000000000..27940dc96cc --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/route.yaml @@ -0,0 +1,30 @@ +{{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} +{{- if .Values.deployment.ingress_enabled }} +# As of OpenShift 4.5, need to use --disable-openapi-validation when installing via Helm +--- +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + {{- if hasKey .Values.deployment.override_ingress_yaml.metadata "annotations" }}} + annotations: + {{- toYaml .Values.deployment.override_ingress_yaml.metadata.annotations | nindent 4 }} + {{- end }} +spec: + {{- if hasKey .Values.deployment.override_ingress_yaml "spec" }} + {{- toYaml .Values.deployment.override_ingress_yaml.spec | nindent 2 }} + {{- else }} + tls: + termination: reencrypt + insecureEdgeTerminationPolicy: Redirect + to: + kind: Service + targetPort: {{ .Values.server.port }} + name: {{ include "kiali-server.fullname" . }} + {{- end }} +... +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/service.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/service.yaml new file mode 100755 index 00000000000..9ccf4f388f7 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/service.yaml @@ -0,0 +1,47 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + annotations: + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + service.beta.openshift.io/serving-cert-secret-name: {{ include "kiali-server.fullname" . }}-cert-secret + {{- end }} + kiali.io/api-spec: https://kiali.io/api + kiali.io/api-type: rest + {{- if and (not (empty .Values.server.web_fqdn)) (not (empty .Values.server.web_schema)) }} + {{- if empty .Values.server.web_port }} + kiali.io/external-url: {{ .Values.server.web_schema }}://{{ .Values.server.web_fqdn }}{{ default "" .Values.server.web_root }} + {{- else }} + kiali.io/external-url: {{ .Values.server.web_schema }}://{{ .Values.server.web_fqdn }}:{{ .Values.server.web_port }}{{(default "" .Values.server.web_root) }} + {{- end }} + {{- end }} + {{- if .Values.deployment.service_annotations }} + {{- toYaml .Values.deployment.service_annotations | nindent 4 }} + {{- end }} +spec: + {{- if .Values.deployment.service_type }} + type: {{ .Values.deployment.service_type }} + {{- end }} + ports: + {{- if (include "kiali-server.identity.cert_file" .) }} + - name: tcp + {{- else }} + - name: http + {{- end }} + protocol: TCP + port: {{ .Values.server.port }} + {{- if .Values.server.metrics_enabled }} + - name: http-metrics + protocol: TCP + port: {{ .Values.server.metrics_port }} + {{- end }} + selector: + {{- include "kiali-server.selectorLabels" . | nindent 4 }} + {{- if .Values.deployment.additional_service_yaml }} + {{- toYaml .Values.deployment.additional_service_yaml | nindent 2 }} + {{- end }} +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/serviceaccount.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/serviceaccount.yaml new file mode 100755 index 00000000000..9151b6f6a1b --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/serviceaccount.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +... diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/validate-install-crd.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/validate-install-crd.yaml new file mode 100755 index 00000000000..b42eeb2669d --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/validate-install-crd.yaml @@ -0,0 +1,14 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "monitoring.kiali.io/v1alpha1/MonitoringDashboard" 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-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/web-root-configmap.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/web-root-configmap.yaml new file mode 100755 index 00000000000..970d4e4f5d0 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/templates/web-root-configmap.yaml @@ -0,0 +1,12 @@ +{{- if .Values.web_root_override }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: kiali-console + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +data: + env.js: | + window.WEB_ROOT='/k8s/clusters/{{ .Values.global.cattle.clusterId }}/api/v1/namespaces/{{ .Release.Namespace }}/services/http:kiali:20001/proxy/kiali'; +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/values.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/values.yaml new file mode 100755 index 00000000000..aada4e09a9a --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/kiali/values.yaml @@ -0,0 +1,93 @@ +nameOverride: "kiali" +fullnameOverride: "kiali" + +# This is required for "openshift" auth strategy. +# You have to know ahead of time what your Route URL will be because +# right now the helm chart can't figure this out at runtime (it would +# need to wait for the Kiali Route to be deployed and for OpenShift +# to start it up). If someone knows how to update this helm chart to +# do this, a PR would be welcome. +kiali_route_url: "" + +# rancher specific override that allows proxy access to kiali url +web_root_override: true + +# +# Settings that mimic the Kiali CR which are placed in the ConfigMap. +# Note that only those values used by the Helm Chart will be here. +# + +istio_namespace: "" # default is where Kiali is installed + +auth: + openid: {} + openshift: {} + strategy: "" + +deployment: + # This only limits what Kiali will attempt to see, but Kiali Service Account has permissions to see everything. + # For more control over what the Kial Service Account can see, use the Kiali Operator + accessible_namespaces: + - "**" + additional_service_yaml: {} + affinity: + node: {} + pod: {} + pod_anti: {} + custom_dashboards: + excludes: [''] + includes: ['*'] + hpa: + api_version: "autoscaling/v2beta2" + spec: {} + repository: rancher/mirrored-kiali-kiali + image_pull_policy: "Always" + image_pull_secrets: [] + tag: v1.32.0 + ingress_enabled: true + logger: + log_format: "text" + log_level: "info" + time_field_format: "2006-01-02T15:04:05Z07:00" + sampler_rate: "1" + node_selector: {} + override_ingress_yaml: + metadata: {} + pod_annotations: {} + pod_labels: {} + priority_class_name: "" + replicas: 1 + resources: {} + secret_name: "kiali" + service_annotations: {} + service_type: "" + tolerations: [] + version_label: v1.32.0 + view_only_mode: false + +external_services: + custom_dashboards: + enabled: true + +identity: {} + #cert_file: + #private_key_file: + +login_token: + signing_key: "" + +server: + port: 20001 + metrics_enabled: true + metrics_port: 9090 + web_root: "" + +# Common settings used among istio subcharts. +global: + # Specify rancher clusterId of external tracing config + # https://github.com/istio/istio.io/issues/4146#issuecomment-493543032 + cattle: + systemDefaultRegistry: "" + clusterId: + rbac: + pspEnabled: false diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/.helmignore b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/.helmignore new file mode 100755 index 00000000000..0e8a0eb36f4 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/.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/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/Chart.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/Chart.yaml new file mode 100755 index 00000000000..6e368616d7b --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/hidden: "true" + catalog.cattle.io/os: linux + catalog.rancher.io/certified: rancher + catalog.rancher.io/namespace: istio-system + catalog.rancher.io/release-name: rancher-tracing +apiVersion: v1 +appVersion: 1.20.0 +description: A quick start Jaeger Tracing installation using the all-in-one demo. + This is not production qualified. Refer to https://www.jaegertracing.io/ for details. +name: tracing +version: 1.20.1 diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/README.md b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/README.md new file mode 100755 index 00000000000..25534c6288c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/README.md @@ -0,0 +1,5 @@ +# Jaeger + +A Rancher chart based on the Jaeger all-in-one quick installation option. This chart will allow you to trace and monitor distributed microservices. + +> **Note:** The basic all-in-one Jaeger installation which is not qualified for production. Use the [Jaeger Tracing](https://www.jaegertracing.io) documentation to determine which installation you will need for your production needs. diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_affinity.tpl b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_affinity.tpl new file mode 100755 index 00000000000..bf6a9aee5c5 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_affinity.tpl @@ -0,0 +1,92 @@ +{{/* affinity - https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ */}} +{{- define "nodeAffinity" }} + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + {{- include "nodeAffinityRequiredDuringScheduling" . }} + preferredDuringSchedulingIgnoredDuringExecution: + {{- include "nodeAffinityPreferredDuringScheduling" . }} +{{- end }} + +{{- define "nodeAffinityRequiredDuringScheduling" }} + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + {{- range $key, $val := .Values.global.arch }} + {{- if gt ($val | int) 0 }} + - {{ $key | quote }} + {{- end }} + {{- end }} + {{- $nodeSelector := default .Values.global.defaultNodeSelector .Values.nodeSelector -}} + {{- range $key, $val := $nodeSelector }} + - key: {{ $key }} + operator: In + values: + - {{ $val | quote }} + {{- end }} +{{- end }} + +{{- define "nodeAffinityPreferredDuringScheduling" }} + {{- range $key, $val := .Values.global.arch }} + {{- if gt ($val | int) 0 }} + - weight: {{ $val | int }} + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - {{ $key | quote }} + {{- end }} + {{- end }} +{{- end }} + +{{- define "podAntiAffinity" }} +{{- if or .Values.podAntiAffinityLabelSelector .Values.podAntiAffinityTermLabelSelector}} + podAntiAffinity: + {{- if .Values.podAntiAffinityLabelSelector }} + requiredDuringSchedulingIgnoredDuringExecution: + {{- include "podAntiAffinityRequiredDuringScheduling" . }} + {{- end }} + {{- if or .Values.podAntiAffinityTermLabelSelector}} + preferredDuringSchedulingIgnoredDuringExecution: + {{- include "podAntiAffinityPreferredDuringScheduling" . }} + {{- end }} +{{- end }} +{{- end }} + +{{- define "podAntiAffinityRequiredDuringScheduling" }} + {{- range $index, $item := .Values.podAntiAffinityLabelSelector }} + - labelSelector: + matchExpressions: + - key: {{ $item.key }} + operator: {{ $item.operator }} + {{- if $item.values }} + values: + {{- $vals := split "," $item.values }} + {{- range $i, $v := $vals }} + - {{ $v | quote }} + {{- end }} + {{- end }} + topologyKey: {{ $item.topologyKey }} + {{- end }} +{{- end }} + +{{- define "podAntiAffinityPreferredDuringScheduling" }} + {{- range $index, $item := .Values.podAntiAffinityTermLabelSelector }} + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: {{ $item.key }} + operator: {{ $item.operator }} + {{- if $item.values }} + values: + {{- $vals := split "," $item.values }} + {{- range $i, $v := $vals }} + - {{ $v | quote }} + {{- end }} + {{- end }} + topologyKey: {{ $item.topologyKey }} + weight: 100 + {{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_helpers.tpl b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_helpers.tpl new file mode 100755 index 00000000000..56cfa733533 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "tracing.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 "tracing.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 -}} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/deployment.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/deployment.yaml new file mode 100755 index 00000000000..25bb67fd3d4 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/deployment.yaml @@ -0,0 +1,86 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + selector: + matchLabels: + app: {{ .Values.provider }} + template: + metadata: + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + annotations: + sidecar.istio.io/inject: "false" + prometheus.io/scrape: "true" + prometheus.io/port: "14269" +{{- if .Values.jaeger.podAnnotations }} +{{ toYaml .Values.jaeger.podAnnotations | indent 8 }} +{{- end }} + spec: + containers: + - name: jaeger + image: "{{ template "system_default_registry" . }}{{ .Values.jaeger.repository }}:{{ .Values.jaeger.tag }}" + imagePullPolicy: {{ .Values.global.imagePullPolicy }} + env: + {{- if eq .Values.jaeger.spanStorageType "badger" }} + - name: BADGER_EPHEMERAL + value: "false" + - name: SPAN_STORAGE_TYPE + value: "badger" + - name: BADGER_DIRECTORY_VALUE + value: "/badger/data" + - name: BADGER_DIRECTORY_KEY + value: "/badger/key" + {{- end }} + - name: COLLECTOR_ZIPKIN_HTTP_PORT + value: "9411" + - name: MEMORY_MAX_TRACES + value: "{{ .Values.jaeger.memory.max_traces }}" + - name: QUERY_BASE_PATH + value: {{ if .Values.contextPath }} {{ .Values.contextPath }} {{ else }} /{{ .Values.provider }} {{ end }} + livenessProbe: + httpGet: + path: / + port: 14269 + readinessProbe: + httpGet: + path: / + port: 14269 +{{- if eq .Values.jaeger.spanStorageType "badger" }} + volumeMounts: + - name: data + mountPath: /badger +{{- end }} + resources: +{{- if .Values.jaeger.resources }} +{{ toYaml .Values.jaeger.resources | indent 12 }} +{{- else }} +{{ toYaml .Values.global.defaultResources | indent 12 }} +{{- end }} + affinity: + {{- include "nodeAffinity" . | indent 6 }} + {{- include "podAntiAffinity" . | indent 6 }} + {{- if .Values.global.rbac.pspEnabled }} + securityContext: + runAsNonRoot: true + runAsUser: 1000 + serviceAccountName: {{ include "tracing.fullname" . }} + {{- end }} +{{- if eq .Values.jaeger.spanStorageType "badger" }} + volumes: + - name: data +{{- if .Values.jaeger.persistentVolumeClaim.enabled }} + persistentVolumeClaim: + claimName: istio-jaeger-pvc +{{- else }} + emptyDir: {} +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/psp.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/psp.yaml new file mode 100755 index 00000000000..44b230492b6 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/psp.yaml @@ -0,0 +1,86 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "tracing.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "tracing.fullname" . }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +rules: +- apiGroups: + - policy + resourceNames: + - {{ include "tracing.fullname" . }} + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + allowPrivilegeEscalation: false + forbiddenSysctls: + - '*' + fsGroup: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + requiredDropCapabilities: + - ALL + runAsUser: + rule: MustRunAsNonRoot + runAsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + supplementalGroups: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + volumes: + - emptyDir + - secret + - persistentVolumeClaim +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/pvc.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/pvc.yaml new file mode 100755 index 00000000000..9b4c55e4fb3 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/pvc.yaml @@ -0,0 +1,16 @@ +{{- if .Values.jaeger.persistentVolumeClaim.enabled }} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: istio-jaeger-pvc + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} +spec: + storageClassName: {{ .Values.jaeger.storageClassName }} + accessModes: + - {{ .Values.jaeger.accessMode }} + resources: + requests: + storage: {{.Values.jaeger.persistentVolumeClaim.storage }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/service.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/service.yaml new file mode 100755 index 00000000000..4210a9b5fc4 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/templates/service.yaml @@ -0,0 +1,63 @@ +apiVersion: v1 +kind: Service +metadata: + name: tracing + namespace: {{ .Release.Namespace }} + annotations: + {{- range $key, $val := .Values.service.annotations }} + {{ $key }}: {{ $val | quote }} + {{- end }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + type: {{ .Values.service.type }} + ports: + - name: {{ .Values.service.name }} + port: {{ .Values.service.externalPort }} + protocol: TCP + targetPort: 16686 + selector: + app: {{ .Values.provider }} +--- +# Jaeger implements the Zipkin API. To support swapping out the tracing backend, we use a Service named Zipkin. +apiVersion: v1 +kind: Service +metadata: + name: zipkin + namespace: {{ .Release.Namespace }} + labels: + name: zipkin + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + ports: + - name: {{ .Values.service.name }} + port: {{ .Values.zipkin.queryPort }} + targetPort: {{ .Values.zipkin.queryPort }} + selector: + app: {{ .Values.provider }} +--- +apiVersion: v1 +kind: Service +metadata: + name: jaeger-collector + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + type: ClusterIP + ports: + - name: jaeger-collector-http + port: 14268 + targetPort: 14268 + protocol: TCP + - name: jaeger-collector-grpc + port: 14250 + targetPort: 14250 + protocol: TCP + selector: + app: {{ .Values.provider }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/values.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/values.yaml new file mode 100755 index 00000000000..18ff81c3c8c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/charts/tracing/values.yaml @@ -0,0 +1,44 @@ +provider: jaeger +contextPath: "" +nodeSelector: {} +podAntiAffinityLabelSelector: [] +podAntiAffinityTermLabelSelector: [] +nameOverride: "" +fullnameOverride: "" + +global: + cattle: + systemDefaultRegistry: "" + defaultResources: {} + imagePullPolicy: IfNotPresent + imagePullSecrets: [] + arch: + amd64: 2 + s390x: 2 + ppc64le: 2 + defaultNodeSelector: {} + rbac: + pspEnabled: false + +jaeger: + repository: rancher/mirrored-jaegertracing-all-in-one + tag: 1.20.0 + # spanStorageType value can be "memory" and "badger" for all-in-one image + spanStorageType: badger + resources: + requests: + cpu: 10m + persistentVolumeClaim: + enabled: false + storage: 5Gi + storageClassName: "" + accessMode: ReadWriteMany + memory: + max_traces: 50000 +zipkin: + queryPort: 9411 +service: + annotations: {} + name: http-query + type: ClusterIP + externalPort: 16686 diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/configs/istio-base.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/configs/istio-base.yaml new file mode 100755 index 00000000000..7ff972e2d74 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/configs/istio-base.yaml @@ -0,0 +1,89 @@ +apiVersion: install.istio.io/v1alpha1 +kind: IstioOperator +spec: + addonComponents: + istiocoredns: + enabled: {{ .Values.istiocoredns.enabled }} + components: + base: + enabled: {{ .Values.base.enabled }} + cni: + enabled: {{ .Values.cni.enabled }} + egressGateways: + - enabled: {{ .Values.egressGateways.enabled }} + name: istio-egressgateway + ingressGateways: + - enabled: {{ .Values.ingressGateways.enabled }} + name: istio-ingressgateway + k8s: + service: + ports: + - name: status-port + port: 15021 + targetPort: 15021 + - name: http2 + port: 80 + targetPort: 8080 + nodePort: 31380 + - name: https + port: 443 + targetPort: 8443 + nodePort: 31390 + - name: tcp + port: 31400 + targetPort: 31400 + nodePort: 31400 + - name: tls + port: 15443 + targetPort: 15443 + istiodRemote: + enabled: {{ .Values.istiodRemote.enabled }} + pilot: + enabled: {{ .Values.pilot.enabled }} + hub: {{ .Values.systemDefaultRegistry | default "docker.io" }} + profile: default + tag: {{ .Values.tag }} + revision: {{ .Values.revision }} + meshConfig: + defaultConfig: + proxyMetadata: + {{- if .Values.dns.enabled }} + ISTIO_META_DNS_CAPTURE: "true" + {{- end }} + values: + gateways: + istio-egressgateway: + name: istio-egressgateway + type: {{ .Values.egressGateways.type }} + istio-ingressgateway: + name: istio-ingressgateway + type: {{ .Values.ingressGateways.type }} + global: + istioNamespace: {{ template "istio.namespace" . }} + proxy: + image: {{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }} + proxy_init: + image: {{ template "system_default_registry" . }}{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }} + {{- if .Values.global.defaultPodDisruptionBudget.enabled }} + defaultPodDisruptionBudget: + enabled: {{ .Values.global.defaultPodDisruptionBudget.enabled }} + {{- end }} + istiocoredns: + coreDNSImage: {{ template "system_default_registry" . }}{{ .Values.istiocoredns.image.repository }} + coreDNSPluginImage: {{ template "system_default_registry" . }}{{ .Values.istiocoredns.pluginImage.repository }}:{{ .Values.istiocoredns.pluginImage.tag }} + coreDNSTag: {{ .Values.istiocoredns.image.tag }} + {{- if .Values.pilot.enabled }} + pilot: + image: {{ template "system_default_registry" . }}{{ .Values.pilot.repository }}:{{ .Values.pilot.tag }} + {{- end }} + telemetry: + enabled: {{ .Values.telemetry.enabled }} + v2: + enabled: {{ .Values.telemetry.v2.enabled }} + {{- if .Values.cni.enabled }} + cni: + image: {{ template "system_default_registry" . }}{{ .Values.cni.repository }}:{{ .Values.cni.tag }} + excludeNamespaces: + {{- toYaml .Values.cni.excludeNamespaces | nindent 8 }} + logLevel: {{ .Values.cni.logLevel }} + {{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/requirements.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/requirements.yaml new file mode 100755 index 00000000000..b607457802d --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/requirements.yaml @@ -0,0 +1,17 @@ +dependencies: +- name: kiali + version: "" + repository: file://./charts/kiali + condition: kiali.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" +- name: tracing + version: "" + repository: file://./charts/tracing + condition: tracing.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/samples/overlay-example.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/samples/overlay-example.yaml new file mode 100755 index 00000000000..5cf3cf3b0b6 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/samples/overlay-example.yaml @@ -0,0 +1,37 @@ +apiVersion: install.istio.io/v1alpha1 +kind: IstioOperator +spec: + components: + ingressGateways: + - enabled: true + name: ilb-gateway + namespace: user-ingressgateway-ns + k8s: + resources: + requests: + cpu: 200m + service: + ports: + - name: tcp-citadel-grpc-tls + port: 8060 + targetPort: 8060 + - name: tcp-dns + port: 5353 + serviceAnnotations: + cloud.google.com/load-balancer-type: internal + - enabled: true + name: other-gateway + namespace: cattle-istio-system + k8s: + resources: + requests: + cpu: 200m + service: + ports: + - name: tcp-citadel-grpc-tls + port: 8060 + targetPort: 8060 + - name: tcp-dns + port: 5353 + serviceAnnotations: + cloud.google.com/load-balancer-type: internal diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/_helpers.tpl b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/_helpers.tpl new file mode 100755 index 00000000000..3f7af953a8d --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/_helpers.tpl @@ -0,0 +1,12 @@ +{{/* Ensure namespace is set the same everywhere */}} +{{- define "istio.namespace" -}} + {{- .Release.Namespace | default "istio-system" -}} +{{- end -}} + +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/admin-role.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/admin-role.yaml new file mode 100755 index 00000000000..ad1313c4f1a --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/admin-role.yaml @@ -0,0 +1,43 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + name: istio-admin + namespace: {{ template "istio.namespace" . }} +rules: + - apiGroups: + - config.istio.io + resources: + - adapters + - attributemanifests + - handlers + - httpapispecbindings + - httpapispecs + - instances + - quotaspecbindings + - quotaspecs + - rules + - templates + verbs: ["get", "watch", "list"] + - apiGroups: + - networking.istio.io + resources: + - destinationrules + - envoyfilters + - gateways + - serviceentries + - sidecars + - virtualservices + - workloadentries + verbs: + - '*' + - apiGroups: + - security.istio.io + resources: + - authorizationpolicies + - peerauthentications + - requestauthentications + verbs: + - '*' diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/base-config-map.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/base-config-map.yaml new file mode 100755 index 00000000000..5323917bc3d --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/base-config-map.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: istio-installer-base + namespace: {{ template "istio.namespace" . }} +data: +{{ tpl (.Files.Glob "configs/*").AsConfig . | indent 2 }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrole.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrole.yaml new file mode 100755 index 00000000000..a93b3df95d0 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrole.yaml @@ -0,0 +1,120 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: istio-installer +rules: +# istio groups +- apiGroups: + - authentication.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - config.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - install.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - networking.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - rbac.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - security.istio.io + resources: + - '*' + verbs: + - '*' +# k8s groups +- apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + - validatingwebhookconfigurations + verbs: + - '*' +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions.apiextensions.k8s.io + - customresourcedefinitions + verbs: + - '*' +- apiGroups: + - apps + - extensions + resources: + - daemonsets + - deployments + - deployments/finalizers + - ingresses + - replicasets + - statefulsets + verbs: + - '*' +- apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - '*' +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - get + - create +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + - roles + - rolebindings + verbs: + - '*' +- apiGroups: + - "" + resources: + - configmaps + - endpoints + - events + - namespaces + - pods + - pods/exec + - persistentvolumeclaims + - secrets + - services + - serviceaccounts + verbs: + - '*' +- apiGroups: + - policy + resourceNames: + - istio-installer + resources: + - podsecuritypolicies + verbs: + - use diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrolebinding.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrolebinding.yaml new file mode 100755 index 00000000000..9d74a043451 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/clusterrolebinding.yaml @@ -0,0 +1,12 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: istio-installer +subjects: +- kind: ServiceAccount + name: istio-installer + namespace: {{ template "istio.namespace" . }} +roleRef: + kind: ClusterRole + name: istio-installer + apiGroup: rbac.authorization.k8s.io diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/edit-role.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/edit-role.yaml new file mode 100755 index 00000000000..d1059d58d7d --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/edit-role.yaml @@ -0,0 +1,43 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + rbac.authorization.k8s.io/aggregate-to-edit: "true" + namespace: {{ template "istio.namespace" . }} + name: istio-edit +rules: + - apiGroups: + - config.istio.io + resources: + - adapters + - attributemanifests + - handlers + - httpapispecbindings + - httpapispecs + - instances + - quotaspecbindings + - quotaspecs + - rules + - templates + verbs: ["get", "watch", "list"] + - apiGroups: + - networking.istio.io + resources: + - destinationrules + - envoyfilters + - gateways + - serviceentries + - sidecars + - virtualservices + - workloadentries + verbs: + - '*' + - apiGroups: + - security.istio.io + resources: + - authorizationpolicies + - peerauthentications + - requestauthentications + verbs: + - '*' diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-cni-psp.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-cni-psp.yaml new file mode 100755 index 00000000000..5b94c8503fb --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-cni-psp.yaml @@ -0,0 +1,51 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: psp-istio-cni + namespace: {{ template "istio.namespace" . }} +spec: + allowPrivilegeEscalation: true + fsGroup: + rule: RunAsAny + hostNetwork: true + runAsUser: + rule: RunAsAny + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + volumes: + - secret + - configMap + - emptyDir + - hostPath +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: psp-istio-cni + namespace: {{ template "istio.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: psp-istio-cni +subjects: + - kind: ServiceAccount + name: istio-cni +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: psp-istio-cni + namespace: {{ template "istio.namespace" . }} +rules: +- apiGroups: + - policy + resourceNames: + - psp-istio-cni + resources: + - podsecuritypolicies + verbs: + - use +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-job.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-job.yaml new file mode 100755 index 00000000000..9a13f5698f3 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-job.yaml @@ -0,0 +1,50 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: istioctl-installer + namespace: {{ template "istio.namespace" . }} + annotations: + "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +spec: + backoffLimit: 1 + template: + spec: + containers: + - name: istioctl-installer + image: {{ template "system_default_registry" . }}{{ .Values.installer.repository }}:{{ .Values.installer.tag }} + env: + - name: RELEASE_NAME + value: {{ .Release.Name }} + - name: ISTIO_NAMESPACE + value: {{ template "istio.namespace" . }} + - name: FORCE_INSTALL + value: {{ .Values.forceInstall | default "false" | quote }} + command: ["/bin/sh","-c"] + args: ["/usr/local/app/scripts/run.sh"] + volumeMounts: + - name: config-volume + mountPath: /app/istio-base.yaml + subPath: istio-base.yaml + {{- if .Values.overlayFile }} + - name: overlay-volume + mountPath: /app/overlay-config.yaml + subPath: overlay-config.yaml + {{- end }} + volumes: + - name: config-volume + configMap: + name: istio-installer-base + {{- if .Values.overlayFile }} + - name: overlay-volume + configMap: + name: istio-installer-overlay + {{- end }} + serviceAccountName: istio-installer + {{- if .Values.global.rbac.pspEnabled }} + securityContext: + runAsUser: 101 + runAsGroup: 101 + {{- end }} + restartPolicy: Never diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-psp.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-psp.yaml new file mode 100755 index 00000000000..f0b5ee565fe --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-install-psp.yaml @@ -0,0 +1,30 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: istio-installer + namespace: {{ template "istio.namespace" . }} +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: + - 'configMap' + - 'secret' +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-psp.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-psp.yaml new file mode 100755 index 00000000000..b3758b74f1c --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-psp.yaml @@ -0,0 +1,81 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: istio-psp + namespace: {{ template "istio.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: istio-psp +subjects: + - kind: ServiceAccount + name: istio-egressgateway-service-account + - kind: ServiceAccount + name: istio-ingressgateway-service-account + - kind: ServiceAccount + name: istio-mixer-service-account + - kind: ServiceAccount + name: istio-operator-authproxy + - kind: ServiceAccount + name: istiod-service-account + - kind: ServiceAccount + name: istio-sidecar-injector-service-account + - kind: ServiceAccount + name: istiocoredns-service-account + - kind: ServiceAccount + name: default +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: istio-psp + namespace: {{ template "istio.namespace" . }} +rules: +- apiGroups: + - policy + resourceNames: + - istio-psp + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: istio-psp + namespace: {{ template "istio.namespace" . }} +spec: + allowPrivilegeEscalation: false + forbiddenSysctls: + - '*' + fsGroup: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + requiredDropCapabilities: + - ALL + runAsUser: + rule: MustRunAsNonRoot + runAsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + supplementalGroups: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + volumes: + - configMap + - emptyDir + - projected + - secret + - downwardAPI + - persistentVolumeClaim +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-uninstall-job.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-uninstall-job.yaml new file mode 100755 index 00000000000..a7f15632579 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/istio-uninstall-job.yaml @@ -0,0 +1,45 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: istioctl-uninstaller + namespace: {{ template "istio.namespace" . }} + annotations: + "helm.sh/hook": pre-delete + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": hook-succeeded +spec: + template: + spec: + containers: + - name: istioctl-uninstaller + image: {{ template "system_default_registry" . }}{{ .Values.installer.repository }}:{{ .Values.installer.tag }} + env: + - name: RELEASE_NAME + value: {{ .Release.Name }} + - name: ISTIO_NAMESPACE + value: {{ template "istio.namespace" . }} + command: ["/bin/sh","-c"] + args: ["/usr/local/app/scripts/uninstall_istio_system.sh"] + volumeMounts: + - name: config-volume + mountPath: /app/istio-base.yaml + subPath: istio-base.yaml + {{- if .Values.overlayFile }} + - name: overlay-volume + mountPath: /app/overlay-config.yaml + subPath: overlay-config.yaml + {{ end }} + volumes: + - name: config-volume + configMap: + name: istio-installer-base + {{- if .Values.overlayFile }} + - name: overlay-volume + configMap: + name: istio-installer-overlay + {{ end }} + serviceAccountName: istio-installer + securityContext: + runAsUser: 101 + runAsGroup: 101 + restartPolicy: OnFailure diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/overlay-config-map.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/overlay-config-map.yaml new file mode 100755 index 00000000000..287d26b2c32 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/overlay-config-map.yaml @@ -0,0 +1,9 @@ +{{- if .Values.overlayFile }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: istio-installer-overlay + namespace: {{ template "istio.namespace" . }} +data: + overlay-config.yaml: {{ toYaml .Values.overlayFile | indent 2 }} +{{- end }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/service-monitors.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/service-monitors.yaml new file mode 100755 index 00000000000..c3d60c4fce9 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/service-monitors.yaml @@ -0,0 +1,51 @@ +{{- if .Values.kiali.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: envoy-stats-monitor + namespace: {{ template "istio.namespace" . }} + labels: + monitoring: istio-proxies +spec: + selector: + matchExpressions: + - {key: istio-prometheus-ignore, operator: DoesNotExist} + namespaceSelector: + any: true + jobLabel: envoy-stats + endpoints: + - path: /stats/prometheus + targetPort: 15090 + interval: 15s + relabelings: + - sourceLabels: [__meta_kubernetes_pod_container_port_name] + action: keep + regex: '.*-envoy-prom' + - action: labeldrop + regex: "__meta_kubernetes_pod_label_(.+)" + - sourceLabels: [__meta_kubernetes_namespace] + action: replace + targetLabel: namespace + - sourceLabels: [__meta_kubernetes_pod_name] + action: replace + targetLabel: pod_name +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: istio-component-monitor + namespace: {{ template "istio.namespace" . }} + labels: + monitoring: istio-components +spec: + jobLabel: istio + targetLabels: [app] + selector: + matchExpressions: + - {key: istio, operator: In, values: [pilot]} + namespaceSelector: + any: true + endpoints: + - port: http-monitoring + interval: 15s +{{- end -}} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/serviceaccount.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/serviceaccount.yaml new file mode 100755 index 00000000000..82b6cbb7e62 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: istio-installer + namespace: {{ template "istio.namespace" . }} diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/view-role.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/view-role.yaml new file mode 100755 index 00000000000..5947d3eba97 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/templates/view-role.yaml @@ -0,0 +1,41 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + rbac.authorization.k8s.io/aggregate-to-view: "true" + namespace: {{ template "istio.namespace" . }} + name: istio-view +rules: + - apiGroups: + - config.istio.io + resources: + - adapters + - attributemanifests + - handlers + - httpapispecbindings + - httpapispecs + - instances + - quotaspecbindings + - quotaspecs + - rules + - templates + verbs: ["get", "watch", "list"] + - apiGroups: + - networking.istio.io + resources: + - destinationrules + - envoyfilters + - gateways + - serviceentries + - sidecars + - virtualservices + - workloadentries + verbs: ["get", "watch", "list"] + - apiGroups: + - security.istio.io + resources: + - authorizationpolicies + - peerauthentications + - requestauthentications + verbs: ["get", "watch", "list"] diff --git a/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/values.yaml b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/values.yaml new file mode 100755 index 00000000000..8b97b704569 --- /dev/null +++ b/charts/rancher-istio-1.8/rancher-istio/1.8.500-rc03/values.yaml @@ -0,0 +1,95 @@ +overlayFile: "" +tag: 1.8.5 +##Setting forceInstall: true will remove the check for istio version < 1.6.x and will not analyze your install cluster prior to install +forceInstall: false + +installer: + repository: rancher/istio-installer + tag: 1.8.5-rancher1 + +##Deprecated as of 1.8 and unsupported in 1.9, native support provided by enabling `dns.enabled=true` +istiocoredns: + enabled: false + image: + repository: rancher/mirrored-coredns-coredns + tag: 1.6.2 + pluginImage: + repository: rancher/mirrored-istio-coredns-plugin + tag: 0.2-istio-1.1 + +##Native support for dns added in 1.8 +dns: + enabled: false + +base: + enabled: true + +cni: + enabled: false + repository: rancher/mirrored-istio-install-cni + tag: 1.8.5 + logLevel: info + excludeNamespaces: + - istio-system + - kube-system + +egressGateways: + enabled: false + type: NodePort + +ingressGateways: + enabled: true + type: NodePort + +istiodRemote: + enabled: false + +pilot: + enabled: true + repository: rancher/mirrored-istio-pilot + tag: 1.8.5 + +telemetry: + enabled: true + v2: + enabled: true + +global: + cattle: + systemDefaultRegistry: "" + proxy: + repository: rancher/mirrored-istio-proxyv2 + tag: 1.8.5 + proxy_init: + repository: rancher/mirrored-istio-proxyv2 + tag: 1.8.5 + defaultPodDisruptionBudget: + enabled: true + rbac: + pspEnabled: false + +# Kiali subchart from rancher-kiali-server +kiali: + enabled: true + auth: + strategy: anonymous + deployment: + ingress_enabled: false + repository: rancher/mirrored-kiali-kiali + tag: v1.32.0 + external_services: + prometheus: + custom_metrics_url: "http://rancher-monitoring-prometheus.cattle-monitoring-system.svc:9090" + url: "http://rancher-monitoring-prometheus.cattle-monitoring-system.svc:9090" + tracing: + in_cluster_url: "http://tracing.istio-system.svc:16686/jaeger" + grafana: + in_cluster_url: "http://rancher-monitoring-grafana.cattle-monitoring-system.svc:80" + url: "http://rancher-monitoring-grafana.cattle-monitoring-system.svc:80" + +tracing: + enabled: false + contextPath: "/jaeger" + jaeger: + repository: rancher/mirrored-jaegertracing-all-in-one + tag: 1.20.0 diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/Chart.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/Chart.yaml new file mode 100755 index 00000000000..3ae0e168658 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/Chart.yaml @@ -0,0 +1,21 @@ +annotations: + catalog.cattle.io/auto-install: rancher-kiali-server-crd=1.32.100-rc01 + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Istio + catalog.cattle.io/namespace: istio-system + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: networking.istio.io.virtualservice/v1beta1 + catalog.cattle.io/release-name: rancher-istio + catalog.cattle.io/requests-cpu: 710m + catalog.cattle.io/requests-memory: 2314Mi + catalog.cattle.io/ui-component: istio +apiVersion: v1 +appVersion: 1.9.3 +description: A basic Istio setup that installs with the istioctl. Refer to https://istio.io/latest/ + for details. +icon: https://charts.rancher.io/assets/logos/istio.svg +keywords: +- networking +- infrastructure +name: rancher-istio +version: 1.9.300-rc03 diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/README.md b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/README.md new file mode 100755 index 00000000000..199e4531269 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/README.md @@ -0,0 +1,69 @@ +# Rancher Istio Installers + +A Rancher created chart that packages the istioctl binary to install via a helm chart. + +# Installation Requirements + +## Chart Dependencies +- rancher-kiali-server-crd chart + +# Uninstallation Requirements +To ensure rancher-istio uninstalls correctly, you must uninstall rancher-istio prior to uninstalling chart dependencies (see installation requirements for chart dependencies). This is because all definitions need to be available in order to properly build the rancher-istio objects for removal. + +If you remove dependent CRD charts prior to removing rancher-istio, you may encounter the following error:: + +`Error: uninstallation completed with 1 error(s): unable to build kubernetes objects for delete: unable to recognize "": no matches for kind "MonitoringDashboard" in version "monitoring.kiali.io/v1alpha1"` + +# Addons + +## Kiali + +Kiali allows you to view and manage your istio-based service mesh through an easy to use dashboard. + +#### Dependencies +- rancher-monitoring chart or other Prometheus installation + +This dependecy installs the required CRDs for installing Kiali. Since Kiali is bundled in with Istio in this chart, if you do not have these dependencies installed, your Istio installation will fail. If you do not plan on using Kiali, set `kiali.enabled=false` when installing Istio for a succesful installation. + +> **Note:** The following configuration options assume you have installed the dependecies for Kiali. Please ensure you have Promtheus in your cluster before proceeding. + +The Monitoring app sets `prometheus.prometheusSpec.ignoreNamespaceSelectors=false` which means all namespaces will be scraped by Prometheus by default. This ensures you can view traffic, metrics and graphs for resources deployed in other namespaces. + +To limit scraping to specific namespaces, set `prometheus.prometheusSpec.ignoreNamespaceSelectors=true` and add one of the following configurations to ensure you can continue to view traffic, metrics and graphs for your deployed resources. + +1. Add a Service Monitor or Pod Monitor in the namespace with the targets you want to scrape. +1. Add an additionalScrapeConfig to your rancher-monitoring instance to scrape all targets in all namespaces. + +#### External Services + +##### Prometheus +The `kiali.external_services.prometheus` url is set in the values.yaml: +``` +http://{{ .Values.nameOverride }}-prometheus.{{ .Values.namespaceOverride }}.svc:{{ prometheus.service.port }} +``` +The url depends on the default values for `nameOverride`, `namespaceOverride`, and `prometheus.service.port` being set in your rancher-monitoring or other monitoring instance. + +##### Grafana +The `kiali.external_services.grafana` url is set in the values.yaml: +``` +http://{{ .Values.nameOverride }}-grafana.{{ .Values.namespaceOverride }}.svc:{{ grafana.service.port }} +``` +The url depends on the default values for `nameOverride`, `namespaceOverride`, and `grafana.service.port` being set in your rancher-monitoring or other monitoring instance. + +##### Tracing +The `kiali.external_services.tracing` url and `.Values.tracing.contextPath` is set in the rancher-istio values.yaml: +``` +http://tracing.{{ .Values.namespaceOverride }}.svc:{{ .Values.service.externalPort }}/{{ .Values.tracing.contextPath }} +``` +The url depends on the default values for `namespaceOverride`, and `.Values.service.externalPort` being set in your rancher-tracing or other tracing instance. + +## Jaeger + +Jaeger allows you to trace and monitor distributed microservices. + +> **Note:** This addon is using the all-in-one Jaeger installation which is not qualified for production. Use the [Jaeger Tracing](https://www.jaegertracing.io/docs/1.21/getting-started/) documentation to determine which installation you will need for your production needs. + +# Installation +``` +helm install rancher-istio . --create-namespace -n istio-system +``` \ No newline at end of file diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/app-readme.md b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/app-readme.md new file mode 100755 index 00000000000..0e42df08369 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/app-readme.md @@ -0,0 +1,45 @@ +# Rancher Istio + +Our [Istio](https://istio.io/) installer wraps the istioctl binary commands in a handy helm chart, including an overlay file option to allow complex customization. It also includes: +* **[Kiali](https://kiali.io/)**: Used for graphing traffic flow throughout the mesh +* **[Jaeger](https://www.jaegertracing.io/)**: A quick start, all-in-one installation used for tracing distributed systemm. This is not production qualified, please refer to jaeger documentation to determine which installation you may need instead. + +### Dependencies + +**Rancher Monitoring or other Prometheus installation** + +The Prometheus CRDs are required for installing Kiali which is enabled by default. If you do not have Prometheus installed your Istio installation will fail. If you do not plan on using Kiali, set `kiali.enabled=false` to bypass this requirement. + +### Customization + +**Rancher Monitoring** + +The Rancher Monitoring app sets `prometheus.prometheusSpec.ignoreNamespaceSelectors=false` which means all namespaces will be scraped by Prometheus by default. This ensures you can view traffic, metrics and graphs for resources deployed in other namespaces. + +To limit scraping to specific namespaces, set `prometheus.prometheusSpec.ignoreNamespaceSelectors=true` and add one of the following configurations to ensure you can continue to view traffic, metrics and graphs for your deployed resources. + +1. Add a Service Monitor or Pod Monitor in the namespace with the targets you want to scrape. +1. Add an additionalScrapeConfig to your rancher-monitoring instance to scrape all targets in all namespaces. + +**Custom Prometheus Installation with Kiali** + +To use a custom Monitoring installation, set the `kiali.external_services.prometheus` url in the values.yaml. This url depends on the values for `nameOverride`, `namespaceOverride`, and `prometheus.service.port` in your rancher-monitoring or other monitoring instance: +``` +http://{{ .Values.nameOverride }}-prometheus.{{ .Values.namespaceOverride }}.svc:{{ prometheus.service.port }} +``` +**Custom Grafana Installation with Kiali** + +To use a custom Grafana installation, set the `kiali.external_services.grafana` url in the values.yaml. This url depends on the values for `nameOverride`, `namespaceOverride`, and `granfa.service.port` in your rancher-monitoring or other grafana instance: +``` +http://{{ .Values.nameOverride }}-grafana.{{ .Values.namespaceOverride }}.svc:{{ grafana.service.port }} +``` +**Custom Tracing Installation with Kiali** + +To use a custom Tracing installation, set the `kiali.external_services.tracing` url and update the `.Values.tracing.contextPath` in the rancher-istio values.yaml. + +This url depends on the values for `namespaceOverride`, and `.Values.service.externalPort` in your rancher-tracing or other tracing instance.: +``` +http://tracing.{{ .Values.namespaceOverride }}.svc:{{ .Values.service.externalPort }}/{{ .Values.tracing.contextPath }} +``` + +For more information on how to use the feature, refer to our [docs](https://rancher.com/docs/rancher/v2.x/en/istio/v2.5/). diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/Chart.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/Chart.yaml new file mode 100755 index 00000000000..9b6fdf385f8 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + catalog.cattle.io/auto-install: rancher-kiali-server-crd=match + catalog.cattle.io/hidden: "true" + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: monitoringdashboards.monitoring.kiali.io/v1alpha1 + catalog.cattle.io/requires-gvr: monitoring.coreos.com.prometheus/v1 + catalog.rancher.io/namespace: cattle-istio-system + catalog.rancher.io/release-name: rancher-kiali-server +apiVersion: v2 +appVersion: v1.32.0 +description: Kiali is an open source project for service mesh observability, refer + to https://www.kiali.io for details. This is installed as sub-chart with customized + values in Rancher's Istio. +home: https://github.com/kiali/kiali +icon: https://raw.githubusercontent.com/kiali/kiali.io/master/themes/kiali/static/img/kiali_logo_masthead.png +keywords: +- istio +- kiali +- networking +- infrastructure +maintainers: +- email: kiali-users@googlegroups.com + name: Kiali + url: https://kiali.io +name: kiali +sources: +- https://github.com/kiali/kiali +- https://github.com/kiali/kiali-ui +- https://github.com/kiali/kiali-operator +- https://github.com/kiali/helm-charts +version: 1.32.1 diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/NOTES.txt b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/NOTES.txt new file mode 100755 index 00000000000..751019401be --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/NOTES.txt @@ -0,0 +1,5 @@ +Welcome to Kiali! For more details on Kiali, see: https://kiali.io + +The Kiali Server [{{ .Chart.AppVersion }}] has been installed in namespace [{{ .Release.Namespace }}]. It will be ready soon. + +(Helm: Chart=[{{ .Chart.Name }}], Release=[{{ .Release.Name }}], Version=[{{ .Chart.Version }}]) diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/_helpers.tpl b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/_helpers.tpl new file mode 100755 index 00000000000..dd33bbe480e --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/_helpers.tpl @@ -0,0 +1,192 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "kiali-server.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 "kiali-server.fullname" -}} +{{- if .Values.fullnameOverride }} + {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} + {{- $name := default .Chart.Name .Values.nameOverride }} + {{- printf "%s" $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "kiali-server.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Identifies the log_level with the old verbose_mode and the new log_level considered. +*/}} +{{- define "kiali-server.logLevel" -}} +{{- if .Values.deployment.verbose_mode -}} +{{- .Values.deployment.verbose_mode -}} +{{- else -}} +{{- .Values.deployment.logger.log_level -}} +{{- end -}} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "kiali-server.labels" -}} +helm.sh/chart: {{ include "kiali-server.chart" . }} +app: {{ include "kiali-server.name" . }} +{{ include "kiali-server.selectorLabels" . }} +version: {{ .Values.deployment.version_label | default .Chart.AppVersion | quote }} +app.kubernetes.io/version: {{ .Values.deployment.version_label | default .Chart.AppVersion | quote }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +app.kubernetes.io/part-of: "kiali" +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "kiali-server.selectorLabels" -}} +app.kubernetes.io/name: {{ include "kiali-server.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Used to determine if a custom dashboard (defined in .Template.Name) should be deployed. +*/}} +{{- define "kiali-server.isDashboardEnabled" -}} +{{- if .Values.external_services.custom_dashboards.enabled }} + {{- $includere := "" }} + {{- range $_, $s := .Values.deployment.custom_dashboards.includes }} + {{- if $s }} + {{- if $includere }} + {{- $includere = printf "%s|^%s$" $includere ($s | replace "*" ".*" | replace "?" ".") }} + {{- else }} + {{- $includere = printf "^%s$" ($s | replace "*" ".*" | replace "?" ".") }} + {{- end }} + {{- end }} + {{- end }} + {{- $excludere := "" }} + {{- range $_, $s := .Values.deployment.custom_dashboards.excludes }} + {{- if $s }} + {{- if $excludere }} + {{- $excludere = printf "%s|^%s$" $excludere ($s | replace "*" ".*" | replace "?" ".") }} + {{- else }} + {{- $excludere = printf "^%s$" ($s | replace "*" ".*" | replace "?" ".") }} + {{- end }} + {{- end }} + {{- end }} + {{- if (and (mustRegexMatch (default "no-matches" $includere) (base .Template.Name)) (not (mustRegexMatch (default "no-matches" $excludere) (base .Template.Name)))) }} + {{- print "enabled" }} + {{- else }} + {{- print "" }} + {{- end }} +{{- else }} + {{- print "" }} +{{- end }} +{{- end }} + +{{/* +Determine the default login token signing key. +*/}} +{{- define "kiali-server.login_token.signing_key" -}} +{{- if .Values.login_token.signing_key }} + {{- .Values.login_token.signing_key }} +{{- else }} + {{- randAlphaNum 16 }} +{{- end }} +{{- end }} + +{{/* +Determine the default web root. +*/}} +{{- define "kiali-server.server.web_root" -}} +{{- if .Values.server.web_root }} + {{- .Values.server.web_root | trimSuffix "/" }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- "/" }} + {{- else }} + {{- "/kiali" }} + {{- end }} +{{- end }} +{{- end }} + +{{/* +Determine the default identity cert file. There is no default if on k8s; only on OpenShift. +*/}} +{{- define "kiali-server.identity.cert_file" -}} +{{- if hasKey .Values.identity "cert_file" }} + {{- .Values.identity.cert_file }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- "/kiali-cert/tls.crt" }} + {{- else }} + {{- "" }} + {{- end }} +{{- end }} +{{- end }} + +{{/* +Determine the default identity private key file. There is no default if on k8s; only on OpenShift. +*/}} +{{- define "kiali-server.identity.private_key_file" -}} +{{- if hasKey .Values.identity "private_key_file" }} + {{- .Values.identity.private_key_file }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- "/kiali-cert/tls.key" }} + {{- else }} + {{- "" }} + {{- end }} +{{- end }} +{{- end }} + +{{/* +Determine the istio namespace - default is where Kiali is installed. +*/}} +{{- define "kiali-server.istio_namespace" -}} +{{- if .Values.istio_namespace }} + {{- .Values.istio_namespace }} +{{- else }} + {{- .Release.Namespace }} +{{- end }} +{{- end }} + +{{/* +Determine the auth strategy to use - default is "token" on Kubernetes and "openshift" on OpenShift. +*/}} +{{- define "kiali-server.auth.strategy" -}} +{{- if .Values.auth.strategy }} + {{- if (and (eq .Values.auth.strategy "openshift") (not .Values.kiali_route_url)) }} + {{- fail "You did not define what the Kiali Route URL will be (--set kiali_route_url=...). Without this set, the openshift auth strategy will not work. Either set that or use a different auth strategy via the --set auth.strategy=... option." }} + {{- end }} + {{- .Values.auth.strategy }} +{{- else }} + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + {{- if not .Values.kiali_route_url }} + {{- fail "You did not define what the Kiali Route URL will be (--set kiali_route_url=...). Without this set, the openshift auth strategy will not work. Either set that or explicitly indicate another auth strategy you want via the --set auth.strategy=... option." }} + {{- end }} + {{- "openshift" }} + {{- else }} + {{- "token" }} + {{- end }} +{{- end }} +{{- end }} + +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/cabundle.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/cabundle.yaml new file mode 100755 index 00000000000..7462b95a7f3 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/cabundle.yaml @@ -0,0 +1,13 @@ +{{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "kiali-server.fullname" . }}-cabundle + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + annotations: + service.beta.openshift.io/inject-cabundle: "true" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/configmap.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/configmap.yaml new file mode 100755 index 00000000000..b1bf531731f --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/configmap.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +data: + config.yaml: | + {{- /* Most of .Values is simply the ConfigMap - strip out the keys that are not part of the ConfigMap */}} + {{- $cm := omit .Values "nameOverride" "fullnameOverride" "kiali_route_url" }} + {{- /* The helm chart defines namespace for us, but pass it to the ConfigMap in case the server needs it */}} + {{- $_ := set $cm.deployment "namespace" .Release.Namespace }} + {{- /* Some values of the ConfigMap are generated, but might not be identical, from .Values */}} + {{- $_ := set $cm "istio_namespace" (include "kiali-server.istio_namespace" .) }} + {{- $_ := set $cm.auth "strategy" (include "kiali-server.auth.strategy" .) }} + {{- $_ := set $cm.auth.openshift "client_id_prefix" (include "kiali-server.fullname" .) }} + {{- $_ := set $cm.identity "cert_file" (include "kiali-server.identity.cert_file" .) }} + {{- $_ := set $cm.identity "private_key_file" (include "kiali-server.identity.private_key_file" .) }} + {{- $_ := set $cm.login_token "signing_key" (include "kiali-server.login_token.signing_key" .) }} + {{- $_ := set $cm.server "web_root" (include "kiali-server.server.web_root" .) }} + {{- toYaml $cm | nindent 4 }} +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/envoy.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/envoy.yaml new file mode 100755 index 00000000000..85b4020175c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/envoy.yaml @@ -0,0 +1,56 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: envoy + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Envoy Metrics + discoverOn: "envoy_server_uptime" + items: + - chart: + name: "Pods uptime" + spans: 4 + metricName: "envoy_server_uptime" + dataType: "raw" + - chart: + name: "Allocated memory" + unit: "bytes" + spans: 4 + metricName: "envoy_server_memory_allocated" + dataType: "raw" + min: 0 + - chart: + name: "Heap size" + unit: "bytes" + spans: 4 + metricName: "envoy_server_memory_heap_size" + dataType: "raw" + min: 0 + - chart: + name: "Upstream active connections" + spans: 6 + metricName: "envoy_cluster_upstream_cx_active" + dataType: "raw" + - chart: + name: "Upstream total requests" + spans: 6 + metricName: "envoy_cluster_upstream_rq_total" + unit: "rps" + dataType: "rate" + - chart: + name: "Downstream active connections" + spans: 6 + metricName: "envoy_listener_downstream_cx_active" + dataType: "raw" + - chart: + name: "Downstream HTTP requests" + spans: 6 + metricName: "envoy_listener_http_downstream_rq" + unit: "rps" + dataType: "rate" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/go.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/go.yaml new file mode 100755 index 00000000000..2d2f42a938d --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/go.yaml @@ -0,0 +1,67 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: go + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Go Metrics + runtime: Go + discoverOn: "go_info" + items: + - chart: + name: "CPU ratio" + spans: 6 + metricName: "process_cpu_seconds_total" + dataType: "rate" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "RSS Memory" + unit: "bytes" + spans: 6 + metricName: "process_resident_memory_bytes" + dataType: "raw" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "Goroutines" + spans: 6 + metricName: "go_goroutines" + dataType: "raw" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "Heap allocation rate" + unit: "bytes/s" + spans: 6 + metricName: "go_memstats_alloc_bytes_total" + dataType: "rate" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "GC rate" + spans: 6 + metricName: "go_gc_duration_seconds_count" + dataType: "rate" + aggregations: + - label: "pod_name" + displayName: "Pod" + - chart: + name: "Next GC" + unit: "bytes" + spans: 6 + metricName: "go_memstats_next_gc_bytes" + dataType: "raw" + aggregations: + - label: "pod_name" + displayName: "Pod" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/kiali.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/kiali.yaml new file mode 100755 index 00000000000..b1f011b4f95 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/kiali.yaml @@ -0,0 +1,44 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: kiali + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Kiali Internal Metrics + items: + - chart: + name: "API processing duration" + unit: "seconds" + spans: 6 + metricName: "kiali_api_processing_duration_seconds" + dataType: "histogram" + aggregations: + - label: "route" + displayName: "Route" + - chart: + name: "Functions processing duration" + unit: "seconds" + spans: 6 + metricName: "kiali_go_function_processing_duration_seconds" + dataType: "histogram" + aggregations: + - label: "function" + displayName: "Function" + - label: "package" + displayName: "Package" + - chart: + name: "Failures" + spans: 12 + metricName: "kiali_go_function_failures_total" + dataType: "raw" + aggregations: + - label: "function" + displayName: "Function" + - label: "package" + displayName: "Package" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml new file mode 100755 index 00000000000..2e1ed5cfff3 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml @@ -0,0 +1,43 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: micrometer-1.0.6-jvm-pool + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: JVM + title: JVM Pool Metrics + discoverOn: "jvm_buffer_total_capacity_bytes" + items: + - chart: + name: "Pool buffer memory used" + unit: "bytes" + spans: 4 + metricName: "jvm_buffer_memory_used_bytes" + dataType: "raw" + aggregations: + - label: "id" + displayName: "Pool" + - chart: + name: "Pool buffer capacity" + unit: "bytes" + spans: 4 + metricName: "jvm_buffer_total_capacity_bytes" + dataType: "raw" + aggregations: + - label: "id" + displayName: "Pool" + - chart: + name: "Pool buffer count" + unit: "bytes" + spans: 4 + metricName: "jvm_buffer_count" + dataType: "raw" + aggregations: + - label: "id" + displayName: "Pool" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml new file mode 100755 index 00000000000..d645968820a --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.0.6-jvm.yaml @@ -0,0 +1,65 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: micrometer-1.0.6-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: JVM + title: JVM Metrics + discoverOn: "jvm_threads_live" + items: + - chart: + name: "Total live threads" + spans: 4 + metricName: "jvm_threads_live" + dataType: "raw" + - chart: + name: "Daemon threads" + spans: 4 + metricName: "jvm_threads_daemon" + dataType: "raw" + - chart: + name: "Loaded classes" + spans: 4 + metricName: "jvm_classes_loaded" + dataType: "raw" + + - chart: + name: "Memory used" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_used_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory commited" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_committed_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory max" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_max_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml new file mode 100755 index 00000000000..76e8d0a4a0c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/micrometer-1.1-jvm.yaml @@ -0,0 +1,68 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: micrometer-1.1-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: JVM + title: JVM Metrics + discoverOn: "jvm_threads_live_threads" + items: + - chart: + name: "Memory used" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_used_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory commited" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_committed_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + - chart: + name: "Memory max" + unit: "bytes" + spans: 4 + metricName: "jvm_memory_max_bytes" + dataType: "raw" + aggregations: + - label: "area" + displayName: "Area" + - label: "id" + displayName: "Space" + + - chart: + name: "Total live threads" + spans: 4 + metricName: "jvm_threads_live_threads" + dataType: "raw" + - chart: + name: "Daemon threads" + spans: 4 + metricName: "jvm_threads_daemon_threads" + dataType: "raw" + - chart: + name: "Threads states" + spans: 4 + metricName: "jvm_threads_states_threads" + dataType: "raw" + aggregations: + - label: "state" + displayName: "State" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml new file mode 100755 index 00000000000..1d495119640 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-1.1.yaml @@ -0,0 +1,59 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: microprofile-1.1 + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: MicroProfile Metrics + runtime: MicroProfile + discoverOn: "base:thread_count" + items: + - chart: + name: "Current loaded classes" + spans: 6 + metricName: "base:classloader_current_loaded_class_count" + dataType: "raw" + - chart: + name: "Unloaded classes" + spans: 6 + metricName: "base:classloader_total_unloaded_class_count" + dataType: "raw" + - chart: + name: "Thread count" + spans: 4 + metricName: "base:thread_count" + dataType: "raw" + - chart: + name: "Thread max count" + spans: 4 + metricName: "base:thread_max_count" + dataType: "raw" + - chart: + name: "Thread daemon count" + spans: 4 + metricName: "base:thread_daemon_count" + dataType: "raw" + - chart: + name: "Committed heap" + unit: "bytes" + spans: 4 + metricName: "base:memory_committed_heap_bytes" + dataType: "raw" + - chart: + name: "Max heap" + unit: "bytes" + spans: 4 + metricName: "base:memory_max_heap_bytes" + dataType: "raw" + - chart: + name: "Used heap" + unit: "bytes" + spans: 4 + metricName: "base:memory_used_heap_bytes" + dataType: "raw" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml new file mode 100755 index 00000000000..57ddc60ef64 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/microprofile-x.y.yaml @@ -0,0 +1,38 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: microprofile-x.y + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: MicroProfile Metrics + runtime: MicroProfile + discoverOn: "base:gc_complete_scavenger_count" + items: + - chart: + name: "Young GC time" + unit: "seconds" + spans: 3 + metricName: "base:gc_young_generation_scavenger_time_seconds" + dataType: "raw" + - chart: + name: "Young GC count" + spans: 3 + metricName: "base:gc_young_generation_scavenger_count" + dataType: "raw" + - chart: + name: "Total GC time" + unit: "seconds" + spans: 3 + metricName: "base:gc_complete_scavenger_time_seconds" + dataType: "raw" + - chart: + name: "Total GC count" + spans: 3 + metricName: "base:gc_complete_scavenger_count" + dataType: "raw" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/nodejs.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/nodejs.yaml new file mode 100755 index 00000000000..1ffe0aa10dc --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/nodejs.yaml @@ -0,0 +1,59 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: nodejs + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Node.js + title: Node.js Metrics + discoverOn: "nodejs_active_handles_total" + items: + - chart: + name: "Active handles" + spans: 4 + metricName: "nodejs_active_handles_total" + dataType: "raw" + - chart: + name: "Active requests" + spans: 4 + metricName: "nodejs_active_requests_total" + dataType: "raw" + - chart: + name: "Event loop lag" + unit: "seconds" + spans: 4 + metricName: "nodejs_eventloop_lag_seconds" + dataType: "raw" + - chart: + name: "Total heap size" + unit: "bytes" + spans: 12 + metricName: "nodejs_heap_space_size_total_bytes" + dataType: "raw" + aggregations: + - label: "space" + displayName: "Space" + - chart: + name: "Used heap size" + unit: "bytes" + spans: 6 + metricName: "nodejs_heap_space_size_used_bytes" + dataType: "raw" + aggregations: + - label: "space" + displayName: "Space" + - chart: + name: "Available heap size" + unit: "bytes" + spans: 6 + metricName: "nodejs_heap_space_size_available_bytes" + dataType: "raw" + aggregations: + - label: "space" + displayName: "Space" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/quarkus.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/quarkus.yaml new file mode 100755 index 00000000000..cef5f3dce5f --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/quarkus.yaml @@ -0,0 +1,33 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: quarkus + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + title: Quarkus Metrics + runtime: Quarkus + items: + - chart: + name: "Thread count" + spans: 4 + metricName: "vendor:thread_count" + dataType: "raw" + - chart: + name: "Used heap" + unit: "bytes" + spans: 4 + metricName: "vendor:memory_heap_usage_bytes" + dataType: "raw" + - chart: + name: "Used non-heap" + unit: "bytes" + spans: 4 + metricName: "vendor:memory_non_heap_usage_bytes" + dataType: "raw" + - include: "microprofile-x.y" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml new file mode 100755 index 00000000000..42d87d89016 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm-pool.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: springboot-jvm-pool + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Spring Boot + title: JVM Pool Metrics + items: + - include: "micrometer-1.0.6-jvm-pool" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml new file mode 100755 index 00000000000..ced3acdd94c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-jvm.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: springboot-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Spring Boot + title: JVM Metrics + items: + - include: "micrometer-1.0.6-jvm" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml new file mode 100755 index 00000000000..c07016aa2a2 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/springboot-tomcat.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: springboot-tomcat + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Spring Boot + title: Tomcat Metrics + items: + - include: "tomcat" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/thorntail.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/thorntail.yaml new file mode 100755 index 00000000000..6bd85e6f571 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/thorntail.yaml @@ -0,0 +1,22 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: thorntail + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Thorntail + title: Thorntail Metrics + discoverOn: "vendor:loaded_modules" + items: + - include: "microprofile-1.1" + - chart: + name: "Loaded modules" + spans: 6 + metricName: "vendor:loaded_modules" + dataType: "raw" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/tomcat.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/tomcat.yaml new file mode 100755 index 00000000000..9a803342fe0 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/tomcat.yaml @@ -0,0 +1,67 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: tomcat + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Tomcat + title: Tomcat Metrics + discoverOn: "tomcat_sessions_created_total" + items: + - chart: + name: "Sessions created" + spans: 4 + metricName: "tomcat_sessions_created_total" + dataType: "raw" + - chart: + name: "Active sessions" + spans: 4 + metricName: "tomcat_sessions_active_current" + dataType: "raw" + - chart: + name: "Sessions rejected" + spans: 4 + metricName: "tomcat_sessions_rejected_total" + dataType: "raw" + + - chart: + name: "Bytes sent" + unit: "bitrate" + spans: 6 + metricName: "tomcat_global_sent_bytes_total" + dataType: "rate" + aggregations: + - label: "name" + displayName: "Name" + - chart: + name: "Bytes received" + unit: "bitrate" + spans: 6 + metricName: "tomcat_global_received_bytes_total" + dataType: "rate" + aggregations: + - label: "name" + displayName: "Name" + + - chart: + name: "Global errors" + spans: 6 + metricName: "tomcat_global_error_total" + dataType: "raw" + aggregations: + - label: "name" + displayName: "Name" + - chart: + name: "Servlet errors" + spans: 6 + metricName: "tomcat_servlet_error_total" + dataType: "raw" + aggregations: + - label: "name" + displayName: "Name" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-client.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-client.yaml new file mode 100755 index 00000000000..2d591d6b0bb --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-client.yaml @@ -0,0 +1,60 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-client + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Client Metrics + discoverOn: "vertx_http_client_connections" + items: + - chart: + name: "Client response time" + unit: "seconds" + spans: 6 + metricName: "vertx_http_client_responseTime_seconds" + dataType: "histogram" + aggregations: + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Client request count rate" + unit: "ops" + spans: 6 + metricName: "vertx_http_client_requestCount_total" + dataType: "rate" + aggregations: + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Client active connections" + spans: 6 + metricName: "vertx_http_client_connections" + dataType: "raw" + - chart: + name: "Client active websockets" + spans: 6 + metricName: "vertx_http_client_wsConnections" + dataType: "raw" + - chart: + name: "Client bytes sent" + unit: "bytes" + spans: 6 + metricName: "vertx_http_client_bytesSent" + dataType: "histogram" + - chart: + name: "Client bytes received" + unit: "bytes" + spans: 6 + metricName: "vertx_http_client_bytesReceived" + dataType: "histogram" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml new file mode 100755 index 00000000000..65f9ee2ecaf --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-eventbus.yaml @@ -0,0 +1,59 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-eventbus + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Eventbus Metrics + discoverOn: "vertx_eventbus_handlers" + items: + - chart: + name: "Event bus handlers" + spans: 6 + metricName: "vertx_eventbus_handlers" + dataType: "raw" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus pending messages" + spans: 6 + metricName: "vertx_eventbus_pending" + dataType: "raw" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus processing time" + unit: "seconds" + spans: 6 + metricName: "vertx_eventbus_processingTime_seconds" + dataType: "histogram" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus bytes read" + unit: "bytes" + spans: 6 + metricName: "vertx_eventbus_bytesRead" + dataType: "histogram" + aggregations: + - label: "address" + displayName: "Eventbus address" + - chart: + name: "Event bus bytes written" + unit: "bytes" + spans: 6 + metricName: "vertx_eventbus_bytesWritten" + dataType: "histogram" + aggregations: + - label: "address" + displayName: "Eventbus address" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml new file mode 100755 index 00000000000..2663186f3e6 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-jvm.yaml @@ -0,0 +1,16 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-jvm + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: JVM Metrics + items: + - include: "micrometer-1.1-jvm" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml new file mode 100755 index 00000000000..f6af921b356 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-pool.yaml @@ -0,0 +1,68 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-pool + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Pools Metrics + discoverOn: "vertx_pool_ratio" + items: + - chart: + name: "Usage duration" + unit: "seconds" + spans: 6 + metricName: "vertx_pool_usage_seconds" + dataType: "histogram" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Usage ratio" + spans: 6 + metricName: "vertx_pool_ratio" + dataType: "raw" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Queue size" + spans: 6 + metricName: "vertx_pool_queue_size" + dataType: "raw" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Time in queue" + unit: "seconds" + spans: 6 + metricName: "vertx_pool_queue_delay_seconds" + dataType: "histogram" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" + - chart: + name: "Resources used" + spans: 6 + metricName: "vertx_pool_inUse" + dataType: "raw" + aggregations: + - label: "pool_name" + displayName: "Name" + - label: "pool_type" + displayName: "Type" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-server.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-server.yaml new file mode 100755 index 00000000000..de6b89df9fd --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/dashboards/vertx-server.yaml @@ -0,0 +1,62 @@ +{{- if (include "kiali-server.isDashboardEnabled" .) }} +--- +apiVersion: "monitoring.kiali.io/v1alpha1" +kind: MonitoringDashboard +metadata: + name: vertx-server + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + runtime: Vert.x + title: Vert.x Server Metrics + discoverOn: "vertx_http_server_connections" + items: + - chart: + name: "Server response time" + unit: "seconds" + spans: 6 + metricName: "vertx_http_server_responseTime_seconds" + dataType: "histogram" + aggregations: + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Server request count rate" + unit: "ops" + spans: 6 + metricName: "vertx_http_server_requestCount_total" + dataType: "rate" + aggregations: + - label: "code" + displayName: "Error code" + - label: "path" + displayName: "Path" + - label: "method" + displayName: "Method" + - chart: + name: "Server active connections" + spans: 6 + metricName: "vertx_http_server_connections" + dataType: "raw" + - chart: + name: "Server active websockets" + spans: 6 + metricName: "vertx_http_server_wsConnections" + dataType: "raw" + - chart: + name: "Server bytes sent" + unit: "bytes" + spans: 6 + metricName: "vertx_http_server_bytesSent" + dataType: "histogram" + - chart: + name: "Server bytes received" + unit: "bytes" + spans: 6 + metricName: "vertx_http_server_bytesReceived" + dataType: "histogram" +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/deployment.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/deployment.yaml new file mode 100755 index 00000000000..100c5792288 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/deployment.yaml @@ -0,0 +1,174 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.deployment.replicas }} + selector: + matchLabels: + {{- include "kiali-server.selectorLabels" . | nindent 6 }} + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + name: {{ include "kiali-server.fullname" . }} + labels: + {{- include "kiali-server.labels" . | nindent 8 }} + {{- if .Values.deployment.pod_labels }} + {{- toYaml .Values.deployment.pod_labels | nindent 8 }} + {{- end }} + annotations: + {{- if .Values.server.metrics_enabled }} + prometheus.io/scrape: "true" + prometheus.io/port: {{ .Values.server.metrics_port | quote }} + {{- else }} + prometheus.io/scrape: "false" + prometheus.io/port: "" + {{- end }} + kiali.io/runtimes: go,kiali + {{- if .Values.deployment.pod_annotations }} + {{- toYaml .Values.deployment.pod_annotations | nindent 8 }} + {{- end }} + spec: + serviceAccountName: {{ include "kiali-server.fullname" . }} + {{- if .Values.deployment.priority_class_name }} + priorityClassName: {{ .Values.deployment.priority_class_name | quote }} + {{- end }} + {{- if .Values.deployment.image_pull_secrets }} + imagePullSecrets: + {{- range .Values.deployment.image_pull_secrets }} + - name: {{ . }} + {{- end }} + {{- end }} + containers: + - image: "{{ template "system_default_registry" . }}{{ .Values.deployment.repository }}:{{ .Values.deployment.tag }}" + imagePullPolicy: {{ .Values.deployment.image_pull_policy | default "Always" }} + name: {{ include "kiali-server.fullname" . }} + command: + - "/opt/kiali/kiali" + - "-config" + - "/kiali-configuration/config.yaml" + ports: + - name: api-port + containerPort: {{ .Values.server.port | default 20001 }} + {{- if .Values.server.metrics_enabled }} + - name: http-metrics + containerPort: {{ .Values.server.metrics_port | default 9090 }} + {{- end }} + readinessProbe: + httpGet: + path: {{ include "kiali-server.server.web_root" . | trimSuffix "/" }}/healthz + port: api-port + {{- if (include "kiali-server.identity.cert_file" .) }} + scheme: HTTPS + {{- else }} + scheme: HTTP + {{- end }} + initialDelaySeconds: 5 + periodSeconds: 30 + livenessProbe: + httpGet: + path: {{ include "kiali-server.server.web_root" . | trimSuffix "/" }}/healthz + port: api-port + {{- if (include "kiali-server.identity.cert_file" .) }} + scheme: HTTPS + {{- else }} + scheme: HTTP + {{- end }} + initialDelaySeconds: 5 + periodSeconds: 30 + env: + - name: ACTIVE_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: LOG_LEVEL + value: "{{ include "kiali-server.logLevel" . }}" + - name: LOG_FORMAT + value: "{{ .Values.deployment.logger.log_format }}" + - name: LOG_TIME_FIELD_FORMAT + value: "{{ .Values.deployment.logger.time_field_format }}" + - name: LOG_SAMPLER_RATE + value: "{{ .Values.deployment.logger.sampler_rate }}" + volumeMounts: + {{- if .Values.web_root_override }} + - name: kiali-console + subPath: env.js + mountPath: /opt/kiali/console/env.js + {{- end }} + - name: {{ include "kiali-server.fullname" . }}-configuration + mountPath: "/kiali-configuration" + - name: {{ include "kiali-server.fullname" . }}-cert + mountPath: "/kiali-cert" + - name: {{ include "kiali-server.fullname" . }}-secret + mountPath: "/kiali-secret" + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + - name: {{ include "kiali-server.fullname" . }}-cabundle + mountPath: "/kiali-cabundle" + {{- end }} + {{- if .Values.deployment.resources }} + resources: + {{- toYaml .Values.deployment.resources | nindent 10 }} + {{- end }} + volumes: + {{- if .Values.web_root_override }} + - name: kiali-console + configMap: + name: kiali-console + items: + - key: env.js + path: env.js + {{- end }} + - name: {{ include "kiali-server.fullname" . }}-configuration + configMap: + name: {{ include "kiali-server.fullname" . }} + - name: {{ include "kiali-server.fullname" . }}-cert + secret: + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + secretName: {{ include "kiali-server.fullname" . }}-cert-secret + {{- else }} + secretName: istio.{{ include "kiali-server.fullname" . }}-service-account + {{- end }} + {{- if not (include "kiali-server.identity.cert_file" .) }} + optional: true + {{- end }} + - name: {{ include "kiali-server.fullname" . }}-secret + secret: + secretName: {{ .Values.deployment.secret_name }} + optional: true + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + - name: {{ include "kiali-server.fullname" . }}-cabundle + configMap: + name: {{ include "kiali-server.fullname" . }}-cabundle + {{- end }} + {{- if or (.Values.deployment.affinity.node) (or (.Values.deployment.pod) (.Values.deployment.pod_anti)) }} + affinity: + {{- if .Values.deployment.affinity.node }} + nodeAffinity: + {{- toYaml .Values.deployment.affinity.node | nindent 10 }} + {{- end }} + {{- if .Values.deployment.affinity.pod }} + podAffinity: + {{- toYaml .Values.deployment.affinity.pod | nindent 10 }} + {{- end }} + {{- if .Values.deployment.affinity.pod_anti }} + podAntiAffinity: + {{- toYaml .Values.deployment.affinity.pod_anti | nindent 10 }} + {{- end }} + {{- end }} + {{- if .Values.deployment.tolerations }} + tolerations: + {{- toYaml .Values.deployment.tolerations | nindent 8 }} + {{- end }} + {{- if .Values.deployment.node_selector }} + nodeSelector: + {{- toYaml .Values.deployment.node_selector | nindent 8 }} + {{- end }} +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/hpa.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/hpa.yaml new file mode 100755 index 00000000000..934c4c1e9d7 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/hpa.yaml @@ -0,0 +1,17 @@ +{{- if .Values.deployment.hpa.spec }} +--- +apiVersion: {{ .Values.deployment.hpa.api_version }} +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "kiali-server.fullname" . }} + {{- toYaml .Values.deployment.hpa.spec | nindent 2 }} +... +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/ingress.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/ingress.yaml new file mode 100755 index 00000000000..e4c98db1b82 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/ingress.yaml @@ -0,0 +1,40 @@ +{{- if not (.Capabilities.APIVersions.Has "route.openshift.io/v1") }} +{{- if .Values.deployment.ingress_enabled }} +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + annotations: + {{- if hasKey .Values.deployment.override_ingress_yaml.metadata "annotations" }} + {{- toYaml .Values.deployment.override_ingress_yaml.metadata.annotations | nindent 4 }} + {{- else }} + # For ingress-nginx versions older than 0.20.0 use secure-backends. + # (see: https://github.com/kubernetes/ingress-nginx/issues/3416#issuecomment-438247948) + # For ingress-nginx versions 0.20.0 and later use backend-protocol. + {{- if (include "kiali-server.identity.cert_file" .) }} + nginx.ingress.kubernetes.io/secure-backends: "true" + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + {{- else }} + nginx.ingress.kubernetes.io/secure-backends: "false" + nginx.ingress.kubernetes.io/backend-protocol: "HTTP" + {{- end }} + {{- end }} +spec: + {{- if hasKey .Values.deployment.override_ingress_yaml "spec" }} + {{- toYaml .Values.deployment.override_ingress_yaml.spec | nindent 2 }} + {{- else }} + rules: + - http: + paths: + - path: {{ include "kiali-server.server.web_root" . }} + backend: + serviceName: {{ include "kiali-server.fullname" . }} + servicePort: {{ .Values.server.port }} + {{- end }} +... +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/oauth.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/oauth.yaml new file mode 100755 index 00000000000..a178bb85efc --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/oauth.yaml @@ -0,0 +1,17 @@ +{{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} +{{- if .Values.kiali_route_url }} +--- +apiVersion: oauth.openshift.io/v1 +kind: OAuthClient +metadata: + name: {{ include "kiali-server.fullname" . }}-{{ .Release.Namespace }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +redirectURIs: +- {{ .Values.kiali_route_url }} +grantMethod: auto +allowAnyScope: true +... +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/psp.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/psp.yaml new file mode 100755 index 00000000000..f891892cc4a --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/psp.yaml @@ -0,0 +1,67 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "kiali-server.fullname" . }}-psp + namespace: {{ .Release.Namespace }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "kiali-server.fullname" . }}-psp +subjects: + - kind: ServiceAccount + name: kiali +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "kiali-server.fullname" . }}-psp + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - policy + resourceNames: + - {{ include "kiali-server.fullname" . }}-psp + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "kiali-server.fullname" . }}-psp + namespace: {{ .Release.Namespace }} +spec: + allowPrivilegeEscalation: false + forbiddenSysctls: + - '*' + fsGroup: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + requiredDropCapabilities: + - ALL + runAsUser: + rule: MustRunAsNonRoot + runAsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + supplementalGroups: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + volumes: + - configMap + - emptyDir + - projected + - secret + - downwardAPI + - persistentVolumeClaim +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-controlplane.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-controlplane.yaml new file mode 100755 index 00000000000..a22c76756a7 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-controlplane.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "kiali-server.fullname" . }}-controlplane + namespace: {{ include "kiali-server.istio_namespace" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +rules: +- apiGroups: [""] + resources: + - secrets + verbs: + - list +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-viewer.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-viewer.yaml new file mode 100755 index 00000000000..9fdd9fd1de8 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role-viewer.yaml @@ -0,0 +1,97 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kiali-server.fullname" . }}-viewer + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +rules: +- apiGroups: [""] + resources: + - configmaps + - endpoints + - namespaces + - nodes + - pods + - pods/log + - pods/proxy + - replicationcontrollers + - services + verbs: + - get + - list + - watch +- apiGroups: [""] + resources: + - pods/portforward + verbs: + - create + - post +- apiGroups: ["extensions", "apps"] + resources: + - daemonsets + - deployments + - replicasets + - statefulsets + verbs: + - get + - list + - watch +- apiGroups: ["autoscaling"] + resources: + - horizontalpodautoscalers + verbs: + - get + - list + - watch +- apiGroups: ["batch"] + resources: + - cronjobs + - jobs + verbs: + - get + - list + - watch +- apiGroups: + - networking.istio.io + - security.istio.io + resources: ["*"] + verbs: + - get + - list + - watch +- apiGroups: ["apps.openshift.io"] + resources: + - deploymentconfigs + verbs: + - get + - list + - watch +- apiGroups: ["project.openshift.io"] + resources: + - projects + verbs: + - get +- apiGroups: ["route.openshift.io"] + resources: + - routes + verbs: + - get +- apiGroups: ["monitoring.kiali.io"] + resources: + - monitoringdashboards + verbs: + - get + - list +- apiGroups: ["iter8.tools"] + resources: + - experiments + verbs: + - get + - list +- apiGroups: ["authentication.k8s.io"] + resources: + - tokenreviews + verbs: + - create +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role.yaml new file mode 100755 index 00000000000..8444bc753ae --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/role.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kiali-server.fullname" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +rules: +- apiGroups: [""] + resources: + - configmaps + - endpoints + - namespaces + - nodes + - pods + - pods/log + - pods/proxy + - replicationcontrollers + - services + verbs: + - get + - list + - patch + - watch +- apiGroups: [""] + resources: + - pods/portforward + verbs: + - create + - post +- apiGroups: ["extensions", "apps"] + resources: + - daemonsets + - deployments + - replicasets + - statefulsets + verbs: + - get + - list + - patch + - watch +- apiGroups: ["autoscaling"] + resources: + - horizontalpodautoscalers + verbs: + - get + - list + - watch +- apiGroups: ["batch"] + resources: + - cronjobs + - jobs + verbs: + - get + - list + - patch + - watch +- apiGroups: + - networking.istio.io + - security.istio.io + resources: ["*"] + verbs: + - create + - delete + - get + - list + - patch + - watch +- apiGroups: ["apps.openshift.io"] + resources: + - deploymentconfigs + verbs: + - get + - list + - patch + - watch +- apiGroups: ["project.openshift.io"] + resources: + - projects + verbs: + - get +- apiGroups: ["route.openshift.io"] + resources: + - routes + verbs: + - get +- apiGroups: ["monitoring.kiali.io"] + resources: + - monitoringdashboards + verbs: + - get + - list +- apiGroups: ["iter8.tools"] + resources: + - experiments + verbs: + - create + - delete + - get + - list + - patch + - watch +- apiGroups: ["authentication.k8s.io"] + resources: + - tokenreviews + verbs: + - create +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding-controlplane.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding-controlplane.yaml new file mode 100755 index 00000000000..5a00158360c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding-controlplane.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "kiali-server.fullname" . }}-controlplane + namespace: {{ include "kiali-server.istio_namespace" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "kiali-server.fullname" . }}-controlplane +subjects: +- kind: ServiceAccount + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding.yaml new file mode 100755 index 00000000000..1eaabd65f59 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/rolebinding.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "kiali-server.fullname" . }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + {{- if .Values.deployment.view_only_mode }} + name: {{ include "kiali-server.fullname" . }}-viewer + {{- else }} + name: {{ include "kiali-server.fullname" . }} + {{- end }} +subjects: +- kind: ServiceAccount + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/route.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/route.yaml new file mode 100755 index 00000000000..27940dc96cc --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/route.yaml @@ -0,0 +1,30 @@ +{{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} +{{- if .Values.deployment.ingress_enabled }} +# As of OpenShift 4.5, need to use --disable-openapi-validation when installing via Helm +--- +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + {{- if hasKey .Values.deployment.override_ingress_yaml.metadata "annotations" }}} + annotations: + {{- toYaml .Values.deployment.override_ingress_yaml.metadata.annotations | nindent 4 }} + {{- end }} +spec: + {{- if hasKey .Values.deployment.override_ingress_yaml "spec" }} + {{- toYaml .Values.deployment.override_ingress_yaml.spec | nindent 2 }} + {{- else }} + tls: + termination: reencrypt + insecureEdgeTerminationPolicy: Redirect + to: + kind: Service + targetPort: {{ .Values.server.port }} + name: {{ include "kiali-server.fullname" . }} + {{- end }} +... +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/service.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/service.yaml new file mode 100755 index 00000000000..9ccf4f388f7 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/service.yaml @@ -0,0 +1,47 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} + annotations: + {{- if .Capabilities.APIVersions.Has "route.openshift.io/v1" }} + service.beta.openshift.io/serving-cert-secret-name: {{ include "kiali-server.fullname" . }}-cert-secret + {{- end }} + kiali.io/api-spec: https://kiali.io/api + kiali.io/api-type: rest + {{- if and (not (empty .Values.server.web_fqdn)) (not (empty .Values.server.web_schema)) }} + {{- if empty .Values.server.web_port }} + kiali.io/external-url: {{ .Values.server.web_schema }}://{{ .Values.server.web_fqdn }}{{ default "" .Values.server.web_root }} + {{- else }} + kiali.io/external-url: {{ .Values.server.web_schema }}://{{ .Values.server.web_fqdn }}:{{ .Values.server.web_port }}{{(default "" .Values.server.web_root) }} + {{- end }} + {{- end }} + {{- if .Values.deployment.service_annotations }} + {{- toYaml .Values.deployment.service_annotations | nindent 4 }} + {{- end }} +spec: + {{- if .Values.deployment.service_type }} + type: {{ .Values.deployment.service_type }} + {{- end }} + ports: + {{- if (include "kiali-server.identity.cert_file" .) }} + - name: tcp + {{- else }} + - name: http + {{- end }} + protocol: TCP + port: {{ .Values.server.port }} + {{- if .Values.server.metrics_enabled }} + - name: http-metrics + protocol: TCP + port: {{ .Values.server.metrics_port }} + {{- end }} + selector: + {{- include "kiali-server.selectorLabels" . | nindent 4 }} + {{- if .Values.deployment.additional_service_yaml }} + {{- toYaml .Values.deployment.additional_service_yaml | nindent 2 }} + {{- end }} +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/serviceaccount.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/serviceaccount.yaml new file mode 100755 index 00000000000..9151b6f6a1b --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/serviceaccount.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "kiali-server.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +... diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/validate-install-crd.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/validate-install-crd.yaml new file mode 100755 index 00000000000..b42eeb2669d --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/validate-install-crd.yaml @@ -0,0 +1,14 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "monitoring.kiali.io/v1alpha1/MonitoringDashboard" 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-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/web-root-configmap.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/web-root-configmap.yaml new file mode 100755 index 00000000000..970d4e4f5d0 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/templates/web-root-configmap.yaml @@ -0,0 +1,12 @@ +{{- if .Values.web_root_override }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: kiali-console + namespace: {{ .Release.Namespace }} + labels: + {{- include "kiali-server.labels" . | nindent 4 }} +data: + env.js: | + window.WEB_ROOT='/k8s/clusters/{{ .Values.global.cattle.clusterId }}/api/v1/namespaces/{{ .Release.Namespace }}/services/http:kiali:20001/proxy/kiali'; +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/values.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/values.yaml new file mode 100755 index 00000000000..aada4e09a9a --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/kiali/values.yaml @@ -0,0 +1,93 @@ +nameOverride: "kiali" +fullnameOverride: "kiali" + +# This is required for "openshift" auth strategy. +# You have to know ahead of time what your Route URL will be because +# right now the helm chart can't figure this out at runtime (it would +# need to wait for the Kiali Route to be deployed and for OpenShift +# to start it up). If someone knows how to update this helm chart to +# do this, a PR would be welcome. +kiali_route_url: "" + +# rancher specific override that allows proxy access to kiali url +web_root_override: true + +# +# Settings that mimic the Kiali CR which are placed in the ConfigMap. +# Note that only those values used by the Helm Chart will be here. +# + +istio_namespace: "" # default is where Kiali is installed + +auth: + openid: {} + openshift: {} + strategy: "" + +deployment: + # This only limits what Kiali will attempt to see, but Kiali Service Account has permissions to see everything. + # For more control over what the Kial Service Account can see, use the Kiali Operator + accessible_namespaces: + - "**" + additional_service_yaml: {} + affinity: + node: {} + pod: {} + pod_anti: {} + custom_dashboards: + excludes: [''] + includes: ['*'] + hpa: + api_version: "autoscaling/v2beta2" + spec: {} + repository: rancher/mirrored-kiali-kiali + image_pull_policy: "Always" + image_pull_secrets: [] + tag: v1.32.0 + ingress_enabled: true + logger: + log_format: "text" + log_level: "info" + time_field_format: "2006-01-02T15:04:05Z07:00" + sampler_rate: "1" + node_selector: {} + override_ingress_yaml: + metadata: {} + pod_annotations: {} + pod_labels: {} + priority_class_name: "" + replicas: 1 + resources: {} + secret_name: "kiali" + service_annotations: {} + service_type: "" + tolerations: [] + version_label: v1.32.0 + view_only_mode: false + +external_services: + custom_dashboards: + enabled: true + +identity: {} + #cert_file: + #private_key_file: + +login_token: + signing_key: "" + +server: + port: 20001 + metrics_enabled: true + metrics_port: 9090 + web_root: "" + +# Common settings used among istio subcharts. +global: + # Specify rancher clusterId of external tracing config + # https://github.com/istio/istio.io/issues/4146#issuecomment-493543032 + cattle: + systemDefaultRegistry: "" + clusterId: + rbac: + pspEnabled: false diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/.helmignore b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/.helmignore new file mode 100755 index 00000000000..0e8a0eb36f4 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/.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/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/Chart.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/Chart.yaml new file mode 100755 index 00000000000..6e368616d7b --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/Chart.yaml @@ -0,0 +1,12 @@ +annotations: + catalog.cattle.io/hidden: "true" + catalog.cattle.io/os: linux + catalog.rancher.io/certified: rancher + catalog.rancher.io/namespace: istio-system + catalog.rancher.io/release-name: rancher-tracing +apiVersion: v1 +appVersion: 1.20.0 +description: A quick start Jaeger Tracing installation using the all-in-one demo. + This is not production qualified. Refer to https://www.jaegertracing.io/ for details. +name: tracing +version: 1.20.1 diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/README.md b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/README.md new file mode 100755 index 00000000000..25534c6288c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/README.md @@ -0,0 +1,5 @@ +# Jaeger + +A Rancher chart based on the Jaeger all-in-one quick installation option. This chart will allow you to trace and monitor distributed microservices. + +> **Note:** The basic all-in-one Jaeger installation which is not qualified for production. Use the [Jaeger Tracing](https://www.jaegertracing.io) documentation to determine which installation you will need for your production needs. diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_affinity.tpl b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_affinity.tpl new file mode 100755 index 00000000000..bf6a9aee5c5 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_affinity.tpl @@ -0,0 +1,92 @@ +{{/* affinity - https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ */}} +{{- define "nodeAffinity" }} + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + {{- include "nodeAffinityRequiredDuringScheduling" . }} + preferredDuringSchedulingIgnoredDuringExecution: + {{- include "nodeAffinityPreferredDuringScheduling" . }} +{{- end }} + +{{- define "nodeAffinityRequiredDuringScheduling" }} + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + {{- range $key, $val := .Values.global.arch }} + {{- if gt ($val | int) 0 }} + - {{ $key | quote }} + {{- end }} + {{- end }} + {{- $nodeSelector := default .Values.global.defaultNodeSelector .Values.nodeSelector -}} + {{- range $key, $val := $nodeSelector }} + - key: {{ $key }} + operator: In + values: + - {{ $val | quote }} + {{- end }} +{{- end }} + +{{- define "nodeAffinityPreferredDuringScheduling" }} + {{- range $key, $val := .Values.global.arch }} + {{- if gt ($val | int) 0 }} + - weight: {{ $val | int }} + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - {{ $key | quote }} + {{- end }} + {{- end }} +{{- end }} + +{{- define "podAntiAffinity" }} +{{- if or .Values.podAntiAffinityLabelSelector .Values.podAntiAffinityTermLabelSelector}} + podAntiAffinity: + {{- if .Values.podAntiAffinityLabelSelector }} + requiredDuringSchedulingIgnoredDuringExecution: + {{- include "podAntiAffinityRequiredDuringScheduling" . }} + {{- end }} + {{- if or .Values.podAntiAffinityTermLabelSelector}} + preferredDuringSchedulingIgnoredDuringExecution: + {{- include "podAntiAffinityPreferredDuringScheduling" . }} + {{- end }} +{{- end }} +{{- end }} + +{{- define "podAntiAffinityRequiredDuringScheduling" }} + {{- range $index, $item := .Values.podAntiAffinityLabelSelector }} + - labelSelector: + matchExpressions: + - key: {{ $item.key }} + operator: {{ $item.operator }} + {{- if $item.values }} + values: + {{- $vals := split "," $item.values }} + {{- range $i, $v := $vals }} + - {{ $v | quote }} + {{- end }} + {{- end }} + topologyKey: {{ $item.topologyKey }} + {{- end }} +{{- end }} + +{{- define "podAntiAffinityPreferredDuringScheduling" }} + {{- range $index, $item := .Values.podAntiAffinityTermLabelSelector }} + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: {{ $item.key }} + operator: {{ $item.operator }} + {{- if $item.values }} + values: + {{- $vals := split "," $item.values }} + {{- range $i, $v := $vals }} + - {{ $v | quote }} + {{- end }} + {{- end }} + topologyKey: {{ $item.topologyKey }} + weight: 100 + {{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_helpers.tpl b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_helpers.tpl new file mode 100755 index 00000000000..56cfa733533 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "tracing.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 "tracing.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 -}} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/deployment.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/deployment.yaml new file mode 100755 index 00000000000..25bb67fd3d4 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/deployment.yaml @@ -0,0 +1,86 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + selector: + matchLabels: + app: {{ .Values.provider }} + template: + metadata: + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + annotations: + sidecar.istio.io/inject: "false" + prometheus.io/scrape: "true" + prometheus.io/port: "14269" +{{- if .Values.jaeger.podAnnotations }} +{{ toYaml .Values.jaeger.podAnnotations | indent 8 }} +{{- end }} + spec: + containers: + - name: jaeger + image: "{{ template "system_default_registry" . }}{{ .Values.jaeger.repository }}:{{ .Values.jaeger.tag }}" + imagePullPolicy: {{ .Values.global.imagePullPolicy }} + env: + {{- if eq .Values.jaeger.spanStorageType "badger" }} + - name: BADGER_EPHEMERAL + value: "false" + - name: SPAN_STORAGE_TYPE + value: "badger" + - name: BADGER_DIRECTORY_VALUE + value: "/badger/data" + - name: BADGER_DIRECTORY_KEY + value: "/badger/key" + {{- end }} + - name: COLLECTOR_ZIPKIN_HTTP_PORT + value: "9411" + - name: MEMORY_MAX_TRACES + value: "{{ .Values.jaeger.memory.max_traces }}" + - name: QUERY_BASE_PATH + value: {{ if .Values.contextPath }} {{ .Values.contextPath }} {{ else }} /{{ .Values.provider }} {{ end }} + livenessProbe: + httpGet: + path: / + port: 14269 + readinessProbe: + httpGet: + path: / + port: 14269 +{{- if eq .Values.jaeger.spanStorageType "badger" }} + volumeMounts: + - name: data + mountPath: /badger +{{- end }} + resources: +{{- if .Values.jaeger.resources }} +{{ toYaml .Values.jaeger.resources | indent 12 }} +{{- else }} +{{ toYaml .Values.global.defaultResources | indent 12 }} +{{- end }} + affinity: + {{- include "nodeAffinity" . | indent 6 }} + {{- include "podAntiAffinity" . | indent 6 }} + {{- if .Values.global.rbac.pspEnabled }} + securityContext: + runAsNonRoot: true + runAsUser: 1000 + serviceAccountName: {{ include "tracing.fullname" . }} + {{- end }} +{{- if eq .Values.jaeger.spanStorageType "badger" }} + volumes: + - name: data +{{- if .Values.jaeger.persistentVolumeClaim.enabled }} + persistentVolumeClaim: + claimName: istio-jaeger-pvc +{{- else }} + emptyDir: {} +{{- end }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/psp.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/psp.yaml new file mode 100755 index 00000000000..44b230492b6 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/psp.yaml @@ -0,0 +1,86 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "tracing.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "tracing.fullname" . }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +rules: +- apiGroups: + - policy + resourceNames: + - {{ include "tracing.fullname" . }} + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: {{ include "tracing.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + allowPrivilegeEscalation: false + forbiddenSysctls: + - '*' + fsGroup: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + requiredDropCapabilities: + - ALL + runAsUser: + rule: MustRunAsNonRoot + runAsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + supplementalGroups: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + volumes: + - emptyDir + - secret + - persistentVolumeClaim +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/pvc.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/pvc.yaml new file mode 100755 index 00000000000..9b4c55e4fb3 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/pvc.yaml @@ -0,0 +1,16 @@ +{{- if .Values.jaeger.persistentVolumeClaim.enabled }} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: istio-jaeger-pvc + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} +spec: + storageClassName: {{ .Values.jaeger.storageClassName }} + accessModes: + - {{ .Values.jaeger.accessMode }} + resources: + requests: + storage: {{.Values.jaeger.persistentVolumeClaim.storage }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/service.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/service.yaml new file mode 100755 index 00000000000..4210a9b5fc4 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/templates/service.yaml @@ -0,0 +1,63 @@ +apiVersion: v1 +kind: Service +metadata: + name: tracing + namespace: {{ .Release.Namespace }} + annotations: + {{- range $key, $val := .Values.service.annotations }} + {{ $key }}: {{ $val | quote }} + {{- end }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + type: {{ .Values.service.type }} + ports: + - name: {{ .Values.service.name }} + port: {{ .Values.service.externalPort }} + protocol: TCP + targetPort: 16686 + selector: + app: {{ .Values.provider }} +--- +# Jaeger implements the Zipkin API. To support swapping out the tracing backend, we use a Service named Zipkin. +apiVersion: v1 +kind: Service +metadata: + name: zipkin + namespace: {{ .Release.Namespace }} + labels: + name: zipkin + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + ports: + - name: {{ .Values.service.name }} + port: {{ .Values.zipkin.queryPort }} + targetPort: {{ .Values.zipkin.queryPort }} + selector: + app: {{ .Values.provider }} +--- +apiVersion: v1 +kind: Service +metadata: + name: jaeger-collector + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.provider }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + type: ClusterIP + ports: + - name: jaeger-collector-http + port: 14268 + targetPort: 14268 + protocol: TCP + - name: jaeger-collector-grpc + port: 14250 + targetPort: 14250 + protocol: TCP + selector: + app: {{ .Values.provider }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/values.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/values.yaml new file mode 100755 index 00000000000..18ff81c3c8c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/charts/tracing/values.yaml @@ -0,0 +1,44 @@ +provider: jaeger +contextPath: "" +nodeSelector: {} +podAntiAffinityLabelSelector: [] +podAntiAffinityTermLabelSelector: [] +nameOverride: "" +fullnameOverride: "" + +global: + cattle: + systemDefaultRegistry: "" + defaultResources: {} + imagePullPolicy: IfNotPresent + imagePullSecrets: [] + arch: + amd64: 2 + s390x: 2 + ppc64le: 2 + defaultNodeSelector: {} + rbac: + pspEnabled: false + +jaeger: + repository: rancher/mirrored-jaegertracing-all-in-one + tag: 1.20.0 + # spanStorageType value can be "memory" and "badger" for all-in-one image + spanStorageType: badger + resources: + requests: + cpu: 10m + persistentVolumeClaim: + enabled: false + storage: 5Gi + storageClassName: "" + accessMode: ReadWriteMany + memory: + max_traces: 50000 +zipkin: + queryPort: 9411 +service: + annotations: {} + name: http-query + type: ClusterIP + externalPort: 16686 diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/configs/istio-base.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/configs/istio-base.yaml new file mode 100755 index 00000000000..c5fa6f5f0c1 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/configs/istio-base.yaml @@ -0,0 +1,82 @@ +apiVersion: install.istio.io/v1alpha1 +kind: IstioOperator +spec: + components: + base: + enabled: {{ .Values.base.enabled }} + cni: + enabled: {{ .Values.cni.enabled }} + egressGateways: + - enabled: {{ .Values.egressGateways.enabled }} + name: istio-egressgateway + ingressGateways: + - enabled: {{ .Values.ingressGateways.enabled }} + name: istio-ingressgateway + k8s: + service: + ports: + - name: status-port + port: 15021 + targetPort: 15021 + - name: http2 + port: 80 + targetPort: 8080 + nodePort: 31380 + - name: https + port: 443 + targetPort: 8443 + nodePort: 31390 + - name: tcp + port: 31400 + targetPort: 31400 + nodePort: 31400 + - name: tls + port: 15443 + targetPort: 15443 + istiodRemote: + enabled: {{ .Values.istiodRemote.enabled }} + pilot: + enabled: {{ .Values.pilot.enabled }} + hub: {{ .Values.systemDefaultRegistry | default "docker.io" }} + profile: default + tag: {{ .Values.tag }} + revision: {{ .Values.revision }} + meshConfig: + defaultConfig: + proxyMetadata: + {{- if .Values.dns.enabled }} + ISTIO_META_DNS_CAPTURE: "true" + {{- end }} + values: + gateways: + istio-egressgateway: + name: istio-egressgateway + type: {{ .Values.egressGateways.type }} + istio-ingressgateway: + name: istio-ingressgateway + type: {{ .Values.ingressGateways.type }} + global: + istioNamespace: {{ template "istio.namespace" . }} + proxy: + image: {{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }} + proxy_init: + image: {{ template "system_default_registry" . }}{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }} + {{- if .Values.global.defaultPodDisruptionBudget.enabled }} + defaultPodDisruptionBudget: + enabled: {{ .Values.global.defaultPodDisruptionBudget.enabled }} + {{- end }} + {{- if .Values.pilot.enabled }} + pilot: + image: {{ template "system_default_registry" . }}{{ .Values.pilot.repository }}:{{ .Values.pilot.tag }} + {{- end }} + telemetry: + enabled: {{ .Values.telemetry.enabled }} + v2: + enabled: {{ .Values.telemetry.v2.enabled }} + {{- if .Values.cni.enabled }} + cni: + image: {{ template "system_default_registry" . }}{{ .Values.cni.repository }}:{{ .Values.cni.tag }} + excludeNamespaces: + {{- toYaml .Values.cni.excludeNamespaces | nindent 8 }} + logLevel: {{ .Values.cni.logLevel }} + {{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/requirements.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/requirements.yaml new file mode 100755 index 00000000000..b607457802d --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/requirements.yaml @@ -0,0 +1,17 @@ +dependencies: +- name: kiali + version: "" + repository: file://./charts/kiali + condition: kiali.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" +- name: tracing + version: "" + repository: file://./charts/tracing + condition: tracing.enabled + tags: [] + enabled: false + importvalues: [] + alias: "" diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/samples/overlay-example.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/samples/overlay-example.yaml new file mode 100755 index 00000000000..5cf3cf3b0b6 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/samples/overlay-example.yaml @@ -0,0 +1,37 @@ +apiVersion: install.istio.io/v1alpha1 +kind: IstioOperator +spec: + components: + ingressGateways: + - enabled: true + name: ilb-gateway + namespace: user-ingressgateway-ns + k8s: + resources: + requests: + cpu: 200m + service: + ports: + - name: tcp-citadel-grpc-tls + port: 8060 + targetPort: 8060 + - name: tcp-dns + port: 5353 + serviceAnnotations: + cloud.google.com/load-balancer-type: internal + - enabled: true + name: other-gateway + namespace: cattle-istio-system + k8s: + resources: + requests: + cpu: 200m + service: + ports: + - name: tcp-citadel-grpc-tls + port: 8060 + targetPort: 8060 + - name: tcp-dns + port: 5353 + serviceAnnotations: + cloud.google.com/load-balancer-type: internal diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/_helpers.tpl b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/_helpers.tpl new file mode 100755 index 00000000000..3f7af953a8d --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/_helpers.tpl @@ -0,0 +1,12 @@ +{{/* Ensure namespace is set the same everywhere */}} +{{- define "istio.namespace" -}} + {{- .Release.Namespace | default "istio-system" -}} +{{- end -}} + +{{- define "system_default_registry" -}} +{{- if .Values.global.cattle.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/admin-role.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/admin-role.yaml new file mode 100755 index 00000000000..ad1313c4f1a --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/admin-role.yaml @@ -0,0 +1,43 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + name: istio-admin + namespace: {{ template "istio.namespace" . }} +rules: + - apiGroups: + - config.istio.io + resources: + - adapters + - attributemanifests + - handlers + - httpapispecbindings + - httpapispecs + - instances + - quotaspecbindings + - quotaspecs + - rules + - templates + verbs: ["get", "watch", "list"] + - apiGroups: + - networking.istio.io + resources: + - destinationrules + - envoyfilters + - gateways + - serviceentries + - sidecars + - virtualservices + - workloadentries + verbs: + - '*' + - apiGroups: + - security.istio.io + resources: + - authorizationpolicies + - peerauthentications + - requestauthentications + verbs: + - '*' diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/base-config-map.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/base-config-map.yaml new file mode 100755 index 00000000000..5323917bc3d --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/base-config-map.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: istio-installer-base + namespace: {{ template "istio.namespace" . }} +data: +{{ tpl (.Files.Glob "configs/*").AsConfig . | indent 2 }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrole.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrole.yaml new file mode 100755 index 00000000000..a93b3df95d0 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrole.yaml @@ -0,0 +1,120 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: istio-installer +rules: +# istio groups +- apiGroups: + - authentication.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - config.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - install.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - networking.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - rbac.istio.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - security.istio.io + resources: + - '*' + verbs: + - '*' +# k8s groups +- apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + - validatingwebhookconfigurations + verbs: + - '*' +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions.apiextensions.k8s.io + - customresourcedefinitions + verbs: + - '*' +- apiGroups: + - apps + - extensions + resources: + - daemonsets + - deployments + - deployments/finalizers + - ingresses + - replicasets + - statefulsets + verbs: + - '*' +- apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - '*' +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - get + - create +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + - roles + - rolebindings + verbs: + - '*' +- apiGroups: + - "" + resources: + - configmaps + - endpoints + - events + - namespaces + - pods + - pods/exec + - persistentvolumeclaims + - secrets + - services + - serviceaccounts + verbs: + - '*' +- apiGroups: + - policy + resourceNames: + - istio-installer + resources: + - podsecuritypolicies + verbs: + - use diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrolebinding.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrolebinding.yaml new file mode 100755 index 00000000000..9d74a043451 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/clusterrolebinding.yaml @@ -0,0 +1,12 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: istio-installer +subjects: +- kind: ServiceAccount + name: istio-installer + namespace: {{ template "istio.namespace" . }} +roleRef: + kind: ClusterRole + name: istio-installer + apiGroup: rbac.authorization.k8s.io diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/edit-role.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/edit-role.yaml new file mode 100755 index 00000000000..d1059d58d7d --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/edit-role.yaml @@ -0,0 +1,43 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + rbac.authorization.k8s.io/aggregate-to-edit: "true" + namespace: {{ template "istio.namespace" . }} + name: istio-edit +rules: + - apiGroups: + - config.istio.io + resources: + - adapters + - attributemanifests + - handlers + - httpapispecbindings + - httpapispecs + - instances + - quotaspecbindings + - quotaspecs + - rules + - templates + verbs: ["get", "watch", "list"] + - apiGroups: + - networking.istio.io + resources: + - destinationrules + - envoyfilters + - gateways + - serviceentries + - sidecars + - virtualservices + - workloadentries + verbs: + - '*' + - apiGroups: + - security.istio.io + resources: + - authorizationpolicies + - peerauthentications + - requestauthentications + verbs: + - '*' diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-cni-psp.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-cni-psp.yaml new file mode 100755 index 00000000000..5b94c8503fb --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-cni-psp.yaml @@ -0,0 +1,51 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: psp-istio-cni + namespace: {{ template "istio.namespace" . }} +spec: + allowPrivilegeEscalation: true + fsGroup: + rule: RunAsAny + hostNetwork: true + runAsUser: + rule: RunAsAny + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + volumes: + - secret + - configMap + - emptyDir + - hostPath +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: psp-istio-cni + namespace: {{ template "istio.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: psp-istio-cni +subjects: + - kind: ServiceAccount + name: istio-cni +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: psp-istio-cni + namespace: {{ template "istio.namespace" . }} +rules: +- apiGroups: + - policy + resourceNames: + - psp-istio-cni + resources: + - podsecuritypolicies + verbs: + - use +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-job.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-job.yaml new file mode 100755 index 00000000000..9a13f5698f3 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-job.yaml @@ -0,0 +1,50 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: istioctl-installer + namespace: {{ template "istio.namespace" . }} + annotations: + "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +spec: + backoffLimit: 1 + template: + spec: + containers: + - name: istioctl-installer + image: {{ template "system_default_registry" . }}{{ .Values.installer.repository }}:{{ .Values.installer.tag }} + env: + - name: RELEASE_NAME + value: {{ .Release.Name }} + - name: ISTIO_NAMESPACE + value: {{ template "istio.namespace" . }} + - name: FORCE_INSTALL + value: {{ .Values.forceInstall | default "false" | quote }} + command: ["/bin/sh","-c"] + args: ["/usr/local/app/scripts/run.sh"] + volumeMounts: + - name: config-volume + mountPath: /app/istio-base.yaml + subPath: istio-base.yaml + {{- if .Values.overlayFile }} + - name: overlay-volume + mountPath: /app/overlay-config.yaml + subPath: overlay-config.yaml + {{- end }} + volumes: + - name: config-volume + configMap: + name: istio-installer-base + {{- if .Values.overlayFile }} + - name: overlay-volume + configMap: + name: istio-installer-overlay + {{- end }} + serviceAccountName: istio-installer + {{- if .Values.global.rbac.pspEnabled }} + securityContext: + runAsUser: 101 + runAsGroup: 101 + {{- end }} + restartPolicy: Never diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-psp.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-psp.yaml new file mode 100755 index 00000000000..f0b5ee565fe --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-install-psp.yaml @@ -0,0 +1,30 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: istio-installer + namespace: {{ template "istio.namespace" . }} +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: + - 'configMap' + - 'secret' +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-psp.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-psp.yaml new file mode 100755 index 00000000000..b3758b74f1c --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-psp.yaml @@ -0,0 +1,81 @@ +{{- if .Values.global.rbac.pspEnabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: istio-psp + namespace: {{ template "istio.namespace" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: istio-psp +subjects: + - kind: ServiceAccount + name: istio-egressgateway-service-account + - kind: ServiceAccount + name: istio-ingressgateway-service-account + - kind: ServiceAccount + name: istio-mixer-service-account + - kind: ServiceAccount + name: istio-operator-authproxy + - kind: ServiceAccount + name: istiod-service-account + - kind: ServiceAccount + name: istio-sidecar-injector-service-account + - kind: ServiceAccount + name: istiocoredns-service-account + - kind: ServiceAccount + name: default +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: istio-psp + namespace: {{ template "istio.namespace" . }} +rules: +- apiGroups: + - policy + resourceNames: + - istio-psp + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: istio-psp + namespace: {{ template "istio.namespace" . }} +spec: + allowPrivilegeEscalation: false + forbiddenSysctls: + - '*' + fsGroup: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + requiredDropCapabilities: + - ALL + runAsUser: + rule: MustRunAsNonRoot + runAsGroup: + rule: MustRunAs + ranges: + - min: 1 + max: 65535 + seLinux: + rule: RunAsAny + supplementalGroups: + ranges: + - max: 65535 + min: 1 + rule: MustRunAs + volumes: + - configMap + - emptyDir + - projected + - secret + - downwardAPI + - persistentVolumeClaim +{{- end }} \ No newline at end of file diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-uninstall-job.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-uninstall-job.yaml new file mode 100755 index 00000000000..a7f15632579 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/istio-uninstall-job.yaml @@ -0,0 +1,45 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: istioctl-uninstaller + namespace: {{ template "istio.namespace" . }} + annotations: + "helm.sh/hook": pre-delete + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": hook-succeeded +spec: + template: + spec: + containers: + - name: istioctl-uninstaller + image: {{ template "system_default_registry" . }}{{ .Values.installer.repository }}:{{ .Values.installer.tag }} + env: + - name: RELEASE_NAME + value: {{ .Release.Name }} + - name: ISTIO_NAMESPACE + value: {{ template "istio.namespace" . }} + command: ["/bin/sh","-c"] + args: ["/usr/local/app/scripts/uninstall_istio_system.sh"] + volumeMounts: + - name: config-volume + mountPath: /app/istio-base.yaml + subPath: istio-base.yaml + {{- if .Values.overlayFile }} + - name: overlay-volume + mountPath: /app/overlay-config.yaml + subPath: overlay-config.yaml + {{ end }} + volumes: + - name: config-volume + configMap: + name: istio-installer-base + {{- if .Values.overlayFile }} + - name: overlay-volume + configMap: + name: istio-installer-overlay + {{ end }} + serviceAccountName: istio-installer + securityContext: + runAsUser: 101 + runAsGroup: 101 + restartPolicy: OnFailure diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/overlay-config-map.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/overlay-config-map.yaml new file mode 100755 index 00000000000..287d26b2c32 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/overlay-config-map.yaml @@ -0,0 +1,9 @@ +{{- if .Values.overlayFile }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: istio-installer-overlay + namespace: {{ template "istio.namespace" . }} +data: + overlay-config.yaml: {{ toYaml .Values.overlayFile | indent 2 }} +{{- end }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/service-monitors.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/service-monitors.yaml new file mode 100755 index 00000000000..c3d60c4fce9 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/service-monitors.yaml @@ -0,0 +1,51 @@ +{{- if .Values.kiali.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: envoy-stats-monitor + namespace: {{ template "istio.namespace" . }} + labels: + monitoring: istio-proxies +spec: + selector: + matchExpressions: + - {key: istio-prometheus-ignore, operator: DoesNotExist} + namespaceSelector: + any: true + jobLabel: envoy-stats + endpoints: + - path: /stats/prometheus + targetPort: 15090 + interval: 15s + relabelings: + - sourceLabels: [__meta_kubernetes_pod_container_port_name] + action: keep + regex: '.*-envoy-prom' + - action: labeldrop + regex: "__meta_kubernetes_pod_label_(.+)" + - sourceLabels: [__meta_kubernetes_namespace] + action: replace + targetLabel: namespace + - sourceLabels: [__meta_kubernetes_pod_name] + action: replace + targetLabel: pod_name +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: istio-component-monitor + namespace: {{ template "istio.namespace" . }} + labels: + monitoring: istio-components +spec: + jobLabel: istio + targetLabels: [app] + selector: + matchExpressions: + - {key: istio, operator: In, values: [pilot]} + namespaceSelector: + any: true + endpoints: + - port: http-monitoring + interval: 15s +{{- end -}} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/serviceaccount.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/serviceaccount.yaml new file mode 100755 index 00000000000..82b6cbb7e62 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: istio-installer + namespace: {{ template "istio.namespace" . }} diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/view-role.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/view-role.yaml new file mode 100755 index 00000000000..5947d3eba97 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/templates/view-role.yaml @@ -0,0 +1,41 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + rbac.authorization.k8s.io/aggregate-to-view: "true" + namespace: {{ template "istio.namespace" . }} + name: istio-view +rules: + - apiGroups: + - config.istio.io + resources: + - adapters + - attributemanifests + - handlers + - httpapispecbindings + - httpapispecs + - instances + - quotaspecbindings + - quotaspecs + - rules + - templates + verbs: ["get", "watch", "list"] + - apiGroups: + - networking.istio.io + resources: + - destinationrules + - envoyfilters + - gateways + - serviceentries + - sidecars + - virtualservices + - workloadentries + verbs: ["get", "watch", "list"] + - apiGroups: + - security.istio.io + resources: + - authorizationpolicies + - peerauthentications + - requestauthentications + verbs: ["get", "watch", "list"] diff --git a/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/values.yaml b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/values.yaml new file mode 100755 index 00000000000..6c3f66797b9 --- /dev/null +++ b/charts/rancher-istio-1.9/rancher-istio/1.9.300-rc03/values.yaml @@ -0,0 +1,85 @@ +overlayFile: "" +tag: 1.9.3 +##Setting forceInstall: true will remove the check for istio version < 1.6.x and will not analyze your install cluster prior to install +forceInstall: false + +installer: + repository: rancher/istio-installer + tag: 1.9.3-rancher2 + +##Native support for dns added in 1.8 +dns: + enabled: false + +base: + enabled: true + +cni: + enabled: false + repository: rancher/mirrored-istio-install-cni + tag: 1.9.3 + logLevel: info + excludeNamespaces: + - istio-system + - kube-system + +egressGateways: + enabled: false + type: NodePort + +ingressGateways: + enabled: true + type: NodePort + +istiodRemote: + enabled: false + +pilot: + enabled: true + repository: rancher/mirrored-istio-pilot + tag: 1.9.3 + +telemetry: + enabled: true + v2: + enabled: true + +global: + cattle: + systemDefaultRegistry: "" + proxy: + repository: rancher/mirrored-istio-proxyv2 + tag: 1.9.3 + proxy_init: + repository: rancher/mirrored-istio-proxyv2 + tag: 1.9.3 + defaultPodDisruptionBudget: + enabled: true + rbac: + pspEnabled: false + +# Kiali subchart from rancher-kiali-server +kiali: + enabled: true + auth: + strategy: anonymous + deployment: + ingress_enabled: false + repository: rancher/mirrored-kiali-kiali + tag: v1.32.0 + external_services: + prometheus: + custom_metrics_url: "http://rancher-monitoring-prometheus.cattle-monitoring-system.svc:9090" + url: "http://rancher-monitoring-prometheus.cattle-monitoring-system.svc:9090" + tracing: + in_cluster_url: "http://tracing.istio-system.svc:16686/jaeger" + grafana: + in_cluster_url: "http://rancher-monitoring-grafana.cattle-monitoring-system.svc:80" + url: "http://rancher-monitoring-grafana.cattle-monitoring-system.svc:80" + +tracing: + enabled: false + contextPath: "/jaeger" + jaeger: + repository: rancher/mirrored-jaegertracing-all-in-one + tag: 1.20.0 diff --git a/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/Chart.yaml b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/Chart.yaml new file mode 100755 index 00000000000..c9578091e6d --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/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: 3.9.400-rc06 diff --git a/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/README.md b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/README.md new file mode 100755 index 00000000000..d4beb54faf4 --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/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/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusterflows.yaml b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusterflows.yaml new file mode 100755 index 00000000000..9fc6e22a518 --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusterflows.yaml @@ -0,0 +1,765 @@ + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + creationTimestamp: null + name: clusterflows.logging.banzaicloud.io +spec: + additionalPrinterColumns: + - JSONPath: .status.active + description: Is the flow active? + name: Active + type: boolean + - JSONPath: .status.problemsCount + description: Number of problems + name: Problems + type: integer + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: ClusterFlow + listKind: ClusterFlowList + plural: clusterflows + singular: clusterflow + preserveUnknownFields: false + scope: Namespaced + subresources: + status: {} + validation: + 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_key: + 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_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + languages: + items: + type: string + type: array + 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 + 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_2_database: + type: string + geoip_database: + type: string + geoip_lookup_keys: + 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 + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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 + 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 + globalOutputRefs: + 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 + 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 + version: v1beta1 + versions: + - name: v1beta1 + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusteroutputs.yaml b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusteroutputs.yaml new file mode 100755 index 00000000000..029e28ec86a --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_clusteroutputs.yaml @@ -0,0 +1,4721 @@ + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + creationTimestamp: null + name: clusteroutputs.logging.banzaicloud.io +spec: + additionalPrinterColumns: + - JSONPath: .status.active + description: Is the output active? + name: Active + type: boolean + - JSONPath: .status.problemsCount + description: Number of problems + name: Problems + type: integer + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: ClusterOutput + listKind: ClusterOutputList + plural: clusteroutputs + singular: clusteroutput + preserveUnknownFields: false + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + awsElasticsearch: + 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 + 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 + 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 + 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 + include_tag_key: + type: boolean + logstash_format: + type: boolean + tag_key: + 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 + 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 + required: + - azure_container + - azure_storage_access_key + - azure_storage_account + - azure_storage_sas_token + 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 + 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 + 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 + 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 + 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: + 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 + 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 + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + exception_backup: + 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_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 + 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 + 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 + 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 + path: + type: string + path_suffix: + 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 + 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 + 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 + 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 + 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 + storage_class: + type: string + store_as: + type: string + transcoding: + type: boolean + required: + - bucket + - project + type: object + gelf: + 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 + 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 + 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 + 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 + 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 + 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_codec: + type: string + default_message_key: + type: string + default_partition_key: + type: string + default_topic: + type: string + 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 + 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 + required_acks: + type: integer + sasl_over_ssl: + type: boolean + scram_mechanism: + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + oss: + properties: + aaccess_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 + 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 + 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 + 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 + store_as: + type: string + upload_crc_enable: + type: boolean + warn_for_delay: + type: string + required: + - aaccess_key_secret + - access_key_id + - 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 + 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 + strftime_format: + type: string + ttl: + type: integer + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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: + 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 + 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: + 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 + host: + type: string + insecure: + type: boolean + port: + type: integer + 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 + 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 + version: v1beta1 + versions: + - name: v1beta1 + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_flows.yaml b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_flows.yaml new file mode 100755 index 00000000000..a01a1331d2b --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_flows.yaml @@ -0,0 +1,761 @@ + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + creationTimestamp: null + name: flows.logging.banzaicloud.io +spec: + additionalPrinterColumns: + - JSONPath: .status.active + description: Is the flow active? + name: Active + type: boolean + - JSONPath: .status.problemsCount + description: Number of problems + name: Problems + type: integer + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: Flow + listKind: FlowList + plural: flows + singular: flow + preserveUnknownFields: false + scope: Namespaced + subresources: + status: {} + validation: + 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_key: + 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_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + languages: + items: + type: string + type: array + 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 + 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_2_database: + type: string + geoip_database: + type: string + geoip_lookup_keys: + 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 + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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 + 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 + globalOutputRefs: + items: + type: string + type: array + 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 + version: v1beta1 + versions: + - name: v1beta1 + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_loggings.yaml b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_loggings.yaml new file mode 100755 index 00000000000..9d9c20fa117 --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_loggings.yaml @@ -0,0 +1,7095 @@ + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + creationTimestamp: null + name: loggings.logging.banzaicloud.io +spec: + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: Logging + listKind: LoggingList + plural: loggings + singular: logging + preserveUnknownFields: false + scope: Cluster + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + allowClusterResourcesFromAllNamespaces: + type: boolean + 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_key: + 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_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + languages: + items: + type: string + type: array + 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 + 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_2_database: + type: string + geoip_database: + type: string + geoip_lookup_keys: + 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 + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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 + 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 + globalOutputRefs: + items: + type: string + type: array + outputRefs: + items: + type: string + type: array + type: object + enableRecreateWorkloadOnImmutableFieldChange: + type: boolean + flowConfigCheckDisabled: + type: boolean + flowConfigOverride: + type: string + fluentbit: + 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 + 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 + 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 + 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 + 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.path: + type: string + storage.sync: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: object + coroStackSize: + format: int32 + type: integer + customConfigSecret: + type: string + disableKubernetesFilter: + type: boolean + enableUpstream: + 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 + 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_Tag_Prefix: + type: string + Kube_Token_File: + type: string + Kube_URL: + type: string + Kube_meta_preload_cache_dir: + 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 + 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 + type: object + grace: + format: int32 + type: integer + 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_Sync: + type: string + Docker_Mode: + type: string + Docker_Mode_Flush: + 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 + Refresh_Interval: + type: string + Rotate_Wait: + type: string + Skip_Long_Lines: + type: string + Tag: + type: string + Tag_Regex: + type: string + 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 + 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 + 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 + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + type: string + type: array + targetLabel: + type: string + type: object + type: array + type: object + timeout: + type: string + type: object + mountPath: + type: string + network: + properties: + connectTimeout: + format: int32 + type: integer + keepalive: + type: boolean + keepaliveIdleTimeout: + format: int32 + type: integer + keepaliveMaxRecycle: + format: int32 + type: integer + type: object + nodeSelector: + additionalProperties: + type: string + type: object + parser: + type: string + podPriorityClassName: + type: string + position_db: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: object + positiondb: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: object + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + 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 + 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 + runAsUserName: + type: string + type: object + type: object + serviceAccount: + 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 + 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 + 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 + 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 + 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 + 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: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: object + configCheckAnnotations: + additionalProperties: + type: string + 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 + disablePvc: + type: boolean + 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: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: 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 + 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 + 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 + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + type: string + type: array + targetLabel: + type: string + type: object + type: array + type: object + timeout: + type: string + type: object + nodeSelector: + additionalProperties: + type: string + type: object + podPriorityClassName: + type: string + port: + format: int32 + type: integer + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + type: object + type: object + rootDir: + type: string + scaling: + properties: + 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 + 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 + runAsUserName: + type: string + type: object + type: object + serviceAccount: + 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 + 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_key: + 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_metadata: + type: string + type: object + dedot: + properties: + de_dot_nested: + type: boolean + de_dot_separator: + type: string + type: object + detectExceptions: + properties: + languages: + items: + type: string + type: array + 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 + 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_2_database: + type: string + geoip_database: + type: string + geoip_lookup_keys: + 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 + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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: + delimiter: + type: string + delimiter_pattern: + type: string + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + format_firstline: + type: string + keep_time_key: + type: boolean + label_delimiter: + type: string + local_time: + type: boolean + multiline: + items: + type: string + type: array + null_empty_string: + type: boolean + null_value_pattern: + type: string + patterns: + items: + properties: + estimate_current_event: + type: boolean + expression: + type: string + format: + type: string + keep_time_key: + type: boolean + local_time: + type: boolean + 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 + 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.path: + type: string + storage.sync: + type: string + type: object + bufferStorageVolume: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: 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 + 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 + 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 + 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 + 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: + type: string + 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 + 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 + 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: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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 + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + 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: + type: string + 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 + 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 + 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: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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 + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + 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: + type: string + 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 + 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 + 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: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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 + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + 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 + 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: + type: string + 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 + 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 + maxSkew: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + 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: + type: string + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + type: object + ephemeral: + properties: + readOnly: + type: boolean + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: + type: string + 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 + required: + - sources + 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 + 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 + 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_Tag_Prefix: + type: string + Kube_Token_File: + type: string + Kube_URL: + type: string + Kube_meta_preload_cache_dir: + 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 + 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 + type: object + grace: + format: int32 + type: integer + inputTail: + properties: + Buffer_Chunk_Size: + type: string + Buffer_Max_Size: + type: string + DB: + type: string + DB_Sync: + type: string + Docker_Mode: + type: string + Docker_Mode_Flush: + 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 + Refresh_Interval: + type: string + Rotate_Wait: + type: string + Skip_Long_Lines: + type: string + Tag: + type: string + Tag_Regex: + type: string + 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 + serviceMonitor: + type: boolean + serviceMonitorConfig: + properties: + additionalLabels: + additionalProperties: + type: string + type: object + honorLabels: + type: boolean + metricRelabelings: + items: + properties: + action: + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + type: string + type: array + targetLabel: + type: string + type: object + type: array + relabelings: + items: + properties: + action: + type: string + modulus: + format: int64 + type: integer + regex: + type: string + replacement: + type: string + separator: + type: string + sourceLabels: + items: + type: string + type: array + targetLabel: + type: string + type: object + type: array + 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: + clusterIP: + type: string + externalIPs: + items: + type: string + type: array + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + ipFamily: + 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: + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + topologyKeys: + items: + type: string + type: array + type: + type: string + type: object + type: object + network: + properties: + connectTimeout: + format: int32 + type: integer + keepalive: + type: boolean + keepaliveIdleTimeout: + format: int32 + type: integer + keepaliveMaxRecycle: + format: int32 + type: integer + type: object + podPriorityClassName: + type: string + positiondb: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + 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 + resources: + properties: + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + 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: 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 + 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 + 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 + watchNamespaces: + items: + type: string + type: array + required: + - controlNamespace + type: object + status: + properties: + configCheckResults: + additionalProperties: + type: boolean + type: object + type: object + type: object + version: v1beta1 + versions: + - name: v1beta1 + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_outputs.yaml b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_outputs.yaml new file mode 100755 index 00000000000..85ee16497c3 --- /dev/null +++ b/charts/rancher-logging/rancher-logging-crd/3.9.400-rc06/templates/logging.banzaicloud.io_outputs.yaml @@ -0,0 +1,4715 @@ + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 + creationTimestamp: null + name: outputs.logging.banzaicloud.io +spec: + additionalPrinterColumns: + - JSONPath: .status.active + description: Is the output active? + name: Active + type: boolean + - JSONPath: .status.problemsCount + description: Number of problems + name: Problems + type: integer + group: logging.banzaicloud.io + names: + categories: + - logging-all + kind: Output + listKind: OutputList + plural: outputs + singular: output + preserveUnknownFields: false + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + awsElasticsearch: + 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 + 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 + 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 + 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 + include_tag_key: + type: boolean + logstash_format: + type: boolean + tag_key: + 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 + 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 + required: + - azure_container + - azure_storage_access_key + - azure_storage_account + - azure_storage_sas_token + 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 + 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 + 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 + 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 + 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: + 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 + 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 + default_elasticsearch_version: + type: string + deflector_alias: + type: string + enable_ilm: + type: boolean + exception_backup: + 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_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 + 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 + 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 + 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 + path: + type: string + path_suffix: + 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 + 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 + 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 + 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 + 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 + storage_class: + type: string + store_as: + type: string + transcoding: + type: boolean + required: + - bucket + - project + type: object + gelf: + 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 + 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 + 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 + 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 + 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 + 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_codec: + type: string + default_message_key: + type: string + default_partition_key: + type: string + default_topic: + type: string + 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 + 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 + required_acks: + type: integer + sasl_over_ssl: + type: boolean + scram_mechanism: + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + oss: + properties: + aaccess_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 + 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 + 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 + 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 + store_as: + type: string + upload_crc_enable: + type: boolean + warn_for_delay: + type: string + required: + - aaccess_key_secret + - access_key_id + - 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 + 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 + strftime_format: + type: string + ttl: + type: integer + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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: + 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 + 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: + 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 + host: + type: string + insecure: + type: boolean + port: + type: integer + 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 + required: + - host + type: object + type: object + status: + properties: + active: + type: boolean + problems: + items: + type: string + type: array + problemsCount: + type: integer + type: object + type: object + version: v1beta1 + versions: + - name: v1beta1 + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/.helmignore b/charts/rancher-logging/rancher-logging/3.9.400-rc06/.helmignore new file mode 100755 index 00000000000..50af0317254 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/.helmignore @@ -0,0 +1,22 @@ +# 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 +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/Chart.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/Chart.yaml new file mode 100755 index 00000000000..ddbd7ecf97f --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/Chart.yaml @@ -0,0 +1,19 @@ +annotations: + catalog.cattle.io/auto-install: rancher-logging-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Logging + catalog.cattle.io/namespace: cattle-logging-system + catalog.cattle.io/provides-gvr: logging.banzaicloud.io.clusterflow/v1beta1 + catalog.cattle.io/release-name: rancher-logging + catalog.cattle.io/ui-component: logging +apiVersion: v1 +appVersion: 3.9.4 +description: Collects and filter logs using highly configurable CRDs. Powered by Banzai + Cloud Logging Operator. +icon: https://charts.rancher.io/assets/logos/logging.svg +keywords: +- logging +- monitoring +- security +name: rancher-logging +version: 3.9.400-rc06 diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/README.md b/charts/rancher-logging/rancher-logging/3.9.400-rc06/README.md new file mode 100755 index 00000000000..e2080b7434c --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/README.md @@ -0,0 +1,131 @@ + +# Logging operator Chart + +[Logging operator](https://github.com/banzaicloud/logging-operator) Managed centralized logging component fluentd and fluent-bit instance on cluster. + +## tl;dr: + +```bash +$ helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com +$ helm repo update +$ helm install banzaicloud-stable/logging-operator +``` + +## Introduction + +This chart bootstraps a [Logging Operator](https://github.com/banzaicloud/logging-operator) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.8+ with Beta APIs enabled + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```bash +$ helm install --name my-release banzaicloud-stable/logging-operator +``` + +### CRDs +Use `createCustomResource=false` with Helm v3 to avoid trying to create CRDs from the `crds` folder and from templates at the same time. + +The command deploys **Logging operator** on the Kubernetes cluster with the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + +## Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```bash +$ helm delete my-release +``` + +The command removes all Kubernetes components associated with the chart and deletes the release. + +## Configuration + +The following tables lists the configurable parameters of the logging-operator chart and their default values. + +| Parameter | Description | Default | +| --------------------------------------------------- | ------------------------------------------------------ | ------------------------------ | +| `image.repository` | Container image repository | `ghcr.io/banzaicloud/logging-operator` | +| `image.tag` | Container image tag | `3.9.4` | +| `image.pullPolicy` | Container pull policy | `IfNotPresent` | +| `nameOverride` | Override name of app | `` | +| `fullnameOverride` | Override full name of app | `` | +| `namespaceOverride` | Override namespace of app | `` | +| `watchNamespace` | Namespace to watch for LoggingOperator CRD | `` | +| `rbac.enabled` | Create rbac service account and roles | `true` | +| `rbac.psp.enabled` | 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. | `false` | +| `priorityClassName` | Operator priorityClassName | `{}` | +| `affinity` | Node Affinity | `{}` | +| `resources` | CPU/Memory resource requests/limits | `{}` | +| `tolerations` | Node Tolerations | `[]` | +| `nodeSelector` | Define which Nodes the Pods are scheduled on. | `{}` | +| `podLabels` | Define custom labels for logging-operator pods | `{}` | +| `annotations` | Define annotations for logging-operator pods | `{}` | +| `podSecurityContext` | Pod SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) | `{"runAsNonRoot": true, "runAsUser": 1000, "fsGroup": 2000}` | +| `securityContext` | Container SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) | `{"allowPrivilegeEscalation": false, "readOnlyRootFilesystem": true}` | +| `createCustomResource` | Create CRDs. | `true` | +| `monitoring.serviceMonitor.enabled` | Create Prometheus Operator servicemonitor. | `false` | +| `global.seLinux.enabled` | Add seLinuxOptions to Logging resources, requires the [rke2-selinux RPM](https://github.com/rancher/rke2-selinux/releases) | `false` | + +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example: + +```bash +$ helm install --name my-release -f values.yaml banzaicloud-stable/logging-operator +``` + +> **Tip**: You can use the default [values.yaml](values.yaml) + +## Installing Fluentd and Fluent-bit via logging + +The previous chart does **not** install `logging` resource to deploy Fluentd and Fluent-bit on cluster. To install them please use the [Logging Operator Logging](https://github.com/banzaicloud/logging-operator/tree/master/charts/logging-operator-logging) chart. + +## tl;dr: + +```bash +$ helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com +$ helm repo update +$ helm install banzaicloud-stable/logging-operator-logging +``` + +## Configuration + +The following tables lists the configurable parameters of the logging-operator-logging chart and their default values. +## tl;dr: + +```bash +$ helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com +$ helm repo update +$ helm install banzaicloud-stable/logging-operator-logging +``` + +## Configuration + +The following tables lists the configurable parameters of the logging-operator-logging chart and their default values. + +| Parameter | Description | Default | +| --------------------------------------------------- | ------------------------------------------------------ | ------------------------------ | +| `tls.enabled` | Enabled TLS communication between components | true | +| `tls.fluentdSecretName` | Specified secret name, which contain tls certs | This will overwrite automatic Helm certificate generation. | +| `tls.fluentbitSecretName` | Specified secret name, which contain tls certs | This will overwrite automatic Helm certificate generation. | +| `tls.sharedKey` | Shared key between nodes (fluentd-fluentbit) | [autogenerated] | +| `fluentbit.enabled` | Install fluent-bit | true | +| `fluentbit.namespace` | Specified fluentbit installation namespace | same as operator namespace | +| `fluentbit.image.tag` | Fluentbit container image tag | `1.6.10` | +| `fluentbit.image.repository` | Fluentbit container image repository | `fluent/fluent-bit` | +| `fluentbit.image.pullPolicy` | Fluentbit container pull policy | `IfNotPresent` | +| `fluentd.enabled` | Install fluentd | true | +| `fluentd.image.tag` | Fluentd container image tag | `v1.11.5-alpine-12` | +| `fluentd.image.repository` | Fluentd container image repository | `ghcr.io/banzaicloud/fluentd` | +| `fluentd.image.pullPolicy` | Fluentd container pull policy | `IfNotPresent` | +| `fluentd.volumeModImage.tag` | Fluentd volumeModImage container image tag | `latest` | +| `fluentd.volumeModImage.repository` | Fluentd volumeModImage container image repository | `busybox` | +| `fluentd.volumeModImage.pullPolicy` | Fluentd volumeModImage container pull policy | `IfNotPresent` | +| `fluentd.configReloaderImage.tag` | Fluentd configReloaderImage container image tag | `v0.2.2` | +| `fluentd.configReloaderImage.repository` | Fluentd configReloaderImage container image repository | `jimmidyson/configmap-reload` | +| `fluentd.configReloaderImage.pullPolicy` | Fluentd configReloaderImage container pull policy | `IfNotPresent` | +| `fluentd.fluentdPvcSpec.accessModes` | Fluentd persistence volume access modes | `[ReadWriteOnce]` | +| `fluentd.fluentdPvcSpec.resources.requests.storage` | Fluentd persistence volume size | `21Gi` | +| `fluentd.fluentdPvcSpec.storageClassName` | Fluentd persistence volume storageclass | `"""` | diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/app-readme.md b/charts/rancher-logging/rancher-logging/3.9.400-rc06/app-readme.md new file mode 100755 index 00000000000..2de4ab4c558 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/app-readme.md @@ -0,0 +1,22 @@ +# 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.5/). + +## 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. diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/NOTES.txt b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/NOTES.txt new file mode 100755 index 00000000000..e69de29bb2d diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/_helpers.tpl b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/_helpers.tpl new file mode 100755 index 00000000000..b2b289443b7 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/_helpers.tpl @@ -0,0 +1,66 @@ +{{/* 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 -}} + +{{/* +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 -}} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrole.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrole.yaml new file mode 100755 index 00000000000..709eedb91b3 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrole.yaml @@ -0,0 +1,167 @@ +{{- if .Values.rbac.enabled }} + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: {{ template "logging-operator.fullname" . }} +rules: +- apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - endpoints + - namespaces + - nodes + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + - pods + - serviceaccounts + - services + 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: + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - 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.banzaicloud.io + resources: + - clusterflows + - clusteroutputs + - flows + - loggings + - outputs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - logging.banzaicloud.io + resources: + - clusterflows/status + - clusteroutputs/status + - flows/status + - loggings/status + - outputs/status + verbs: + - get + - patch + - update +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + 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 +{{- end }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrolebinding.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/clusterrolebinding.yaml new file mode 100755 index 00000000000..89d17d094f7 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/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/rancher-logging/3.9.400-rc06/templates/crds.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/crds.yaml new file mode 100755 index 00000000000..f573652d047 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/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/rancher-logging/3.9.400-rc06/templates/deployment.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/deployment.yaml new file mode 100755 index 00000000000..26d14cca2f7 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/deployment.yaml @@ -0,0 +1,68 @@ +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 }}" + args: {{ range .Values.extraArgs }} + - {{ . -}} + {{ end }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + ports: + - name: http + containerPort: {{ .Values.http.port }} + + {{- if .Values.securityContext }} + securityContext: {{ toYaml .Values.securityContext | nindent 12 }} + {{- 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.enabled }} + serviceAccountName: {{ include "logging-operator.fullname" . }} + {{- end }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/aks/logging.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/aks/logging.yaml new file mode 100755 index 00000000000..916f93b41dc --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/aks/logging.yaml @@ -0,0 +1,58 @@ +{{- if .Values.additionalLoggingSources.aks.enabled }} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }}-aks + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + inputTail: + Tag: "aks" + Path: "/var/log/azure/kubelet-status.log" + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.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 }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/eks/logging.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/eks/logging.yaml new file mode 100755 index 00000000000..da4af2d9e3c --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/eks/logging.yaml @@ -0,0 +1,59 @@ +{{- if .Values.additionalLoggingSources.eks.enabled }} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }}-eks + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + inputTail: + Tag: "eks" + Path: "/var/log/messages" + Parser: "syslog" + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.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 }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/gke/logging.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/gke/logging.yaml new file mode 100755 index 00000000000..3823127b2d8 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/gke/logging.yaml @@ -0,0 +1,58 @@ +{{- if .Values.additionalLoggingSources.gke.enabled }} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }}-gke + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + inputTail: + Tag: "gke" + Path: "/var/log/kube-proxy.log" + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.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 }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-openrc.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-openrc.yaml new file mode 100755 index 00000000000..cf5e988f35b --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-openrc.yaml @@ -0,0 +1,68 @@ +{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "openrc")}} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }}-k3s + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + inputTail: + Tag: "k3s" + Path: "/var/log/k3s.log" + extraVolumeMounts: + - source: "/var/log/" + destination: "/var/log" + readOnly: true + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.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 }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-systemd.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-systemd.yaml new file mode 100755 index 00000000000..c4b3db0e736 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/k3s/logging-k3s-systemd.yaml @@ -0,0 +1,68 @@ +{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "systemd")}} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }}-k3s + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + inputTail: + Tag: "k3s" + Path: "/var/log/syslog" + extraVolumeMounts: + - source: "/var/log/" + destination: "/var/log" + readOnly: true + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.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 }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/configmap.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/configmap.yaml new file mode 100755 index 00000000000..ab91d93e2f7 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/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 }}-fluentd.{{ .Release.Namespace }}.svc + Port 24240 + Retry_Limit False +{{- end }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/daemonset.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/daemonset.yaml new file mode 100755 index 00000000000..840b3e72265 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke/daemonset.yaml @@ -0,0 +1,124 @@ +{{- 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 "system_default_registry" . }}{{ .Values.images.fluentbit.repository }}:{{ .Values.images.fluentbit.tag }}" + 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.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/rancher-logging/3.9.400-rc06/templates/loggings/rke2/configmap.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/configmap.yaml new file mode 100755 index 00000000000..f1ba032d55a --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/configmap.yaml @@ -0,0 +1,22 @@ +{{- 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: | + [INPUT] + Name systemd + Tag rke2 + Path {{ .Values.systemdLogPath | default "/var/log/journal" }} + Systemd_Filter _SYSTEMD_UNIT=rke2-server.service + + [OUTPUT] + Name forward + Match * + Host {{ .Release.Name }}-fluentd.{{ .Release.Namespace }}.svc + Port 24240 + Retry_Limit False +{{- end }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/daemonset.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/daemonset.yaml new file mode 100755 index 00000000000..f45b74b76d1 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/daemonset.yaml @@ -0,0 +1,110 @@ +{{- 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: + name: "{{ .Release.Name }}-rke2-journald-aggregator" + namespace: "{{ .Release.Namespace }}" + labels: + name: {{ .Release.Name }}-rke2-journald-aggregator + spec: + containers: + - name: fluentd + image: "{{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }}:{{ .Values.images.fluentbit.tag }}" + {{- 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 }}-rke2-journald-aggregator" + volumes: + - name: config + configMap: + name: "{{ .Release.Name }}-rke2" + - 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 }}-rke2-journald-aggregator" + namespace: "{{ .Release.Namespace }}" +{{- if .Values.global.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/rancher-logging/3.9.400-rc06/templates/loggings/rke2/logging-rke2-containers.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/logging-rke2-containers.yaml new file mode 100755 index 00000000000..7be4972e7bb --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/rke2/logging-rke2-containers.yaml @@ -0,0 +1,73 @@ +{{- if .Values.additionalLoggingSources.rke2.enabled }} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }}-rke2-containers + namespace: {{ .Release.Namespace }} +spec: + controlNamespace: {{ .Release.Namespace }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + inputTail: + Tag: "rke2" + Path: "/var/log/containers/*rke*.log" + extraVolumeMounts: + - source: "/var/log/containers/" + destination: "/var/log/containers/" + readOnly: true + {{- if or .Values.global.psp.enabled .Values.global.seLinux.enabled }} + security: + {{- end }} + {{- if or .Values.global.psp.enabled }} + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- if .Values.global.seLinux.enabled }} + securityContext: + seLinuxOptions: + type: rke_logreader_t + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.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 }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/root/logging.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/root/logging.yaml new file mode 100755 index 00000000000..2c0506c0f9e --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/loggings/root/logging.yaml @@ -0,0 +1,113 @@ +{{- $containers := printf "%s/containers/" (default "/var/lib/docker" .Values.global.dockerRootDirectory) }} +apiVersion: logging.banzaicloud.io/v1beta1 +kind: Logging +metadata: + name: {{ .Release.Name }} + namespace: {{ .Release.Namespace }} + labels: +{{ include "logging-operator.labels" . | indent 4 }} +spec: + controlNamespace: {{ .Release.Namespace }} + {{- if not (kindIs "invalid" .Values.global.cattle.windows.enabled) }} + {{- if .Values.global.cattle.windows.enabled }} + 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: "kuberentes.C.var.lib.rancher.rke.log." + inputTail: + Path: "C:\\var\\lib\\rancher\\rke\\log" + extraVolumeMounts: + - source: "/var/lib/rancher/rke/log" + destination: "/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 }} + {{- end }} + fluentbit: + image: + repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }} + tag: {{ .Values.images.fluentbit.tag }} + {{- if or .Values.global.psp.enabled .Values.global.seLinux.enabled }} + security: + {{- end }} + {{- if .Values.global.psp.enabled }} + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- if .Values.global.seLinux.enabled }} + securityContext: + seLinuxOptions: + type: rke_logreader_t + {{- end }} + {{- if .Values.global.dockerRootDirectory }} + mountPath: {{ $containers }} + extraVolumeMounts: + - source: {{ $containers }} + destination: {{ $containers }} + readOnly: true + {{- end }} + {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }} + {{- with $total_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 }} + disablePvc: {{ .Values.disablePvc }} + {{- if .Values.global.psp.enabled }} + security: + podSecurityPolicyCreate: true + roleBasedAccessControlCreate: true + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.fluentd.resources }} + resources: + {{- toYaml . | nindent 6 }} + {{- end }} + {{- with .Values.fluentd.livenessProbe }} + livenessProbe: {{- toYaml . | nindent 6 }} + {{- end }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/psp.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/psp.yaml new file mode 100755 index 00000000000..420067f5979 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/psp.yaml @@ -0,0 +1,33 @@ +{{ if and .Values.rbac.enabled .Values.rbac.psp.enabled }} +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: psp.logging-operator + namespace: {{ include "logging-operator.namespace" . }} + annotations: + seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default,runtime/default' + seccomp.security.alpha.kubernetes.io/defaultProfileName: 'runtime/default' + 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/rancher-logging/3.9.400-rc06/templates/service.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/service.yaml new file mode 100755 index 00000000000..f419ae2c483 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/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/rancher-logging/3.9.400-rc06/templates/serviceMonitor.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/serviceMonitor.yaml new file mode 100755 index 00000000000..1bb762cde56 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/serviceMonitor.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/rancher-logging/3.9.400-rc06/templates/serviceaccount.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/serviceaccount.yaml new file mode 100755 index 00000000000..cbb2a94b4fb --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/serviceaccount.yaml @@ -0,0 +1,10 @@ +{{- 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 }} +{{- end }} diff --git a/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/userroles.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/userroles.yaml new file mode 100755 index 00000000000..f4136b09a4e --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/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/rancher-logging/3.9.400-rc06/templates/validate-install-crd.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/validate-install-crd.yaml new file mode 100755 index 00000000000..66e8725e51d --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/validate-install-crd.yaml @@ -0,0 +1,18 @@ +#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}} +# {{- $found := dict -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/ClusterFlow" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/ClusterOutput" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/Flow" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/Logging" false -}} +# {{- set $found "logging.banzaicloud.io/v1beta1/Output" 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/rancher-logging/3.9.400-rc06/templates/validate-install.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/templates/validate-install.yaml new file mode 100755 index 00000000000..bd624cc4b4c --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/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/rancher-logging/3.9.400-rc06/values.yaml b/charts/rancher-logging/rancher-logging/3.9.400-rc06/values.yaml new file mode 100755 index 00000000000..3a63e0b42b6 --- /dev/null +++ b/charts/rancher-logging/rancher-logging/3.9.400-rc06/values.yaml @@ -0,0 +1,176 @@ +# 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-banzaicloud-logging-operator + tag: 3.9.4 + pullPolicy: IfNotPresent + +extraArgs: [] +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" +namespaceOverride: "" + +## Pod custom labels +## +podLabels: {} + +annotations: {} + +## Deploy CRDs used by Logging Operator. +## +createCustomResource: false + +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 + +affinity: {} + +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: {} + +# These "rbac" settings match the upstream defaults. For only using psp in the overlay files, which +# include the default Logging CRs created, see the "global.psp" setting. To enable psp for the entire +# chart, enable both "rbac.psp" and "global.psp" (this may require further changes to the chart). +rbac: + enabled: true + psp: + enabled: false + +## 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 +securityContext: {} +# allowPrivilegeEscalation: false +# readOnlyRootFilesystem: true + # capabilities: + # drop: ["ALL"] + +## Operator priorityClassName +## +priorityClassName: {} + +monitoring: + # Create a Prometheus Operator ServiceMonitor object + serviceMonitor: + enabled: false + additionalLabels: {} + metricRelabelings: [] + relabelings: [] + +disablePvc: true + +systemdLogPath: "/var/log/journal" + +additionalLoggingSources: + rke: + enabled: false + fluentbit: + log_level: "info" + mem_buffer_limit: "5MB" + rke2: + enabled: false + k3s: + enabled: false + container_engine: "systemd" + aks: + enabled: false + eks: + enabled: false + gke: + enabled: false + +images: + config_reloader: + repository: rancher/mirrored-jimmidyson-configmap-reload + tag: v0.4.0 + fluentbit: + repository: rancher/mirrored-fluent-fluent-bit + tag: 1.6.10 + fluentbit_debug: + repository: rancher/mirrored-fluent-fluent-bit + tag: 1.6.10-debug + fluentd: + repository: rancher/mirrored-banzaicloud-fluentd + tag: v1.11.5-alpine-12 + nodeagent_fluentbit: + os: "windows,linux" + repository: rancher/fluent-bit + tag: 1.6.10 + +# These settings apply to every Logging CR, including vendor Logging CRs enabled in "additionalLoggingSources". +# Changing these affects every Logging CR installed. +nodeAgents: + tls: + enabled: false +fluentd: + resources: {} + livenessProbe: + tcpSocket: + port: 24240 + initialDelaySeconds: 30 + periodSeconds: 15 +fluentbit: + resources: {} + tolerations: + - key: node-role.kubernetes.io/controlplane + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/etcd + value: "true" + effect: NoExecute + +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 + # Change the "dockerRootDirectory" if the default Docker directory has changed. + dockerRootDirectory: "" + # This psp setting differs from the upstream "rbac.psp" by only enabling psp settings for the + # overlay files, which include the Logging CRs created, whereas the upstream "rbac.psp" affects the + # logging operator. + psp: + enabled: true + seLinux: + enabled: false diff --git a/index.yaml b/index.yaml index e71d1ea7e63..19ef4ba3c00 100755 --- a/index.yaml +++ b/index.yaml @@ -1,6 +1,25 @@ apiVersion: v1 entries: fleet: + - 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/namespace: fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: clusters.fleet.cattle.io/v1alpha1 + catalog.cattle.io/release-name: fleet + apiVersion: v2 + appVersion: 0.3.5 + created: "2021-04-23T21:29:27.778708498Z" + description: Fleet Manager - GitOps at Scale + digest: a37d1918af77d26b0010b1073f92bfcac51961d9d8ec576ef769431e62bb5763 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet + urls: + - assets/fleet/fleet-0.3.500-rc06.tgz + version: 0.3.500-rc06 - annotations: catalog.cattle.io/auto-install: fleet-crd=match catalog.cattle.io/certified: rancher @@ -515,6 +534,22 @@ entries: - released/assets/fleet/fleet-0.3.0-beta600.tgz version: 0.3.0-beta600 fleet-agent: + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/release-name: fleet-agent + apiVersion: v2 + appVersion: 0.3.5 + created: "2021-04-23T21:29:27.782710812Z" + description: Fleet Manager Agent - GitOps at Scale + digest: efd6b66a37ebef338f21029883aa347d66273da8a5f89397c90b3a12de00d468 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-agent + urls: + - assets/fleet-agent/fleet-agent-0.3.500-rc06.tgz + version: 0.3.500-rc06 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -948,6 +983,22 @@ entries: - released/assets/fleet-agent/fleet-agent-0.3.0-beta600.tgz version: 0.3.0-beta600 fleet-crd: + - annotations: + catalog.cattle.io/certified: rancher + catalog.cattle.io/hidden: "true" + catalog.cattle.io/namespace: fleet-system + catalog.cattle.io/os: linux + catalog.cattle.io/release-name: fleet-crd + apiVersion: v2 + appVersion: 0.3.5 + created: "2021-04-23T21:29:27.790025236Z" + description: Fleet Manager CustomResourceDefinitions + digest: 5e32a136687c4c5adcdb57498bdbb149010498d3dfb1edb9e73a30ff566ad7f2 + icon: https://charts.rancher.io/assets/logos/fleet.svg + name: fleet-crd + urls: + - assets/fleet-crd/fleet-crd-0.3.500-rc06.tgz + version: 0.3.500-rc06 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true" @@ -2720,6 +2771,38 @@ entries: - assets/rancher-grafana/rancher-grafana-6.6.401-rc00.tgz version: 6.6.401-rc00 rancher-istio: + - annotations: + catalog.cattle.io/auto-install: rancher-kiali-server-crd=1.32.100-rc01 + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Istio + catalog.cattle.io/namespace: istio-system + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: networking.istio.io.virtualservice/v1beta1 + catalog.cattle.io/release-name: rancher-istio + catalog.cattle.io/requests-cpu: 710m + catalog.cattle.io/requests-memory: 2314Mi + catalog.cattle.io/ui-component: istio + apiVersion: v1 + appVersion: 1.9.3 + created: "2021-04-23T21:29:27.827825363Z" + dependencies: + - condition: kiali.enabled + name: kiali + repository: file://./charts/kiali + - condition: tracing.enabled + name: tracing + repository: file://./charts/tracing + description: A basic Istio setup that installs with the istioctl. Refer to https://istio.io/latest/ + for details. + digest: 439a948e27519c23410fcfd591f6f849d8431c9c5d0bdb4c72b8e541c3bedd61 + icon: https://charts.rancher.io/assets/logos/istio.svg + keywords: + - networking + - infrastructure + name: rancher-istio + urls: + - assets/rancher-istio-1.9/rancher-istio-1.9.300-rc03.tgz + version: 1.9.300-rc03 - annotations: catalog.cattle.io/auto-install: rancher-kiali-server-crd=1.32.100-rc01 catalog.cattle.io/certified: rancher @@ -2784,6 +2867,38 @@ entries: urls: - assets/rancher-istio-1.9/rancher-istio-1.9.200-rc02.tgz version: 1.9.200-rc02 + - annotations: + catalog.cattle.io/auto-install: rancher-kiali-server-crd=1.32.100-rc01 + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Istio + catalog.cattle.io/namespace: istio-system + catalog.cattle.io/os: linux + catalog.cattle.io/provides-gvr: networking.istio.io.virtualservice/v1beta1 + catalog.cattle.io/release-name: rancher-istio + catalog.cattle.io/requests-cpu: 710m + catalog.cattle.io/requests-memory: 2314Mi + catalog.cattle.io/ui-component: istio + apiVersion: v1 + appVersion: 1.8.5 + created: "2021-04-23T21:29:27.821694943Z" + dependencies: + - condition: kiali.enabled + name: kiali + repository: file://./charts/kiali + - condition: tracing.enabled + name: tracing + repository: file://./charts/tracing + description: A basic Istio setup that installs with the istioctl. Refer to https://istio.io/latest/ + for details. + digest: a27b7513ffc7b5796643d591b746ee38a43e7a11ec16049802669c3347bb26a5 + icon: https://charts.rancher.io/assets/logos/istio.svg + keywords: + - networking + - infrastructure + name: rancher-istio + urls: + - assets/rancher-istio-1.8/rancher-istio-1.8.500-rc03.tgz + version: 1.8.500-rc03 - annotations: catalog.cattle.io/auto-install: rancher-kiali-server-crd=1.32.100-rc01 catalog.cattle.io/certified: rancher @@ -3467,6 +3582,29 @@ entries: - assets/rancher-kube-state-metrics/rancher-kube-state-metrics-2.13.101-rc00.tgz version: 2.13.101-rc00 rancher-logging: + - annotations: + catalog.cattle.io/auto-install: rancher-logging-crd=match + catalog.cattle.io/certified: rancher + catalog.cattle.io/display-name: Logging + catalog.cattle.io/namespace: cattle-logging-system + catalog.cattle.io/provides-gvr: logging.banzaicloud.io.clusterflow/v1beta1 + catalog.cattle.io/release-name: rancher-logging + catalog.cattle.io/ui-component: logging + apiVersion: v1 + appVersion: 3.9.4 + created: "2021-04-23T21:29:27.846983427Z" + description: Collects and filter logs using highly configurable CRDs. Powered + by Banzai Cloud Logging Operator. + digest: 2157a535f052bd7fbf51f353bfec78a925aff669116e45ec2830346a7cdeca66 + icon: https://charts.rancher.io/assets/logos/logging.svg + keywords: + - logging + - monitoring + - security + name: rancher-logging + urls: + - assets/rancher-logging/rancher-logging-3.9.400-rc06.tgz + version: 3.9.400-rc06 - annotations: catalog.cattle.io/auto-install: rancher-logging-crd=match catalog.cattle.io/certified: rancher @@ -3873,6 +4011,20 @@ entries: - released/assets/rancher-logging/rancher-logging-3.6.000.tgz version: 3.6.000 rancher-logging-crd: + - 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: "2021-04-23T21:29:27.866751494Z" + description: Installs the CRDs for rancher-logging. + digest: f5f51244079273017aceffcc8d03d32ad0daacde74dd90dec39f6e91a44893a1 + name: rancher-logging-crd + type: application + urls: + - assets/rancher-logging/rancher-logging-crd-3.9.400-rc06.tgz + version: 3.9.400-rc06 - annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/hidden: "true"