From 04a24adae120055fce71e9a2b5e88c59d29a5a6b Mon Sep 17 00:00:00 2001 From: Evan Cordell Date: Wed, 29 May 2019 14:38:42 -0400 Subject: [PATCH] feat(install): Add new install scripts for releases, update release instructions. Also removes okd manifests, which are no longer relevant. --- Documentation/design/release.md | 10 +- Documentation/install/install.md | 19 +- Makefile | 5 +- deploy/alm-ci-build.Dockerfile | 16 - .../0000_50_olm_10-operatorgroup.crd.yaml | 1 - deploy/ocp/values.yaml | 2 +- .../0.10.0/0000_50_olm_00-namespace.yaml | 13 - ...50_olm_01-olm-operator.serviceaccount.yaml | 31 - .../0000_50_olm_04-installplan.crd.yaml | 80 - .../0000_50_olm_05-subscription.crd.yaml | 75 - .../0000_50_olm_06-catalogsource.crd.yaml | 130 - ...000_50_olm_07-olm-operator.deployment.yaml | 58 - ...50_olm_08-catalog-operator.deployment.yaml | 53 - ...0000_50_olm_09-aggregated.clusterrole.yaml | 34 - .../0000_50_olm_10-operatorgroup.crd.yaml | 100 - ...000_50_olm_11-olm-operators.configmap.yaml | 132 - ...50_olm_12-olm-operators.catalogsource.yaml | 14 - .../0000_50_olm_13-operatorgroup-default.yaml | 16 - ..._50_olm_14-packageserver.subscription.yaml | 14 - .../0.7.0/00-olm-operator.clusterrole.yaml | 12 - .../0.7.0/01-olm-operator.serviceaccount.yaml | 7 - .../0.7.0/02-olm-operator.rolebinding.yaml | 14 - .../0.7.0/03-clusterserviceversion.crd.yaml | 465 - .../manifests/0.7.0/05-catalogsource.crd.yaml | 81 - .../manifests/0.7.0/06-installplan.crd.yaml | 78 - .../manifests/0.7.0/07-subscription.crd.yaml | 72 - .../0.7.0/08-rh-operators.configmap.yaml | 9699 ------------ .../0.7.0/10-rh-operators.catalogsource.yaml | 16 - .../0.7.0/12-olm-operator.deployment.yaml | 47 - .../0.7.0/13-catalog-operator.deployment.yaml | 43 - .../0.7.0/20-aggregated-edit.clusterrole.yaml | 14 - .../0.7.0/21-aggregated-view.clusterrole.yaml | 13 - .../okd/manifests/0.7.0/22-packageserver.yaml | 149 - .../manifests/0.7.1/0000_30_00-namespace.yaml | 8 - ...000_30_01-olm-operator.serviceaccount.yaml | 31 - .../0000_30_02-clusterserviceversion.crd.yaml | 694 - .../0.7.1/0000_30_03-installplan.crd.yaml | 78 - .../0.7.1/0000_30_04-subscription.crd.yaml | 72 - .../0.7.1/0000_30_05-catalogsource.crd.yaml | 81 - .../0000_30_06-rh-operators.configmap.yaml | 11364 ------------- ...0000_30_09-rh-operators.catalogsource.yaml | 16 - .../0000_30_10-olm-operator.deployment.yaml | 47 - ...000_30_11-catalog-operator.deployment.yaml | 43 - .../0000_30_12-aggregated.clusterrole.yaml | 26 - .../0.7.1/0000_30_13-packageserver.yaml | 149 - .../manifests/0.7.2/0000_30_00-namespace.yaml | 10 - ...000_30_01-olm-operator.serviceaccount.yaml | 31 - .../0000_30_02-clusterserviceversion.crd.yaml | 709 - .../0.7.2/0000_30_03-installplan.crd.yaml | 78 - .../0.7.2/0000_30_04-subscription.crd.yaml | 72 - .../0.7.2/0000_30_05-catalogsource.crd.yaml | 81 - .../0000_30_06-rh-operators.configmap.yaml | 11748 -------------- ...0000_30_09-rh-operators.catalogsource.yaml | 16 - .../0000_30_10-olm-operator.deployment.yaml | 47 - ...000_30_11-catalog-operator.deployment.yaml | 43 - .../0000_30_12-aggregated.clusterrole.yaml | 26 - .../0.7.2/0000_30_13-packageserver.yaml | 151 - .../manifests/0.7.4/0000_30_00-namespace.yaml | 8 - ...000_30_01-olm-operator.serviceaccount.yaml | 31 - .../0000_30_02-clusterserviceversion.crd.yaml | 718 - .../0.7.4/0000_30_03-installplan.crd.yaml | 78 - .../0.7.4/0000_30_04-subscription.crd.yaml | 72 - .../0.7.4/0000_30_05-catalogsource.crd.yaml | 81 - .../0000_30_06-rh-operators.configmap.yaml | 11756 -------------- ...0000_30_09-rh-operators.catalogsource.yaml | 16 - .../0000_30_10-olm-operator.deployment.yaml | 47 - ...000_30_11-catalog-operator.deployment.yaml | 42 - .../0000_30_12-aggregated.clusterrole.yaml | 26 - .../0.7.4/0000_30_13-packageserver.yaml | 151 - .../manifests/0.8.0/0000_30_00-namespace.yaml | 19 - ...000_30_01-olm-operator.serviceaccount.yaml | 31 - .../0000_30_02-clusterserviceversion.crd.yaml | 760 - .../0.8.0/0000_30_03-installplan.crd.yaml | 79 - .../0.8.0/0000_30_04-subscription.crd.yaml | 74 - .../0.8.0/0000_30_05-catalogsource.crd.yaml | 120 - .../0000_30_06-rh-operators.configmap.yaml | 13200 ---------------- ...0_30_07-certified-operators.configmap.yaml | 1397 -- ..._08-certified-operators.catalogsource.yaml | 16 - ...0000_30_09-rh-operators.catalogsource.yaml | 16 - .../0000_30_10-olm-operator.deployment.yaml | 46 - ...000_30_11-catalog-operator.deployment.yaml | 41 - .../0000_30_12-aggregated.clusterrole.yaml | 26 - .../0.8.0/0000_30_13-operatorgroup.crd.yaml | 86 - .../0000_30_14-olm-operators.configmap.yaml | 128 - ...000_30_15-olm-operators.catalogsource.yaml | 14 - .../0000_30_16-operatorgroup-default.yaml | 16 - ...0000_30_17-packageserver.subscription.yaml | 14 - .../0.8.1/0000_50_olm_00-namespace.yaml | 15 - ...50_olm_01-olm-operator.serviceaccount.yaml | 31 - ...0_50_olm_02-clusterserviceversion.crd.yaml | 767 - .../0.8.1/0000_50_olm_03-installplan.crd.yaml | 79 - .../0000_50_olm_04-subscription.crd.yaml | 74 - .../0000_50_olm_05-catalogsource.crd.yaml | 129 - ...000_50_olm_06-olm-operator.deployment.yaml | 52 - ...50_olm_07-catalog-operator.deployment.yaml | 45 - ...0000_50_olm_08-aggregated.clusterrole.yaml | 28 - .../0000_50_olm_09-operatorgroup.crd.yaml | 96 - ...000_50_olm_10-olm-operators.configmap.yaml | 128 - ...50_olm_11-olm-operators.catalogsource.yaml | 14 - .../0000_50_olm_12-operatorgroup-default.yaml | 16 - ..._50_olm_13-packageserver.subscription.yaml | 14 - .../0.9.0/0000_50_olm_00-namespace.yaml | 17 - ...50_olm_01-olm-operator.serviceaccount.yaml | 31 - ...0_50_olm_03-clusterserviceversion.crd.yaml | 767 - .../0.9.0/0000_50_olm_04-installplan.crd.yaml | 79 - .../0000_50_olm_05-subscription.crd.yaml | 74 - .../0000_50_olm_06-catalogsource.crd.yaml | 129 - ...000_50_olm_07-olm-operator.deployment.yaml | 57 - ...50_olm_08-catalog-operator.deployment.yaml | 52 - ...0000_50_olm_09-aggregated.clusterrole.yaml | 28 - .../0000_50_olm_10-operatorgroup.crd.yaml | 99 - ...000_50_olm_11-olm-operators.configmap.yaml | 131 - ...50_olm_12-olm-operators.catalogsource.yaml | 14 - .../0000_50_olm_13-operatorgroup-default.yaml | 16 - ..._50_olm_14-packageserver.subscription.yaml | 14 - deploy/okd/manifests/latest | 1 - deploy/okd/values.yaml | 28 - .../0000_50_olm_10-operatorgroup.crd.yaml | 1 - .../quickstart/crds.yaml} | 378 +- deploy/upstream/quickstart/install.sh | 41 + deploy/upstream/quickstart/olm.yaml | 1142 -- deploy/upstream/values.yaml | 2 +- scripts/install.sh | 41 + scripts/package_quickstart.sh | 26 +- 124 files changed, 502 insertions(+), 70397 deletions(-) delete mode 100644 deploy/alm-ci-build.Dockerfile delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_04-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_05-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_06-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_07-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_08-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_09-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_11-olm-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_12-olm-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_13-operatorgroup-default.yaml delete mode 100644 deploy/okd/manifests/0.10.0/0000_50_olm_14-packageserver.subscription.yaml delete mode 100644 deploy/okd/manifests/0.7.0/00-olm-operator.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.7.0/01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.7.0/02-olm-operator.rolebinding.yaml delete mode 100644 deploy/okd/manifests/0.7.0/03-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.0/05-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.0/06-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.0/07-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.0/08-rh-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.7.0/10-rh-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.7.0/12-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.0/13-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.0/20-aggregated-edit.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.7.0/21-aggregated-view.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.7.0/22-packageserver.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_02-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_03-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_04-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_05-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_06-rh-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_09-rh-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_10-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_11-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_12-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.7.1/0000_30_13-packageserver.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_02-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_03-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_04-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_05-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_06-rh-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_09-rh-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_10-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_11-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_12-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.7.2/0000_30_13-packageserver.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_02-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_03-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_04-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_05-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_06-rh-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_09-rh-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_10-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_11-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_12-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.7.4/0000_30_13-packageserver.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_07-certified-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_08-certified-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_13-operatorgroup.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_14-olm-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_15-olm-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_16-operatorgroup-default.yaml delete mode 100644 deploy/okd/manifests/0.8.0/0000_30_17-packageserver.subscription.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_02-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_03-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_04-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_05-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_06-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_07-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_08-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_09-operatorgroup.crd.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_10-olm-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_11-olm-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_12-operatorgroup-default.yaml delete mode 100644 deploy/okd/manifests/0.8.1/0000_50_olm_13-packageserver.subscription.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_00-namespace.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_01-olm-operator.serviceaccount.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_03-clusterserviceversion.crd.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_04-installplan.crd.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_05-subscription.crd.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_06-catalogsource.crd.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_07-olm-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_08-catalog-operator.deployment.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_09-aggregated.clusterrole.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_10-operatorgroup.crd.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_11-olm-operators.configmap.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_12-olm-operators.catalogsource.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_13-operatorgroup-default.yaml delete mode 100644 deploy/okd/manifests/0.9.0/0000_50_olm_14-packageserver.subscription.yaml delete mode 120000 deploy/okd/manifests/latest delete mode 100644 deploy/okd/values.yaml rename deploy/{okd/manifests/0.10.0/0000_50_olm_03-clusterserviceversion.crd.yaml => upstream/quickstart/crds.yaml} (74%) create mode 100755 deploy/upstream/quickstart/install.sh create mode 100755 scripts/install.sh diff --git a/Documentation/design/release.md b/Documentation/design/release.md index bfaab26693..869ad324c5 100644 --- a/Documentation/design/release.md +++ b/Documentation/design/release.md @@ -19,4 +19,12 @@ github_changelog_generator -u operator-framework -p operator-lifecycle-manager - --token= --future-release= --pr-label="**Other changes:**" ``` -The resulting CHANGELOG.md file can be copied into a new release created via . \ No newline at end of file +The resulting CHANGELOG.md file can be copied into a new release created via . + +## QuickStart + +Edit the GitHub Release and upload the files in `deploy/upstream/quickstart` as release artifacts. + +Then, add instructions to the GitHub release page to install referencing those manifests. + +See an [example here](https://github.com/operator-framework/operator-lifecycle-manager/releases/tag/0.10.0#Install). diff --git a/Documentation/install/install.md b/Documentation/install/install.md index 83a17bbcd1..50585afec0 100644 --- a/Documentation/install/install.md +++ b/Documentation/install/install.md @@ -2,22 +2,19 @@ OLM deployment resources are templated so that they can be easily configured for different deployment environments. -## Install the latest released version of OLM for upstream Kubernetes +Check out the latest [releases on github](https://github.com/operator-framework/operator-lifecycle-manager/releases) for release-specific install instructions. -```bash -kubectl create -f deploy/upstream/manifests/latest/ -``` - -## Install the latest release version of OLM for okd +## Manual installation +Installing the CRDs first gives them a chance to register before installing the rest, which requires the CRDs exist. ```bash -oc create -f deploy/okd/manifests/latest/ +kubectl create -f deploy/upstream/quickstart/crds.yaml +kubectl create -f deploy/upstream/quickstart/olm.yaml ``` -## Install with Ansible for openshift +## OpenShift -OLM should be installed via [openshift-ansible](https://github.com/openshift/openshift-ansible). The manifests in this -repo is periodically synced with openshift-ansible and should only be used for testing releases. +OLM is installed by default in OpenShift 4.0 and above. ## Run locally with minikube @@ -29,7 +26,7 @@ make run-local You can verify that the OLM components have been successfully deployed by running `kubectl -n local get deployments` -## Building deployment resources for any cluster +## Customizing OLM installation Deployments of OLM can be stamped out with different configurations by writing a `values.yaml` file and running commands to generate resources. diff --git a/Makefile b/Makefile index 129ad9d54c..c4a4f5bb19 100644 --- a/Makefile +++ b/Makefile @@ -185,7 +185,6 @@ release: ver=$(shell cat OLM_VERSION) release: docker pull quay.io/operator-framework/olm:$(ver) $(MAKE) target=upstream ver=$(ver) quickstart=true package - $(MAKE) target=okd ver=$(ver) package $(MAKE) target=ocp ver=$(ver) package rm -rf manifests mkdir manifests @@ -208,7 +207,7 @@ endif ./scripts/package_release.sh $(ver) deploy/$(target)/manifests/$(ver) deploy/$(target)/values.yaml ln -sfFn ./$(ver) deploy/$(target)/manifests/latest ifeq ($(quickstart), true) - ./scripts/package_quickstart.sh deploy/$(target)/manifests/$(ver) deploy/$(target)/quickstart/olm.yaml + ./scripts/package_quickstart.sh deploy/$(target)/manifests/$(ver) deploy/$(target)/quickstart/olm.yaml deploy/$(target)/quickstart/crds.yaml deploy/$(target)/quickstart/install.sh endif ########################## @@ -218,4 +217,4 @@ endif .PHONY: run-console-local run-console-local: @echo Running script to run the OLM console locally: - . ./scripts/run_console_local.sh \ No newline at end of file + . ./scripts/run_console_local.sh diff --git a/deploy/alm-ci-build.Dockerfile b/deploy/alm-ci-build.Dockerfile deleted file mode 100644 index 2445bfe63f..0000000000 --- a/deploy/alm-ci-build.Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update -RUN apt-get install curl git wget -y - -RUN curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash -RUN mkdir -p ~/.helm/plugins/ -RUN cd ~/.helm/plugins/ && git clone https://github.com/app-registry/appr-helm-plugin.git registry && cd - -RUN helm registry --help -RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl -RUN chmod +x ./kubectl -RUN mv ./kubectl /usr/bin/ -RUN wget https://github.com/app-registry/appr/releases/download/v0.7.2/appr-linux-x64 -RUN chmod +x appr-linux-x64 -RUN mv ./appr-linux-x64 /usr/bin/appr - diff --git a/deploy/ocp/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml b/deploy/ocp/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml index c1d22dddec..43c9b708e5 100644 --- a/deploy/ocp/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml +++ b/deploy/ocp/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml @@ -93,7 +93,6 @@ spec: type: string type: array required: - - namespaces - lastUpdated type: object required: diff --git a/deploy/ocp/values.yaml b/deploy/ocp/values.yaml index c310a6c33c..6be7ecf878 100644 --- a/deploy/ocp/values.yaml +++ b/deploy/ocp/values.yaml @@ -73,4 +73,4 @@ package: - key: node.kubernetes.io/not-ready operator: Exists effect: NoExecute - tolerationSeconds: 120 + tolerationSeconds: 120 \ No newline at end of file diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_00-namespace.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_00-namespace.yaml deleted file mode 100644 index 4b5864fe02..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_00-namespace.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - ---- -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operators - diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8cedb3c2ed..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_04-installplan.crd.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_04-installplan.crd.yaml deleted file mode 100644 index 627ce931e3..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_04-installplan.crd.yaml +++ /dev/null @@ -1,80 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_04-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - shortNames: - - ip - categories: - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - description: Represents a plan to install and resolve dependencies for Cluster Services. - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_05-subscription.crd.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_05-subscription.crd.yaml deleted file mode 100644 index b9265baa0b..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_05-subscription.crd.yaml +++ /dev/null @@ -1,75 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_05-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subscribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - shortNames: - - sub - - subs - categories: - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - description: Subscribes service catalog to a source and channel to recieve updates for packages. - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_06-catalogsource.crd.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_06-catalogsource.crd.yaml deleted file mode 100644 index 991a5e72c2..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_06-catalogsource.crd.yaml +++ /dev/null @@ -1,130 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_06-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - shortNames: - - catsrc - categories: - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - description: A source configured to find packages and updates. - properties: - spec: - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. `configmap` is the new name for `internal` - enum: - - internal # deprecated - - configmap - - grpc - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - address: - type: string - description: An optional address. When set, directs OLM to connect to use a pre-existing registry server at this address. - - image: - type: string - description: An image that serves a grpc registry. Only valid for `grpc` sourceType. If both image and address are set, OLM does not use the address field. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. - status: - type: object - description: The status of the CatalogSource - properties: - configMapReference: - type: object - description: If sourceType is `internal` or `configmap`, then this holds a reference to the configmap associated with this CatalogSource. - properties: - name: - type: string - description: name of the configmap - namespace: - type: string - description: namespace of the configmap - resourceVersion: - type: string - description: resourceVersion of the configmap - uid: - type: string - description: uid of the configmap - registryService: - type: object - properties: - protocol: - type: string - description: protocol of the registry service - enum: - - grpc - serviceName: - type: string - description: name of the registry service - serviceNamespace: - type: string - description: namespace of the registry service - port: - type: string - description: port of the registry service - lastSync: - type: string - description: the last time the catalog was updated. If this time is less than the last updated time on the object, the catalog will be re-cached. - diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_07-olm-operator.deployment.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_07-olm-operator.deployment.yaml deleted file mode 100644 index 4c65a69297..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_07-olm-operator.deployment.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_07-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - args: - - -writeStatusName - - operator-lifecycle-manager - image: quay.io/operator-framework/olm@sha256:93751ae9d398d571c2cb3d11b0ac4ae052117fd1726025364a6f2f3a5caef68e - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - - containerPort: 8081 - name: metrics - protocol: TCP - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - terminationMessagePolicy: FallbackToLogsOnError - env: - - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - - - nodeSelector: - beta.kubernetes.io/os: linux - diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_08-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_08-catalog-operator.deployment.yaml deleted file mode 100644 index 2dbdbdfe6c..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_08-catalog-operator.deployment.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_08-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - args: - - '-namespace' - - openshift-operator-lifecycle-manager - - -configmapServerImage=quay.io/operator-framework/configmap-operator-registry:latest - image: quay.io/operator-framework/olm@sha256:93751ae9d398d571c2cb3d11b0ac4ae052117fd1726025364a6f2f3a5caef68e - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - - containerPort: 8081 - name: metrics - protocol: TCP - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - terminationMessagePolicy: FallbackToLogsOnError - env: - - - - nodeSelector: - beta.kubernetes.io/os: linux - diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_09-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_09-aggregated.clusterrole.yaml deleted file mode 100644 index 5665a36a99..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_09-aggregated.clusterrole.yaml +++ /dev/null @@ -1,34 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_09-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["subscriptions"] - verbs: ["create", "update", "patch", "delete"] -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions"] - verbs: ["delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "admin", "edit" and "view" default roles - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "operatorgroups"] - verbs: ["get", "list", "watch"] -- apiGroups: ["packages.operators.coreos.com"] - resources: ["packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml deleted file mode 100644 index c1d22dddec..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml +++ /dev/null @@ -1,100 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_10-operatorgroup.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: operatorgroups.operators.coreos.com -spec: - group: operators.coreos.com - version: v1 - versions: - - name: v1 - served: true - storage: true - - name: v1alpha2 - served: true - storage: false - names: - plural: operatorgroups - singular: operatorgroup - kind: OperatorGroup - listKind: OperatorGroupList - shortNames: - - og - categories: - - olm - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - description: A grouping of namespaces for usage with an operator. - properties: - spec: - properties: - selector: - type: object - description: Optional label selector to find resources associated with or managed by the operator - anyOf: - - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - required: - - matchLabels - - properties: - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - required: - - matchExpressions - targetNamespaces: - type: array - description: Optional list of target namespaces. If set, OLM will ignore selector. - items: - type: string - pattern: ^\S+$ - serviceAccountName: - type: string - staticProvidedAPIs: - type: boolean - description: If true, OLM will not modify the OperatorGroup's providedAPIs annotation. - type: object - status: - properties: - lastUpdated: - format: date-time - type: string - namespaces: - items: - type: string - type: array - required: - - namespaces - - lastUpdated - type: object - required: - - metadata diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_11-olm-operators.configmap.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_11-olm-operators.configmap.yaml deleted file mode 100644 index 59ad53085c..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_11-olm-operators.configmap.yaml +++ /dev/null @@ -1,132 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_11-olm-operators.configmap.yaml -kind: ConfigMap -apiVersion: v1 -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -data: - customResourceDefinitions: |- - clusterServiceVersions: |- - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: packageserver.v0.10.0 - namespace: openshift-operator-lifecycle-manager - spec: - displayName: Package Server - description: Represents an Operator package that is available from a given CatalogSource which will resolve to a ClusterServiceVersion. - minKubeVersion: 1.11.0 - keywords: ['packagemanifests', 'olm', 'packages'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Package Server - url: https://github.com/operator-framework/operator-lifecycle-manager/tree/master/pkg/package-server - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: true - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - clusterPermissions: - - serviceAccountName: packageserver - rules: - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create - - get - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "operators.coreos.com" - resources: - - catalogsources - verbs: - - get - - list - - watch - - apiGroups: - - "packages.operators.coreos.com" - resources: - - packagemanifests - verbs: - - get - - list - deployments: - - name: packageserver - spec: - strategy: - type: RollingUpdate - replicas: 2 - selector: - matchLabels: - app: packageserver - template: - metadata: - labels: - app: packageserver - spec: - serviceAccountName: packageserver - nodeSelector: - beta.kubernetes.io/os: linux - - containers: - - name: packageserver - command: - - /bin/package-server - - -v=4 - - --secure-port - - "5443" - - --global-namespace - - openshift-operator-lifecycle-manager - image: quay.io/operator-framework/olm@sha256:93751ae9d398d571c2cb3d11b0ac4ae052117fd1726025364a6f2f3a5caef68e - imagePullPolicy: Always - ports: - - containerPort: 5443 - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - terminationMessagePolicy: FallbackToLogsOnError - maturity: alpha - version: 0.10.0 - apiservicedefinitions: - owned: - - group: packages.operators.coreos.com - version: v1 - kind: PackageManifest - name: packagemanifests - displayName: PackageManifest - description: A PackageManifest is a resource generated from existing CatalogSources and their ConfigMaps - deploymentName: packageserver - containerPort: 5443 - packages: |- - - packageName: packageserver - channels: - - name: alpha - currentCSV: packageserver.v0.10.0 diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_12-olm-operators.catalogsource.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_12-olm-operators.catalogsource.yaml deleted file mode 100644 index 5c643c57e3..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_12-olm-operators.catalogsource.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_12-olm-operators.catalogsource.yaml -#! validate-crd: ./deploy/chart/templates/06-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: olm-operators - displayName: OLM Operators - publisher: Red Hat diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_13-operatorgroup-default.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_13-operatorgroup-default.yaml deleted file mode 100644 index 59a45bf437..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_13-operatorgroup-default.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_13-operatorgroup-default.yaml -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: global-operators - namespace: openshift-operators ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - targetNamespaces: - - openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_14-packageserver.subscription.yaml b/deploy/okd/manifests/0.10.0/0000_50_olm_14-packageserver.subscription.yaml deleted file mode 100644 index e0dcc85dfb..0000000000 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_14-packageserver.subscription.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_14-packageserver.subscription.yaml -#! validate-crd: ./deploy/chart/templates/05-subscription.crd.yaml -#! parse-kind: Subscription -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: packageserver - namespace: openshift-operator-lifecycle-manager -spec: - source: olm-operators - sourceNamespace: openshift-operator-lifecycle-manager - name: packageserver - channel: alpha diff --git a/deploy/okd/manifests/0.7.0/00-olm-operator.clusterrole.yaml b/deploy/okd/manifests/0.7.0/00-olm-operator.clusterrole.yaml deleted file mode 100644 index 0f54e4854d..0000000000 --- a/deploy/okd/manifests/0.7.0/00-olm-operator.clusterrole.yaml +++ /dev/null @@ -1,12 +0,0 @@ -##--- -# Source: olm/templates/00-olm-operator.clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] diff --git a/deploy/okd/manifests/0.7.0/01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.7.0/01-olm-operator.serviceaccount.yaml deleted file mode 100644 index ad18f9b69e..0000000000 --- a/deploy/okd/manifests/0.7.0/01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,7 +0,0 @@ -##--- -# Source: olm/templates/01-olm-operator.serviceaccount.yaml -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.7.0/02-olm-operator.rolebinding.yaml b/deploy/okd/manifests/0.7.0/02-olm-operator.rolebinding.yaml deleted file mode 100644 index 20b80da223..0000000000 --- a/deploy/okd/manifests/0.7.0/02-olm-operator.rolebinding.yaml +++ /dev/null @@ -1,14 +0,0 @@ -##--- -# Source: olm/templates/02-olm-operator.rolebinding.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.7.0/03-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.7.0/03-clusterserviceversion.crd.yaml deleted file mode 100644 index 5a2638aa29..0000000000 --- a/deploy/okd/manifests/0.7.0/03-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,465 +0,0 @@ -##--- -# Source: olm/templates/03-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - categories: - - all - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - pattern: ^(?:[A-Za-z0-9+/]{4}){0,16250}(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.7.0/05-catalogsource.crd.yaml b/deploy/okd/manifests/0.7.0/05-catalogsource.crd.yaml deleted file mode 100644 index ec2bc40813..0000000000 --- a/deploy/okd/manifests/0.7.0/05-catalogsource.crd.yaml +++ /dev/null @@ -1,81 +0,0 @@ -##--- -# Source: olm/templates/05-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - categories: - - all - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Represents a subscription to a source and channel - required: - - spec - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. Currently the only supported type is "internal". - enum: - - internal - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. diff --git a/deploy/okd/manifests/0.7.0/06-installplan.crd.yaml b/deploy/okd/manifests/0.7.0/06-installplan.crd.yaml deleted file mode 100644 index 7173b43346..0000000000 --- a/deploy/okd/manifests/0.7.0/06-installplan.crd.yaml +++ /dev/null @@ -1,78 +0,0 @@ -##--- -# Source: olm/templates/06-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - categories: - - all - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.7.0/07-subscription.crd.yaml b/deploy/okd/manifests/0.7.0/07-subscription.crd.yaml deleted file mode 100644 index 3eaf9572b8..0000000000 --- a/deploy/okd/manifests/0.7.0/07-subscription.crd.yaml +++ /dev/null @@ -1,72 +0,0 @@ -##--- -# Source: olm/templates/07-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - categories: - - all - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.7.0/08-rh-operators.configmap.yaml b/deploy/okd/manifests/0.7.0/08-rh-operators.configmap.yaml deleted file mode 100644 index 9d0ea370e9..0000000000 --- a/deploy/okd/manifests/0.7.0/08-rh-operators.configmap.yaml +++ /dev/null @@ -1,9699 +0,0 @@ -##--- -# Source: olm/templates/08-rh-operators.configmap.yaml - -kind: ConfigMap -apiVersion: v1 -metadata: - name: rh-operators - namespace: operator-lifecycle-manager - -data: - customResourceDefinitions: |- - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: alertmanagers.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Alertmanager - plural: alertmanagers - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Alertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - baseImage: - description: Base image that is used to deploy pods, without tag. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to an Alertmanager - pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - externalUrl: - description: The external URL the Alertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Alertmanager is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Alertmanager server listen on loopback, - so that it does not bind against the Pod IP. Note this is only for - the Alertmanager UI, not the gossip communication. - type: boolean - logLevel: - description: Log level for Alertmanager to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: If set to true all actions on the underlaying managed objects - are not goint to be performed, except for delete actions. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - replicas: - description: Size is the expected size of the alertmanager cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - routePrefix: - description: The route prefix Alertmanager registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Alertmanager object, which shall be mounted into the Alertmanager - Pods. The Secrets are mounted into /etc/alertmanager/secrets/. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Alertmanager container image to be deployed. Defaults - to the value of `version`. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version the cluster should be on. - type: string - status: - description: 'Most recent observed status of the Alertmanager cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Alertmanager cluster. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager - cluster. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkas.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: Kafka - listKind: KafkaList - singular: kafka - plural: kafkas - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - kafka: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - listeners: - type: object - properties: - plain: - type: object - properties: {} - tls: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - superUsers: - type: array - items: - type: string - type: - type: string - config: - type: object - rack: - type: object - properties: - topologyKey: - type: string - example: failure-domain.beta.kubernetes.io/zone - required: - - topologyKey - brokerRackInitImage: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - - listeners - zookeeper: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - config: - type: object - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - entityOperator: - type: object - properties: - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - userOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - kafka - - zookeeper - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnect - listKind: KafkaConnectList - singular: kafkaconnect - plural: kafkaconnects - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects2is.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnectS2I - listKind: KafkaConnectS2IList - singular: kafkaconnects2i - plural: kafkaconnects2is - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - insecureSourceRepository: - type: boolean - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkatopics.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaTopic - listKind: KafkaTopicList - singular: kafkatopic - plural: kafkatopics - shortNames: - - kt - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - partitions: - type: integer - minimum: 1 - replicas: - type: integer - minimum: 1 - maximum: 32767 - config: - type: object - topicName: - type: string - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkausers.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaUser - listKind: KafkaUserList - singular: kafkauser - plural: kafkausers - shortNames: - - ku - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - acls: - type: array - items: - type: object - properties: - host: - type: string - operation: - type: string - enum: - - Read - - Write - - Create - - Delete - - Alter - - Describe - - ClusterAction - - AlterConfigs - - DescribeConfigs - - IdempotentWrite - - All - resource: - type: object - properties: - name: - type: string - patternType: - type: string - enum: - - literal - - prefix - type: - type: string - type: - type: string - enum: - - allow - - deny - required: - - operation - - resource - type: - type: string - required: - - acls - required: - - authentication - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdbackups.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdBackup - listKind: EtcdBackupList - plural: etcdbackups - singular: etcdbackup - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdclusters.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - plural: etcdclusters - singular: etcdcluster - kind: EtcdCluster - listKind: EtcdClusterList - shortNames: - - etcdclus - - etcd - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdrestores.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdRestore - listKind: EtcdRestoreList - plural: etcdrestores - singular: etcdrestore - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheuses.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Prometheus - plural: prometheuses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Prometheus cluster. - More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - additionalAlertManagerConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - additionalScrapeConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - alerting: - description: AlertingSpec defines parameters for alerting configuration - of Prometheus servers. - properties: - alertmanagers: - description: AlertmanagerEndpoints Prometheus should fire alerts - against. - items: - description: AlertmanagerEndpoints defines a selection of a single - Endpoints object containing alertmanager IPs to fire alerts - against. - properties: - bearerTokenFile: - description: BearerTokenFile to read from filesystem to use - when authenticating to Alertmanager. - type: string - name: - description: Name of Endpoints object in Namespace. - type: string - namespace: - description: Namespace of Endpoints object. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed to. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use when firing alerts. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - required: - - namespace - - name - - port - type: array - required: - - alertmanagers - baseImage: - description: Base image to use for a Prometheus deployment. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to a Prometheus pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - evaluationInterval: - description: Interval between consecutive evaluations. - type: string - externalLabels: - description: The labels to add to any time series or alerts when communicating - with external systems (federation, remote storage, Alertmanager). - type: object - externalUrl: - description: The external URL the Prometheus instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Prometheus is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Prometheus server listen on loopback, - so that it does not bind against the Pod IP. - type: boolean - logLevel: - description: Log level for Prometheus to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: When a Prometheus deployment is paused, no actions except - for deletion will be performed on the underlying objects. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - remoteRead: - description: If specified, the remote_read spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteReadSpec defines the remote_read configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: bearer token for remote read. - type: string - bearerTokenFile: - description: File to read bearer token for remote read. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - readRecent: - description: Whether reads should be made for queries for time - ranges that the local storage should have complete data for. - type: boolean - remoteTimeout: - description: Timeout for requests to the remote read endpoint. - type: string - requiredMatchers: - description: An optional list of equality matchers which have - to be present in a selector to query the remote read endpoint. - type: object - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - required: - - url - type: array - remoteWrite: - description: If specified, the remote_write spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteWriteSpec defines the remote_write configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: File to read bearer token for remote write. - type: string - bearerTokenFile: - description: File to read bearer token for remote write. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - queueConfig: - description: QueueConfig allows the tuning of remote_write queue_config - parameters. This object is referenced in the RemoteWriteSpec - object. - properties: - batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample - will wait in buffer. - type: string - capacity: - description: Capacity is the number of samples to buffer per - shard before we start dropping them. - format: int32 - type: integer - maxBackoff: - description: MaxBackoff is the maximum retry delay. - type: string - maxRetries: - description: MaxRetries is the maximum number of times to - retry a batch on recoverable errors. - format: int32 - type: integer - maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples - per send. - format: int32 - type: integer - maxShards: - description: MaxShards is the maximum number of shards, i.e. - amount of concurrency. - format: int32 - type: integer - minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled - for every retry. - type: string - remoteTimeout: - description: Timeout for requests to the remote write endpoint. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - writeRelabelConfigs: - description: The list of remote write relabel configurations. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - required: - - url - type: array - replicas: - description: Number of instances to deploy for a Prometheus deployment. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - retention: - description: Time duration Prometheus shall retain data for. - type: string - routePrefix: - description: The route prefix Prometheus registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - ruleNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - ruleSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - scrapeInterval: - description: Interval between consecutive scrapes. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Prometheus object, which shall be mounted into the Prometheus Pods. - The Secrets are mounted into /etc/prometheus/secrets/. - Secrets changes after initial creation of a Prometheus object are - not reflected in the running Pods. To change the secrets mounted into - the Prometheus Pods, the object must be deleted and recreated with - the new list of secrets. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - serviceMonitorNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - serviceMonitorSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Prometheus container image to be deployed. Defaults - to the value of `version`. - type: string - thanos: - description: ThanosSpec defines parameters for a Prometheus server within - a Thanos deployment. - properties: - baseImage: - description: Thanos base image if other than default. - type: string - gcs: - description: ThanosGCSSpec defines parameters for use of Google - Cloud Storage (GCS) with Thanos. - properties: - bucket: - description: Google Cloud Storage bucket name for stored blocks. - If empty it won't store any block inside Google Cloud Storage. - type: string - peers: - description: Peers is a DNS name for Thanos to discover peers through. - type: string - s3: - description: ThanosSpec defines parameters for of AWS Simple Storage - Service (S3) with Thanos. (S3 compatible services apply as well) - properties: - accessKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bucket: - description: S3-Compatible API bucket name for stored blocks. - type: string - endpoint: - description: S3-Compatible API endpoint for stored blocks. - type: string - insecure: - description: Whether to use an insecure connection with an S3-Compatible - API. - type: boolean - secretKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - signatureVersion2: - description: Whether to use S3 Signature Version 2; otherwise - Signature Version 4 will be used. - type: boolean - tag: - description: Tag of Thanos sidecar container image to be deployed. - Defaults to the value of `version`. - type: string - version: - description: Version describes the version of Thanos to use. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version of Prometheus to be deployed. - type: string - status: - description: 'Most recent observed status of the Prometheus cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Prometheus deployment. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus - deployment. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheusrules.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: PrometheusRule - plural: prometheusrules - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: PrometheusRuleSpec contains specification parameters for a - Rule. - properties: - groups: - description: Content of Prometheus rule file - items: - description: RuleGroup is a list of sequentially evaluated recording - and alerting rules. - properties: - interval: - type: string - name: - type: string - rules: - items: - description: Rule describes an alerting or recording rule. - properties: - alert: - type: string - annotations: - type: object - expr: - type: string - for: - type: string - labels: - type: object - record: - type: string - required: - - expr - type: array - required: - - name - - rules - type: array - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: servicemonitors.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: ServiceMonitor - plural: servicemonitors - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: ServiceMonitorSpec contains specification parameters for a - ServiceMonitor. - properties: - endpoints: - description: A list of endpoints allowed as part of this ServiceMonitor. - items: - description: Endpoint defines a scrapeable endpoint serving Prometheus - metrics. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerTokenFile: - description: File to read bearer token for scraping targets. - type: string - honorLabels: - description: HonorLabels chooses the metric's labels on collisions - with target labels. - type: boolean - interval: - description: Interval at which metrics should be scraped - type: string - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - params: - description: Optional HTTP URL parameters - type: object - path: - description: HTTP path to scrape for metrics. - type: string - port: - description: Name of the service port this endpoint refers to. - Mutually exclusive with targetPort. - type: string - proxyUrl: - description: ProxyURL eg http://proxyserver:2195 Directs scrapes - to proxy through this endpoint. - type: string - scheme: - description: HTTP scheme to use for scraping. - type: string - scrapeTimeout: - description: Timeout after which the scrape is ended - type: string - targetPort: - anyOf: - - type: string - - type: integer - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: array - jobLabel: - description: The label to use to retrieve the job name from. - type: string - namespaceSelector: - description: A selector for selecting namespaces either selecting all - namespaces or a list of namespaces. - properties: - any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names. - items: - type: string - type: array - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - targetLabels: - description: TargetLabels transfers labels on the Kubernetes Service - onto the target. - items: - type: string - type: array - required: - - endpoints - - selector - version: v1 - - clusterServiceVersions: |- - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: amqstreams.v1.0.0.beta - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"Kafka","metadata":{"name":"my-cluster"},"spec":{"kafka":{"replicas":3,"listeners":{"plain":{},"tls":{}},"config":{"offsets.topic.replication.factor":3,"transaction.state.log.replication.factor":3,"transaction.state.log.min.isr":2},"storage":{"type":"ephemeral"}},"zookeeper":{"replicas":3,"storage":{"type":"ephemeral"}},"entityOperator":{"topicOperator":{},"userOperator":{}}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnect","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnectS2I","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaTopic","metadata":{"name":"my-topic","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"partitions":10,"replicas":3,"config":{"retention.ms":604800000,"segment.bytes":1073741824}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaUser","metadata":{"name":"my-user","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"authentication":{"type":"tls"},"authorization":{"type":"simple","acls":[{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"},{"resource":{"type":"group","name":"my-group","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Write","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Create","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"}]}}}]' - spec: - displayName: AMQ Streams - description: | - **Red Hat AMQ Streams** is a massively scalable, distributed, and high performance data streaming platform based on the Apache Kafka project. - AMQ Streams provides an event streaming backbone that allows microservices and other application components to exchange data with extremely high throughput and low latency. - - **The core capabilities include** - * A pub/sub messaging model, similar to a traditional enterprise messaging system, in which application components publish and consume events to/from an ordered stream - * The long term, fault-tolerant storage of events - * The ability for a consumer to replay streams of events - * The ability to partition topics for horizontal scalability - - # Before you start - - 1\. Create AMQ Streams Cluster Roles - ``` - $ oc apply -f http://amq.io/amqstreams/rbac.yaml - ``` - 2\. Create following bindings - ``` - $ oc adm policy add-cluster-role-to-user strimzi-cluster-operator -z strimzi-cluster-operator --namespace - $ oc adm policy add-cluster-role-to-user strimzi-kafka-broker -z strimzi-cluster-operator --namespace - ``` - keywords: ['amq', 'streams', 'messaging', 'kafka', 'streaming'] - version: 1.0.0-Beta - maturity: beta - maintainers: - - name: Red Hat, Inc. - email: customerservice@redhat.com - provider: - name: Red Hat, Inc. - links: - - name: Product Page - url: https://access.redhat.com/products/red-hat-amq-streams - - name: Documentation - url: https://access.redhat.com/documentation/en-us/red_hat_amq_streams/1.0-beta/html-single/using_amq_streams/ - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: strimzi-cluster-operator - rules: - - apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - - rolebindings - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - kafka.strimzi.io - resources: - - kafkas - - kafkaconnects - - kafkaconnects2is - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch - - delete - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - endpoints - verbs: - - get - - list - - watch - - apiGroups: - - extensions - resources: - - deployments - - deployments/scale - - replicasets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps - resources: - - deployments - - deployments/scale - - deployments/status - - statefulsets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - extensions - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps.openshift.io - resources: - - deploymentconfigs - - deploymentconfigs/scale - - deploymentconfigs/status - - deploymentconfigs/finalizers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - build.openshift.io - resources: - - buildconfigs - - builds - verbs: - - create - - delete - - get - - list - - patch - - watch - - update - - apiGroups: - - image.openshift.io - resources: - - imagestreams - - imagestreams/status - verbs: - - create - - delete - - get - - list - - watch - - patch - - update - - apiGroups: - - "" - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - - apiGroups: - - kafka.strimzi.io - resources: - - kafkatopics - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - kafka.strimzi.io - resources: - - kafkausers - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - deployments: - - name: strimzi-cluster-operator - spec: - replicas: 1 - selector: - matchLabels: - name: strimzi-cluster-operator-alm-owned - template: - metadata: - name: strimzi-cluster-operator-alm-owned - labels: - name: strimzi-cluster-operator-alm-owned - spec: - serviceAccountName: strimzi-cluster-operator - containers: - - name: cluster-operator - image: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-clusteroperator-openshift:1.0.0-beta - env: - - name: STRIMZI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS - value: "120000" - - name: STRIMZI_OPERATION_TIMEOUT_MS - value: "300000" - - name: STRIMZI_DEFAULT_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeper-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafka-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnect-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_S2I_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnects2i-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-topicoperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-useroperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkainit-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeperstunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkastunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-entityoperatorstunnel-openshift:1.0.0-beta - - name: STRIMZI_LOG_LEVEL - value: INFO - customresourcedefinitions: - owned: - - name: kafkas.kafka.strimzi.io - version: v1alpha1 - kind: Kafka - displayName: Kafka - description: Represents a Kafka cluster - specDescriptors: - - description: The desired number of Kafka brokers. - displayName: Kafka Brokers - path: kafka.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Kafka brokers - displayName: Kafka storage - path: kafka.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Kafka Resource Requirements - path: kafka.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The desired number of Zookeeper nodes. - displayName: Zookeeper Nodes - path: zookeeper.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Zookeeper nodes - displayName: Zookeeper storage - path: zookeeper.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Zookeeper Resource Requirements - path: zookeeper.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnect - displayName: Kafka Connect - description: Represents a Kafka Connect cluster - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects2is.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnectS2I - displayName: Kafka Connect S2I - description: Represents a Kafka Connect cluster with Source 2 Image support - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkatopics.kafka.strimzi.io - version: v1alpha1 - kind: KafkaTopic - displayName: Kafka Topic - description: Represents a topic inside a Kafka cluster - specDescriptors: - - description: The number of partitions - displayName: Partitions - path: partitions - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The number of replicas - displayName: Replication factor - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - name: kafkausers.kafka.strimzi.io - version: v1alpha1 - kind: KafkaUser - displayName: Kafka User - description: Represents a user inside a Kafka cluster - specDescriptors: - - description: Authentication type - displayName: Authentication type - path: authentication.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Authorization type - displayName: Authorization type - path: authorization.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.6.1 - namespace: placeholder - annotations: - tectonic-visibility: ocs - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - **High availability** - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - **Automated updates** - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - **Backups included** - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.6.1 - maturity: alpha - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-status-descriptors: etcdoperator.v0.6.1 - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: iVBORw0KGgoAAAANSUhEUgAAAOEAAADZCAYAAADWmle6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAEKlJREFUeNrsndt1GzkShmEev4sTgeiHfRYdgVqbgOgITEVgOgLTEQydwIiKwFQCayoCU6+7DyYjsBiBFyVVz7RkXvqCSxXw/+f04XjGQ6IL+FBVuL769euXgZ7r39f/G9iP0X+u/jWDNZzZdGI/Ftama1jjuV4BwmcNpbAf1Fgu+V/9YRvNAyzT2a59+/GT/3hnn5m16wKWedJrmOCxkYztx9Q+py/+E0GJxtJdReWfz+mxNt+QzS2Mc0AI+HbBBwj9QViKbH5t64DsP2fvmGXUkWU4WgO+Uve2YQzBUGd7r+zH2ZG/tiUQc4QxKwgbwFfVGwwmdLL5wH78aPC/ZBem9jJpCAX3xtcNASSNgJLzUPSQyjB1zQNl8IQJ9MIU4lx2+Jo72ysXYKl1HSzN02BMa/vbZ5xyNJIshJzwf3L0dQhJw4Sih/SFw9Tk8sVeghVPoefaIYCkMZCKbrcP9lnZuk0uPUjGE/KE8JQry7W2tgfuC3vXgvNV+qSQbyFtAtyWk7zWiYevvuUQ9QEQCvJ+5mmu6dTjz1zFHLFj8Eb87MtxaZh/IQFIHom+9vgTWwZxAQjT9X4vtbEVPojwjiV471s00mhAckpwGuCn1HtFtRDaSh6y9zsL+LNBvCG/24ThcxHObdlWc1v+VQJe8LcO0jwtuF8BwnAAUgP9M8JPU2Me+Oh12auPGT6fHuTePE3bLDy+x9pTLnhMn+07TQGh//Bz1iI0c6kvtqInjvPZcYR3KsPVmUsPYt9nFig9SCY8VQNhpPBzn952bbgcsk2EvM89wzh3UEffBbyPqvBUBYQ8ODGPFOLsa7RF096WJ69L+E4EmnpjWu5o4ChlKaRTKT39RMMaVPEQRsz/nIWlDN80chjdJlSd1l0pJCAMVZsniobQVuxceMM9OFoaMd9zqZtjMEYYDW38Drb8Y0DYPLShxn0pvIFuOSxd7YCPet9zk452wsh54FJoeN05hcgSQoG5RR0Qh9Q4E4VvL4wcZq8UACgaRFEQKgSwWrkr5WFnGxiHSutqJGlXjBgIOayhwYBTA0ER0oisIVSUV0AAMT0IASCUO4hRIQSAEECMCCEPwqyQA0JCQBzEGjWNAqHiUVAoXUWbvggOIQCEAOJzxTjoaQ4AIaE64/aZridUsBYUgkhB15oGg1DBIl8IqirYwV6hPSGBSFteMCUBSVXwfYixBmamRubeMyjzMJQBDDowE3OesDD+zwqFoDqiEwXoXJpljB+PvWJGy75BKF1FPxhKygJuqUdYQGlLxNEXkrYyjQ0GbaAwEnUIlLRNvVjQDYUAsJB0HKLE4y0AIpQNgCIhBIhQTgCKhZBBpAN/v6LtQI50JfUgYOnnjmLUFHKhjxbAmdTCaTiBm3ovLPqG2urWAij6im0Nd9aTN9ygLUEt9LgSRnohxUPIKxlGaE+/6Y7znFf0yX+GnkvFFWmarkab2o9PmTeq8sbd2a7DaysXz7i64VeznN4jCQhN9gdDbRiuWrfrsq0mHIrlaq+hlotCtd3Um9u0BYWY8y5D67wccJoZjFca7iUs9VqZcfsZwTd1sbWGG+OcYaTnPAP7rTQVVlM4Sg3oGvB1tmNh0t/HKXZ1jFoIMwCQjtqbhNxUmkGYqgZEDZP11HN/S3gAYRozf0l8C5kKEKUvW0t1IfeWG/5MwgheZTT1E0AEhDkAePQO+Ig2H3DncAkQM4cwUQCD530dU4B5Yvmi2LlDqXfWrxMCcMth51RToRMNUXFnfc2KJ0+Ryl0VNOUwlhh6NoxK5gnViTgQpUG4SqSyt5z3zRJpuKmt3Q1614QaCBPaN6je+2XiFcWAKOXcUfIYKRyL/1lb7pe5VxSxxjQ6hImshqGRt5GWZVKO6q2wHwujfwDtIvaIdexj8Cm8+a68EqMfox6x/voMouZF4dHnEGNeCDMwT6vdNfekH1MafMk4PI06YtqLVGl95aEM9Z5vAeCTOA++YLtoVJRrsqNCaJ6WRmkdYaNec5BT/lcTRMqrhmwfjbpkj55+OKp8IEbU/JLgPJE6Wa3TTe9sHS+ShVD5QIyqIxMEwKh12olC6mHIed5ewEop80CNlfIOADYOT2nd6ZXCop+Ebqchc0JqxKcKASxChycJgUh1rnHA5ow9eTrhqNI7JWiAYYwBGGdpyNLoGw0Pkh96h1BpHihyywtATDM/7Hk2fN9EnH8BgKJCU4ooBkbXFMZJiPbrOyecGl3zgQDQL4hk10IZiOe+5w99Q/gBAEIJgPhJM4QAEEoFREAIAAEiIASAkD8Qt4AQAEIAERAGFlX4CACKAXGVM4ivMwWwCLFAlyeoaa70QePKm5Dlp+/n+ye/5dYgva6YsUaVeMa+tzNFeJtWwc+udbJ0Fg399kLielQJ5Ze61c2+7ytA6EZetiPxZC6tj22yJCv6jUwOyj/zcbqAxOMyAKEbfeHtNa7DtYXptjsk2kJxR+eIeim/tHNofUKYy8DMrQcAKWz6brpvzyIAlpwPhQ49l6b7skJf5Z+YTOYQc4FwLDxvoTDwaygQK+U/kVr+ytSFBG01Q3gnJJR4cNiAhx4HDub8/b5DULXlj6SVZghFiE+LdvE9vo/o8Lp1RmH5hzm0T6wdbZ6n+D6i44zDRc3ln6CpAEJfXiRU45oqLz8gFAThWsh7ughrRibc0QynHgZpNJa/ENJ+loCwu/qOGnFIjYR/n7TfgycULhcQhu6VC+HfF+L3BoAQ4WiZTw1M+FPCnA2gKC6/FAhXgDC+ojQGh3NuWsvfF1L/D5ohlCKtl1j2ldu9a/nPAKFwN56Bst10zCG0CPleXN/zXPgHQZXaZaBgrbzyY5V/mUA+6F0hwtGN9rwu5DVZPuwWqfxdFz1LWbJ2lwKEa+0Qsm4Dl3fp+Pu0lV97PgwIPfSsS+UQhj5Oo+vvFULazRIQyvGEcxPuNLCth2MvFsrKn8UOilAQShkh7TTczYNMoS6OdP47msrPi82lXKGWhCdMZYS0bFy+vcnGAjP1CIfvgbKNA9glecEH9RD6Ol4wRuWyN/G9MHnksS6o/GPf5XcwNSUlHzQhDuAKtWJmkwKElU7lylP5rgIcsquh/FI8YZCDpkJBuE4FQm7Icw8N+SrUGaQKyi8FwiDt1ve5o+Vu7qYHy/psgK8cvh+FTYuO77bhEC7GuaPiys/L1X4IgXDL+e3M5+ovLxBy5VLuIebw1oqcHoPfoaMJUsHays878r8KbDc3xtPx/84gZPBG/JwaufrsY/SRG/OY3//8QMNdsvdZCFtbW6f8pFuf5bflILAlX7O+4fdfugKyFYS8T2zAsXthdG0VurPGKwI06oF5vkBgHWkNp6ry29+lsPZMU3vijnXFNmoclr+6+Ou/FIb8yb30sS8YGjmTqCLyQsi5N/6ZwKs0Yenj68pfPjF6N782Dp2FzV9CTyoSeY8mLK16qGxIkLI8oa1n8tz9juP40DlK0epxYEbojbq+9QfurBeVIlCO9D2396bxiV4lkYQ3hOAFw2pbhqMGISkkQOMcQ9EqhDmGZZdo92JC0YHRNTfoSg+5e0IT+opqCKHoIU+4ztQIgBD1EFNrQAgIpYSil9lDmPHqkROPt+JC6AgPquSuumJmg0YARVCuneDfvPVeJokZ6pIXDkNxQtGzTF9/BQjRG0tQznfb74RwCQghpALBtIQnfK4zhxdyQvVCUeknMIT3hLyY+T5jo0yABqKPQNpUNw/09tGZod5jgCaYFxyYvJcNPkv9eof+I3pnCFEHIETjSM8L9tHZHYCQT9PaZGycU6yg8S4akDnJ+P03L0+t23XGzCLzRgII/Wqa+fv/xlfvmKvMUOcOrlCDdoei1MGdZm6G5VEIfRzzjd4aQs69n699Rx7ewhvCGzr2gmTPs8zNsJOrXt24FbkhhOjCfT4ICA/rPbyhUy94Dks0gJCX1NzCZui9YUd3oei+c257TalFbgg19ILHrlrL2gvWgXAL26EX76gZTNASQnad8Ibwhl284NhgXpB0c+jKhWO3Ms1hP9ihJYB9eMF6qd1BCPk0qA1s+LimFIu7m4nsdQIzPK4VbQ8hYvrnuSH2G9b2ggP78QmWqBdF9Vx8SSY6QYdUW7BTA1schZATyhvY8lHvcRbNUS9YGFy2U+qmzh2YPVc0I7yAOFyHfRpyUwtCSzOdPXMHmz7qDIM0e0V2wZTEk+6Ym6N63eBLp/b5Bts+2cKCSJ/LuoZO3ANSiE5hKAZjnvNSS4931jcw9jpwT0feV/qSJ1pVtCyfHKDkvK8Ejx7pUxGh2xFNSwx8QTi2H9ceC0/nni64MS/5N5dG39pDqvRV+WgGk71c9VFXF9b+xYvOw/d61iv7m3MvEHryhvecwC52jSSx4VIIgwnMNT/UsTxIgpPt3K/ARj15CptwL3Zd/ceDSATj2DGQjbxgWwhdeMMte7zpy5On9vymRm/YxBYljGVjKWF9VJf7I1+sex3wY8w/V1QPTborW/72gkdsRDaZMJBdbdHIC7aCkAu9atlLbtnrzerMnyToDaGwelOnk3/hHSem/ZK7e/t7jeeR20LYBgqa8J80gS8jbwi5F02Uj1u2NYJxap8PLkJfLxA2hIJyvnHX/AfeEPLpBfe0uSFHbnXaea3Qd5d6HcpYZ8L6M7lnFwMQ3MNg+RxUR1+6AshtbsVgfXTEg1sIGax9UND2p7f270wdG3eK9gXVGHdw2k5sOyZv+Nbs39Z308XR9DqWb2J+PwKDhuKHPobfuXf7gnYGHdCs7bhDDadD4entDug7LWNsnRNW4mYqwJ9dk+GGSTPBiA2j0G8RWNM5upZtcG4/3vMfP7KnbK2egx6CCnDPhRn7NgD3cghLIad5WcM2SO38iqHvvMOosyeMpQ5zlVCaaj06GVs9xUbHdiKoqrHWgquFEFMWUEWfXUxJAML23hAHFOctmjZQffKD2pywkhtSGHKNtpitLroscAeE7kCkSsC60vxEl6yMtL9EL5HKGCMszU5bk8gdkklAyEn5FO0yK419rIxBOIqwFMooDE0tHEVYijAUECIshRCGIhxFWIowFJ5QkEYIS5PTJrUwNGlPyN6QQPyKtpuM1E/K5+YJDV/MiA3AaehzqgAm7QnZG9IGYKo8bHnSK7VblLL3hOwNHziPuEGOqE5brrdR6i+atCfckyeWD47HkAkepRGLY/e8A8J0gCwYSNypF08bBm+e6zVz2UL4AshhBUjML/rXLefqC82bcQFhGC9JDwZ1uuu+At0S5gCETYHsV4DUeD9fDN2Zfy5OXaW2zAwQygCzBLJ8cvaW5OXKC1FxfTggFAHmoAJnSiOw2wps9KwRWgJCLaEswaj5NqkLwAYIU4BxqTSXbHXpJdRMPZgAOiAMqABCNGYIEEJutEK5IUAIwYMDQgiCACEEAcJs1Vda7gGqDhCmoiEghAAhBAHCrKXVo2C1DCBMRlp37uMIEECoX7xrX3P5C9QiINSuIcoPAUI0YkAICLNWgfJDh4T9hH7zqYH9+JHAq7zBqWjwhPAicTVCVQJCNF50JghHocahKK0X/ZnQKyEkhSdUpzG8OgQI42qC94EQjsYLRSmH+pbgq73L6bYkeEJ4DYTYmeg1TOBFc/usTTp3V9DdEuXJ2xDCUbXhaXk0/kAYmBvuMB4qkC35E5e5AMKkwSQgyxufyuPy6fMMgAFCSI73LFXU/N8AmEL9X4ABACNSKMHAgb34AAAAAElFTkSuQmCC - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - verbs: - - "*" - - apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.0 - maturity: alpha - replaces: etcdoperator.v0.6.1 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.2 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.2 - maturity: alpha - replaces: etcdoperator.v0.9.0 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.14.0 - namespace: placeholder - spec: - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ## Supported Features - - **High availability** - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - **Updates via automated operations** - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - **Handles the dynamic nature of containers** - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.14.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731 - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.14.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.14.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Define resources requests and limits for single Pods - displayName: Resource Request - path: resources.requests - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.15.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v1.7.0","serviceAccountName":"prometheus-k8s","serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"resources":{"requests":{"memory":"400Mi"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus","prometheus":"k8s"}},"namespaceSelector":{"matchNames":["monitoring"]},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3}}]' - spec: - replaces: prometheusoperator.0.14.0 - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - - **Updates via automated operations** - - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - - **Handles the dynamic nature of containers** - - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.15.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.15.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.15.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.22.2 - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v2.3.2","serviceAccountName":"prometheus-k8s","securityContext": {}, "serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus"}},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3, "securityContext": {}}}]' - spec: - replaces: prometheusoperator.0.15.0 - displayName: Prometheus Operator - description: | - The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances. - - Once installed, the Prometheus Operator provides the following features: - - * **Create/Destroy**: Easily launch a Prometheus instance for your Kubernetes namespace, a specific application or team easily using the Operator. - - * **Simple Configuration**: Configure the fundamentals of Prometheus like versions, persistence, retention policies, and replicas from a native Kubernetes resource. - - * **Target Services via Labels**: Automatically generate monitoring target configurations based on familiar Kubernetes label queries; no need to learn a Prometheus specific configuration language. - - ### Other Supported Features - - **High availability** - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - **Updates via automated operations** - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - **Handles the dynamic nature of containers** - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - - provider: - name: Red Hat - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.22.2 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-22-2 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - prometheuses/finalizers - - alertmanagers/finalizers - - servicemonitors - - prometheusrules - verbs: - - '*' - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - "" - resources: - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete - - apiGroups: - - "" - resources: - - services - - endpoints - verbs: - - get - - create - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - list - - watch - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-22-2 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf - args: - - -namespace=$(K8S_NAMESPACE) - - -manage-crds=false - - -logtostderr=true - - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.22.2 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - nodeSelector: - beta.kubernetes.io/os: linux - maturity: beta - version: 0.22.2 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: prometheusrules.monitoring.coreos.com - version: v1 - kind: PrometheusRule - displayName: Prometheus Rule - description: A Prometheus Rule configures groups of sequentially evaluated recording and alerting rules. - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alertmanager - description: Configures an Alertmanager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - packages: |- - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/amq-streams.v1.0.0-clusterserviceversion - packageName: amq-streams - channels: - - name: preview - currentCSV: amqstreams.v1.0.0.beta - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml - packageName: etcd - channels: - - name: alpha - currentCSV: etcdoperator.v0.9.2 - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/prometheusoperator.0.22.2.clusterserviceversion.yaml - packageName: prometheus - channels: - - name: preview - currentCSV: prometheusoperator.0.22.2 - - diff --git a/deploy/okd/manifests/0.7.0/10-rh-operators.catalogsource.yaml b/deploy/okd/manifests/0.7.0/10-rh-operators.catalogsource.yaml deleted file mode 100644 index 2e3f10f989..0000000000 --- a/deploy/okd/manifests/0.7.0/10-rh-operators.catalogsource.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/10-rh-operators.catalogsource.yaml - -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: rh-operators - namespace: operator-lifecycle-manager -spec: - sourceType: internal - configMap: rh-operators - displayName: Red Hat Operators - publisher: Red Hat - diff --git a/deploy/okd/manifests/0.7.0/12-olm-operator.deployment.yaml b/deploy/okd/manifests/0.7.0/12-olm-operator.deployment.yaml deleted file mode 100644 index b3924525e9..0000000000 --- a/deploy/okd/manifests/0.7.0/12-olm-operator.deployment.yaml +++ /dev/null @@ -1,47 +0,0 @@ -##--- -# Source: olm/templates/12-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - image: quay.io/coreos/olm@sha256:5f593ae61902caef7f2add7e27d1f672a14091a399b852b1b6722ef5f8b9c8e3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.0/13-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.7.0/13-catalog-operator.deployment.yaml deleted file mode 100644 index f77d63ef34..0000000000 --- a/deploy/okd/manifests/0.7.0/13-catalog-operator.deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -##--- -# Source: olm/templates/13-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - - '-namespace' - - operator-lifecycle-manager - - '-debug' - image: quay.io/coreos/catalog@sha256:8fc933e660a5b143bce7a5e4cb1606630fa9497cc252a7e47e0def3c18268f45 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.0/20-aggregated-edit.clusterrole.yaml b/deploy/okd/manifests/0.7.0/20-aggregated-edit.clusterrole.yaml deleted file mode 100644 index 6971c17372..0000000000 --- a/deploy/okd/manifests/0.7.0/20-aggregated-edit.clusterrole.yaml +++ /dev/null @@ -1,14 +0,0 @@ -##--- -# Source: olm/templates/20-aggregated-edit.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] diff --git a/deploy/okd/manifests/0.7.0/21-aggregated-view.clusterrole.yaml b/deploy/okd/manifests/0.7.0/21-aggregated-view.clusterrole.yaml deleted file mode 100644 index b9cf1d2333..0000000000 --- a/deploy/okd/manifests/0.7.0/21-aggregated-view.clusterrole.yaml +++ /dev/null @@ -1,13 +0,0 @@ -##--- -# Source: olm/templates/21-aggregated-view.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "view" default roles - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.7.0/22-packageserver.yaml b/deploy/okd/manifests/0.7.0/22-packageserver.yaml deleted file mode 100644 index 8536b5634f..0000000000 --- a/deploy/okd/manifests/0.7.0/22-packageserver.yaml +++ /dev/null @@ -1,149 +0,0 @@ -##--- -# Source: olm/templates/22-packageserver.yaml -apiVersion: apiregistration.k8s.io/v1beta1 -kind: APIService -metadata: - name: v1alpha1.packages.apps.redhat.com -spec: - caBundle: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM5VENDQWQyZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RBNU1Ua3hOVEk1TWpOYUZ3MHhPVEE1TVRreE5USTVNak5hTUJ3eApHakFZQmdOVkJBTVRFWEJoWTJ0aFoyVXRjMlZ5ZG1WeUxXTmhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUFuMnFXVEhHb0RwYnZGQnBQbDZ2aGFuc1FmN1pFU0FNL245WHNaSjRjUlBrQmJURWcKZWJyUkJ2WVNoVmo1RzZTVlZlcVFGL2hjakJvZEkxWk9vR09SYTJwTTFDTHZxYjBEODVUaXExTm1xS3U5aEVscwpRUkNQK1YvNU5SNk9qWDRhMHBtamx0MWZhOVFTWmRQNkl6Qmwya2g2U3lha2pJZVp3Y0YvNm1xT3QwMzg5c1poClYxVnBqR29rQlpxNUFoYURQcVZkczIrb3MrdDVEVnpwVTluQ0pqTjUzQWRndVJoTG1RREhOZHFrS01UaE5OUUwKWWU0NmJ4SnN2ZXBUSGg5UnlDQ1pKcmR0QTNScUdYeUY4cktyTFVkWEw5M2xmeFVpMkhEYU5MeVQ3cTNYbWRtdwpTaFdRVGNndFVmMXRoRlhuWnN1U1ZJeGliK0tqZmhpZGk2cmxZUUlEQVFBQm8wSXdRREFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRXhuM29mbERNRjNCcWNGci82NGxGKy9LQ0xaSzBoNApIY291TCtHVjVobVJaMzAwYTdIZG1wUUJxcEcwcVZVM29oQnFRK2ZUNDNzVVVhd1Z4cURYNkhWRWFxbDV3NTUyCkFCVGI0MDFway9RUStVelZXQXl3VzdyUGI5R3JkRFRKR0FLaTJiRk9KWlNwT3FkSmZNZlkzVGhSWjNCaktVWkIKL1hnSjhTUzVDdUVyNkZtTEJ0clFXVmZPWXV0em9TMmJnMHd2ME5WK2F1RXBMcEVkMHpBNW1DQ29pM0lSL0NiSQplRGFCMCt5elg4WTB1cGp5QWc0ajlBTmVod0czdVpxQ2tJTk5JQU9WUmJnQ1RLYlRPcGhROTZDRUZkQ3JMZGROCmsvWW5GeFBzNUs5TW5pRTM4SHpibjhkYmhtV3U3WWZlMk5GcFdRT001WHNYK0hoellRSVhmL0U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" - group: packages.apps.redhat.com - groupPriorityMinimum: 2000 - versionPriority: 15 - service: - name: package-server - namespace: operator-lifecycle-manager - version: v1alpha1 ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest:system:auth-delegator -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: packagemanifest-auth-reader - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: extension-apiserver-authentication-reader -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest-view -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: admin -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: package-apiserver-clusterrolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: aggregated-apiserver-clusterrole -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: operator-lifecycle-manager ---- -apiVersion: v1 -kind: Secret -type: kubernetes.io/tls -metadata: - name: package-server-certs - namespace: operator-lifecycle-manager - labels: - app: package-server -data: - tls.crt: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURWakNDQWo2Z0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RBNU1Ua3hOVEk1TWpOYUZ3MHhPVEE1TVRreE5USTVNak5hTUJreApGekFWQmdOVkJBTVREbkJoWTJ0aFoyVXRjMlZ5ZG1WeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQTNwOU54MVN3d0thZHd2b014ZDJGQitwSkloMnAyK0JTMFRGVExoRit6cllrc0VuM0lJeWoKaDZ3NzB6Rk95a3VuTThGZDM5NWJOMUxUYmdNdEl5TE5LMzhMaTA3UHVwTlJFc1QwZU8rSU9OT0dyUXZCTDFQZApqZjB0WEFGOXN3REpqNkMzUVBvYTJ2MWd4dTU2eXpqREtyRjFhQXVHczhCSGhPNFJXazg2b1Y3dy9nbWpyQzNYCjMxazV3RHJrTzN6V2dzWmt0MXJUdkhnZjlwWGtFZG1uNHphKzY2N2NJSlFQMm1UeC9YazU5a1M0RDZiU0R3UU8KRTRPbTQwMVhxN2Z0bGh6NGJVLytDTEs3WmpGY05GZWJxNnVmVkxLQXFETENTTDVqK04vb0VBRVlZK01Banc5dApsVTZVUEQ3bWZYNGJUK2h4UjZuNXdhczFOck9sUHpFcVV3SURBUUFCbzRHbE1JR2lNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXcKQURCakJnTlZIUkVFWERCYWdpbHdZV05yWVdkbExYTmxjblpsY2k1dmNHVnlZWFJ2Y2kxc2FXWmxZM2xqYkdVdApiV0Z1WVdkbGNvSXRjR0ZqYTJGblpTMXpaWEoyWlhJdWIzQmxjbUYwYjNJdGJHbG1aV041WTJ4bExXMWhibUZuClpYSXVjM1pqTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCL2hYYWh2NEI4Y0I2b0pQTUFqQW9tRGNyeXlINWUKb0pGN0NzaEdkSnZxQjJFYjhLK3BnMDJCdWhtdUE5WFRHcjRtcnVWeU1MNm1ZRGdGOUYzKzhlazg5bStTR052eQo4ZkMxekJHa0Q0RWJaWE9XbkZOdzhPNlI3MktBMXBrTFBNdXpBZ0pPNkMyd0piVFlVbXc2SXdPTFpzMkp2SXZnCmdSR2VEWkRybWEvSGVwZEZnLzNzaHVhQ09JRXhYd2dNRFlJWmF5RlNmb1owWGQzaldxZVlFTWY4MjY3Y1JtcEEKeDRleFZDQWhtbXlocDJ3UUNvYzdvVmZ1dDBRTlNqYkhIazNaNVROUmhWeDQ2VGNYVWQ3Y1hTNjd3K1pOczNmcAo1bWRob3o1b2tDUjVWZGdCQlU0aU5xT0FtZkUyWFl4WkZwYlJSM2tSeDBjZjIwOXMwTW53VWtSbgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" - tls.key: "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBM3A5TngxU3d3S2Fkd3ZvTXhkMkZCK3BKSWgycDIrQlMwVEZUTGhGK3pyWWtzRW4zCklJeWpoNnc3MHpGT3lrdW5NOEZkMzk1Yk4xTFRiZ010SXlMTkszOExpMDdQdXBOUkVzVDBlTytJT05PR3JRdkIKTDFQZGpmMHRYQUY5c3dESmo2QzNRUG9hMnYxZ3h1NTZ5empES3JGMWFBdUdzOEJIaE80UldrODZvVjd3L2dtagpyQzNYMzFrNXdEcmtPM3pXZ3Naa3QxclR2SGdmOXBYa0VkbW40emErNjY3Y0lKUVAybVR4L1hrNTlrUzRENmJTCkR3UU9FNE9tNDAxWHE3ZnRsaHo0YlUvK0NMSzdaakZjTkZlYnE2dWZWTEtBcURMQ1NMNWorTi9vRUFFWVkrTUEKanc5dGxVNlVQRDdtZlg0YlQraHhSNm41d2FzMU5yT2xQekVxVXdJREFRQUJBb0lCQVFEZEVRWlVkWVlibUppNgp3RUdrenFmR3gyRWVMcVM1QWhaYlE0YmREV1NGOHB1V0w2em10cUhCSFVnL0hReW5sOTZPWjJ0SDNtOW9EYWlFCjYwU01Tb2ZBdEtVTERoVDdxa1JzeGdZYWZZb2hHL1Axck9HR2xOcENvSEhGbG5seklzb0ZCVXhVaXNmV1JKd3cKanlxQzJYZjgwa0hMTXY3dFNuZjZ5Y21UaTIrbVExMjNaZUU5VnNUR3kvT0xEVmZNRnFIUmFBUXo0SDYxYU9QRQo5bW5WZ3RFVVhCbXlvZjRPbXlNK2krWEZ4VmlnQytvZEovSGl1MnBDQ3pyN3d6N3JGR3JVMm5yaWFUVW1jY1V1CklWbk44anNWa1NPeUhXdUVXUUs3UDlwRjNBWHdRTDhJU1dlOUNHTTdyK3RnU0NCb2FRS05nMDJLYWp5a1Q4eVIKWDJSaDZ6REJBb0dCQVBpOC9JOFlyTE0wSVVRZGRRT0hFbzlMVHhzK0JJazB5YW10UERLQ0ZBekxkY3hGTzZGRApmc3Vzc3Y2Z005dTZaRzdOV2pucGttRFBQMlpWYS9QNUZybDA5dmU5SXVzcWNEQmtaKzlTdUtPTk5sZGpIUVdDClhod093MncwOXdjY0Q3ZjU4S3NhRWppcmllbFk4dUhraUVwbzJIRm40L1JmUGxFOXpwUEI1WCtoQW9HQkFPVWYKSWU4cWdMQyt0Z2RaWS80ZGZHcXd3UGhtdDFvMnhtN21UN1h4cTdoS3M3ZjUrYVVnTGRrMkRyeXUvU0RnOUhBUwpoRHh2QzhSYUJKZml5YnZKanN4Y291TGpGZHpmTjFSZFYxVkdMbk01YkRGMU1FemtmWHFJdVBOa1pCRVFqY1JQClBqbnBZTnFJV1p1MC90d3JRSTFhOVFpdXg4aDVJLy80dE1XRVhMVnpBb0dCQU5KRXFGZXJLeXJlVVpUTU5nUEMKWmswZUE0UnErOWlrK0Nqb21lKzBpSkI4V2x0UTEyU3VzdndvUkxQODUzbkM2bTNFU0phV1BiaDYyZ1IvQjZBWgpuRDB3aENuUENEcTJDRnJRTmhCWTVGN1YyKzhwaVBvRVI5ditHdk5aSHM0eXlaTGp4YkJPZk1MTk4rczcxeTVnClMxcGpvVHpVN3gzQWVlU2hsQVRTTDFpaEFvR0JBTk5EZ3BteHVobStyNzlWQ0dOT3N1TDVlZVZSYU8wUkpxVXAKVGdSNUF4cWFIdDZiNnpuNzB1cSs4cFcrVUg3Wmplb3MyS3VVeE9mWERQY3owVW1MRDFXV2NVYjlscklqVERSSgpJUGJyRUhlRVVpUEVaN1h1MVZoLzZ2SFo5bjdab2E2S1Z0azFQTzRqM1dRNlh1bUtKQ3B5M1ErVmdYZHpZK05wCll0M2hMMDdMQW9HQUd6cW5OMnQxOE1lZUd3T2d1Z2lKK2VkVk5CS21Fcmg5a1FoRmhxWGNrYkJhTndkNVB3UFcKYStLT0k2bjlHMmc5eXdsWjh2V250STRaQXM5U0ZTREt3eWJOSUV3Ymo0UzRhYXZHazdTM29Ja3cvK1F5V0RFUwp6WXlyeHR6RVZyVWdkYmZNNjAvcm1nNk9vMWRlR1NQMnBQa05CNUxiUlNDS3krQXBzT1V3N2lzPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=" ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - name: package-server - namespace: operator-lifecycle-manager - labels: - app: package-server -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: package-server - template: - metadata: - labels: - app: package-server - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: package-server - command: - - /bin/package-server - - -v=4 - - --debug - image: quay.io/coreos/package-server@sha256:66513e76ac0443b6ecec3138a88fa6850a98b1db95400f2f83f6012bee693c6f - imagePullPolicy: Always - ports: - - containerPort: 443 - volumeMounts: - - name: certs - mountPath: /apiserver.local.config/certificates - readOnly: true - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 443 - volumes: - - name: certs - secret: - secretName: package-server-certs - items: - - key: tls.crt - path: apiserver.crt - - key: tls.key - path: apiserver.key - imagePullSecrets: - - name: coreos-pull-secret ---- -apiVersion: v1 -kind: Service -metadata: - name: package-server - namespace: operator-lifecycle-manager -spec: - ports: - - port: 443 - protocol: TCP - targetPort: 443 - selector: - app: package-server diff --git a/deploy/okd/manifests/0.7.1/0000_30_00-namespace.yaml b/deploy/okd/manifests/0.7.1/0000_30_00-namespace.yaml deleted file mode 100644 index eb6c559aa9..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_00-namespace.yaml +++ /dev/null @@ -1,8 +0,0 @@ -##--- -# Source: olm/templates/0000_30_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - labels: - openshift.io/run-level: "1" diff --git a/deploy/okd/manifests/0.7.1/0000_30_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.7.1/0000_30_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8ab035f630..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ -##--- -# Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.7.1/0000_30_02-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.7.1/0000_30_02-clusterserviceversion.crd.yaml deleted file mode 100644 index 8bdc8d3dc2..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_02-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,694 +0,0 @@ -##--- -# Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - categories: - - all - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - pattern: ^(?:[A-Za-z0-9+/]{4}){0,16250}(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.7.1/0000_30_03-installplan.crd.yaml b/deploy/okd/manifests/0.7.1/0000_30_03-installplan.crd.yaml deleted file mode 100644 index 8742215dca..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_03-installplan.crd.yaml +++ /dev/null @@ -1,78 +0,0 @@ -##--- -# Source: olm/templates/0000_30_03-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - categories: - - all - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.7.1/0000_30_04-subscription.crd.yaml b/deploy/okd/manifests/0.7.1/0000_30_04-subscription.crd.yaml deleted file mode 100644 index 35f0c24a15..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_04-subscription.crd.yaml +++ /dev/null @@ -1,72 +0,0 @@ -##--- -# Source: olm/templates/0000_30_04-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - categories: - - all - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.7.1/0000_30_05-catalogsource.crd.yaml b/deploy/okd/manifests/0.7.1/0000_30_05-catalogsource.crd.yaml deleted file mode 100644 index 8facb62fbd..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_05-catalogsource.crd.yaml +++ /dev/null @@ -1,81 +0,0 @@ -##--- -# Source: olm/templates/0000_30_05-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - categories: - - all - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Represents a subscription to a source and channel - required: - - spec - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. Currently the only supported type is "internal". - enum: - - internal - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. diff --git a/deploy/okd/manifests/0.7.1/0000_30_06-rh-operators.configmap.yaml b/deploy/okd/manifests/0.7.1/0000_30_06-rh-operators.configmap.yaml deleted file mode 100644 index 1dd3440bdd..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_06-rh-operators.configmap.yaml +++ /dev/null @@ -1,11364 +0,0 @@ -##--- -# Source: olm/templates/0000_30_06-rh-operators.configmap.yaml - -kind: ConfigMap -apiVersion: v1 -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: alertmanagers.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Alertmanager - plural: alertmanagers - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Alertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - baseImage: - description: Base image that is used to deploy pods, without tag. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to an Alertmanager - pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - externalUrl: - description: The external URL the Alertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Alertmanager is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Alertmanager server listen on loopback, - so that it does not bind against the Pod IP. Note this is only for - the Alertmanager UI, not the gossip communication. - type: boolean - logLevel: - description: Log level for Alertmanager to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: If set to true all actions on the underlaying managed objects - are not goint to be performed, except for delete actions. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - replicas: - description: Size is the expected size of the alertmanager cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - routePrefix: - description: The route prefix Alertmanager registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Alertmanager object, which shall be mounted into the Alertmanager - Pods. The Secrets are mounted into /etc/alertmanager/secrets/. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Alertmanager container image to be deployed. Defaults - to the value of `version`. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version the cluster should be on. - type: string - status: - description: 'Most recent observed status of the Alertmanager cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Alertmanager cluster. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager - cluster. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkas.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: Kafka - listKind: KafkaList - singular: kafka - plural: kafkas - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - kafka: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - listeners: - type: object - properties: - plain: - type: object - properties: {} - tls: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - superUsers: - type: array - items: - type: string - type: - type: string - config: - type: object - rack: - type: object - properties: - topologyKey: - type: string - example: failure-domain.beta.kubernetes.io/zone - required: - - topologyKey - brokerRackInitImage: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - - listeners - zookeeper: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - config: - type: object - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - entityOperator: - type: object - properties: - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - userOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - kafka - - zookeeper - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnect - listKind: KafkaConnectList - singular: kafkaconnect - plural: kafkaconnects - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects2is.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnectS2I - listKind: KafkaConnectS2IList - singular: kafkaconnects2i - plural: kafkaconnects2is - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - insecureSourceRepository: - type: boolean - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkatopics.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaTopic - listKind: KafkaTopicList - singular: kafkatopic - plural: kafkatopics - shortNames: - - kt - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - partitions: - type: integer - minimum: 1 - replicas: - type: integer - minimum: 1 - maximum: 32767 - config: - type: object - topicName: - type: string - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkausers.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaUser - listKind: KafkaUserList - singular: kafkauser - plural: kafkausers - shortNames: - - ku - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - acls: - type: array - items: - type: object - properties: - host: - type: string - operation: - type: string - enum: - - Read - - Write - - Create - - Delete - - Alter - - Describe - - ClusterAction - - AlterConfigs - - DescribeConfigs - - IdempotentWrite - - All - resource: - type: object - properties: - name: - type: string - patternType: - type: string - enum: - - literal - - prefix - type: - type: string - type: - type: string - enum: - - allow - - deny - required: - - operation - - resource - type: - type: string - required: - - acls - required: - - authentication - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdbackups.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdBackup - listKind: EtcdBackupList - plural: etcdbackups - singular: etcdbackup - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdclusters.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - plural: etcdclusters - singular: etcdcluster - kind: EtcdCluster - listKind: EtcdClusterList - shortNames: - - etcdclus - - etcd - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdrestores.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdRestore - listKind: EtcdRestoreList - plural: etcdrestores - singular: etcdrestore - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: "" - kubebuilder.k8s.io: 0.1.10 - name: clusters.clusterregistry.k8s.io - spec: - group: clusterregistry.k8s.io - names: - kind: Cluster - plural: clusters - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - authInfo: - properties: - controller: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - user: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - type: object - kubernetesApiEndpoints: - properties: - caBundle: - items: - type: byte - type: string - serverEndpoints: - items: - properties: - clientCIDR: - type: string - serverAddress: - type: string - type: object - type: array - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastHeartbeatTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: dnsendpoints.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: DNSEndpoint - plural: dnsendpoints - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - endpoints: - items: - properties: - dnsName: - type: string - labels: - type: object - recordTTL: - format: int64 - type: integer - recordType: - type: string - targets: - items: - type: string - type: array - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedclusters.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedCluster - plural: federatedclusters - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterRef: - type: object - secretRef: - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastProbeTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: object - type: array - region: - type: string - zone: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmaps.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMap - plural: federatedconfigmaps - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapOverride - plural: federatedconfigmapoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapPlacement - plural: federatedconfigmapplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeployments.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeployment - plural: federateddeployments - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentOverride - plural: federateddeploymentoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentPlacement - plural: federateddeploymentplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingresses.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngress - plural: federatedingresses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingressplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngressPlacement - plural: federatedingressplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJob - plural: federatedjobs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjoboverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobOverride - plural: federatedjoboverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - parallelism: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobPlacement - plural: federatedjobplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatednamespaceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedNamespacePlacement - plural: federatednamespaceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSet - plural: federatedreplicasets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetOverride - plural: federatedreplicasetoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetPlacement - plural: federatedreplicasetplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecrets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecret - plural: federatedsecrets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretOverride - plural: federatedsecretoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretPlacement - plural: federatedsecretplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedservices.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedService - plural: federatedservices - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccounts.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccount - plural: federatedserviceaccounts - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccountplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccountPlacement - plural: federatedserviceaccountplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServicePlacement - plural: federatedserviceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedtypeconfigs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedTypeConfig - plural: federatedtypeconfigs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - comparisonField: - type: string - namespaced: - type: boolean - override: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - overridePath: - items: - type: string - type: array - placement: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - propagationEnabled: - type: boolean - target: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - template: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - required: - - target - - namespaced - - comparisonField - - propagationEnabled - - template - - placement - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterIngressDNSRecord - plural: multiclusteringressdnsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - hosts: - items: - type: string - type: array - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterServiceDNSRecord - plural: multiclusterservicednsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - dnsSuffix: - type: string - federationName: - type: string - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - region: - type: string - zone: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: propagatedversions.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: PropagatedVersion - plural: propagatedversions - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - status: - properties: - clusterVersions: - items: - properties: - clusterName: - type: string - version: - type: string - type: object - type: array - overridesVersion: - type: string - templateVersion: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: replicaschedulingpreferences.scheduling.federation.k8s.io - spec: - group: scheduling.federation.k8s.io - names: - kind: ReplicaSchedulingPreference - plural: replicaschedulingpreferences - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusters: - type: object - rebalance: - type: boolean - targetKind: - type: string - totalReplicas: - format: int32 - type: integer - required: - - targetKind - - totalReplicas - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheuses.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Prometheus - plural: prometheuses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Prometheus cluster. - More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - additionalAlertManagerConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - additionalScrapeConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - alerting: - description: AlertingSpec defines parameters for alerting configuration - of Prometheus servers. - properties: - alertmanagers: - description: AlertmanagerEndpoints Prometheus should fire alerts - against. - items: - description: AlertmanagerEndpoints defines a selection of a single - Endpoints object containing alertmanager IPs to fire alerts - against. - properties: - bearerTokenFile: - description: BearerTokenFile to read from filesystem to use - when authenticating to Alertmanager. - type: string - name: - description: Name of Endpoints object in Namespace. - type: string - namespace: - description: Namespace of Endpoints object. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed to. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use when firing alerts. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - required: - - namespace - - name - - port - type: array - required: - - alertmanagers - baseImage: - description: Base image to use for a Prometheus deployment. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to a Prometheus pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - evaluationInterval: - description: Interval between consecutive evaluations. - type: string - externalLabels: - description: The labels to add to any time series or alerts when communicating - with external systems (federation, remote storage, Alertmanager). - type: object - externalUrl: - description: The external URL the Prometheus instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Prometheus is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Prometheus server listen on loopback, - so that it does not bind against the Pod IP. - type: boolean - logLevel: - description: Log level for Prometheus to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: When a Prometheus deployment is paused, no actions except - for deletion will be performed on the underlying objects. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - remoteRead: - description: If specified, the remote_read spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteReadSpec defines the remote_read configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: bearer token for remote read. - type: string - bearerTokenFile: - description: File to read bearer token for remote read. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - readRecent: - description: Whether reads should be made for queries for time - ranges that the local storage should have complete data for. - type: boolean - remoteTimeout: - description: Timeout for requests to the remote read endpoint. - type: string - requiredMatchers: - description: An optional list of equality matchers which have - to be present in a selector to query the remote read endpoint. - type: object - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - required: - - url - type: array - remoteWrite: - description: If specified, the remote_write spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteWriteSpec defines the remote_write configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: File to read bearer token for remote write. - type: string - bearerTokenFile: - description: File to read bearer token for remote write. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - queueConfig: - description: QueueConfig allows the tuning of remote_write queue_config - parameters. This object is referenced in the RemoteWriteSpec - object. - properties: - batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample - will wait in buffer. - type: string - capacity: - description: Capacity is the number of samples to buffer per - shard before we start dropping them. - format: int32 - type: integer - maxBackoff: - description: MaxBackoff is the maximum retry delay. - type: string - maxRetries: - description: MaxRetries is the maximum number of times to - retry a batch on recoverable errors. - format: int32 - type: integer - maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples - per send. - format: int32 - type: integer - maxShards: - description: MaxShards is the maximum number of shards, i.e. - amount of concurrency. - format: int32 - type: integer - minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled - for every retry. - type: string - remoteTimeout: - description: Timeout for requests to the remote write endpoint. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - writeRelabelConfigs: - description: The list of remote write relabel configurations. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - required: - - url - type: array - replicas: - description: Number of instances to deploy for a Prometheus deployment. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - retention: - description: Time duration Prometheus shall retain data for. - type: string - routePrefix: - description: The route prefix Prometheus registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - ruleNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - ruleSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - scrapeInterval: - description: Interval between consecutive scrapes. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Prometheus object, which shall be mounted into the Prometheus Pods. - The Secrets are mounted into /etc/prometheus/secrets/. - Secrets changes after initial creation of a Prometheus object are - not reflected in the running Pods. To change the secrets mounted into - the Prometheus Pods, the object must be deleted and recreated with - the new list of secrets. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - serviceMonitorNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - serviceMonitorSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Prometheus container image to be deployed. Defaults - to the value of `version`. - type: string - thanos: - description: ThanosSpec defines parameters for a Prometheus server within - a Thanos deployment. - properties: - baseImage: - description: Thanos base image if other than default. - type: string - gcs: - description: ThanosGCSSpec defines parameters for use of Google - Cloud Storage (GCS) with Thanos. - properties: - bucket: - description: Google Cloud Storage bucket name for stored blocks. - If empty it won't store any block inside Google Cloud Storage. - type: string - peers: - description: Peers is a DNS name for Thanos to discover peers through. - type: string - s3: - description: ThanosSpec defines parameters for of AWS Simple Storage - Service (S3) with Thanos. (S3 compatible services apply as well) - properties: - accessKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bucket: - description: S3-Compatible API bucket name for stored blocks. - type: string - endpoint: - description: S3-Compatible API endpoint for stored blocks. - type: string - insecure: - description: Whether to use an insecure connection with an S3-Compatible - API. - type: boolean - secretKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - signatureVersion2: - description: Whether to use S3 Signature Version 2; otherwise - Signature Version 4 will be used. - type: boolean - tag: - description: Tag of Thanos sidecar container image to be deployed. - Defaults to the value of `version`. - type: string - version: - description: Version describes the version of Thanos to use. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version of Prometheus to be deployed. - type: string - status: - description: 'Most recent observed status of the Prometheus cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Prometheus deployment. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus - deployment. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheusrules.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: PrometheusRule - plural: prometheusrules - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: PrometheusRuleSpec contains specification parameters for a - Rule. - properties: - groups: - description: Content of Prometheus rule file - items: - description: RuleGroup is a list of sequentially evaluated recording - and alerting rules. - properties: - interval: - type: string - name: - type: string - rules: - items: - description: Rule describes an alerting or recording rule. - properties: - alert: - type: string - annotations: - type: object - expr: - type: string - for: - type: string - labels: - type: object - record: - type: string - required: - - expr - type: array - required: - - name - - rules - type: array - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: servicemonitors.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: ServiceMonitor - plural: servicemonitors - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: ServiceMonitorSpec contains specification parameters for a - ServiceMonitor. - properties: - endpoints: - description: A list of endpoints allowed as part of this ServiceMonitor. - items: - description: Endpoint defines a scrapeable endpoint serving Prometheus - metrics. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerTokenFile: - description: File to read bearer token for scraping targets. - type: string - honorLabels: - description: HonorLabels chooses the metric's labels on collisions - with target labels. - type: boolean - interval: - description: Interval at which metrics should be scraped - type: string - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - params: - description: Optional HTTP URL parameters - type: object - path: - description: HTTP path to scrape for metrics. - type: string - port: - description: Name of the service port this endpoint refers to. - Mutually exclusive with targetPort. - type: string - proxyUrl: - description: ProxyURL eg http://proxyserver:2195 Directs scrapes - to proxy through this endpoint. - type: string - scheme: - description: HTTP scheme to use for scraping. - type: string - scrapeTimeout: - description: Timeout after which the scrape is ended - type: string - targetPort: - anyOf: - - type: string - - type: integer - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: array - jobLabel: - description: The label to use to retrieve the job name from. - type: string - namespaceSelector: - description: A selector for selecting namespaces either selecting all - namespaces or a list of namespaces. - properties: - any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names. - items: - type: string - type: array - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - targetLabels: - description: TargetLabels transfers labels on the Kubernetes Service - onto the target. - items: - type: string - type: array - required: - - endpoints - - selector - version: v1 - - clusterServiceVersions: |- - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: amqstreams.v1.0.0.beta - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"Kafka","metadata":{"name":"my-cluster"},"spec":{"kafka":{"replicas":3,"listeners":{"plain":{},"tls":{}},"config":{"offsets.topic.replication.factor":3,"transaction.state.log.replication.factor":3,"transaction.state.log.min.isr":2},"storage":{"type":"ephemeral"}},"zookeeper":{"replicas":3,"storage":{"type":"ephemeral"}},"entityOperator":{"topicOperator":{},"userOperator":{}}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnect","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnectS2I","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaTopic","metadata":{"name":"my-topic","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"partitions":10,"replicas":3,"config":{"retention.ms":604800000,"segment.bytes":1073741824}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaUser","metadata":{"name":"my-user","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"authentication":{"type":"tls"},"authorization":{"type":"simple","acls":[{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"},{"resource":{"type":"group","name":"my-group","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Write","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Create","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"}]}}}]' - spec: - displayName: AMQ Streams - description: | - **Red Hat AMQ Streams** is a massively scalable, distributed, and high performance data streaming platform based on the Apache Kafka project. - AMQ Streams provides an event streaming backbone that allows microservices and other application components to exchange data with extremely high throughput and low latency. - - **The core capabilities include** - * A pub/sub messaging model, similar to a traditional enterprise messaging system, in which application components publish and consume events to/from an ordered stream - * The long term, fault-tolerant storage of events - * The ability for a consumer to replay streams of events - * The ability to partition topics for horizontal scalability - - # Before you start - - 1\. Create AMQ Streams Cluster Roles - ``` - $ oc apply -f http://amq.io/amqstreams/rbac.yaml - ``` - 2\. Create following bindings - ``` - $ oc adm policy add-cluster-role-to-user strimzi-cluster-operator -z strimzi-cluster-operator --namespace - $ oc adm policy add-cluster-role-to-user strimzi-kafka-broker -z strimzi-cluster-operator --namespace - ``` - keywords: ['amq', 'streams', 'messaging', 'kafka', 'streaming'] - version: 1.0.0-Beta - maturity: beta - maintainers: - - name: Red Hat, Inc. - email: customerservice@redhat.com - provider: - name: Red Hat, Inc. - links: - - name: Product Page - url: https://access.redhat.com/products/red-hat-amq-streams - - name: Documentation - url: https://access.redhat.com/documentation/en-us/red_hat_amq_streams/1.0-beta/html-single/using_amq_streams/ - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: strimzi-cluster-operator - rules: - - apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - - rolebindings - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - kafka.strimzi.io - resources: - - kafkas - - kafkaconnects - - kafkaconnects2is - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch - - delete - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - endpoints - verbs: - - get - - list - - watch - - apiGroups: - - extensions - resources: - - deployments - - deployments/scale - - replicasets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps - resources: - - deployments - - deployments/scale - - deployments/status - - statefulsets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - extensions - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps.openshift.io - resources: - - deploymentconfigs - - deploymentconfigs/scale - - deploymentconfigs/status - - deploymentconfigs/finalizers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - build.openshift.io - resources: - - buildconfigs - - builds - verbs: - - create - - delete - - get - - list - - patch - - watch - - update - - apiGroups: - - image.openshift.io - resources: - - imagestreams - - imagestreams/status - verbs: - - create - - delete - - get - - list - - watch - - patch - - update - - apiGroups: - - "" - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - - apiGroups: - - kafka.strimzi.io - resources: - - kafkatopics - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - kafka.strimzi.io - resources: - - kafkausers - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - deployments: - - name: strimzi-cluster-operator - spec: - replicas: 1 - selector: - matchLabels: - name: strimzi-cluster-operator-alm-owned - template: - metadata: - name: strimzi-cluster-operator-alm-owned - labels: - name: strimzi-cluster-operator-alm-owned - spec: - serviceAccountName: strimzi-cluster-operator - containers: - - name: cluster-operator - image: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-clusteroperator-openshift:1.0.0-beta - env: - - name: STRIMZI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS - value: "120000" - - name: STRIMZI_OPERATION_TIMEOUT_MS - value: "300000" - - name: STRIMZI_DEFAULT_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeper-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafka-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnect-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_S2I_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnects2i-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-topicoperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-useroperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkainit-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeperstunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkastunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-entityoperatorstunnel-openshift:1.0.0-beta - - name: STRIMZI_LOG_LEVEL - value: INFO - customresourcedefinitions: - owned: - - name: kafkas.kafka.strimzi.io - version: v1alpha1 - kind: Kafka - displayName: Kafka - description: Represents a Kafka cluster - specDescriptors: - - description: The desired number of Kafka brokers. - displayName: Kafka Brokers - path: kafka.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Kafka brokers - displayName: Kafka storage - path: kafka.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Kafka Resource Requirements - path: kafka.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The desired number of Zookeeper nodes. - displayName: Zookeeper Nodes - path: zookeeper.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Zookeeper nodes - displayName: Zookeeper storage - path: zookeeper.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Zookeeper Resource Requirements - path: zookeeper.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnect - displayName: Kafka Connect - description: Represents a Kafka Connect cluster - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects2is.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnectS2I - displayName: Kafka Connect S2I - description: Represents a Kafka Connect cluster with Source 2 Image support - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkatopics.kafka.strimzi.io - version: v1alpha1 - kind: KafkaTopic - displayName: Kafka Topic - description: Represents a topic inside a Kafka cluster - specDescriptors: - - description: The number of partitions - displayName: Partitions - path: partitions - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The number of replicas - displayName: Replication factor - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - name: kafkausers.kafka.strimzi.io - version: v1alpha1 - kind: KafkaUser - displayName: Kafka User - description: Represents a user inside a Kafka cluster - specDescriptors: - - description: Authentication type - displayName: Authentication type - path: authentication.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Authorization type - displayName: Authorization type - path: authorization.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.6.1 - namespace: placeholder - annotations: - tectonic-visibility: ocs - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - **High availability** - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - **Automated updates** - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - **Backups included** - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.6.1 - maturity: alpha - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-status-descriptors: etcdoperator.v0.6.1 - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - verbs: - - "*" - - apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.0 - maturity: alpha - replaces: etcdoperator.v0.6.1 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.2 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.2 - maturity: alpha - replaces: etcdoperator.v0.9.0 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: iVBORw0KGgoAAAANSUhEUgAAAOEAAADZCAYAAADWmle6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAEKlJREFUeNrsndt1GzkShmEev4sTgeiHfRYdgVqbgOgITEVgOgLTEQydwIiKwFQCayoCU6+7DyYjsBiBFyVVz7RkXvqCSxXw/+f04XjGQ6IL+FBVuL769euXgZ7r39f/G9iP0X+u/jWDNZzZdGI/Ftama1jjuV4BwmcNpbAf1Fgu+V/9YRvNAyzT2a59+/GT/3hnn5m16wKWedJrmOCxkYztx9Q+py/+E0GJxtJdReWfz+mxNt+QzS2Mc0AI+HbBBwj9QViKbH5t64DsP2fvmGXUkWU4WgO+Uve2YQzBUGd7r+zH2ZG/tiUQc4QxKwgbwFfVGwwmdLL5wH78aPC/ZBem9jJpCAX3xtcNASSNgJLzUPSQyjB1zQNl8IQJ9MIU4lx2+Jo72ysXYKl1HSzN02BMa/vbZ5xyNJIshJzwf3L0dQhJw4Sih/SFw9Tk8sVeghVPoefaIYCkMZCKbrcP9lnZuk0uPUjGE/KE8JQry7W2tgfuC3vXgvNV+qSQbyFtAtyWk7zWiYevvuUQ9QEQCvJ+5mmu6dTjz1zFHLFj8Eb87MtxaZh/IQFIHom+9vgTWwZxAQjT9X4vtbEVPojwjiV471s00mhAckpwGuCn1HtFtRDaSh6y9zsL+LNBvCG/24ThcxHObdlWc1v+VQJe8LcO0jwtuF8BwnAAUgP9M8JPU2Me+Oh12auPGT6fHuTePE3bLDy+x9pTLnhMn+07TQGh//Bz1iI0c6kvtqInjvPZcYR3KsPVmUsPYt9nFig9SCY8VQNhpPBzn952bbgcsk2EvM89wzh3UEffBbyPqvBUBYQ8ODGPFOLsa7RF096WJ69L+E4EmnpjWu5o4ChlKaRTKT39RMMaVPEQRsz/nIWlDN80chjdJlSd1l0pJCAMVZsniobQVuxceMM9OFoaMd9zqZtjMEYYDW38Drb8Y0DYPLShxn0pvIFuOSxd7YCPet9zk452wsh54FJoeN05hcgSQoG5RR0Qh9Q4E4VvL4wcZq8UACgaRFEQKgSwWrkr5WFnGxiHSutqJGlXjBgIOayhwYBTA0ER0oisIVSUV0AAMT0IASCUO4hRIQSAEECMCCEPwqyQA0JCQBzEGjWNAqHiUVAoXUWbvggOIQCEAOJzxTjoaQ4AIaE64/aZridUsBYUgkhB15oGg1DBIl8IqirYwV6hPSGBSFteMCUBSVXwfYixBmamRubeMyjzMJQBDDowE3OesDD+zwqFoDqiEwXoXJpljB+PvWJGy75BKF1FPxhKygJuqUdYQGlLxNEXkrYyjQ0GbaAwEnUIlLRNvVjQDYUAsJB0HKLE4y0AIpQNgCIhBIhQTgCKhZBBpAN/v6LtQI50JfUgYOnnjmLUFHKhjxbAmdTCaTiBm3ovLPqG2urWAij6im0Nd9aTN9ygLUEt9LgSRnohxUPIKxlGaE+/6Y7znFf0yX+GnkvFFWmarkab2o9PmTeq8sbd2a7DaysXz7i64VeznN4jCQhN9gdDbRiuWrfrsq0mHIrlaq+hlotCtd3Um9u0BYWY8y5D67wccJoZjFca7iUs9VqZcfsZwTd1sbWGG+OcYaTnPAP7rTQVVlM4Sg3oGvB1tmNh0t/HKXZ1jFoIMwCQjtqbhNxUmkGYqgZEDZP11HN/S3gAYRozf0l8C5kKEKUvW0t1IfeWG/5MwgheZTT1E0AEhDkAePQO+Ig2H3DncAkQM4cwUQCD530dU4B5Yvmi2LlDqXfWrxMCcMth51RToRMNUXFnfc2KJ0+Ryl0VNOUwlhh6NoxK5gnViTgQpUG4SqSyt5z3zRJpuKmt3Q1614QaCBPaN6je+2XiFcWAKOXcUfIYKRyL/1lb7pe5VxSxxjQ6hImshqGRt5GWZVKO6q2wHwujfwDtIvaIdexj8Cm8+a68EqMfox6x/voMouZF4dHnEGNeCDMwT6vdNfekH1MafMk4PI06YtqLVGl95aEM9Z5vAeCTOA++YLtoVJRrsqNCaJ6WRmkdYaNec5BT/lcTRMqrhmwfjbpkj55+OKp8IEbU/JLgPJE6Wa3TTe9sHS+ShVD5QIyqIxMEwKh12olC6mHIed5ewEop80CNlfIOADYOT2nd6ZXCop+Ebqchc0JqxKcKASxChycJgUh1rnHA5ow9eTrhqNI7JWiAYYwBGGdpyNLoGw0Pkh96h1BpHihyywtATDM/7Hk2fN9EnH8BgKJCU4ooBkbXFMZJiPbrOyecGl3zgQDQL4hk10IZiOe+5w99Q/gBAEIJgPhJM4QAEEoFREAIAAEiIASAkD8Qt4AQAEIAERAGFlX4CACKAXGVM4ivMwWwCLFAlyeoaa70QePKm5Dlp+/n+ye/5dYgva6YsUaVeMa+tzNFeJtWwc+udbJ0Fg399kLielQJ5Ze61c2+7ytA6EZetiPxZC6tj22yJCv6jUwOyj/zcbqAxOMyAKEbfeHtNa7DtYXptjsk2kJxR+eIeim/tHNofUKYy8DMrQcAKWz6brpvzyIAlpwPhQ49l6b7skJf5Z+YTOYQc4FwLDxvoTDwaygQK+U/kVr+ytSFBG01Q3gnJJR4cNiAhx4HDub8/b5DULXlj6SVZghFiE+LdvE9vo/o8Lp1RmH5hzm0T6wdbZ6n+D6i44zDRc3ln6CpAEJfXiRU45oqLz8gFAThWsh7ughrRibc0QynHgZpNJa/ENJ+loCwu/qOGnFIjYR/n7TfgycULhcQhu6VC+HfF+L3BoAQ4WiZTw1M+FPCnA2gKC6/FAhXgDC+ojQGh3NuWsvfF1L/D5ohlCKtl1j2ldu9a/nPAKFwN56Bst10zCG0CPleXN/zXPgHQZXaZaBgrbzyY5V/mUA+6F0hwtGN9rwu5DVZPuwWqfxdFz1LWbJ2lwKEa+0Qsm4Dl3fp+Pu0lV97PgwIPfSsS+UQhj5Oo+vvFULazRIQyvGEcxPuNLCth2MvFsrKn8UOilAQShkh7TTczYNMoS6OdP47msrPi82lXKGWhCdMZYS0bFy+vcnGAjP1CIfvgbKNA9glecEH9RD6Ol4wRuWyN/G9MHnksS6o/GPf5XcwNSUlHzQhDuAKtWJmkwKElU7lylP5rgIcsquh/FI8YZCDpkJBuE4FQm7Icw8N+SrUGaQKyi8FwiDt1ve5o+Vu7qYHy/psgK8cvh+FTYuO77bhEC7GuaPiys/L1X4IgXDL+e3M5+ovLxBy5VLuIebw1oqcHoPfoaMJUsHays878r8KbDc3xtPx/84gZPBG/JwaufrsY/SRG/OY3//8QMNdsvdZCFtbW6f8pFuf5bflILAlX7O+4fdfugKyFYS8T2zAsXthdG0VurPGKwI06oF5vkBgHWkNp6ry29+lsPZMU3vijnXFNmoclr+6+Ou/FIb8yb30sS8YGjmTqCLyQsi5N/6ZwKs0Yenj68pfPjF6N782Dp2FzV9CTyoSeY8mLK16qGxIkLI8oa1n8tz9juP40DlK0epxYEbojbq+9QfurBeVIlCO9D2396bxiV4lkYQ3hOAFw2pbhqMGISkkQOMcQ9EqhDmGZZdo92JC0YHRNTfoSg+5e0IT+opqCKHoIU+4ztQIgBD1EFNrQAgIpYSil9lDmPHqkROPt+JC6AgPquSuumJmg0YARVCuneDfvPVeJokZ6pIXDkNxQtGzTF9/BQjRG0tQznfb74RwCQghpALBtIQnfK4zhxdyQvVCUeknMIT3hLyY+T5jo0yABqKPQNpUNw/09tGZod5jgCaYFxyYvJcNPkv9eof+I3pnCFEHIETjSM8L9tHZHYCQT9PaZGycU6yg8S4akDnJ+P03L0+t23XGzCLzRgII/Wqa+fv/xlfvmKvMUOcOrlCDdoei1MGdZm6G5VEIfRzzjd4aQs69n699Rx7ewhvCGzr2gmTPs8zNsJOrXt24FbkhhOjCfT4ICA/rPbyhUy94Dks0gJCX1NzCZui9YUd3oei+c257TalFbgg19ILHrlrL2gvWgXAL26EX76gZTNASQnad8Ibwhl284NhgXpB0c+jKhWO3Ms1hP9ihJYB9eMF6qd1BCPk0qA1s+LimFIu7m4nsdQIzPK4VbQ8hYvrnuSH2G9b2ggP78QmWqBdF9Vx8SSY6QYdUW7BTA1schZATyhvY8lHvcRbNUS9YGFy2U+qmzh2YPVc0I7yAOFyHfRpyUwtCSzOdPXMHmz7qDIM0e0V2wZTEk+6Ym6N63eBLp/b5Bts+2cKCSJ/LuoZO3ANSiE5hKAZjnvNSS4931jcw9jpwT0feV/qSJ1pVtCyfHKDkvK8Ejx7pUxGh2xFNSwx8QTi2H9ceC0/nni64MS/5N5dG39pDqvRV+WgGk71c9VFXF9b+xYvOw/d61iv7m3MvEHryhvecwC52jSSx4VIIgwnMNT/UsTxIgpPt3K/ARj15CptwL3Zd/ceDSATj2DGQjbxgWwhdeMMte7zpy5On9vymRm/YxBYljGVjKWF9VJf7I1+sex3wY8w/V1QPTborW/72gkdsRDaZMJBdbdHIC7aCkAu9atlLbtnrzerMnyToDaGwelOnk3/hHSem/ZK7e/t7jeeR20LYBgqa8J80gS8jbwi5F02Uj1u2NYJxap8PLkJfLxA2hIJyvnHX/AfeEPLpBfe0uSFHbnXaea3Qd5d6HcpYZ8L6M7lnFwMQ3MNg+RxUR1+6AshtbsVgfXTEg1sIGax9UND2p7f270wdG3eK9gXVGHdw2k5sOyZv+Nbs39Z308XR9DqWb2J+PwKDhuKHPobfuXf7gnYGHdCs7bhDDadD4entDug7LWNsnRNW4mYqwJ9dk+GGSTPBiA2j0G8RWNM5upZtcG4/3vMfP7KnbK2egx6CCnDPhRn7NgD3cghLIad5WcM2SO38iqHvvMOosyeMpQ5zlVCaaj06GVs9xUbHdiKoqrHWgquFEFMWUEWfXUxJAML23hAHFOctmjZQffKD2pywkhtSGHKNtpitLroscAeE7kCkSsC60vxEl6yMtL9EL5HKGCMszU5bk8gdkklAyEn5FO0yK419rIxBOIqwFMooDE0tHEVYijAUECIshRCGIhxFWIowFJ5QkEYIS5PTJrUwNGlPyN6QQPyKtpuM1E/K5+YJDV/MiA3AaehzqgAm7QnZG9IGYKo8bHnSK7VblLL3hOwNHziPuEGOqE5brrdR6i+atCfckyeWD47HkAkepRGLY/e8A8J0gCwYSNypF08bBm+e6zVz2UL4AshhBUjML/rXLefqC82bcQFhGC9JDwZ1uuu+At0S5gCETYHsV4DUeD9fDN2Zfy5OXaW2zAwQygCzBLJ8cvaW5OXKC1FxfTggFAHmoAJnSiOw2wps9KwRWgJCLaEswaj5NqkLwAYIU4BxqTSXbHXpJdRMPZgAOiAMqABCNGYIEEJutEK5IUAIwYMDQgiCACEEAcJs1Vda7gGqDhCmoiEghAAhBAHCrKXVo2C1DCBMRlp37uMIEECoX7xrX3P5C9QiINSuIcoPAUI0YkAICLNWgfJDh4T9hH7zqYH9+JHAq7zBqWjwhPAicTVCVQJCNF50JghHocahKK0X/ZnQKyEkhSdUpzG8OgQI42qC94EQjsYLRSmH+pbgq73L6bYkeEJ4DYTYmeg1TOBFc/usTTp3V9DdEuXJ2xDCUbXhaXk0/kAYmBvuMB4qkC35E5e5AMKkwSQgyxufyuPy6fMMgAFCSI73LFXU/N8AmEL9X4ABACNSKMHAgb34AAAAAElFTkSuQmCC - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: federationv2.v0.0.2 - spec: - displayName: FederationV2 - description: | - Kubernetes Federation V2 namespace-scoped installation - version: 0.0.2 - maturity: alpha - labels: - alm-owner-federationv2: federationv2 - alm-status-descriptors: federationv2.v0.0.2 - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: federation-controller-manager - rules: - - apiGroups: - - clusterregistry.k8s.io - resources: - - clusters - verbs: - - "*" - - apiGroups: - - core.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - multiclusterdns.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - scheduling.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - # TODO(font): use statefulset - deployments: - - name: federation-controller-manager - spec: - replicas: 1 - selector: - matchLabels: - app: federation-controller-manager - template: - metadata: - labels: - app: federation-controller-manager - spec: - containers: - - name: controller-manager - image: quay.io/kubernetes-multicluster/federation-v2:v0.0.2-rc.1 - resources: - limits: - cpu: 100m - memory: 128Mi - requests: - cpu: 100m - memory: 64Mi - command: - - /root/controller-manager - args: - - --federation-namespace=$(FEDERATION_NAMESPACE) - - --install-crds=false - - --limited-scope=true - - --registry-namespace=$(CLUSTER_REGISTRY_NAMESPACE) - imagePullPolicy: Always - env: - - name: FEDERATION_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: CLUSTER_REGISTRY_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - restartPolicy: Always - terminationGracePeriodSeconds: 5 - serviceAccountName: federation-controller-manager - serviceAccount: federation-controller-manager - customresourcedefinitions: - owned: - # TODO(font): Move Cluster CRD to required once OLM supports CSVs - # without a deployment. - - description: Represents an instance of a Cluster Registry - displayName: Cluster Registry Application - kind: Cluster - name: clusters.clusterregistry.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedCluster resource - displayName: FederatedCluster Resource - kind: FederatedCluster - name: federatedclusters.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMap resource - displayName: FederatedConfigMap Resource - kind: FederatedConfigMap - name: federatedconfigmaps.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapOverride resource - displayName: FederatedConfigMapOverride Resource - kind: FederatedConfigMapOverride - name: federatedconfigmapoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapPlacement resource - displayName: FederatedConfigMapPlacement Resource - kind: FederatedConfigMapPlacement - name: federatedconfigmapplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeployment resource - displayName: FederatedDeployment Resource - kind: FederatedDeployment - name: federateddeployments.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentOverride resource - displayName: FederatedDeploymentOverride Resource - kind: FederatedDeploymentOverride - name: federateddeploymentoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentPlacement resource - displayName: FederatedDeploymentPlacement Resource - kind: FederatedDeploymentPlacement - name: federateddeploymentplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngress resource - displayName: FederatedIngress Resource - kind: FederatedIngress - name: federatedingresses.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngressPlacement resource - displayName: FederatedIngressPlacement Resource - kind: FederatedIngressPlacement - name: federatedingressplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJob resource - displayName: FederatedJob Resource - kind: FederatedJob - name: federatedjobs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobOverride resource - displayName: FederatedJobOverride Resource - kind: FederatedJobOverride - name: federatedjoboverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobPlacement resource - displayName: FederatedJobPlacement Resource - kind: FederatedJobPlacement - name: federatedjobplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedNamespacePlacement resource - displayName: FederatedNamespacePlacement Resource - kind: FederatedNamespacePlacement - name: federatednamespaceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSet resource - displayName: FederatedReplicaSet Resource - kind: FederatedReplicaSet - name: federatedreplicasets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetOverride resource - displayName: FederatedReplicaSetOverride Resource - kind: FederatedReplicaSetOverride - name: federatedreplicasetoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetPlacement resource - displayName: FederatedReplicaSetPlacement Resource - kind: FederatedReplicaSetPlacement - name: federatedreplicasetplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecret resource - displayName: FederatedSecret Resource - kind: FederatedSecret - name: federatedsecrets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretOverride resource - displayName: FederatedSecretOverride Resource - kind: FederatedSecretOverride - name: federatedsecretoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretPlacement resource - displayName: FederatedSecretPlacement Resource - kind: FederatedSecretPlacement - name: federatedsecretplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedService resource - displayName: FederatedService Resource - kind: FederatedService - name: federatedservices.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccount resource - displayName: FederatedServiceAccount Resource - kind: FederatedServiceAccount - name: federatedserviceaccounts.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccountPlacement resource - displayName: FederatedServiceAccountPlacement Resource - kind: FederatedServiceAccountPlacement - name: federatedserviceaccountplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServicePlacement resource - displayName: FederatedServicePlacement Resource - kind: FederatedServicePlacement - name: federatedserviceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederationV2 sync controller - displayName: FederationV2 Push Reconciler Application - kind: FederatedTypeConfig - name: federatedtypeconfigs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a PropagatedVersion resource - displayName: PropagatedVersion Resource - kind: PropagatedVersion - name: propagatedversions.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a DNSEndpoint resource - displayName: DNSEndpoint Resource - kind: DNSEndpoint - name: dnsendpoints.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterIngressDNSRecord resource - displayName: MultiClusterIngressDNSRecord Resource - kind: MultiClusterIngressDNSRecord - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterServiceDNSRecord resource - displayName: MultiClusterServiceDNSRecord Resource - kind: MultiClusterServiceDNSRecord - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a ReplicaSchedulingPreference resource - displayName: ReplicaSchedulingPreference Resource - kind: ReplicaSchedulingPreference - name: replicaschedulingpreferences.scheduling.federation.k8s.io - version: v1alpha1 - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.14.0 - namespace: placeholder - spec: - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ## Supported Features - - **High availability** - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - **Updates via automated operations** - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - **Handles the dynamic nature of containers** - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.14.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731 - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.14.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.14.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Define resources requests and limits for single Pods - displayName: Resource Request - path: resources.requests - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.15.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v1.7.0","serviceAccountName":"prometheus-k8s","serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"resources":{"requests":{"memory":"400Mi"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus","prometheus":"k8s"}},"namespaceSelector":{"matchNames":["monitoring"]},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3}}]' - spec: - replaces: prometheusoperator.0.14.0 - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - - **Updates via automated operations** - - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - - **Handles the dynamic nature of containers** - - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.15.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.15.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.15.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.22.2 - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v2.3.2","serviceAccountName":"prometheus-k8s","securityContext": {}, "serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus"}},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3, "securityContext": {}}}]' - spec: - replaces: prometheusoperator.0.15.0 - displayName: Prometheus Operator - description: | - The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances. - - Once installed, the Prometheus Operator provides the following features: - - * **Create/Destroy**: Easily launch a Prometheus instance for your Kubernetes namespace, a specific application or team easily using the Operator. - - * **Simple Configuration**: Configure the fundamentals of Prometheus like versions, persistence, retention policies, and replicas from a native Kubernetes resource. - - * **Target Services via Labels**: Automatically generate monitoring target configurations based on familiar Kubernetes label queries; no need to learn a Prometheus specific configuration language. - - ### Other Supported Features - - **High availability** - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - **Updates via automated operations** - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - **Handles the dynamic nature of containers** - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - - provider: - name: Red Hat - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.22.2 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-22-2 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - prometheuses/finalizers - - alertmanagers/finalizers - - servicemonitors - - prometheusrules - verbs: - - '*' - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - "" - resources: - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete - - apiGroups: - - "" - resources: - - services - - endpoints - verbs: - - get - - create - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - list - - watch - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-22-2 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf - args: - - -namespace=$(K8S_NAMESPACE) - - -manage-crds=false - - -logtostderr=true - - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.22.2 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - nodeSelector: - beta.kubernetes.io/os: linux - maturity: beta - version: 0.22.2 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: prometheusrules.monitoring.coreos.com - version: v1 - kind: PrometheusRule - displayName: Prometheus Rule - description: A Prometheus Rule configures groups of sequentially evaluated recording and alerting rules. - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alertmanager - description: Configures an Alertmanager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - packages: |- - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/amq-streams.v1.0.0-clusterserviceversion - packageName: amq-streams - channels: - - name: preview - currentCSV: amqstreams.v1.0.0.beta - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml - packageName: etcd - channels: - - name: alpha - currentCSV: etcdoperator.v0.9.2 - - - packageName: federationv2 - channels: - - name: alpha - currentCSV: federationv2.v0.0.2 - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/prometheusoperator.0.22.2.clusterserviceversion.yaml - packageName: prometheus - channels: - - name: preview - currentCSV: prometheusoperator.0.22.2 - - diff --git a/deploy/okd/manifests/0.7.1/0000_30_09-rh-operators.catalogsource.yaml b/deploy/okd/manifests/0.7.1/0000_30_09-rh-operators.catalogsource.yaml deleted file mode 100644 index 035e4e8f42..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_09-rh-operators.catalogsource.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml - -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: rh-operators - displayName: Red Hat Operators - publisher: Red Hat - diff --git a/deploy/okd/manifests/0.7.1/0000_30_10-olm-operator.deployment.yaml b/deploy/okd/manifests/0.7.1/0000_30_10-olm-operator.deployment.yaml deleted file mode 100644 index 568d9b6a75..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_10-olm-operator.deployment.yaml +++ /dev/null @@ -1,47 +0,0 @@ -##--- -# Source: olm/templates/0000_30_10-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - image: quay.io/coreos/olm@sha256:058731fac9ecad9a35276612ec79bed76f506aaecd80c8c1fe9d68a262edcddb - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.1/0000_30_11-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.7.1/0000_30_11-catalog-operator.deployment.yaml deleted file mode 100644 index 134b28d267..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_11-catalog-operator.deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -##--- -# Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - - '-namespace' - - openshift-operator-lifecycle-manager - - '-debug' - image: quay.io/coreos/catalog@sha256:57eb45f2a519c65041d3fad0d7a5199f2ce5ba6a72992606ec4839d3307c5b5f - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.1/0000_30_12-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.7.1/0000_30_12-aggregated.clusterrole.yaml deleted file mode 100644 index e91d70cb0a..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_12-aggregated.clusterrole.yaml +++ /dev/null @@ -1,26 +0,0 @@ -##--- -# Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "view" default roles - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.7.1/0000_30_13-packageserver.yaml b/deploy/okd/manifests/0.7.1/0000_30_13-packageserver.yaml deleted file mode 100644 index b6a527ad97..0000000000 --- a/deploy/okd/manifests/0.7.1/0000_30_13-packageserver.yaml +++ /dev/null @@ -1,149 +0,0 @@ -##--- -# Source: olm/templates/0000_30_13-packageserver.yaml -apiVersion: apiregistration.k8s.io/v1beta1 -kind: APIService -metadata: - name: v1alpha1.packages.apps.redhat.com -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM5VENDQWQyZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RFd01EZ3hPREk0TXpaYUZ3MHlPREV3TURVeE9ESTRNelphTUJ3eApHakFZQmdOVkJBTVRFWEJoWTJ0aFoyVXRjMlZ5ZG1WeUxXTmhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUFyTWFIOHNkc3Erc2F6M0NPM2pZdm43RVRnQU01QVlwTzJ1ZURrTmFOVDZVTDQwckUKMXBaSGU3WWNsZm1vS3RDSk1RdDNXdGtsUzhVV3hqUVNHU2gwSU1Fb1dWRkZUZ1pVa2VNNTM0dXhhaWM2bThmSgpkbUVjcHp5c21XRWhEUU9CYkFFaUdpaWxMblloakxCamNkMjBFZ0R6K2ZBeEkwKytVMnZ5MVYyRjg3UXdsdzhaCm5vbWZDUjBWZ0VMK3VuK1p0RGNHL0czWHF2Rk81Qk44bklXaS9KVDZNWmlremZnbmVneUpKS01tL1NmajFRTDEKUzkrNldsZENZZzNhR2Jqdk00OUNSOW1GdENwUXFRRXphdUtZUWsyVnlnN3dtSnFoczB6LzR6TU1EOFBBU3VWTgowSUd4UmYwdkhBWWZsT2R1dlJHYm9BZ1B6Ym1sekNYUkk5NFRlUUlEQVFBQm8wSXdRREFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRE9uUGlZZmVTd1JwMFgrL09rUFl2UVo3OEdZVWo0NwppcFYxZmQ5MkhGbWw2OXpZMjB5YXJoZlFUb2JBemxsSkFKRHJtTDR2STFDVnh5NjlLTnpUOHVrT3RkVzk2V21HCjdVMFFIbHdqME5jd2cyT0dNSGhEbmNxcjlJME5yd3hxcGhjdXpuK2UyRDhOWWMwRURSOWdITGtnYk0vUnVnNFMKMVlzZDkrVVN5MEZCcHB5UWZ6SGpSZmxIaDRhcUdtYjVCSStkM0FCQTFEMUo3V0QvU1ZTZGZEZng1ajd5ZmFTdgpqLzBWOVl5UTBQOWZxaHpRclNqU21JbEdONE03SUZWWWphWU4ydTZVTmRVaUNPc296VlYzYnBpbjl5SjhmUVMyClVVbDNVTkVnQ1ZScXFrQVNZMjN0SE00MStlQTh5Z2I5OWFhd2tsakVQdTBuRm91L1E2NjJIUk09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - group: packages.apps.redhat.com - groupPriorityMinimum: 2000 - versionPriority: 15 - service: - name: package-server - namespace: openshift-operator-lifecycle-manager - version: v1alpha1 ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest:system:auth-delegator -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: packagemanifest-auth-reader - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: extension-apiserver-authentication-reader -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest-view -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: admin -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: package-apiserver-clusterrolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: aggregated-apiserver-clusterrole -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: v1 -kind: Secret -type: kubernetes.io/tls -metadata: - name: package-server-certs - namespace: openshift-operator-lifecycle-manager - labels: - app: package-server -data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhakNDQWxLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RFd01EZ3hPREk0TXpkYUZ3MHhPVEV3TURneE9ESTRNemRhTUJreApGekFWQmdOVkJBTVREbkJoWTJ0aFoyVXRjMlZ5ZG1WeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQTNqK1VIRXAyNDZycWVnQXMvMXE4NDU1VWVkbkl0Snk1REM0TUFIWENQY1E5MnBqWUNCbjMKLyt3YzJzS29JditZZkhmYzVlUStJWW4xMEFLMnlwMnIwelprMU9HSVYxN3VkakZMRmJObUhkK0tLWHNOSWFQeQpjN3JwR2tML294SC9XZ0g0b1M3R0xKN3RaME9EUTdZOXhYUVpDc0QxTENFRUdlUlBDNC9Ra3A2V2h5VHRFVHVWCmFSMlJrUVlPcHFjaDVlQ2FnWGZYeFBJMlJDLzB2bnJ2RmQvQklML09Yb2NtdnZjQ09BSUVRYWN2RnFwSnlNNUMKMW1kdVovR1o5V0E3dnJBbnNDcEhpQzBFTkxOZ25MYU55Y05WZXREWjlTVTRvUTFqNGpOR203R3dwajRNa0pRago0dnNLalRaS0RkSURxTEFacFp0T2VaUWEvRmI0YVpMd2Z3SURBUUFCbzRHNU1JRzJNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXcKQURCM0JnTlZIUkVFY0RCdWdqTndZV05yWVdkbExYTmxjblpsY2k1dmNHVnVjMmhwWm5RdGIzQmxjbUYwYjNJdApiR2xtWldONVkyeGxMVzFoYm1GblpYS0NOM0JoWTJ0aFoyVXRjMlZ5ZG1WeUxtOXdaVzV6YUdsbWRDMXZjR1Z5CllYUnZjaTFzYVdabFkzbGpiR1V0YldGdVlXZGxjaTV6ZG1Nd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCZ1IKeTRSOUNaWm5GZG1kMzRPOTlUYXRISVpuU3JBYjNBbFMzMUtDUXZ1Mi9uK1lqd29Tays2QjVzdGo4aVJiUGxmTwpGUmJQT1N1ZWY5WGh1OEV0STZhTnBHYUREdWhobnJOSy9veDMxTFpsMUdZaVg0V1JyTFEzejZDWG9QY1JFNmNZCnpqdC9TYTNGR3ZSeUNBalQvbVBkTnd6a3dMUXdqY3RWY1ZFMDdHbnlpSDZ0SW5UOTVZdFNlbG9IZ25Hb1AxK1oKenpxVHgyYlFrN3J3djAybVhmSDJxMktGMWRtYnZDMHVIZWJjRGd3MjMzY0dpamVTWXBzV1lkaW1CMWhXanZUSwo4eEtHMmFlQU8zOHE3cmxDVUxiTTB2b2FLK3ErMnYwS1o0OVhGWmFGR1JWbloyaXZ1c1UvOWFXQ1NyNUJCTzFvCm04WFVjTEhHUmxBaGkrK3prOFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBM2orVUhFcDI0NnJxZWdBcy8xcTg0NTVVZWRuSXRKeTVEQzRNQUhYQ1BjUTkycGpZCkNCbjMvK3djMnNLb0l2K1lmSGZjNWVRK0lZbjEwQUsyeXAycjB6WmsxT0dJVjE3dWRqRkxGYk5tSGQrS0tYc04KSWFQeWM3cnBHa0wvb3hIL1dnSDRvUzdHTEo3dFowT0RRN1k5eFhRWkNzRDFMQ0VFR2VSUEM0L1FrcDZXaHlUdApFVHVWYVIyUmtRWU9wcWNoNWVDYWdYZlh4UEkyUkMvMHZucnZGZC9CSUwvT1hvY212dmNDT0FJRVFhY3ZGcXBKCnlNNUMxbWR1Wi9HWjlXQTd2ckFuc0NwSGlDMEVOTE5nbkxhTnljTlZldERaOVNVNG9RMWo0ak5HbTdHd3BqNE0Ka0pRajR2c0tqVFpLRGRJRHFMQVpwWnRPZVpRYS9GYjRhWkx3ZndJREFRQUJBb0lCQVFDZ1lFakUwWWRSYXJpaApLUmRQZlc3bzRnd2JrZWlmVEtqTC9UNXo1b1l3aERnT1VsVXlJMnN1cG5kNzlSUFhqWkcvMzg3cnBmU2Z4eW8yCjNINkRYNXZxWWtvSXhHYmFoWXFXaDZPakdUNExPSkErdHFrWEtYTi94OVVHT21xMmhmbzZQVW5wSmhPamgxdlIKTklxNGhmMjFTcjMzWUo2TEpaZ01CeEJ6UzJnN0pCUytBTk9ZSmdIb0lnRTFaRGNnaTdyRkk3aVFlVE9xb3RZNgpzU2duMExhOGExUkJZRzhRVUoweU5JV1FNT1RPWWZQRFMyeTVMMnJwbmVqQzZYbS9XYTU0S2ZYUkxPY1Jwcmc5CmxRMVBvcXhwUEVZaHF3djRjSnBXMDZEb09QRkUwQit3dHAwTFI4cWZpeTJJNmhXMDlDZGZTWFVKSGY3TlJwdk8Kaks4UUl4M2hBb0dCQU9ISGxkUUNUeExtNC9yWWo1UXRyd044NFlXMy9uYmErQVVobGZwYzBpeGU2bjgvdGdneQpGUVloWmc2V0hkQlFFa0tMVjVMT3JlTnFyMnd4SDZaeGZVOS9mSW5oQ2pLZkpUSkJ6VURhbU5zMmovRWZtaDNGCm9KaGRGRmpjMElmcHU4UnZ6M0p2ekJLWExybUMwRFd0Z1JVMHovdmFxN3BuVTUyRDdXeGZsNmJsQW9HQkFQdisKL2pCMXFFVmZHdEFnQ3Fxd1luc0pKZVV4ZS9SWklQZWVCbmJoR2pUOTFudzFKNzAwa1R2eWxrMFk5OUNhM28yaQpOdVFUaThVSUJuY1hUYVpNRVo0dHlsK2dqcWtuRGs1QllneHJMakpaSDkxYzMrdW1zUVZNMXZ3YVpvYXJpenl3Cjg4ZERnZ2hLeXRhZG5ocEZYcjUrc29PVy93bnozWk1kNXJ2NVFQK1RBb0dBU01LSkJrbTRNZDgybVNBeEpRK1QKMXd2bm9iQXAwU08veWVlSTdhWDhGVkNCUVlER3FOMTY2UDdhWk5qN3dxWUxQR2FyVWlSSTVZRDhCMkhOVVZaQgppOTBKeFdWQVpBL2xiTXpIMko2WnBBdHhWOE5YWjBESkFGRCt2YVJyajJGRG9ZcG16L28zU2NadXlGbmZ2MnlxCnJLcllXOUdjaGZYR2ZIeUhodVZIZWdFQ2dZQlh3cTV6NGdZQVl1YkxwTjBTSk91blBjQmMyYWI1cWpDNUMrZmsKYnZEWms2Mm5CRHdhd0x2enpNQmJpVjZFMytxeUdOUlZDaG1iUFBoRGNYSXhnRHlDZ2lBQXZjSHhWeEM4WURqdApha1prY25XT2VsSGhsK1Arbkl3aXNHOFVaNW5PUVRJbEszV1Z2YloybDkzLytEak96d0VNb3dHZlRiYlZEWXpWCjJqQ3cwUUtCZ0dkOGNTSHI4eDZMRzBWM0lNcCszMGU4SHJESzVZSmhpMEE2MG5wZ3FYeFR6YkFuRWFwUkRJekIKRzM0Y2N5bTE4MEhDUFdkdEtEMWJhS3F3Y0I5ekd5R0hSQ1FIL2FiYW5wQnNiTEJMMUNtUlljRXhhR1BKN3B6RApZbjlRV0hDWXlYekt5ak95UHJ1alhvOVZCRnRNaS94aDROeXZLM0tiZ2p0a0N1NFNpa1huCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - name: package-server - namespace: openshift-operator-lifecycle-manager - labels: - app: package-server -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: package-server - template: - metadata: - labels: - app: package-server - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: package-server - command: - - /bin/package-server - - -v=4 - - --debug - image: quay.io/coreos/package-server@sha256:cc18b5711fb2126329c969f077f67f41981c87f800f6b2ceae5981422c14917b - imagePullPolicy: Always - ports: - - containerPort: 443 - volumeMounts: - - name: certs - mountPath: /apiserver.local.config/certificates - readOnly: true - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 443 - volumes: - - name: certs - secret: - secretName: package-server-certs - items: - - key: tls.crt - path: apiserver.crt - - key: tls.key - path: apiserver.key - imagePullSecrets: - - name: coreos-pull-secret ---- -apiVersion: v1 -kind: Service -metadata: - name: package-server - namespace: openshift-operator-lifecycle-manager -spec: - ports: - - port: 443 - protocol: TCP - targetPort: 443 - selector: - app: package-server diff --git a/deploy/okd/manifests/0.7.2/0000_30_00-namespace.yaml b/deploy/okd/manifests/0.7.2/0000_30_00-namespace.yaml deleted file mode 100644 index ecb4795218..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_00-namespace.yaml +++ /dev/null @@ -1,10 +0,0 @@ -##--- -# Source: olm/templates/0000_30_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - labels: - openshift.io/run-level: "1" - annotations: - openshift.io/node-selector: "" diff --git a/deploy/okd/manifests/0.7.2/0000_30_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.7.2/0000_30_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8ab035f630..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ -##--- -# Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.7.2/0000_30_02-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.7.2/0000_30_02-clusterserviceversion.crd.yaml deleted file mode 100644 index e738495ba9..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_02-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,709 +0,0 @@ -##--- -# Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - categories: - - all - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - pattern: ^(?:[A-Za-z0-9+/]{4}){0,16250}(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - deploymentName - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.7.2/0000_30_03-installplan.crd.yaml b/deploy/okd/manifests/0.7.2/0000_30_03-installplan.crd.yaml deleted file mode 100644 index 8742215dca..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_03-installplan.crd.yaml +++ /dev/null @@ -1,78 +0,0 @@ -##--- -# Source: olm/templates/0000_30_03-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - categories: - - all - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.7.2/0000_30_04-subscription.crd.yaml b/deploy/okd/manifests/0.7.2/0000_30_04-subscription.crd.yaml deleted file mode 100644 index 35f0c24a15..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_04-subscription.crd.yaml +++ /dev/null @@ -1,72 +0,0 @@ -##--- -# Source: olm/templates/0000_30_04-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - categories: - - all - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.7.2/0000_30_05-catalogsource.crd.yaml b/deploy/okd/manifests/0.7.2/0000_30_05-catalogsource.crd.yaml deleted file mode 100644 index 8facb62fbd..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_05-catalogsource.crd.yaml +++ /dev/null @@ -1,81 +0,0 @@ -##--- -# Source: olm/templates/0000_30_05-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - categories: - - all - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Represents a subscription to a source and channel - required: - - spec - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. Currently the only supported type is "internal". - enum: - - internal - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. diff --git a/deploy/okd/manifests/0.7.2/0000_30_06-rh-operators.configmap.yaml b/deploy/okd/manifests/0.7.2/0000_30_06-rh-operators.configmap.yaml deleted file mode 100644 index 1da22d9a47..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_06-rh-operators.configmap.yaml +++ /dev/null @@ -1,11748 +0,0 @@ -##--- -# Source: olm/templates/0000_30_06-rh-operators.configmap.yaml - -kind: ConfigMap -apiVersion: v1 -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: alertmanagers.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Alertmanager - plural: alertmanagers - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Alertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - baseImage: - description: Base image that is used to deploy pods, without tag. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to an Alertmanager - pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - externalUrl: - description: The external URL the Alertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Alertmanager is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Alertmanager server listen on loopback, - so that it does not bind against the Pod IP. Note this is only for - the Alertmanager UI, not the gossip communication. - type: boolean - logLevel: - description: Log level for Alertmanager to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: If set to true all actions on the underlaying managed objects - are not goint to be performed, except for delete actions. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - replicas: - description: Size is the expected size of the alertmanager cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - routePrefix: - description: The route prefix Alertmanager registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Alertmanager object, which shall be mounted into the Alertmanager - Pods. The Secrets are mounted into /etc/alertmanager/secrets/. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Alertmanager container image to be deployed. Defaults - to the value of `version`. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version the cluster should be on. - type: string - status: - description: 'Most recent observed status of the Alertmanager cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Alertmanager cluster. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager - cluster. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkas.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: Kafka - listKind: KafkaList - singular: kafka - plural: kafkas - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - kafka: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - listeners: - type: object - properties: - plain: - type: object - properties: {} - tls: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - superUsers: - type: array - items: - type: string - type: - type: string - config: - type: object - rack: - type: object - properties: - topologyKey: - type: string - example: failure-domain.beta.kubernetes.io/zone - required: - - topologyKey - brokerRackInitImage: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - - listeners - zookeeper: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - config: - type: object - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - entityOperator: - type: object - properties: - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - userOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - kafka - - zookeeper - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnect - listKind: KafkaConnectList - singular: kafkaconnect - plural: kafkaconnects - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects2is.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnectS2I - listKind: KafkaConnectS2IList - singular: kafkaconnects2i - plural: kafkaconnects2is - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - insecureSourceRepository: - type: boolean - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkatopics.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaTopic - listKind: KafkaTopicList - singular: kafkatopic - plural: kafkatopics - shortNames: - - kt - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - partitions: - type: integer - minimum: 1 - replicas: - type: integer - minimum: 1 - maximum: 32767 - config: - type: object - topicName: - type: string - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkausers.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaUser - listKind: KafkaUserList - singular: kafkauser - plural: kafkausers - shortNames: - - ku - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - acls: - type: array - items: - type: object - properties: - host: - type: string - operation: - type: string - enum: - - Read - - Write - - Create - - Delete - - Alter - - Describe - - ClusterAction - - AlterConfigs - - DescribeConfigs - - IdempotentWrite - - All - resource: - type: object - properties: - name: - type: string - patternType: - type: string - enum: - - literal - - prefix - type: - type: string - type: - type: string - enum: - - allow - - deny - required: - - operation - - resource - type: - type: string - required: - - acls - required: - - authentication - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdbackups.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdBackup - listKind: EtcdBackupList - plural: etcdbackups - singular: etcdbackup - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdclusters.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - plural: etcdclusters - singular: etcdcluster - kind: EtcdCluster - listKind: EtcdClusterList - shortNames: - - etcdclus - - etcd - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdrestores.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdRestore - listKind: EtcdRestoreList - plural: etcdrestores - singular: etcdrestore - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: "" - kubebuilder.k8s.io: 0.1.10 - name: clusters.clusterregistry.k8s.io - spec: - group: clusterregistry.k8s.io - names: - kind: Cluster - plural: clusters - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - authInfo: - properties: - controller: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - user: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - type: object - kubernetesApiEndpoints: - properties: - caBundle: - items: - type: byte - type: string - serverEndpoints: - items: - properties: - clientCIDR: - type: string - serverAddress: - type: string - type: object - type: array - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastHeartbeatTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: dnsendpoints.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: DNSEndpoint - plural: dnsendpoints - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - endpoints: - items: - properties: - dnsName: - type: string - labels: - type: object - recordTTL: - format: int64 - type: integer - recordType: - type: string - targets: - items: - type: string - type: array - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedclusters.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedCluster - plural: federatedclusters - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterRef: - type: object - secretRef: - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastProbeTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: object - type: array - region: - type: string - zone: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmaps.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMap - plural: federatedconfigmaps - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapOverride - plural: federatedconfigmapoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapPlacement - plural: federatedconfigmapplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeployments.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeployment - plural: federateddeployments - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentOverride - plural: federateddeploymentoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentPlacement - plural: federateddeploymentplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingresses.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngress - plural: federatedingresses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingressplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngressPlacement - plural: federatedingressplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJob - plural: federatedjobs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjoboverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobOverride - plural: federatedjoboverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - parallelism: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobPlacement - plural: federatedjobplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatednamespaceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedNamespacePlacement - plural: federatednamespaceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSet - plural: federatedreplicasets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetOverride - plural: federatedreplicasetoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetPlacement - plural: federatedreplicasetplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecrets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecret - plural: federatedsecrets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretOverride - plural: federatedsecretoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretPlacement - plural: federatedsecretplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedservices.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedService - plural: federatedservices - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccounts.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccount - plural: federatedserviceaccounts - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccountplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccountPlacement - plural: federatedserviceaccountplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServicePlacement - plural: federatedserviceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedtypeconfigs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedTypeConfig - plural: federatedtypeconfigs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - comparisonField: - type: string - namespaced: - type: boolean - override: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - overridePath: - items: - type: string - type: array - placement: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - propagationEnabled: - type: boolean - target: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - template: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - required: - - target - - namespaced - - comparisonField - - propagationEnabled - - template - - placement - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterIngressDNSRecord - plural: multiclusteringressdnsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - hosts: - items: - type: string - type: array - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterServiceDNSRecord - plural: multiclusterservicednsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - dnsSuffix: - type: string - federationName: - type: string - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - region: - type: string - zone: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: propagatedversions.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: PropagatedVersion - plural: propagatedversions - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - status: - properties: - clusterVersions: - items: - properties: - clusterName: - type: string - version: - type: string - type: object - type: array - overridesVersion: - type: string - templateVersion: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: replicaschedulingpreferences.scheduling.federation.k8s.io - spec: - group: scheduling.federation.k8s.io - names: - kind: ReplicaSchedulingPreference - plural: replicaschedulingpreferences - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusters: - type: object - rebalance: - type: boolean - targetKind: - type: string - totalReplicas: - format: int32 - type: integer - required: - - targetKind - - totalReplicas - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheuses.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Prometheus - plural: prometheuses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Prometheus cluster. - More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - additionalAlertManagerConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - additionalScrapeConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - alerting: - description: AlertingSpec defines parameters for alerting configuration - of Prometheus servers. - properties: - alertmanagers: - description: AlertmanagerEndpoints Prometheus should fire alerts - against. - items: - description: AlertmanagerEndpoints defines a selection of a single - Endpoints object containing alertmanager IPs to fire alerts - against. - properties: - bearerTokenFile: - description: BearerTokenFile to read from filesystem to use - when authenticating to Alertmanager. - type: string - name: - description: Name of Endpoints object in Namespace. - type: string - namespace: - description: Namespace of Endpoints object. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed to. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use when firing alerts. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - required: - - namespace - - name - - port - type: array - required: - - alertmanagers - baseImage: - description: Base image to use for a Prometheus deployment. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to a Prometheus pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - evaluationInterval: - description: Interval between consecutive evaluations. - type: string - externalLabels: - description: The labels to add to any time series or alerts when communicating - with external systems (federation, remote storage, Alertmanager). - type: object - externalUrl: - description: The external URL the Prometheus instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Prometheus is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Prometheus server listen on loopback, - so that it does not bind against the Pod IP. - type: boolean - logLevel: - description: Log level for Prometheus to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: When a Prometheus deployment is paused, no actions except - for deletion will be performed on the underlying objects. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - remoteRead: - description: If specified, the remote_read spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteReadSpec defines the remote_read configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: bearer token for remote read. - type: string - bearerTokenFile: - description: File to read bearer token for remote read. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - readRecent: - description: Whether reads should be made for queries for time - ranges that the local storage should have complete data for. - type: boolean - remoteTimeout: - description: Timeout for requests to the remote read endpoint. - type: string - requiredMatchers: - description: An optional list of equality matchers which have - to be present in a selector to query the remote read endpoint. - type: object - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - required: - - url - type: array - remoteWrite: - description: If specified, the remote_write spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteWriteSpec defines the remote_write configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: File to read bearer token for remote write. - type: string - bearerTokenFile: - description: File to read bearer token for remote write. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - queueConfig: - description: QueueConfig allows the tuning of remote_write queue_config - parameters. This object is referenced in the RemoteWriteSpec - object. - properties: - batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample - will wait in buffer. - type: string - capacity: - description: Capacity is the number of samples to buffer per - shard before we start dropping them. - format: int32 - type: integer - maxBackoff: - description: MaxBackoff is the maximum retry delay. - type: string - maxRetries: - description: MaxRetries is the maximum number of times to - retry a batch on recoverable errors. - format: int32 - type: integer - maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples - per send. - format: int32 - type: integer - maxShards: - description: MaxShards is the maximum number of shards, i.e. - amount of concurrency. - format: int32 - type: integer - minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled - for every retry. - type: string - remoteTimeout: - description: Timeout for requests to the remote write endpoint. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - writeRelabelConfigs: - description: The list of remote write relabel configurations. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - required: - - url - type: array - replicas: - description: Number of instances to deploy for a Prometheus deployment. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - retention: - description: Time duration Prometheus shall retain data for. - type: string - routePrefix: - description: The route prefix Prometheus registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - ruleNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - ruleSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - scrapeInterval: - description: Interval between consecutive scrapes. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Prometheus object, which shall be mounted into the Prometheus Pods. - The Secrets are mounted into /etc/prometheus/secrets/. - Secrets changes after initial creation of a Prometheus object are - not reflected in the running Pods. To change the secrets mounted into - the Prometheus Pods, the object must be deleted and recreated with - the new list of secrets. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - serviceMonitorNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - serviceMonitorSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Prometheus container image to be deployed. Defaults - to the value of `version`. - type: string - thanos: - description: ThanosSpec defines parameters for a Prometheus server within - a Thanos deployment. - properties: - baseImage: - description: Thanos base image if other than default. - type: string - gcs: - description: ThanosGCSSpec defines parameters for use of Google - Cloud Storage (GCS) with Thanos. - properties: - bucket: - description: Google Cloud Storage bucket name for stored blocks. - If empty it won't store any block inside Google Cloud Storage. - type: string - peers: - description: Peers is a DNS name for Thanos to discover peers through. - type: string - s3: - description: ThanosSpec defines parameters for of AWS Simple Storage - Service (S3) with Thanos. (S3 compatible services apply as well) - properties: - accessKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bucket: - description: S3-Compatible API bucket name for stored blocks. - type: string - endpoint: - description: S3-Compatible API endpoint for stored blocks. - type: string - insecure: - description: Whether to use an insecure connection with an S3-Compatible - API. - type: boolean - secretKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - signatureVersion2: - description: Whether to use S3 Signature Version 2; otherwise - Signature Version 4 will be used. - type: boolean - tag: - description: Tag of Thanos sidecar container image to be deployed. - Defaults to the value of `version`. - type: string - version: - description: Version describes the version of Thanos to use. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version of Prometheus to be deployed. - type: string - status: - description: 'Most recent observed status of the Prometheus cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Prometheus deployment. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus - deployment. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheusrules.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: PrometheusRule - plural: prometheusrules - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: PrometheusRuleSpec contains specification parameters for a - Rule. - properties: - groups: - description: Content of Prometheus rule file - items: - description: RuleGroup is a list of sequentially evaluated recording - and alerting rules. - properties: - interval: - type: string - name: - type: string - rules: - items: - description: Rule describes an alerting or recording rule. - properties: - alert: - type: string - annotations: - type: object - expr: - type: string - for: - type: string - labels: - type: object - record: - type: string - required: - - expr - type: array - required: - - name - - rules - type: array - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: servicemonitors.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: ServiceMonitor - plural: servicemonitors - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: ServiceMonitorSpec contains specification parameters for a - ServiceMonitor. - properties: - endpoints: - description: A list of endpoints allowed as part of this ServiceMonitor. - items: - description: Endpoint defines a scrapeable endpoint serving Prometheus - metrics. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerTokenFile: - description: File to read bearer token for scraping targets. - type: string - honorLabels: - description: HonorLabels chooses the metric's labels on collisions - with target labels. - type: boolean - interval: - description: Interval at which metrics should be scraped - type: string - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - params: - description: Optional HTTP URL parameters - type: object - path: - description: HTTP path to scrape for metrics. - type: string - port: - description: Name of the service port this endpoint refers to. - Mutually exclusive with targetPort. - type: string - proxyUrl: - description: ProxyURL eg http://proxyserver:2195 Directs scrapes - to proxy through this endpoint. - type: string - scheme: - description: HTTP scheme to use for scraping. - type: string - scrapeTimeout: - description: Timeout after which the scrape is ended - type: string - targetPort: - anyOf: - - type: string - - type: integer - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: array - jobLabel: - description: The label to use to retrieve the job name from. - type: string - namespaceSelector: - description: A selector for selecting namespaces either selecting all - namespaces or a list of namespaces. - properties: - any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names. - items: - type: string - type: array - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - targetLabels: - description: TargetLabels transfers labels on the Kubernetes Service - onto the target. - items: - type: string - type: array - required: - - endpoints - - selector - version: v1 - - clusterServiceVersions: |- - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: amqstreams.v1.0.0.beta - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"Kafka","metadata":{"name":"my-cluster"},"spec":{"kafka":{"replicas":3,"listeners":{"plain":{},"tls":{}},"config":{"offsets.topic.replication.factor":3,"transaction.state.log.replication.factor":3,"transaction.state.log.min.isr":2},"storage":{"type":"ephemeral"}},"zookeeper":{"replicas":3,"storage":{"type":"ephemeral"}},"entityOperator":{"topicOperator":{},"userOperator":{}}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnect","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnectS2I","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaTopic","metadata":{"name":"my-topic","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"partitions":10,"replicas":3,"config":{"retention.ms":604800000,"segment.bytes":1073741824}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaUser","metadata":{"name":"my-user","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"authentication":{"type":"tls"},"authorization":{"type":"simple","acls":[{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"},{"resource":{"type":"group","name":"my-group","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Write","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Create","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"}]}}}]' - spec: - displayName: AMQ Streams - description: | - **Red Hat AMQ Streams** is a massively scalable, distributed, and high performance data streaming platform based on the Apache Kafka project. - AMQ Streams provides an event streaming backbone that allows microservices and other application components to exchange data with extremely high throughput and low latency. - - **The core capabilities include** - * A pub/sub messaging model, similar to a traditional enterprise messaging system, in which application components publish and consume events to/from an ordered stream - * The long term, fault-tolerant storage of events - * The ability for a consumer to replay streams of events - * The ability to partition topics for horizontal scalability - - # Before you start - - 1\. Create AMQ Streams Cluster Roles - ``` - $ oc apply -f http://amq.io/amqstreams/rbac.yaml - ``` - 2\. Create following bindings - ``` - $ oc adm policy add-cluster-role-to-user strimzi-cluster-operator -z strimzi-cluster-operator --namespace - $ oc adm policy add-cluster-role-to-user strimzi-kafka-broker -z strimzi-cluster-operator --namespace - ``` - keywords: ['amq', 'streams', 'messaging', 'kafka', 'streaming'] - version: 1.0.0-Beta - maturity: beta - maintainers: - - name: Red Hat, Inc. - email: customerservice@redhat.com - provider: - name: Red Hat, Inc. - links: - - name: Product Page - url: https://access.redhat.com/products/red-hat-amq-streams - - name: Documentation - url: https://access.redhat.com/documentation/en-us/red_hat_amq_streams/1.0-beta/html-single/using_amq_streams/ - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: strimzi-cluster-operator - rules: - - apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - - rolebindings - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - kafka.strimzi.io - resources: - - kafkas - - kafkaconnects - - kafkaconnects2is - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch - - delete - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - endpoints - verbs: - - get - - list - - watch - - apiGroups: - - extensions - resources: - - deployments - - deployments/scale - - replicasets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps - resources: - - deployments - - deployments/scale - - deployments/status - - statefulsets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - extensions - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps.openshift.io - resources: - - deploymentconfigs - - deploymentconfigs/scale - - deploymentconfigs/status - - deploymentconfigs/finalizers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - build.openshift.io - resources: - - buildconfigs - - builds - verbs: - - create - - delete - - get - - list - - patch - - watch - - update - - apiGroups: - - image.openshift.io - resources: - - imagestreams - - imagestreams/status - verbs: - - create - - delete - - get - - list - - watch - - patch - - update - - apiGroups: - - "" - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - - apiGroups: - - kafka.strimzi.io - resources: - - kafkatopics - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - kafka.strimzi.io - resources: - - kafkausers - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - deployments: - - name: strimzi-cluster-operator - spec: - replicas: 1 - selector: - matchLabels: - name: strimzi-cluster-operator-alm-owned - template: - metadata: - name: strimzi-cluster-operator-alm-owned - labels: - name: strimzi-cluster-operator-alm-owned - spec: - serviceAccountName: strimzi-cluster-operator - containers: - - name: cluster-operator - image: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-clusteroperator-openshift:1.0.0-beta - env: - - name: STRIMZI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS - value: "120000" - - name: STRIMZI_OPERATION_TIMEOUT_MS - value: "300000" - - name: STRIMZI_DEFAULT_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeper-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafka-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnect-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_S2I_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnects2i-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-topicoperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-useroperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkainit-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeperstunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkastunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-entityoperatorstunnel-openshift:1.0.0-beta - - name: STRIMZI_LOG_LEVEL - value: INFO - customresourcedefinitions: - owned: - - name: kafkas.kafka.strimzi.io - version: v1alpha1 - kind: Kafka - displayName: Kafka - description: Represents a Kafka cluster - specDescriptors: - - description: The desired number of Kafka brokers. - displayName: Kafka Brokers - path: kafka.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Kafka brokers - displayName: Kafka storage - path: kafka.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Kafka Resource Requirements - path: kafka.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The desired number of Zookeeper nodes. - displayName: Zookeeper Nodes - path: zookeeper.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Zookeeper nodes - displayName: Zookeeper storage - path: zookeeper.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Zookeeper Resource Requirements - path: zookeeper.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnect - displayName: Kafka Connect - description: Represents a Kafka Connect cluster - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects2is.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnectS2I - displayName: Kafka Connect S2I - description: Represents a Kafka Connect cluster with Source 2 Image support - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkatopics.kafka.strimzi.io - version: v1alpha1 - kind: KafkaTopic - displayName: Kafka Topic - description: Represents a topic inside a Kafka cluster - specDescriptors: - - description: The number of partitions - displayName: Partitions - path: partitions - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The number of replicas - displayName: Replication factor - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - name: kafkausers.kafka.strimzi.io - version: v1alpha1 - kind: KafkaUser - displayName: Kafka User - description: Represents a user inside a Kafka cluster - specDescriptors: - - description: Authentication type - displayName: Authentication type - path: authentication.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Authorization type - displayName: Authorization type - path: authorization.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.6.1 - namespace: placeholder - annotations: - tectonic-visibility: ocs - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - **High availability** - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - **Automated updates** - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - **Backups included** - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.6.1 - maturity: alpha - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-status-descriptors: etcdoperator.v0.6.1 - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - verbs: - - "*" - - apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.0 - maturity: alpha - replaces: etcdoperator.v0.6.1 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.2 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.2 - maturity: alpha - replaces: etcdoperator.v0.9.0 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: federationv2.v0.0.2 - spec: - displayName: FederationV2 - description: | - Kubernetes Federation V2 namespace-scoped installation - version: 0.0.2 - maturity: alpha - provider: - name: Red Hat, Inc - labels: - alm-owner-federationv2: federationv2 - alm-status-descriptors: federationv2.v0.0.2 - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: federation-controller-manager - rules: - - apiGroups: - - clusterregistry.k8s.io - resources: - - clusters - verbs: - - "*" - - apiGroups: - - core.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - multiclusterdns.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - scheduling.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - # TODO(font): use statefulset - deployments: - - name: federation-controller-manager - spec: - replicas: 1 - selector: - matchLabels: - app: federation-controller-manager - template: - metadata: - labels: - app: federation-controller-manager - spec: - containers: - - name: controller-manager - image: quay.io/kubernetes-multicluster/federation-v2:v0.0.2-rc.1 - resources: - limits: - cpu: 100m - memory: 128Mi - requests: - cpu: 100m - memory: 64Mi - command: - - /root/controller-manager - args: - - --federation-namespace=$(FEDERATION_NAMESPACE) - - --install-crds=false - - --limited-scope=true - - --registry-namespace=$(CLUSTER_REGISTRY_NAMESPACE) - imagePullPolicy: Always - env: - - name: FEDERATION_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: CLUSTER_REGISTRY_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - restartPolicy: Always - terminationGracePeriodSeconds: 5 - serviceAccountName: federation-controller-manager - serviceAccount: federation-controller-manager - customresourcedefinitions: - owned: - # TODO(font): Move Cluster CRD to required once OLM supports CSVs - # without a deployment. - - description: Represents an instance of a Cluster Registry - displayName: Cluster Registry Application - kind: Cluster - name: clusters.clusterregistry.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedCluster resource - displayName: FederatedCluster Resource - kind: FederatedCluster - name: federatedclusters.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMap resource - displayName: FederatedConfigMap Resource - kind: FederatedConfigMap - name: federatedconfigmaps.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapOverride resource - displayName: FederatedConfigMapOverride Resource - kind: FederatedConfigMapOverride - name: federatedconfigmapoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapPlacement resource - displayName: FederatedConfigMapPlacement Resource - kind: FederatedConfigMapPlacement - name: federatedconfigmapplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeployment resource - displayName: FederatedDeployment Resource - kind: FederatedDeployment - name: federateddeployments.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentOverride resource - displayName: FederatedDeploymentOverride Resource - kind: FederatedDeploymentOverride - name: federateddeploymentoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentPlacement resource - displayName: FederatedDeploymentPlacement Resource - kind: FederatedDeploymentPlacement - name: federateddeploymentplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngress resource - displayName: FederatedIngress Resource - kind: FederatedIngress - name: federatedingresses.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngressPlacement resource - displayName: FederatedIngressPlacement Resource - kind: FederatedIngressPlacement - name: federatedingressplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJob resource - displayName: FederatedJob Resource - kind: FederatedJob - name: federatedjobs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobOverride resource - displayName: FederatedJobOverride Resource - kind: FederatedJobOverride - name: federatedjoboverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobPlacement resource - displayName: FederatedJobPlacement Resource - kind: FederatedJobPlacement - name: federatedjobplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedNamespacePlacement resource - displayName: FederatedNamespacePlacement Resource - kind: FederatedNamespacePlacement - name: federatednamespaceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSet resource - displayName: FederatedReplicaSet Resource - kind: FederatedReplicaSet - name: federatedreplicasets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetOverride resource - displayName: FederatedReplicaSetOverride Resource - kind: FederatedReplicaSetOverride - name: federatedreplicasetoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetPlacement resource - displayName: FederatedReplicaSetPlacement Resource - kind: FederatedReplicaSetPlacement - name: federatedreplicasetplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecret resource - displayName: FederatedSecret Resource - kind: FederatedSecret - name: federatedsecrets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretOverride resource - displayName: FederatedSecretOverride Resource - kind: FederatedSecretOverride - name: federatedsecretoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretPlacement resource - displayName: FederatedSecretPlacement Resource - kind: FederatedSecretPlacement - name: federatedsecretplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedService resource - displayName: FederatedService Resource - kind: FederatedService - name: federatedservices.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccount resource - displayName: FederatedServiceAccount Resource - kind: FederatedServiceAccount - name: federatedserviceaccounts.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccountPlacement resource - displayName: FederatedServiceAccountPlacement Resource - kind: FederatedServiceAccountPlacement - name: federatedserviceaccountplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServicePlacement resource - displayName: FederatedServicePlacement Resource - kind: FederatedServicePlacement - name: federatedserviceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederationV2 sync controller - displayName: FederationV2 Push Reconciler Application - kind: FederatedTypeConfig - name: federatedtypeconfigs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a PropagatedVersion resource - displayName: PropagatedVersion Resource - kind: PropagatedVersion - name: propagatedversions.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a DNSEndpoint resource - displayName: DNSEndpoint Resource - kind: DNSEndpoint - name: dnsendpoints.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterIngressDNSRecord resource - displayName: MultiClusterIngressDNSRecord Resource - kind: MultiClusterIngressDNSRecord - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterServiceDNSRecord resource - displayName: MultiClusterServiceDNSRecord Resource - kind: MultiClusterServiceDNSRecord - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a ReplicaSchedulingPreference resource - displayName: ReplicaSchedulingPreference Resource - kind: ReplicaSchedulingPreference - name: replicaschedulingpreferences.scheduling.federation.k8s.io - version: v1alpha1 - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.14.0 - namespace: placeholder - spec: - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ## Supported Features - - **High availability** - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - **Updates via automated operations** - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - **Handles the dynamic nature of containers** - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.14.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731 - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.14.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.14.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Define resources requests and limits for single Pods - displayName: Resource Request - path: resources.requests - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.15.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v1.7.0","serviceAccountName":"prometheus-k8s","serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"resources":{"requests":{"memory":"400Mi"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus","prometheus":"k8s"}},"namespaceSelector":{"matchNames":["monitoring"]},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3}}]' - spec: - replaces: prometheusoperator.0.14.0 - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - - **Updates via automated operations** - - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - - **Handles the dynamic nature of containers** - - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.15.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.15.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.15.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.22.2 - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v2.3.2","serviceAccountName":"prometheus-k8s","securityContext": {}, "serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus"}},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3, "securityContext": {}}}]' - spec: - replaces: prometheusoperator.0.15.0 - displayName: Prometheus Operator - description: | - The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances. - - Once installed, the Prometheus Operator provides the following features: - - * **Create/Destroy**: Easily launch a Prometheus instance for your Kubernetes namespace, a specific application or team easily using the Operator. - - * **Simple Configuration**: Configure the fundamentals of Prometheus like versions, persistence, retention policies, and replicas from a native Kubernetes resource. - - * **Target Services via Labels**: Automatically generate monitoring target configurations based on familiar Kubernetes label queries; no need to learn a Prometheus specific configuration language. - - ### Other Supported Features - - **High availability** - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - **Updates via automated operations** - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - **Handles the dynamic nature of containers** - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - - provider: - name: Red Hat - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.22.2 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-22-2 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - prometheuses/finalizers - - alertmanagers/finalizers - - servicemonitors - - prometheusrules - verbs: - - '*' - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - "" - resources: - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete - - apiGroups: - - "" - resources: - - services - - endpoints - verbs: - - get - - create - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - list - - watch - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-22-2 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf - args: - - -namespace=$(K8S_NAMESPACE) - - -manage-crds=false - - -logtostderr=true - - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.22.2 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - nodeSelector: - beta.kubernetes.io/os: linux - maturity: beta - version: 0.22.2 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: prometheusrules.monitoring.coreos.com - version: v1 - kind: PrometheusRule - displayName: Prometheus Rule - description: A Prometheus Rule configures groups of sequentially evaluated recording and alerting rules. - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alertmanager - description: Configures an Alertmanager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: svcat.v0.1.34 - namespace: placeholder - spec: - displayName: Service Catalog - description: Service Catalog lets you provision cloud services directly from the comfort of native Kubernetes tooling. This project is in incubation to bring integration with service brokers to the Kubernetes ecosystem via the Open Service Broker API. - keywords: ['catalog', 'service', 'svcat', 'osb', 'broker'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Documentation - url: https://svc-cat.io/docs - - name: Service Catalog - url: https://github.com/kubernetes-incubator/service-catalog - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: svcat-controller-manager - rules: - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["cluster-info"] - verbs: ["get","create","list","watch","update"] - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["service-catalog-controller-manager"] - verbs: ["get","update"] - clusterPermissions: - - serviceAccountName: svcat-controller-manager - rules: - - apiGroups: [""] - resources: ["events"] - verbs: ["create","patch","update"] - - apiGroups: [""] - resources: ["secrets"] - verbs: ["get","create","update","delete"] - - apiGroups: [""] - resources: ["pods"] - verbs: ["get","list","update", "patch", "watch", "delete", "initialize"] - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterserviceclasses"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterserviceplans"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterservicebrokers"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceinstances","servicebindings"] - verbs: ["get","list","watch", "update"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterservicebrokers/status","clusterserviceclasses/status","clusterserviceplans/status","serviceinstances/status","serviceinstances/reference","servicebindings/status"] - verbs: ["update"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceclasses"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceplans"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["servicebrokers"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["servicebrokers/status","serviceclasses/status","serviceplans/status"] - verbs: ["update"] - - serviceAccountName: service-catalog-apiserver - rules: - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get", "list", "watch"] - - apiGroups: ["admissionregistration.k8s.io"] - resources: ["validatingwebhookconfigurations"] - verbs: ["get", "list", "watch"] - - apiGroups: ["admissionregistration.k8s.io"] - resources: ["mutatingwebhookconfigurations"] - verbs: ["get", "list", "watch"] - - apiGroups: ["authentication.k8s.io"] - resources: ["tokenreviews"] - verbs: ["create"] - - apiGroups: ["authorization.k8s.io"] - resources: ["subjectaccessreviews"] - verbs: ["create"] - deployments: - - name: svcat-catalog-apiserver - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: svcat-catalog-apiserver - template: - metadata: - labels: - app: svcat-catalog-apiserver - spec: - serviceAccountName: "service-catalog-apiserver" - containers: - - name: apiserver - image: quay.io/kubernetes-service-catalog/service-catalog:v0.1.34 - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 30Mi - requests: - cpu: 100m - memory: 20Mi - args: - - apiserver - - --enable-admission-plugins - - "NamespaceLifecycle,DefaultServicePlan,ServiceBindingsLifecycle,ServicePlanChangeValidator,BrokerAuthSarCheck" - - --secure-port - - "443" - - --etcd-servers - - http://localhost:2379 - - -v - - "10" - - --feature-gates - - OriginatingIdentity=true - - --feature-gates - - ServicePlanDefaults=false - ports: - - containerPort: 443 - volumeMounts: - - name: apiservice-cert - mountPath: /var/run/kubernetes-service-catalog - readinessProbe: - httpGet: - port: 443 - path: /healthz - scheme: HTTPS - failureThreshold: 1 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 443 - path: /healthz - scheme: HTTPS - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - - name: etcd - image: quay.io/coreos/etcd:latest - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 40Mi - requests: - cpu: 100m - memory: 30Mi - env: - - name: ETCD_DATA_DIR - value: /etcd-data-dir - command: - - /usr/local/bin/etcd - - --listen-client-urls - - http://0.0.0.0:2379 - - --advertise-client-urls - - http://localhost:2379 - ports: - - containerPort: 2379 - volumeMounts: - - name: etcd-data-dir - mountPath: /etcd-data-dir - readinessProbe: - httpGet: - port: 2379 - path: /health - failureThreshold: 1 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 2379 - path: /health - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - volumes: - - name: etcd-data-dir - emptyDir: {} - - name: svcat-controller-manager - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: svcat-controller-manager - template: - metadata: - labels: - app: svcat-controller-manager - spec: - serviceAccountName: svcat-controller-manager - containers: - - name: controller-manager - image: quay.io/kubernetes-service-catalog/service-catalog:v0.1.34 - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 30Mi - requests: - cpu: 100m - memory: 20Mi - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - args: - - controller-manager - - --secure-port - - "8444" - - "--cluster-id-configmap-namespace=default" - - "--leader-elect=false" - - -v - - "10" - - --resync-interval - - 5m - - --broker-relist-interval - - 24h - - --feature-gates - - OriginatingIdentity=true - - --feature-gates - - ServicePlanDefaults=false - ports: - - containerPort: 8444 - readinessProbe: - httpGet: - port: 8444 - path: /healthz - scheme: HTTPS - failureThreshold: 1 - initialDelaySeconds: 20 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 8444 - path: /healthz - scheme: HTTPS - failureThreshold: 3 - initialDelaySeconds: 20 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - maturity: alpha - version: 0.1.34 - apiservicedefinitions: - owned: - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServiceClass - displayName: ClusterServiceClass - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServicePlan - displayName: ClusterServicePlan - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServiceBroker - displayName: ClusterServiceBroker - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceInstance - displayName: ServiceInstance - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceBinding - displayName: ServiceBinding - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceClass - displayName: ServiceClass - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServicePlan - displayName: ServicePlan - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceBroker - displayName: ServiceBroker - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - customresourcedefinitions: - required: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - packages: |- - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/amq-streams.v1.0.0-clusterserviceversion - packageName: amq-streams - channels: - - name: preview - currentCSV: amqstreams.v1.0.0.beta - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml - packageName: etcd - channels: - - name: alpha - currentCSV: etcdoperator.v0.9.2 - - - packageName: federationv2 - channels: - - name: alpha - currentCSV: federationv2.v0.0.2 - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/prometheusoperator.0.22.2.clusterserviceversion.yaml - packageName: prometheus - channels: - - name: preview - currentCSV: prometheusoperator.0.22.2 - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/svcat.v0.1.34.clusterserviceversion.yaml - packageName: svcat - channels: - - name: alpha - currentCSV: svcat.v0.1.34 - - diff --git a/deploy/okd/manifests/0.7.2/0000_30_09-rh-operators.catalogsource.yaml b/deploy/okd/manifests/0.7.2/0000_30_09-rh-operators.catalogsource.yaml deleted file mode 100644 index 035e4e8f42..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_09-rh-operators.catalogsource.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml - -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: rh-operators - displayName: Red Hat Operators - publisher: Red Hat - diff --git a/deploy/okd/manifests/0.7.2/0000_30_10-olm-operator.deployment.yaml b/deploy/okd/manifests/0.7.2/0000_30_10-olm-operator.deployment.yaml deleted file mode 100644 index b7c53648f5..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_10-olm-operator.deployment.yaml +++ /dev/null @@ -1,47 +0,0 @@ -##--- -# Source: olm/templates/0000_30_10-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - image: quay.io/coreos/olm@sha256:f3b170c8c1cd29c5452afd961e73bada7402623310290926c649cce0b4310470 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.2/0000_30_11-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.7.2/0000_30_11-catalog-operator.deployment.yaml deleted file mode 100644 index 91e8282d01..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_11-catalog-operator.deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -##--- -# Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - - '-namespace' - - openshift-operator-lifecycle-manager - - '-debug' - image: quay.io/coreos/olm@sha256:f3b170c8c1cd29c5452afd961e73bada7402623310290926c649cce0b4310470 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.2/0000_30_12-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.7.2/0000_30_12-aggregated.clusterrole.yaml deleted file mode 100644 index e91d70cb0a..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_12-aggregated.clusterrole.yaml +++ /dev/null @@ -1,26 +0,0 @@ -##--- -# Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "view" default roles - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.7.2/0000_30_13-packageserver.yaml b/deploy/okd/manifests/0.7.2/0000_30_13-packageserver.yaml deleted file mode 100644 index ffe1cb4ec5..0000000000 --- a/deploy/okd/manifests/0.7.2/0000_30_13-packageserver.yaml +++ /dev/null @@ -1,151 +0,0 @@ -##--- -# Source: olm/templates/0000_30_13-packageserver.yaml -apiVersion: apiregistration.k8s.io/v1beta1 -kind: APIService -metadata: - name: v1alpha1.packages.apps.redhat.com -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM5VENDQWQyZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RFd01URXdNalV6TkRKYUZ3MHlPREV3TURnd01qVXpOREphTUJ3eApHakFZQmdOVkJBTVRFWEJoWTJ0aFoyVXRjMlZ5ZG1WeUxXTmhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUFwemFnV2NGcXJxMGNOK0E0TDMzYkxZSVJoZlBuakdCdk1tQmtVM1JGaUlIa0VWV1YKd3Z1MnZ1Y29tdVQvTU55Vi9ZR3hjMkZUVWw3NFVheGc2QlVkNE5rTGRsNVR0ZWVhNXh1WXZPOThBMDN3T1VPdQpiWTJDTDN1RlJhN1J1cFhqenpLUW51YzRKcHlPSFJDdG9aSDBHVGVMQkpoN3dzeEt2TEtlS21zU3RNMFdkTmZuClJkSlFRQTZVNGcyRnovTGc1YTB2bzYvTzI5MlNpY0duczJDYWZBSjBnSzdDbFhFZ3pybk85dllOaFQvMXF0WFcKZmRNOWJnZVZ0UWNxYWt4QWZUNlMva0huWGFtZXlhdjZCVGRObHg0RnE3TFliY1pFc0JoRGlFc21KRUpMVXdiZApocXZFeGd6L2FpRUZXNDlWMEJacmlnZUdFZUN4YlhrOU5VU0lyd0lEQVFBQm8wSXdRREFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQXFENEJlOWFOMThHcy9wUG9nSXMvd0wxcEVXZjJlegpxQjE1V1pVMzh3VHFYOFBkMUJ5eXVBQkd3dlpxRitUSlAvbHpBbnhsRHJkRjZIMDVhajl0c21DZUJMUWIyMGJ0CmY5WkE5VU83YzgxTW1COGxwSSt4cXkwampEUlQwbUE0dnk4SkUxbUVjbjRlSzBQT3FPeWdHdW41RXM4NU5FcncKTExCUkVSY0xkZUJKZjVtdEs2RFlYbjJIMEx1eVhONEtrQmJJOUZxeEgyRkRKSTBTS2xQc1ZZZEwrWDM4N2pGMQpTeVpWTUpzeU8rTnVoSmVZQUdBS1pSeVFWNlF3YUcrSEdNMDczOHRKcGhCMFA1TTM5UlJNMHdhWUhIMDhxdVUwCmVkMUVtMGkzektGb2x0MmpuNld4dC94czBTc3ZRMkRpRHVWRzhJR0ZYL0ZmZEZpYldjYkJ5dW89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - group: packages.apps.redhat.com - groupPriorityMinimum: 2000 - versionPriority: 15 - service: - name: package-server - namespace: openshift-operator-lifecycle-manager - version: v1alpha1 ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest:system:auth-delegator -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: packagemanifest-auth-reader - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: extension-apiserver-authentication-reader -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest-view -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: admin -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: package-apiserver-clusterrolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: aggregated-apiserver-clusterrole -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: v1 -kind: Secret -type: kubernetes.io/tls -metadata: - name: package-server-certs - namespace: openshift-operator-lifecycle-manager - labels: - app: package-server -data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhakNDQWxLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RFd01URXdNalV6TkRKYUZ3MHhPVEV3TVRFd01qVXpOREphTUJreApGekFWQmdOVkJBTVREbkJoWTJ0aFoyVXRjMlZ5ZG1WeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQTA2ZmJzQm1nS0Vyayt5QVltY1dRY0Z2REN6YjgyWG9ReVlveHNXdmdHeE1sRmh3OWtWemIKbERxWW9UNEFhN2lnU1FqWWFiMmdqRWpaTzl1cW9paFpVUEVvVXVKV1JNMnhXdUR1ZVFmekhsOSsveWhqN3VtNQpKRndWeHB3QUtURkk4UEZMdENpUElrdmZTWnA0U09DRGt6V00vYlZYalJJMnlvWlZEcCtNajdqajFHSVFia0R2CkFGZXRkeHA0UlpCRzhRVmtlSlJ3SzRHbk9tZlR4RGRIMDBCMEFyN3NnN1RzUXNoS0Y0N2w5dWxiNzM2aklMbWcKY0dmT1NyWGtJZmZnWC84anFCSExzMXgyOThzQVVkZkZ0VXJoWnJ6VzV5TDJ1OVpTQUc2d2hMVEtGci9VeHlYYgpLYU1qS2Y4SVVBUUE0U0V2cWFQZW45VzljVWYwZ1MwS3ZRSURBUUFCbzRHNU1JRzJNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXcKQURCM0JnTlZIUkVFY0RCdWdqTndZV05yWVdkbExYTmxjblpsY2k1dmNHVnVjMmhwWm5RdGIzQmxjbUYwYjNJdApiR2xtWldONVkyeGxMVzFoYm1GblpYS0NOM0JoWTJ0aFoyVXRjMlZ5ZG1WeUxtOXdaVzV6YUdsbWRDMXZjR1Z5CllYUnZjaTFzYVdabFkzbGpiR1V0YldGdVlXZGxjaTV6ZG1Nd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFJTFYKLzFZQVNEYTVwRUd2WUhCeExpdWsweWZUUkRXMHB5TVhHejFTSnR1Ni8remY2NkZQcnZDc1V6bVREd0xPM3FSbgp1MFpsc3VzS0dJNUQ0RHVvTGhSNWJVSHFaYkZtV1UzMDhrRlR6VXo1VEZOWURCWDZVVkZHMW9zOElNUzVaZWJUClh2ODlLRFJSVGVtd0tuY2VwcXZCUm02ditXTXN2dUN2eUFDazh6cG5WQ1VtQ0F4QWR2Y0FYUC93RDRFU0gvQkoKWmd3MkF3TlRRYkMvTVRNOHVDZmJwYWhhUWhrbDBEcFYzTDlnVW14dnMwWVovNjVyeVp5aWFpSmlsZEZmV0lRQwp6bEhCcUxmdjZROUZBd01OYkZic05EaFhJTTlhY2Ztbng5WFFJTTlUc0k0eVZMZlBhSHpCb2h1Nm1HKzJNTzI3Cml1N1BiR042M0RqZWJ2SllCVTA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBMDZmYnNCbWdLRXJrK3lBWW1jV1FjRnZEQ3piODJYb1F5WW94c1d2Z0d4TWxGaHc5CmtWemJsRHFZb1Q0QWE3aWdTUWpZYWIyZ2pFalpPOXVxb2loWlVQRW9VdUpXUk0yeFd1RHVlUWZ6SGw5Ky95aGoKN3VtNUpGd1Z4cHdBS1RGSThQRkx0Q2lQSWt2ZlNacDRTT0NEa3pXTS9iVlhqUkkyeW9aVkRwK01qN2pqMUdJUQpia0R2QUZldGR4cDRSWkJHOFFWa2VKUndLNEduT21mVHhEZEgwMEIwQXI3c2c3VHNRc2hLRjQ3bDl1bGI3MzZqCklMbWdjR2ZPU3JYa0lmZmdYLzhqcUJITHMxeDI5OHNBVWRmRnRVcmhacnpXNXlMMnU5WlNBRzZ3aExUS0ZyL1UKeHlYYkthTWpLZjhJVUFRQTRTRXZxYVBlbjlXOWNVZjBnUzBLdlFJREFRQUJBb0lCQVFDQU1BMngzaE5OMCs1UwoyZUdNWUVkV2hYemZjZkk1bE9CTjc5Q2c4QURPNVExMUVxMkhPSUlVaUZpZ2IzaTV4UnZ1bjlqU1VmTEdnK2h0CmhHRVh6UEFyUWFOMmIzWm9QVnZJK3Fuenk0akhRSGNkK2t4c0Nrb0RaM0lZMDZxVlNEQXhIVE1JYmZnaWdXaysKbnJ0ekIrY29aU3A3RGpWMFR5KzRBUnZLdTM3YUc3cFM4L1JMcWlSMk8vY0ZDaldicUV3aHFzNGI1M1dRdHE4cwo4K2N0RTJKQk9IcGcvdWlhY2JJMFhWWnQvQ3lQMWUwbjBQTnB6TzNMUTNSYStnazFkdVp2WVlIN253N2swbjlPCi9OWGJkNnB2VGFzVTQ5SFZFVWdKK0IrTHZ5VU1CeTNkS3BPOHE4c0hzanBmdzFYZ1NKUEVIbUdEVGpXR0t0QTUKZzBWUW1zSFJBb0dCQU4vTjBDd0laWmUzZFhGYjdLczRKQVFRTkFETmdTSDBkbXFnRkdMUFBLQjZraWwzNXkxRgpsbktOVDVEeXpsd2w1MVR6SVlVMzE5WGZIMWVOcHNvZC9wZVk1MDh0bWJhVmx4Z2JPdXVMK3pBS2kxNWN1UDZlCkl1b3dTZXkvUTA2cVhoMFZFbnJYVUdkZVJ4SGZDQjZiRG1TQnc3dmVnemdGOWJwOGpOUVlyVW0vQW9HQkFQSWEKcHdBVkVNVG1sbzhyM05xQjNaOHk2b1RHdUxEeUFVNFNKQXhjbUlVYmttNWttZEhwZ3F4V25PYVVVSUVTRlBVRQp5VXVvcENLWFhRMjQ2bkRIbEJPclhDTFNWU0tJU04yTWxna0J1d0loazNWTU9MQlJQRlZUODRkY2VRNk42K2ltCm11WkNzN3hFSFhEZExpTWpHcFI1UU1lTkFaVjM1V05XYndjMEp6S0RBb0dCQU1IVnBwdk1kZmp1Q3dpd1BnMloKSlJCajNEWnB4cExiQVFpZU5xblJwVWUwZ1F6cmJVeTNmWE1mVXE5T3JFNEJBaGVBTUNNS1Y2UkRpQWl6aGFaKwpUZmVNbGFIczg3bkFXOG1rSStiSUtUalZtUm1VSXlGYll4QUQzTEx3Z0dJTWlsQ1Q1SnFDQzRCTGxqQXpRL3dGCi9YUXRNNUp1U0tYbis0aVZ3UDhkbEZCUEFvR0JBT0YxVG9YMkdCcTFmZ293VjhpbzNhRk93alVKOXA3Wmo3dUwKaTBSenlwbFNsdWYxQ1lZQkJtN0ZiZklRdG5Pc1NoWHU4aUppRnhBYmswMmZJYndMTCt1dFRlMGpvS0s2OWRoVAovcmkrZ3MrMlF1TWVLMENQTmpka0tjcXBwQmFZdGROL3E0cTVIVFk2M0l2cGZmaTh6Ump0WGhVM1MvMU1uVE1JCkgvYytheTVQQW9HQkFKT05tMUJKRGdHRkQ2QmhpOThtclBMQVovaUZ2MGJQZTUvcUN0RkRUcTd1VjRBVU9KYmIKdzc5ZXh4ZkE1dG9zWjRtbXlRc1k2YVh3dzZySDd3a0owMFRhL0pwM0xYZk82WDVZL3Q1WTMvRkhuanp4RFNJUQpOS05VK3pvQVVONVg3MGJZTDR3L3VRZmRhdkZHZll2NDNuNGU3Z0RFOEdIaytNbll1N2lNcUZCbQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - name: package-server - namespace: openshift-operator-lifecycle-manager - labels: - app: package-server -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: package-server - template: - metadata: - labels: - app: package-server - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: package-server - command: - - /bin/package-server - - -v=4 - - --global-namespace - - openshift-operator-lifecycle-manager - - --debug - image: quay.io/coreos/olm@sha256:f3b170c8c1cd29c5452afd961e73bada7402623310290926c649cce0b4310470 - imagePullPolicy: Always - ports: - - containerPort: 443 - volumeMounts: - - name: certs - mountPath: /apiserver.local.config/certificates - readOnly: true - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 443 - volumes: - - name: certs - secret: - secretName: package-server-certs - items: - - key: tls.crt - path: apiserver.crt - - key: tls.key - path: apiserver.key - imagePullSecrets: - - name: coreos-pull-secret ---- -apiVersion: v1 -kind: Service -metadata: - name: package-server - namespace: openshift-operator-lifecycle-manager -spec: - ports: - - port: 443 - protocol: TCP - targetPort: 443 - selector: - app: package-server diff --git a/deploy/okd/manifests/0.7.4/0000_30_00-namespace.yaml b/deploy/okd/manifests/0.7.4/0000_30_00-namespace.yaml deleted file mode 100644 index eb6c559aa9..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_00-namespace.yaml +++ /dev/null @@ -1,8 +0,0 @@ -##--- -# Source: olm/templates/0000_30_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - labels: - openshift.io/run-level: "1" diff --git a/deploy/okd/manifests/0.7.4/0000_30_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.7.4/0000_30_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8ab035f630..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ -##--- -# Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.7.4/0000_30_02-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.7.4/0000_30_02-clusterserviceversion.crd.yaml deleted file mode 100644 index c321e207ec..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_02-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,718 +0,0 @@ -##--- -# Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - categories: - - all - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - pattern: ^(?:[A-Za-z0-9+/]{4}){0,16250}(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - deploymentName - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - # FIXME(alecmerdler): Doesn't allow boolean values - type: object - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - type: object - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - type: object - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - required: - - verbs - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - nonResourceURLs: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - get - - list - - watch - - create - - update - - patch - - put - - post - - delete - - deletecollection - - initialize - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.7.4/0000_30_03-installplan.crd.yaml b/deploy/okd/manifests/0.7.4/0000_30_03-installplan.crd.yaml deleted file mode 100644 index 8742215dca..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_03-installplan.crd.yaml +++ /dev/null @@ -1,78 +0,0 @@ -##--- -# Source: olm/templates/0000_30_03-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - categories: - - all - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.7.4/0000_30_04-subscription.crd.yaml b/deploy/okd/manifests/0.7.4/0000_30_04-subscription.crd.yaml deleted file mode 100644 index 35f0c24a15..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_04-subscription.crd.yaml +++ /dev/null @@ -1,72 +0,0 @@ -##--- -# Source: olm/templates/0000_30_04-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - categories: - - all - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.7.4/0000_30_05-catalogsource.crd.yaml b/deploy/okd/manifests/0.7.4/0000_30_05-catalogsource.crd.yaml deleted file mode 100644 index 8facb62fbd..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_05-catalogsource.crd.yaml +++ /dev/null @@ -1,81 +0,0 @@ -##--- -# Source: olm/templates/0000_30_05-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - categories: - - all - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Represents a subscription to a source and channel - required: - - spec - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. Currently the only supported type is "internal". - enum: - - internal - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. diff --git a/deploy/okd/manifests/0.7.4/0000_30_06-rh-operators.configmap.yaml b/deploy/okd/manifests/0.7.4/0000_30_06-rh-operators.configmap.yaml deleted file mode 100644 index 898664cc54..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_06-rh-operators.configmap.yaml +++ /dev/null @@ -1,11756 +0,0 @@ -##--- -# Source: olm/templates/0000_30_06-rh-operators.configmap.yaml - -kind: ConfigMap -apiVersion: v1 -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: alertmanagers.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Alertmanager - plural: alertmanagers - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Alertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - baseImage: - description: Base image that is used to deploy pods, without tag. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to an Alertmanager - pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - externalUrl: - description: The external URL the Alertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Alertmanager is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Alertmanager server listen on loopback, - so that it does not bind against the Pod IP. Note this is only for - the Alertmanager UI, not the gossip communication. - type: boolean - logLevel: - description: Log level for Alertmanager to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: If set to true all actions on the underlaying managed objects - are not goint to be performed, except for delete actions. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - replicas: - description: Size is the expected size of the alertmanager cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - routePrefix: - description: The route prefix Alertmanager registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Alertmanager object, which shall be mounted into the Alertmanager - Pods. The Secrets are mounted into /etc/alertmanager/secrets/. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Alertmanager container image to be deployed. Defaults - to the value of `version`. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version the cluster should be on. - type: string - status: - description: 'Most recent observed status of the Alertmanager cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Alertmanager cluster. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager - cluster. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkas.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: Kafka - listKind: KafkaList - singular: kafka - plural: kafkas - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - kafka: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - listeners: - type: object - properties: - plain: - type: object - properties: {} - tls: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - superUsers: - type: array - items: - type: string - type: - type: string - config: - type: object - rack: - type: object - properties: - topologyKey: - type: string - example: failure-domain.beta.kubernetes.io/zone - required: - - topologyKey - brokerRackInitImage: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - - listeners - zookeeper: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - config: - type: object - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - entityOperator: - type: object - properties: - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - userOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - kafka - - zookeeper - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnect - listKind: KafkaConnectList - singular: kafkaconnect - plural: kafkaconnects - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects2is.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnectS2I - listKind: KafkaConnectS2IList - singular: kafkaconnects2i - plural: kafkaconnects2is - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - insecureSourceRepository: - type: boolean - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkatopics.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaTopic - listKind: KafkaTopicList - singular: kafkatopic - plural: kafkatopics - shortNames: - - kt - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - partitions: - type: integer - minimum: 1 - replicas: - type: integer - minimum: 1 - maximum: 32767 - config: - type: object - topicName: - type: string - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkausers.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaUser - listKind: KafkaUserList - singular: kafkauser - plural: kafkausers - shortNames: - - ku - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - acls: - type: array - items: - type: object - properties: - host: - type: string - operation: - type: string - enum: - - Read - - Write - - Create - - Delete - - Alter - - Describe - - ClusterAction - - AlterConfigs - - DescribeConfigs - - IdempotentWrite - - All - resource: - type: object - properties: - name: - type: string - patternType: - type: string - enum: - - literal - - prefix - type: - type: string - type: - type: string - enum: - - allow - - deny - required: - - operation - - resource - type: - type: string - required: - - acls - required: - - authentication - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdbackups.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdBackup - listKind: EtcdBackupList - plural: etcdbackups - singular: etcdbackup - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdclusters.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - plural: etcdclusters - singular: etcdcluster - kind: EtcdCluster - listKind: EtcdClusterList - shortNames: - - etcdclus - - etcd - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdrestores.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdRestore - listKind: EtcdRestoreList - plural: etcdrestores - singular: etcdrestore - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: "" - kubebuilder.k8s.io: 0.1.10 - name: clusters.clusterregistry.k8s.io - spec: - group: clusterregistry.k8s.io - names: - kind: Cluster - plural: clusters - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - authInfo: - properties: - controller: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - user: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - type: object - kubernetesApiEndpoints: - properties: - caBundle: - items: - type: byte - type: string - serverEndpoints: - items: - properties: - clientCIDR: - type: string - serverAddress: - type: string - type: object - type: array - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastHeartbeatTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: dnsendpoints.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: DNSEndpoint - plural: dnsendpoints - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - endpoints: - items: - properties: - dnsName: - type: string - labels: - type: object - recordTTL: - format: int64 - type: integer - recordType: - type: string - targets: - items: - type: string - type: array - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedclusters.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedCluster - plural: federatedclusters - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterRef: - type: object - secretRef: - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastProbeTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: object - type: array - region: - type: string - zone: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmaps.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMap - plural: federatedconfigmaps - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapOverride - plural: federatedconfigmapoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapPlacement - plural: federatedconfigmapplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeployments.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeployment - plural: federateddeployments - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentOverride - plural: federateddeploymentoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentPlacement - plural: federateddeploymentplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingresses.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngress - plural: federatedingresses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingressplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngressPlacement - plural: federatedingressplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJob - plural: federatedjobs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjoboverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobOverride - plural: federatedjoboverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - parallelism: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobPlacement - plural: federatedjobplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatednamespaceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedNamespacePlacement - plural: federatednamespaceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSet - plural: federatedreplicasets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetOverride - plural: federatedreplicasetoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetPlacement - plural: federatedreplicasetplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecrets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecret - plural: federatedsecrets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretOverride - plural: federatedsecretoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretPlacement - plural: federatedsecretplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedservices.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedService - plural: federatedservices - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccounts.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccount - plural: federatedserviceaccounts - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccountplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccountPlacement - plural: federatedserviceaccountplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServicePlacement - plural: federatedserviceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedtypeconfigs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedTypeConfig - plural: federatedtypeconfigs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - comparisonField: - type: string - namespaced: - type: boolean - override: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - overridePath: - items: - type: string - type: array - placement: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - propagationEnabled: - type: boolean - target: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - template: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - required: - - target - - namespaced - - comparisonField - - propagationEnabled - - template - - placement - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterIngressDNSRecord - plural: multiclusteringressdnsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - hosts: - items: - type: string - type: array - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterServiceDNSRecord - plural: multiclusterservicednsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - dnsSuffix: - type: string - federationName: - type: string - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - region: - type: string - zone: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: propagatedversions.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: PropagatedVersion - plural: propagatedversions - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - status: - properties: - clusterVersions: - items: - properties: - clusterName: - type: string - version: - type: string - type: object - type: array - overridesVersion: - type: string - templateVersion: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: replicaschedulingpreferences.scheduling.federation.k8s.io - spec: - group: scheduling.federation.k8s.io - names: - kind: ReplicaSchedulingPreference - plural: replicaschedulingpreferences - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusters: - type: object - rebalance: - type: boolean - targetKind: - type: string - totalReplicas: - format: int32 - type: integer - required: - - targetKind - - totalReplicas - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheuses.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Prometheus - plural: prometheuses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Prometheus cluster. - More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - additionalAlertManagerConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - additionalScrapeConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - alerting: - description: AlertingSpec defines parameters for alerting configuration - of Prometheus servers. - properties: - alertmanagers: - description: AlertmanagerEndpoints Prometheus should fire alerts - against. - items: - description: AlertmanagerEndpoints defines a selection of a single - Endpoints object containing alertmanager IPs to fire alerts - against. - properties: - bearerTokenFile: - description: BearerTokenFile to read from filesystem to use - when authenticating to Alertmanager. - type: string - name: - description: Name of Endpoints object in Namespace. - type: string - namespace: - description: Namespace of Endpoints object. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed to. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use when firing alerts. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - required: - - namespace - - name - - port - type: array - required: - - alertmanagers - baseImage: - description: Base image to use for a Prometheus deployment. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to a Prometheus pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - evaluationInterval: - description: Interval between consecutive evaluations. - type: string - externalLabels: - description: The labels to add to any time series or alerts when communicating - with external systems (federation, remote storage, Alertmanager). - type: object - externalUrl: - description: The external URL the Prometheus instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Prometheus is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Prometheus server listen on loopback, - so that it does not bind against the Pod IP. - type: boolean - logLevel: - description: Log level for Prometheus to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: When a Prometheus deployment is paused, no actions except - for deletion will be performed on the underlying objects. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - remoteRead: - description: If specified, the remote_read spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteReadSpec defines the remote_read configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: bearer token for remote read. - type: string - bearerTokenFile: - description: File to read bearer token for remote read. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - readRecent: - description: Whether reads should be made for queries for time - ranges that the local storage should have complete data for. - type: boolean - remoteTimeout: - description: Timeout for requests to the remote read endpoint. - type: string - requiredMatchers: - description: An optional list of equality matchers which have - to be present in a selector to query the remote read endpoint. - type: object - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - required: - - url - type: array - remoteWrite: - description: If specified, the remote_write spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteWriteSpec defines the remote_write configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: File to read bearer token for remote write. - type: string - bearerTokenFile: - description: File to read bearer token for remote write. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - queueConfig: - description: QueueConfig allows the tuning of remote_write queue_config - parameters. This object is referenced in the RemoteWriteSpec - object. - properties: - batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample - will wait in buffer. - type: string - capacity: - description: Capacity is the number of samples to buffer per - shard before we start dropping them. - format: int32 - type: integer - maxBackoff: - description: MaxBackoff is the maximum retry delay. - type: string - maxRetries: - description: MaxRetries is the maximum number of times to - retry a batch on recoverable errors. - format: int32 - type: integer - maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples - per send. - format: int32 - type: integer - maxShards: - description: MaxShards is the maximum number of shards, i.e. - amount of concurrency. - format: int32 - type: integer - minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled - for every retry. - type: string - remoteTimeout: - description: Timeout for requests to the remote write endpoint. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - writeRelabelConfigs: - description: The list of remote write relabel configurations. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - required: - - url - type: array - replicas: - description: Number of instances to deploy for a Prometheus deployment. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - retention: - description: Time duration Prometheus shall retain data for. - type: string - routePrefix: - description: The route prefix Prometheus registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - ruleNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - ruleSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - scrapeInterval: - description: Interval between consecutive scrapes. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Prometheus object, which shall be mounted into the Prometheus Pods. - The Secrets are mounted into /etc/prometheus/secrets/. - Secrets changes after initial creation of a Prometheus object are - not reflected in the running Pods. To change the secrets mounted into - the Prometheus Pods, the object must be deleted and recreated with - the new list of secrets. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - serviceMonitorNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - serviceMonitorSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Prometheus container image to be deployed. Defaults - to the value of `version`. - type: string - thanos: - description: ThanosSpec defines parameters for a Prometheus server within - a Thanos deployment. - properties: - baseImage: - description: Thanos base image if other than default. - type: string - gcs: - description: ThanosGCSSpec defines parameters for use of Google - Cloud Storage (GCS) with Thanos. - properties: - bucket: - description: Google Cloud Storage bucket name for stored blocks. - If empty it won't store any block inside Google Cloud Storage. - type: string - peers: - description: Peers is a DNS name for Thanos to discover peers through. - type: string - s3: - description: ThanosSpec defines parameters for of AWS Simple Storage - Service (S3) with Thanos. (S3 compatible services apply as well) - properties: - accessKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bucket: - description: S3-Compatible API bucket name for stored blocks. - type: string - endpoint: - description: S3-Compatible API endpoint for stored blocks. - type: string - insecure: - description: Whether to use an insecure connection with an S3-Compatible - API. - type: boolean - secretKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - signatureVersion2: - description: Whether to use S3 Signature Version 2; otherwise - Signature Version 4 will be used. - type: boolean - tag: - description: Tag of Thanos sidecar container image to be deployed. - Defaults to the value of `version`. - type: string - version: - description: Version describes the version of Thanos to use. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version of Prometheus to be deployed. - type: string - status: - description: 'Most recent observed status of the Prometheus cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Prometheus deployment. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus - deployment. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheusrules.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: PrometheusRule - plural: prometheusrules - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: PrometheusRuleSpec contains specification parameters for a - Rule. - properties: - groups: - description: Content of Prometheus rule file - items: - description: RuleGroup is a list of sequentially evaluated recording - and alerting rules. - properties: - interval: - type: string - name: - type: string - rules: - items: - description: Rule describes an alerting or recording rule. - properties: - alert: - type: string - annotations: - type: object - expr: - type: string - for: - type: string - labels: - type: object - record: - type: string - required: - - expr - type: array - required: - - name - - rules - type: array - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: servicemonitors.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: ServiceMonitor - plural: servicemonitors - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: ServiceMonitorSpec contains specification parameters for a - ServiceMonitor. - properties: - endpoints: - description: A list of endpoints allowed as part of this ServiceMonitor. - items: - description: Endpoint defines a scrapeable endpoint serving Prometheus - metrics. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerTokenFile: - description: File to read bearer token for scraping targets. - type: string - honorLabels: - description: HonorLabels chooses the metric's labels on collisions - with target labels. - type: boolean - interval: - description: Interval at which metrics should be scraped - type: string - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - params: - description: Optional HTTP URL parameters - type: object - path: - description: HTTP path to scrape for metrics. - type: string - port: - description: Name of the service port this endpoint refers to. - Mutually exclusive with targetPort. - type: string - proxyUrl: - description: ProxyURL eg http://proxyserver:2195 Directs scrapes - to proxy through this endpoint. - type: string - scheme: - description: HTTP scheme to use for scraping. - type: string - scrapeTimeout: - description: Timeout after which the scrape is ended - type: string - targetPort: - anyOf: - - type: string - - type: integer - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: array - jobLabel: - description: The label to use to retrieve the job name from. - type: string - namespaceSelector: - description: A selector for selecting namespaces either selecting all - namespaces or a list of namespaces. - properties: - any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names. - items: - type: string - type: array - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - targetLabels: - description: TargetLabels transfers labels on the Kubernetes Service - onto the target. - items: - type: string - type: array - required: - - endpoints - - selector - version: v1 - - clusterServiceVersions: |- - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: amqstreams.v1.0.0.beta - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"Kafka","metadata":{"name":"my-cluster"},"spec":{"kafka":{"replicas":3,"listeners":{"plain":{},"tls":{}},"config":{"offsets.topic.replication.factor":3,"transaction.state.log.replication.factor":3,"transaction.state.log.min.isr":2},"storage":{"type":"ephemeral"}},"zookeeper":{"replicas":3,"storage":{"type":"ephemeral"}},"entityOperator":{"topicOperator":{},"userOperator":{}}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnect","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnectS2I","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaTopic","metadata":{"name":"my-topic","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"partitions":10,"replicas":3,"config":{"retention.ms":604800000,"segment.bytes":1073741824}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaUser","metadata":{"name":"my-user","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"authentication":{"type":"tls"},"authorization":{"type":"simple","acls":[{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"},{"resource":{"type":"group","name":"my-group","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Write","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Create","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"}]}}}]' - spec: - displayName: AMQ Streams - description: | - **Red Hat AMQ Streams** is a massively scalable, distributed, and high performance data streaming platform based on the Apache Kafka project. - AMQ Streams provides an event streaming backbone that allows microservices and other application components to exchange data with extremely high throughput and low latency. - - **The core capabilities include** - * A pub/sub messaging model, similar to a traditional enterprise messaging system, in which application components publish and consume events to/from an ordered stream - * The long term, fault-tolerant storage of events - * The ability for a consumer to replay streams of events - * The ability to partition topics for horizontal scalability - - # Before you start - - 1\. Create AMQ Streams Cluster Roles - ``` - $ oc apply -f http://amq.io/amqstreams/rbac.yaml - ``` - 2\. Create following bindings - ``` - $ oc adm policy add-cluster-role-to-user strimzi-cluster-operator -z strimzi-cluster-operator --namespace - $ oc adm policy add-cluster-role-to-user strimzi-kafka-broker -z strimzi-cluster-operator --namespace - ``` - keywords: ['amq', 'streams', 'messaging', 'kafka', 'streaming'] - version: 1.0.0-Beta - maturity: beta - maintainers: - - name: Red Hat, Inc. - email: customerservice@redhat.com - provider: - name: Red Hat, Inc. - links: - - name: Product Page - url: https://access.redhat.com/products/red-hat-amq-streams - - name: Documentation - url: https://access.redhat.com/documentation/en-us/red_hat_amq_streams/1.0-beta/html-single/using_amq_streams/ - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: strimzi-cluster-operator - rules: - - apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - - rolebindings - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - kafka.strimzi.io - resources: - - kafkas - - kafkaconnects - - kafkaconnects2is - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch - - delete - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - endpoints - verbs: - - get - - list - - watch - - apiGroups: - - extensions - resources: - - deployments - - deployments/scale - - replicasets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps - resources: - - deployments - - deployments/scale - - deployments/status - - statefulsets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - extensions - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps.openshift.io - resources: - - deploymentconfigs - - deploymentconfigs/scale - - deploymentconfigs/status - - deploymentconfigs/finalizers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - build.openshift.io - resources: - - buildconfigs - - builds - verbs: - - create - - delete - - get - - list - - patch - - watch - - update - - apiGroups: - - image.openshift.io - resources: - - imagestreams - - imagestreams/status - verbs: - - create - - delete - - get - - list - - watch - - patch - - update - - apiGroups: - - "" - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - - apiGroups: - - kafka.strimzi.io - resources: - - kafkatopics - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - kafka.strimzi.io - resources: - - kafkausers - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - deployments: - - name: strimzi-cluster-operator - spec: - replicas: 1 - selector: - matchLabels: - name: strimzi-cluster-operator-alm-owned - template: - metadata: - name: strimzi-cluster-operator-alm-owned - labels: - name: strimzi-cluster-operator-alm-owned - spec: - serviceAccountName: strimzi-cluster-operator - containers: - - name: cluster-operator - image: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-clusteroperator-openshift:1.0.0-beta - env: - - name: STRIMZI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS - value: "120000" - - name: STRIMZI_OPERATION_TIMEOUT_MS - value: "300000" - - name: STRIMZI_DEFAULT_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeper-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafka-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnect-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_S2I_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnects2i-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-topicoperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-useroperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkainit-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeperstunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkastunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-entityoperatorstunnel-openshift:1.0.0-beta - - name: STRIMZI_LOG_LEVEL - value: INFO - customresourcedefinitions: - owned: - - name: kafkas.kafka.strimzi.io - version: v1alpha1 - kind: Kafka - displayName: Kafka - description: Represents a Kafka cluster - specDescriptors: - - description: The desired number of Kafka brokers. - displayName: Kafka Brokers - path: kafka.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Kafka brokers - displayName: Kafka storage - path: kafka.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Kafka Resource Requirements - path: kafka.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The desired number of Zookeeper nodes. - displayName: Zookeeper Nodes - path: zookeeper.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Zookeeper nodes - displayName: Zookeeper storage - path: zookeeper.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Zookeeper Resource Requirements - path: zookeeper.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnect - displayName: Kafka Connect - description: Represents a Kafka Connect cluster - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects2is.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnectS2I - displayName: Kafka Connect S2I - description: Represents a Kafka Connect cluster with Source 2 Image support - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkatopics.kafka.strimzi.io - version: v1alpha1 - kind: KafkaTopic - displayName: Kafka Topic - description: Represents a topic inside a Kafka cluster - specDescriptors: - - description: The number of partitions - displayName: Partitions - path: partitions - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The number of replicas - displayName: Replication factor - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - name: kafkausers.kafka.strimzi.io - version: v1alpha1 - kind: KafkaUser - displayName: Kafka User - description: Represents a user inside a Kafka cluster - specDescriptors: - - description: Authentication type - displayName: Authentication type - path: authentication.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Authorization type - displayName: Authorization type - path: authorization.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.6.1 - namespace: placeholder - annotations: - tectonic-visibility: ocs - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - **High availability** - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - **Automated updates** - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - **Backups included** - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.6.1 - maturity: alpha - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-status-descriptors: etcdoperator.v0.6.1 - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - verbs: - - "*" - - apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.0 - maturity: alpha - replaces: etcdoperator.v0.6.1 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.2 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.2 - maturity: alpha - replaces: etcdoperator.v0.9.0 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: iVBORw0KGgoAAAANSUhEUgAAAOEAAADZCAYAAADWmle6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAEKlJREFUeNrsndt1GzkShmEev4sTgeiHfRYdgVqbgOgITEVgOgLTEQydwIiKwFQCayoCU6+7DyYjsBiBFyVVz7RkXvqCSxXw/+f04XjGQ6IL+FBVuL769euXgZ7r39f/G9iP0X+u/jWDNZzZdGI/Ftama1jjuV4BwmcNpbAf1Fgu+V/9YRvNAyzT2a59+/GT/3hnn5m16wKWedJrmOCxkYztx9Q+py/+E0GJxtJdReWfz+mxNt+QzS2Mc0AI+HbBBwj9QViKbH5t64DsP2fvmGXUkWU4WgO+Uve2YQzBUGd7r+zH2ZG/tiUQc4QxKwgbwFfVGwwmdLL5wH78aPC/ZBem9jJpCAX3xtcNASSNgJLzUPSQyjB1zQNl8IQJ9MIU4lx2+Jo72ysXYKl1HSzN02BMa/vbZ5xyNJIshJzwf3L0dQhJw4Sih/SFw9Tk8sVeghVPoefaIYCkMZCKbrcP9lnZuk0uPUjGE/KE8JQry7W2tgfuC3vXgvNV+qSQbyFtAtyWk7zWiYevvuUQ9QEQCvJ+5mmu6dTjz1zFHLFj8Eb87MtxaZh/IQFIHom+9vgTWwZxAQjT9X4vtbEVPojwjiV471s00mhAckpwGuCn1HtFtRDaSh6y9zsL+LNBvCG/24ThcxHObdlWc1v+VQJe8LcO0jwtuF8BwnAAUgP9M8JPU2Me+Oh12auPGT6fHuTePE3bLDy+x9pTLnhMn+07TQGh//Bz1iI0c6kvtqInjvPZcYR3KsPVmUsPYt9nFig9SCY8VQNhpPBzn952bbgcsk2EvM89wzh3UEffBbyPqvBUBYQ8ODGPFOLsa7RF096WJ69L+E4EmnpjWu5o4ChlKaRTKT39RMMaVPEQRsz/nIWlDN80chjdJlSd1l0pJCAMVZsniobQVuxceMM9OFoaMd9zqZtjMEYYDW38Drb8Y0DYPLShxn0pvIFuOSxd7YCPet9zk452wsh54FJoeN05hcgSQoG5RR0Qh9Q4E4VvL4wcZq8UACgaRFEQKgSwWrkr5WFnGxiHSutqJGlXjBgIOayhwYBTA0ER0oisIVSUV0AAMT0IASCUO4hRIQSAEECMCCEPwqyQA0JCQBzEGjWNAqHiUVAoXUWbvggOIQCEAOJzxTjoaQ4AIaE64/aZridUsBYUgkhB15oGg1DBIl8IqirYwV6hPSGBSFteMCUBSVXwfYixBmamRubeMyjzMJQBDDowE3OesDD+zwqFoDqiEwXoXJpljB+PvWJGy75BKF1FPxhKygJuqUdYQGlLxNEXkrYyjQ0GbaAwEnUIlLRNvVjQDYUAsJB0HKLE4y0AIpQNgCIhBIhQTgCKhZBBpAN/v6LtQI50JfUgYOnnjmLUFHKhjxbAmdTCaTiBm3ovLPqG2urWAij6im0Nd9aTN9ygLUEt9LgSRnohxUPIKxlGaE+/6Y7znFf0yX+GnkvFFWmarkab2o9PmTeq8sbd2a7DaysXz7i64VeznN4jCQhN9gdDbRiuWrfrsq0mHIrlaq+hlotCtd3Um9u0BYWY8y5D67wccJoZjFca7iUs9VqZcfsZwTd1sbWGG+OcYaTnPAP7rTQVVlM4Sg3oGvB1tmNh0t/HKXZ1jFoIMwCQjtqbhNxUmkGYqgZEDZP11HN/S3gAYRozf0l8C5kKEKUvW0t1IfeWG/5MwgheZTT1E0AEhDkAePQO+Ig2H3DncAkQM4cwUQCD530dU4B5Yvmi2LlDqXfWrxMCcMth51RToRMNUXFnfc2KJ0+Ryl0VNOUwlhh6NoxK5gnViTgQpUG4SqSyt5z3zRJpuKmt3Q1614QaCBPaN6je+2XiFcWAKOXcUfIYKRyL/1lb7pe5VxSxxjQ6hImshqGRt5GWZVKO6q2wHwujfwDtIvaIdexj8Cm8+a68EqMfox6x/voMouZF4dHnEGNeCDMwT6vdNfekH1MafMk4PI06YtqLVGl95aEM9Z5vAeCTOA++YLtoVJRrsqNCaJ6WRmkdYaNec5BT/lcTRMqrhmwfjbpkj55+OKp8IEbU/JLgPJE6Wa3TTe9sHS+ShVD5QIyqIxMEwKh12olC6mHIed5ewEop80CNlfIOADYOT2nd6ZXCop+Ebqchc0JqxKcKASxChycJgUh1rnHA5ow9eTrhqNI7JWiAYYwBGGdpyNLoGw0Pkh96h1BpHihyywtATDM/7Hk2fN9EnH8BgKJCU4ooBkbXFMZJiPbrOyecGl3zgQDQL4hk10IZiOe+5w99Q/gBAEIJgPhJM4QAEEoFREAIAAEiIASAkD8Qt4AQAEIAERAGFlX4CACKAXGVM4ivMwWwCLFAlyeoaa70QePKm5Dlp+/n+ye/5dYgva6YsUaVeMa+tzNFeJtWwc+udbJ0Fg399kLielQJ5Ze61c2+7ytA6EZetiPxZC6tj22yJCv6jUwOyj/zcbqAxOMyAKEbfeHtNa7DtYXptjsk2kJxR+eIeim/tHNofUKYy8DMrQcAKWz6brpvzyIAlpwPhQ49l6b7skJf5Z+YTOYQc4FwLDxvoTDwaygQK+U/kVr+ytSFBG01Q3gnJJR4cNiAhx4HDub8/b5DULXlj6SVZghFiE+LdvE9vo/o8Lp1RmH5hzm0T6wdbZ6n+D6i44zDRc3ln6CpAEJfXiRU45oqLz8gFAThWsh7ughrRibc0QynHgZpNJa/ENJ+loCwu/qOGnFIjYR/n7TfgycULhcQhu6VC+HfF+L3BoAQ4WiZTw1M+FPCnA2gKC6/FAhXgDC+ojQGh3NuWsvfF1L/D5ohlCKtl1j2ldu9a/nPAKFwN56Bst10zCG0CPleXN/zXPgHQZXaZaBgrbzyY5V/mUA+6F0hwtGN9rwu5DVZPuwWqfxdFz1LWbJ2lwKEa+0Qsm4Dl3fp+Pu0lV97PgwIPfSsS+UQhj5Oo+vvFULazRIQyvGEcxPuNLCth2MvFsrKn8UOilAQShkh7TTczYNMoS6OdP47msrPi82lXKGWhCdMZYS0bFy+vcnGAjP1CIfvgbKNA9glecEH9RD6Ol4wRuWyN/G9MHnksS6o/GPf5XcwNSUlHzQhDuAKtWJmkwKElU7lylP5rgIcsquh/FI8YZCDpkJBuE4FQm7Icw8N+SrUGaQKyi8FwiDt1ve5o+Vu7qYHy/psgK8cvh+FTYuO77bhEC7GuaPiys/L1X4IgXDL+e3M5+ovLxBy5VLuIebw1oqcHoPfoaMJUsHays878r8KbDc3xtPx/84gZPBG/JwaufrsY/SRG/OY3//8QMNdsvdZCFtbW6f8pFuf5bflILAlX7O+4fdfugKyFYS8T2zAsXthdG0VurPGKwI06oF5vkBgHWkNp6ry29+lsPZMU3vijnXFNmoclr+6+Ou/FIb8yb30sS8YGjmTqCLyQsi5N/6ZwKs0Yenj68pfPjF6N782Dp2FzV9CTyoSeY8mLK16qGxIkLI8oa1n8tz9juP40DlK0epxYEbojbq+9QfurBeVIlCO9D2396bxiV4lkYQ3hOAFw2pbhqMGISkkQOMcQ9EqhDmGZZdo92JC0YHRNTfoSg+5e0IT+opqCKHoIU+4ztQIgBD1EFNrQAgIpYSil9lDmPHqkROPt+JC6AgPquSuumJmg0YARVCuneDfvPVeJokZ6pIXDkNxQtGzTF9/BQjRG0tQznfb74RwCQghpALBtIQnfK4zhxdyQvVCUeknMIT3hLyY+T5jo0yABqKPQNpUNw/09tGZod5jgCaYFxyYvJcNPkv9eof+I3pnCFEHIETjSM8L9tHZHYCQT9PaZGycU6yg8S4akDnJ+P03L0+t23XGzCLzRgII/Wqa+fv/xlfvmKvMUOcOrlCDdoei1MGdZm6G5VEIfRzzjd4aQs69n699Rx7ewhvCGzr2gmTPs8zNsJOrXt24FbkhhOjCfT4ICA/rPbyhUy94Dks0gJCX1NzCZui9YUd3oei+c257TalFbgg19ILHrlrL2gvWgXAL26EX76gZTNASQnad8Ibwhl284NhgXpB0c+jKhWO3Ms1hP9ihJYB9eMF6qd1BCPk0qA1s+LimFIu7m4nsdQIzPK4VbQ8hYvrnuSH2G9b2ggP78QmWqBdF9Vx8SSY6QYdUW7BTA1schZATyhvY8lHvcRbNUS9YGFy2U+qmzh2YPVc0I7yAOFyHfRpyUwtCSzOdPXMHmz7qDIM0e0V2wZTEk+6Ym6N63eBLp/b5Bts+2cKCSJ/LuoZO3ANSiE5hKAZjnvNSS4931jcw9jpwT0feV/qSJ1pVtCyfHKDkvK8Ejx7pUxGh2xFNSwx8QTi2H9ceC0/nni64MS/5N5dG39pDqvRV+WgGk71c9VFXF9b+xYvOw/d61iv7m3MvEHryhvecwC52jSSx4VIIgwnMNT/UsTxIgpPt3K/ARj15CptwL3Zd/ceDSATj2DGQjbxgWwhdeMMte7zpy5On9vymRm/YxBYljGVjKWF9VJf7I1+sex3wY8w/V1QPTborW/72gkdsRDaZMJBdbdHIC7aCkAu9atlLbtnrzerMnyToDaGwelOnk3/hHSem/ZK7e/t7jeeR20LYBgqa8J80gS8jbwi5F02Uj1u2NYJxap8PLkJfLxA2hIJyvnHX/AfeEPLpBfe0uSFHbnXaea3Qd5d6HcpYZ8L6M7lnFwMQ3MNg+RxUR1+6AshtbsVgfXTEg1sIGax9UND2p7f270wdG3eK9gXVGHdw2k5sOyZv+Nbs39Z308XR9DqWb2J+PwKDhuKHPobfuXf7gnYGHdCs7bhDDadD4entDug7LWNsnRNW4mYqwJ9dk+GGSTPBiA2j0G8RWNM5upZtcG4/3vMfP7KnbK2egx6CCnDPhRn7NgD3cghLIad5WcM2SO38iqHvvMOosyeMpQ5zlVCaaj06GVs9xUbHdiKoqrHWgquFEFMWUEWfXUxJAML23hAHFOctmjZQffKD2pywkhtSGHKNtpitLroscAeE7kCkSsC60vxEl6yMtL9EL5HKGCMszU5bk8gdkklAyEn5FO0yK419rIxBOIqwFMooDE0tHEVYijAUECIshRCGIhxFWIowFJ5QkEYIS5PTJrUwNGlPyN6QQPyKtpuM1E/K5+YJDV/MiA3AaehzqgAm7QnZG9IGYKo8bHnSK7VblLL3hOwNHziPuEGOqE5brrdR6i+atCfckyeWD47HkAkepRGLY/e8A8J0gCwYSNypF08bBm+e6zVz2UL4AshhBUjML/rXLefqC82bcQFhGC9JDwZ1uuu+At0S5gCETYHsV4DUeD9fDN2Zfy5OXaW2zAwQygCzBLJ8cvaW5OXKC1FxfTggFAHmoAJnSiOw2wps9KwRWgJCLaEswaj5NqkLwAYIU4BxqTSXbHXpJdRMPZgAOiAMqABCNGYIEEJutEK5IUAIwYMDQgiCACEEAcJs1Vda7gGqDhCmoiEghAAhBAHCrKXVo2C1DCBMRlp37uMIEECoX7xrX3P5C9QiINSuIcoPAUI0YkAICLNWgfJDh4T9hH7zqYH9+JHAq7zBqWjwhPAicTVCVQJCNF50JghHocahKK0X/ZnQKyEkhSdUpzG8OgQI42qC94EQjsYLRSmH+pbgq73L6bYkeEJ4DYTYmeg1TOBFc/usTTp3V9DdEuXJ2xDCUbXhaXk0/kAYmBvuMB4qkC35E5e5AMKkwSQgyxufyuPy6fMMgAFCSI73LFXU/N8AmEL9X4ABACNSKMHAgb34AAAAAElFTkSuQmCC - mediatype: image/png - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: federationv2.v0.0.2 - spec: - displayName: FederationV2 - description: | - Kubernetes Federation V2 namespace-scoped installation - version: 0.0.2 - maturity: alpha - provider: - name: Red Hat, Inc - labels: - alm-owner-federationv2: federationv2 - alm-status-descriptors: federationv2.v0.0.2 - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: federation-controller-manager - rules: - - apiGroups: - - clusterregistry.k8s.io - resources: - - clusters - verbs: - - "*" - - apiGroups: - - core.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - multiclusterdns.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - scheduling.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - # TODO(font): use statefulset - deployments: - - name: federation-controller-manager - spec: - replicas: 1 - selector: - matchLabels: - app: federation-controller-manager - template: - metadata: - labels: - app: federation-controller-manager - spec: - containers: - - name: controller-manager - image: quay.io/kubernetes-multicluster/federation-v2:v0.0.2-rc.1 - resources: - limits: - cpu: 100m - memory: 128Mi - requests: - cpu: 100m - memory: 64Mi - command: - - /root/controller-manager - args: - - --federation-namespace=$(FEDERATION_NAMESPACE) - - --install-crds=false - - --limited-scope=true - - --registry-namespace=$(CLUSTER_REGISTRY_NAMESPACE) - imagePullPolicy: Always - env: - - name: FEDERATION_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: CLUSTER_REGISTRY_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - restartPolicy: Always - terminationGracePeriodSeconds: 5 - serviceAccountName: federation-controller-manager - serviceAccount: federation-controller-manager - customresourcedefinitions: - owned: - # TODO(font): Move Cluster CRD to required once OLM supports CSVs - # without a deployment. - - description: Represents an instance of a Cluster Registry - displayName: Cluster Registry Application - kind: Cluster - name: clusters.clusterregistry.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedCluster resource - displayName: FederatedCluster Resource - kind: FederatedCluster - name: federatedclusters.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMap resource - displayName: FederatedConfigMap Resource - kind: FederatedConfigMap - name: federatedconfigmaps.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapOverride resource - displayName: FederatedConfigMapOverride Resource - kind: FederatedConfigMapOverride - name: federatedconfigmapoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapPlacement resource - displayName: FederatedConfigMapPlacement Resource - kind: FederatedConfigMapPlacement - name: federatedconfigmapplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeployment resource - displayName: FederatedDeployment Resource - kind: FederatedDeployment - name: federateddeployments.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentOverride resource - displayName: FederatedDeploymentOverride Resource - kind: FederatedDeploymentOverride - name: federateddeploymentoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentPlacement resource - displayName: FederatedDeploymentPlacement Resource - kind: FederatedDeploymentPlacement - name: federateddeploymentplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngress resource - displayName: FederatedIngress Resource - kind: FederatedIngress - name: federatedingresses.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngressPlacement resource - displayName: FederatedIngressPlacement Resource - kind: FederatedIngressPlacement - name: federatedingressplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJob resource - displayName: FederatedJob Resource - kind: FederatedJob - name: federatedjobs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobOverride resource - displayName: FederatedJobOverride Resource - kind: FederatedJobOverride - name: federatedjoboverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobPlacement resource - displayName: FederatedJobPlacement Resource - kind: FederatedJobPlacement - name: federatedjobplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedNamespacePlacement resource - displayName: FederatedNamespacePlacement Resource - kind: FederatedNamespacePlacement - name: federatednamespaceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSet resource - displayName: FederatedReplicaSet Resource - kind: FederatedReplicaSet - name: federatedreplicasets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetOverride resource - displayName: FederatedReplicaSetOverride Resource - kind: FederatedReplicaSetOverride - name: federatedreplicasetoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetPlacement resource - displayName: FederatedReplicaSetPlacement Resource - kind: FederatedReplicaSetPlacement - name: federatedreplicasetplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecret resource - displayName: FederatedSecret Resource - kind: FederatedSecret - name: federatedsecrets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretOverride resource - displayName: FederatedSecretOverride Resource - kind: FederatedSecretOverride - name: federatedsecretoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretPlacement resource - displayName: FederatedSecretPlacement Resource - kind: FederatedSecretPlacement - name: federatedsecretplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedService resource - displayName: FederatedService Resource - kind: FederatedService - name: federatedservices.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccount resource - displayName: FederatedServiceAccount Resource - kind: FederatedServiceAccount - name: federatedserviceaccounts.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccountPlacement resource - displayName: FederatedServiceAccountPlacement Resource - kind: FederatedServiceAccountPlacement - name: federatedserviceaccountplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServicePlacement resource - displayName: FederatedServicePlacement Resource - kind: FederatedServicePlacement - name: federatedserviceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederationV2 sync controller - displayName: FederationV2 Push Reconciler Application - kind: FederatedTypeConfig - name: federatedtypeconfigs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a PropagatedVersion resource - displayName: PropagatedVersion Resource - kind: PropagatedVersion - name: propagatedversions.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a DNSEndpoint resource - displayName: DNSEndpoint Resource - kind: DNSEndpoint - name: dnsendpoints.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterIngressDNSRecord resource - displayName: MultiClusterIngressDNSRecord Resource - kind: MultiClusterIngressDNSRecord - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterServiceDNSRecord resource - displayName: MultiClusterServiceDNSRecord Resource - kind: MultiClusterServiceDNSRecord - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a ReplicaSchedulingPreference resource - displayName: ReplicaSchedulingPreference Resource - kind: ReplicaSchedulingPreference - name: replicaschedulingpreferences.scheduling.federation.k8s.io - version: v1alpha1 - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.14.0 - namespace: placeholder - spec: - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ## Supported Features - - **High availability** - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - **Updates via automated operations** - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - **Handles the dynamic nature of containers** - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.14.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731 - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.14.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.14.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Define resources requests and limits for single Pods - displayName: Resource Request - path: resources.requests - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.15.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v1.7.0","serviceAccountName":"prometheus-k8s","serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"resources":{"requests":{"memory":"400Mi"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus","prometheus":"k8s"}},"namespaceSelector":{"matchNames":["monitoring"]},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3}}]' - spec: - replaces: prometheusoperator.0.14.0 - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - - **Updates via automated operations** - - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - - **Handles the dynamic nature of containers** - - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.15.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.15.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.15.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.22.2 - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v2.3.2","serviceAccountName":"prometheus-k8s","securityContext": {}, "serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus"}},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3, "securityContext": {}}}]' - spec: - replaces: prometheusoperator.0.15.0 - displayName: Prometheus Operator - description: | - The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances. - - Once installed, the Prometheus Operator provides the following features: - - * **Create/Destroy**: Easily launch a Prometheus instance for your Kubernetes namespace, a specific application or team easily using the Operator. - - * **Simple Configuration**: Configure the fundamentals of Prometheus like versions, persistence, retention policies, and replicas from a native Kubernetes resource. - - * **Target Services via Labels**: Automatically generate monitoring target configurations based on familiar Kubernetes label queries; no need to learn a Prometheus specific configuration language. - - ### Other Supported Features - - **High availability** - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - **Updates via automated operations** - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - **Handles the dynamic nature of containers** - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - - provider: - name: Red Hat - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.22.2 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-22-2 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - prometheuses/finalizers - - alertmanagers/finalizers - - servicemonitors - - prometheusrules - verbs: - - '*' - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - "" - resources: - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete - - apiGroups: - - "" - resources: - - services - - endpoints - verbs: - - get - - create - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - list - - watch - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-22-2 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf - args: - - -namespace=$(K8S_NAMESPACE) - - -manage-crds=false - - -logtostderr=true - - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.22.2 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - nodeSelector: - beta.kubernetes.io/os: linux - maturity: beta - version: 0.22.2 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: prometheusrules.monitoring.coreos.com - version: v1 - kind: PrometheusRule - displayName: Prometheus Rule - description: A Prometheus Rule configures groups of sequentially evaluated recording and alerting rules. - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alertmanager - description: Configures an Alertmanager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: svcat.v0.1.34 - namespace: placeholder - spec: - displayName: Service Catalog - description: Service Catalog lets you provision cloud services directly from the comfort of native Kubernetes tooling. This project is in incubation to bring integration with service brokers to the Kubernetes ecosystem via the Open Service Broker API. - keywords: ['catalog', 'service', 'svcat', 'osb', 'broker'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Documentation - url: https://svc-cat.io/docs - - name: Service Catalog - url: https://github.com/kubernetes-incubator/service-catalog - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: svcat-controller-manager - rules: - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["cluster-info"] - verbs: ["get","create","list","watch","update"] - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["service-catalog-controller-manager"] - verbs: ["get","update"] - clusterPermissions: - - serviceAccountName: svcat-controller-manager - rules: - - apiGroups: [""] - resources: ["events"] - verbs: ["create","patch","update"] - - apiGroups: [""] - resources: ["secrets"] - verbs: ["get","create","update","delete"] - - apiGroups: [""] - resources: ["pods"] - verbs: ["get","list","update", "patch", "watch", "delete", "initialize"] - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterserviceclasses"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterserviceplans"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterservicebrokers"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceinstances","servicebindings"] - verbs: ["get","list","watch", "update"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterservicebrokers/status","clusterserviceclasses/status","clusterserviceplans/status","serviceinstances/status","serviceinstances/reference","servicebindings/status"] - verbs: ["update"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceclasses"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceplans"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["servicebrokers"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["servicebrokers/status","serviceclasses/status","serviceplans/status"] - verbs: ["update"] - - serviceAccountName: service-catalog-apiserver - rules: - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get", "list", "watch"] - - apiGroups: ["admissionregistration.k8s.io"] - resources: ["validatingwebhookconfigurations"] - verbs: ["get", "list", "watch"] - - apiGroups: ["admissionregistration.k8s.io"] - resources: ["mutatingwebhookconfigurations"] - verbs: ["get", "list", "watch"] - - apiGroups: ["authentication.k8s.io"] - resources: ["tokenreviews"] - verbs: ["create"] - - apiGroups: ["authorization.k8s.io"] - resources: ["subjectaccessreviews"] - verbs: ["create"] - deployments: - - name: svcat-catalog-apiserver - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: svcat-catalog-apiserver - template: - metadata: - labels: - app: svcat-catalog-apiserver - spec: - serviceAccountName: "service-catalog-apiserver" - containers: - - name: apiserver - image: quay.io/kubernetes-service-catalog/service-catalog:v0.1.34 - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 30Mi - requests: - cpu: 100m - memory: 20Mi - args: - - apiserver - - --enable-admission-plugins - - "NamespaceLifecycle,DefaultServicePlan,ServiceBindingsLifecycle,ServicePlanChangeValidator,BrokerAuthSarCheck" - - --secure-port - - "5443" - - --etcd-servers - - http://localhost:2379 - - -v - - "10" - - --feature-gates - - OriginatingIdentity=true - - --feature-gates - - ServicePlanDefaults=false - ports: - - containerPort: 5443 - volumeMounts: - - name: apiservice-cert - mountPath: /var/run/kubernetes-service-catalog - readinessProbe: - httpGet: - port: 5443 - path: /healthz - scheme: HTTPS - failureThreshold: 1 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 5443 - path: /healthz - scheme: HTTPS - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - - name: etcd - image: quay.io/coreos/etcd:latest - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 40Mi - requests: - cpu: 100m - memory: 30Mi - env: - - name: ETCD_DATA_DIR - value: /etcd-data-dir - command: - - /usr/local/bin/etcd - - --listen-client-urls - - http://0.0.0.0:2379 - - --advertise-client-urls - - http://localhost:2379 - ports: - - containerPort: 2379 - volumeMounts: - - name: etcd-data-dir - mountPath: /etcd-data-dir - readinessProbe: - httpGet: - port: 2379 - path: /health - failureThreshold: 1 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 2379 - path: /health - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - volumes: - - name: etcd-data-dir - emptyDir: {} - - name: svcat-controller-manager - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: svcat-controller-manager - template: - metadata: - labels: - app: svcat-controller-manager - spec: - serviceAccountName: svcat-controller-manager - containers: - - name: controller-manager - image: quay.io/kubernetes-service-catalog/service-catalog:v0.1.34 - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 30Mi - requests: - cpu: 100m - memory: 20Mi - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - args: - - controller-manager - - --secure-port - - "8444" - - "--cluster-id-configmap-namespace=default" - - "--leader-elect=false" - - -v - - "10" - - --resync-interval - - 5m - - --broker-relist-interval - - 24h - - --feature-gates - - OriginatingIdentity=true - - --feature-gates - - ServicePlanDefaults=false - ports: - - containerPort: 8444 - readinessProbe: - httpGet: - port: 8444 - path: /healthz - scheme: HTTPS - failureThreshold: 1 - initialDelaySeconds: 20 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 8444 - path: /healthz - scheme: HTTPS - failureThreshold: 3 - initialDelaySeconds: 20 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - maturity: alpha - version: 0.1.34 - apiservicedefinitions: - owned: - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServiceClass - displayName: ClusterServiceClass - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServicePlan - displayName: ClusterServicePlan - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServiceBroker - displayName: ClusterServiceBroker - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceInstance - displayName: ServiceInstance - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceBinding - displayName: ServiceBinding - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceClass - displayName: ServiceClass - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServicePlan - displayName: ServicePlan - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceBroker - displayName: ServiceBroker - description: A service catalog resource - deploymentName: svcat-catalog-apiserver - containerPort: 5443 - customresourcedefinitions: - required: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - packages: |- - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/amq-streams.v1.0.0-clusterserviceversion - packageName: amq-streams - channels: - - name: preview - currentCSV: amqstreams.v1.0.0.beta - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml - packageName: etcd - channels: - - name: alpha - currentCSV: etcdoperator.v0.9.2 - - - packageName: federationv2 - channels: - - name: alpha - currentCSV: federationv2.v0.0.2 - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/prometheusoperator.0.22.2.clusterserviceversion.yaml - packageName: prometheus - channels: - - name: preview - currentCSV: prometheusoperator.0.22.2 - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/svcat.v0.1.34.clusterserviceversion.yaml - packageName: svcat - channels: - - name: alpha - currentCSV: svcat.v0.1.34 - - diff --git a/deploy/okd/manifests/0.7.4/0000_30_09-rh-operators.catalogsource.yaml b/deploy/okd/manifests/0.7.4/0000_30_09-rh-operators.catalogsource.yaml deleted file mode 100644 index 035e4e8f42..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_09-rh-operators.catalogsource.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml - -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: rh-operators - displayName: Red Hat Operators - publisher: Red Hat - diff --git a/deploy/okd/manifests/0.7.4/0000_30_10-olm-operator.deployment.yaml b/deploy/okd/manifests/0.7.4/0000_30_10-olm-operator.deployment.yaml deleted file mode 100644 index 9a0e3ce532..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_10-olm-operator.deployment.yaml +++ /dev/null @@ -1,47 +0,0 @@ -##--- -# Source: olm/templates/0000_30_10-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - image: quay.io/coreos/olm@sha256:3f3909a6bdf6f4bf429e114832c8cfc03c731f9403b91417d5dc246ad0448772 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.4/0000_30_11-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.7.4/0000_30_11-catalog-operator.deployment.yaml deleted file mode 100644 index 853c5406d0..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_11-catalog-operator.deployment.yaml +++ /dev/null @@ -1,42 +0,0 @@ -##--- -# Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - - '-namespace' - - openshift-operator-lifecycle-manager - image: quay.io/coreos/olm@sha256:3f3909a6bdf6f4bf429e114832c8cfc03c731f9403b91417d5dc246ad0448772 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - imagePullSecrets: - - name: coreos-pull-secret diff --git a/deploy/okd/manifests/0.7.4/0000_30_12-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.7.4/0000_30_12-aggregated.clusterrole.yaml deleted file mode 100644 index e91d70cb0a..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_12-aggregated.clusterrole.yaml +++ /dev/null @@ -1,26 +0,0 @@ -##--- -# Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "view" default roles - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.7.4/0000_30_13-packageserver.yaml b/deploy/okd/manifests/0.7.4/0000_30_13-packageserver.yaml deleted file mode 100644 index 5c55ecca85..0000000000 --- a/deploy/okd/manifests/0.7.4/0000_30_13-packageserver.yaml +++ /dev/null @@ -1,151 +0,0 @@ -##--- -# Source: olm/templates/0000_30_13-packageserver.yaml -apiVersion: apiregistration.k8s.io/v1beta1 -kind: APIService -metadata: - name: v1alpha1.packages.apps.redhat.com -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM5VENDQWQyZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RFd01Ua3hPRFEyTlRWYUZ3MHlPREV3TVRZeE9EUTJOVFZhTUJ3eApHakFZQmdOVkJBTVRFWEJoWTJ0aFoyVXRjMlZ5ZG1WeUxXTmhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUF5TStIbFg0QWJoa2hQTnVhODlQZ0lhRUVVdzJGZTc2Zy9JSVhoVjdXOVRleWpCbnoKNUR1d2RWODBzV1krbitNcDl3cVYrMFk5TS9oK2FYVTlDT3VjaTNYMzdLQUk0NjYrYU5CYzJCK2pBMlVSamJaTQpKbnB5VlVidWowalY3SmFaNFVYZFBoQTlNNFJaMzVKSm1JTmErc0QzR2pKbEJWYVAxT2JtL3hxaWVaZW53djI3CjM3RzYvN2xIS0l5UGxKaGt6ekZ2c0x4MFZtdHZzS3NtdjQrbGFRWnVXOEIzaVNIK3AzRHRtMUpoWHJndXgwaG4KMXpxQ1JjdUsyVlJrT28xa3ZhUEh0ekJmdXVHd1FFWndWWDB0OHI2QmFQSUlZUEdlWjlwUGsvaEdkNldrMzgzTAovbVNOWHJ3cTM1VXVONmplVFUrTTdZSVJYbkRwbXIvTy9QYjdWd0lEQVFBQm8wSXdRREFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR28rU3gxUlA4VGFQdVFybXI0TGk2T2M3K2ZKTEJjUQpjWTZONnRZSFFtd0F0UHBoTU43REVLL3NtR1BWMWhUWmptT0dENGdvYU4yTGRxTDVsZzNMQ2VSYWkwWXlRL0tDCjdjcVEzemZKaWwxNUpYN0ZvazQwWGJPMjFiOVBocUtrWTVIVktIeTRyK1pkUEI5dGlNOFVkN3pYd0l1TFFnK0IKazBxZUtoZk9vbjMyTjVObVlFMEFycUI4T3FHd2J0K1pVRThOMWFnWHEwWlYyM25IdmZWU0dJZENSRDZaU3VqbgpoWUtmODFNVUUzZ21KNXRxMXlxVjBpcyszK3hScWVGWlhtMTFmTnBnbTJhOXNna0J5NW5Dd0g0ZjM5aTdmN2FvCkZpV04wVzR5TUgvVUJGSEw3S0xVOElzbXR1TWdMSWRUYlo5c2p0VWg2ZkhldUNLakIzOU9tZWc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - group: packages.apps.redhat.com - groupPriorityMinimum: 2000 - versionPriority: 15 - service: - name: package-server - namespace: openshift-operator-lifecycle-manager - version: v1alpha1 ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest:system:auth-delegator -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: packagemanifest-auth-reader - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: extension-apiserver-authentication-reader -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: packagemanifest-view -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: admin -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: package-apiserver-clusterrolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: aggregated-apiserver-clusterrole -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: v1 -kind: Secret -type: kubernetes.io/tls -metadata: - name: package-server-certs - namespace: openshift-operator-lifecycle-manager - labels: - app: package-server -data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhakNDQWxLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFjTVJvd0dBWURWUVFERXhGd1lXTnIKWVdkbExYTmxjblpsY2kxallUQWVGdzB4T0RFd01Ua3hPRFEyTlRWYUZ3MHhPVEV3TVRreE9EUTJOVFZhTUJreApGekFWQmdOVkJBTVREbkJoWTJ0aFoyVXRjMlZ5ZG1WeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQXNLU1pIWGFVMkJKTE14REs1UVltc0J4S2JYQ05UcXVydFQwL2FjUE50bU1ueGZvS250M2wKSklSOGtqUmQ2UHY0MXoxc2VCS0tod0N2Z0pZTnYzZEJvemNxYmpuQVZnMkFHQlVuWjQ0T0o0YUplTFk0Q0NXQgpEbklSYnVheTdkandTM0hPTDdvbnRmenBraVhRZHBnRlNUU3lKMjJGdGZubE9raDNpSm1mSWUrM2s5UTlJYWdZCm05RGg1cjI2czlrZFRBK2tESXJ4b0p2aTcvc0ZqQkFjUTJGRTdlelFYdlhEMW5ZQi9WWWdJZUcwc2xaV05QU2gKVGNRalV5SnZPNlgwTkNqbVA0TXB5Ymp1V3c3aGFYU0liaGpORnpaVnNzSkptbWhSQVo2YmQ0WkkzOEt1dndjOApsUVR2QzlZa1dreUZIYmdWeUwrbmJhRm41b0tINXQ4bnFRSURBUUFCbzRHNU1JRzJNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXcKQURCM0JnTlZIUkVFY0RCdWdqTndZV05yWVdkbExYTmxjblpsY2k1dmNHVnVjMmhwWm5RdGIzQmxjbUYwYjNJdApiR2xtWldONVkyeGxMVzFoYm1GblpYS0NOM0JoWTJ0aFoyVXRjMlZ5ZG1WeUxtOXdaVzV6YUdsbWRDMXZjR1Z5CllYUnZjaTFzYVdabFkzbGpiR1V0YldGdVlXZGxjaTV6ZG1Nd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCMHEKYnhYUXdFLzJ3bSsrUGJIMkJIM0ZmWWE5Sk5uQkFzYmdKUThEbU9KK2lWenhtYnNrZ1oyeDUwLzZhbHVWbzRpZApjZU1rYVVINzUzeTltMTJRWHhnbGI2QkpaM2N2WjR0MlUzcHluSUVNMkZrTytWZjczdk1QWFp3M0FvQVVEckgrCjQxMmVRVlRXOFl2a0FmQkxJNHZiQVZjSFE0Q08xanFJQ2pTVTZURTVKV1BOeGxuWEt4MWE3NFlIZVBhdkVnM2IKZUROeC9McEtrOHJxWXZ4NHMrZlNHTmZUd3JrWTV1d0RzU0lzbVZZOFVhQ2hURWVLczcra1RieC9jbmlKZUxYVgo2REFqL0tHSFhWN1ZuRjkxOHNkRElicHRreUJnYjM5UnFMbnRObDB3OXNsRFFBVUVWN3VOaTQrYUJjRjlyRHNVCmhBM3hYOWx0aldwaitqOW90SGs9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc0tTWkhYYVUyQkpMTXhESzVRWW1zQnhLYlhDTlRxdXJ0VDAvYWNQTnRtTW54Zm9LCm50M2xKSVI4a2pSZDZQdjQxejFzZUJLS2h3Q3ZnSllOdjNkQm96Y3Fiam5BVmcyQUdCVW5aNDRPSjRhSmVMWTQKQ0NXQkRuSVJidWF5N2Rqd1MzSE9MN29udGZ6cGtpWFFkcGdGU1RTeUoyMkZ0Zm5sT2toM2lKbWZJZSszazlROQpJYWdZbTlEaDVyMjZzOWtkVEEra0RJcnhvSnZpNy9zRmpCQWNRMkZFN2V6UVh2WEQxbllCL1ZZZ0llRzBzbFpXCk5QU2hUY1FqVXlKdk82WDBOQ2ptUDRNcHlianVXdzdoYVhTSWJoak5GelpWc3NKSm1taFJBWjZiZDRaSTM4S3UKdndjOGxRVHZDOVlrV2t5RkhiZ1Z5TCtuYmFGbjVvS0g1dDhucVFJREFRQUJBb0lCQUFKUlpxRDRXV09zZWNnbAp4RVBWSE5UYXlpODlkdDA5YTNkcFlsZWs5aUlha3Y4S0ZQR1l2OVVHMkF1akhFaGVaaG1NK010cWt0N0twNExzCmRTbTZDdVoxWnQwamJONjBOcVlhUVBZZTZ4aWhyMVFpTUFJTFcvSXdsUUg3alFXSi96MCtOUkp6UXVva2Mzd3oKZXRUVGtkNHdEdFp0blgrUjArdzczeld2cm1Mbm1OQUVWU2ZxdFN3WHZEUVlhWHdMeitUdC9TTDR5d0xFZ2FXNwp6M2FxaFN4VGRwalBCK04wVHFRU0pVVlRTcCt4bkxzZis1d2RHRmgzUCtBWXZCTFl1Z1lMNGtIOU5DYjJhYUdvCnh0dkVMQytnV1FaUHFJYVBUTmxQbmRzZEo5NnVuVmdQUlpWWHlmQTZWWWNQZG4yQ2p6dEkzU2VNRE9ENm8xVFoKdEFydzVnRUNnWUVBMEE5UzNjaGNpRFFjQjVqelJOWG1YUStyU3llOHQ0d3hEY0E1dlFMelNLQUYzT0N4TzZ3YwpKQUJwRTFSS1FORmd6Ni9hTmV0TDhvWkRpNkkwc1NmVkV4dDQ3WlFHSTJFUHNJNzFUbWFTdk9zS05IMk5mS1Y3CkF1cWNrT3RHenRONkg5UnZFMVlieUJjY1dpUVBWVHMyZlVLUE9lWVpnampxVnFNcDNwOFR3ckVDZ1lFQTJWZ2IKMEdRTlV0aU5lTGVVYUtJSEFyRzE0K3RnRjY0cE9JblFaL0orZ3dPZE55YnhqTkNQTFdxblV0WWdJUnJhRWdscQpwRzByaGRTNGRDb3l3SlZkSDJEQWpQTVhMYWNCTFJzbzVqTE1ZR2l6Nk1hejZRKzJMK0dxcUthMktzRVRTL2dYCmxVWDdKZWFiMnIzT3JxN1pGWmh6dmY3ZCt6bWZLVHEwRkVCZXdua0NnWUE2K0V6bFhWZVVweWhXb3V3NFUyUHkKZG5GM1lMRGxXUS9DTlB4b2JRQ2xVZTIzZDl2ajdOa2cveGpKQ0xmdS9Ta3lWRVpGeUFZRG5EaGl5RHVsQm9RbQo0VDk2SHQxS2c4VWRwcmN5WEhJMHAyMkNDUi9qOTBjUlFZdlVxMHFyYmxjTDFIc1RBUEhvMlZ3STFIV2dFNk5UCkIxMXU3Si9JUC9kelROV2VLbnBBVVFLQmdRQ29RajNHSnE3cDVCd2h5SDFzUTRPSjRtb2QrS3A3cXFqZXpGSTcKSnRBcVBUSUk4RzB2eG9ZUmN1LzJnUzUrY250QVcybmp3V0JnU3o1Qk1DbjZUYWU2RXZ6K0lYTmdORm9Fd1hINApSSHRVWjdwZ0N2UmRDWHpSdExLWnZmWnBRdS9kY0VOUm5NdkJtN1lzc2FUQU56eDRLMzN2S05CUkhWcktZRmZwCkZheEdnUUtCZ1FETDZGUnZrWHhycFptNUFIWGg0d1VsMlRJSDVwREhILzVyb0ZYenFRRjBMYkhHWWNHdVFISWcKMUxGUHFsekJBSVd4N3h3blZaaUhucmxiUStnNlJvMTNuRE5OUmJoWWVDd0I5TG1OdFNCS25reVhXdEl2ajZDRwpaUlBkREdaVHlSd1NtZ3RGKzNCZWllN0xQQk1uSGlTTlZ0c2ZySWZ6NHBwaXEybVBiT0FCVUE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - name: package-server - namespace: openshift-operator-lifecycle-manager - labels: - app: package-server -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: package-server - template: - metadata: - labels: - app: package-server - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: package-server - command: - - /bin/package-server - - -v=4 - - --secure-port=5443 - - --global-namespace - - openshift-operator-lifecycle-manager - image: quay.io/coreos/olm@sha256:3f3909a6bdf6f4bf429e114832c8cfc03c731f9403b91417d5dc246ad0448772 - imagePullPolicy: Always - ports: - - containerPort: 5443 - volumeMounts: - - name: certs - mountPath: /apiserver.local.config/certificates - readOnly: true - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - volumes: - - name: certs - secret: - secretName: package-server-certs - items: - - key: tls.crt - path: apiserver.crt - - key: tls.key - path: apiserver.key - imagePullSecrets: - - name: coreos-pull-secret ---- -apiVersion: v1 -kind: Service -metadata: - name: package-server - namespace: openshift-operator-lifecycle-manager -spec: - ports: - - port: 443 - protocol: TCP - targetPort: 5443 - selector: - app: package-server diff --git a/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml b/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml deleted file mode 100644 index 8ed0684835..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml +++ /dev/null @@ -1,19 +0,0 @@ -##--- -# Source: olm/templates/0000_30_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - labels: - openshift.io/run-level: "1" - annotations: - openshift.io/node-selector: "" ---- -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operators - labels: - openshift.io/run-level: "1" - annotations: - openshift.io/node-selector: "" diff --git a/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8ab035f630..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ -##--- -# Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml deleted file mode 100644 index 55ec962996..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,760 +0,0 @@ -##--- -# Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - - csvs - categories: - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - pattern: ^(?:[A-Za-z0-9+/]{4}){0,16250}(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - nativeAPIs: - type: array - description: What resources are required by the Operator, but must be provided by the underlying cluster and not as an extension. - items: - type: object - required: - - group - - version - - kind - properties: - group: - type: string - description: Group of the API resource - version: - type: string - description: Version of the API resource - kind: - type: string - description: Kind of the API resource - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - deploymentName - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - name: - type: string - description: The plural name for the APIService provided - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - name: - type: string - description: The plural name for the APIService provided - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - installModes: - type: array - description: List of supported install modes for the operator - items: - type: object - description: A tuple representing a mode of installation and whether the operator supports it - required: - - type - - supported - properties: - type: - type: string - description: A type of install mode - enum: - - OwnNamespace - - SingleNamespace - - MultiNamespace - - AllNamespaces - supported: - type: boolean - description: Represents if the install mode type is supported - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - required: - - verbs - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - nonResourceURLs: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - put - - post - - delete - - deletecollection - - initialize - - use - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml deleted file mode 100644 index 1cdf63651a..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml +++ /dev/null @@ -1,79 +0,0 @@ -##--- -# Source: olm/templates/0000_30_03-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - shortNames: - - ip - categories: - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml deleted file mode 100644 index 9894ebd30c..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml +++ /dev/null @@ -1,74 +0,0 @@ -##--- -# Source: olm/templates/0000_30_04-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - shortNames: - - sub - - subs - categories: - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml deleted file mode 100644 index 0b17256bd2..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml +++ /dev/null @@ -1,120 +0,0 @@ -##--- -# Source: olm/templates/0000_30_05-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - shortNames: - - catsrc - categories: - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. `configmap` is the new name for `internal` - enum: - - internal # deprecated - - configmap - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. - status: - type: object - description: The status of the CatalogSource - properties: - configMapReference: - type: object - description: If sourceType is `internal` or `configmap`, then this holds a reference to the configmap associated with this CatalogSource. - properties: - name: - type: string - description: name of the configmap - namespace: - type: string - description: namespace of the configmap - resourceVersion: - type: string - description: resourceVersion of the configmap - uid: - type: string - description: uid of the configmap - registryService: - type: object - properties: - protocol: - type: string - description: protocol of the registry service - enum: - - grpc - serviceName: - type: string - description: name of the registry service - serviceNamespace: - type: string - description: namespace of the registry service - port: - type: string - description: port of the registry service - lastSync: - type: string - description: the last time the catalog was updated. If this time is less than the last updated time on the object, the catalog will be re-cached. - diff --git a/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml b/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml deleted file mode 100644 index c35648f533..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml +++ /dev/null @@ -1,13200 +0,0 @@ -##--- -# Source: olm/templates/0000_30_06-rh-operators.configmap.yaml - -kind: ConfigMap -apiVersion: v1 -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: alertmanagers.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Alertmanager - plural: alertmanagers - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Alertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - baseImage: - description: Base image that is used to deploy pods, without tag. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to an Alertmanager - pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - externalUrl: - description: The external URL the Alertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Alertmanager is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Alertmanager server listen on loopback, - so that it does not bind against the Pod IP. Note this is only for - the Alertmanager UI, not the gossip communication. - type: boolean - logLevel: - description: Log level for Alertmanager to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: If set to true all actions on the underlaying managed objects - are not goint to be performed, except for delete actions. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - replicas: - description: Size is the expected size of the alertmanager cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - routePrefix: - description: The route prefix Alertmanager registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Alertmanager object, which shall be mounted into the Alertmanager - Pods. The Secrets are mounted into /etc/alertmanager/secrets/. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Alertmanager container image to be deployed. Defaults - to the value of `version`. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version the cluster should be on. - type: string - status: - description: 'Most recent observed status of the Alertmanager cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Alertmanager cluster. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager - cluster. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Alertmanager - cluster that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkas.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: Kafka - listKind: KafkaList - singular: kafka - plural: kafkas - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - kafka: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - listeners: - type: object - properties: - plain: - type: object - properties: {} - tls: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - superUsers: - type: array - items: - type: string - type: - type: string - config: - type: object - rack: - type: object - properties: - topologyKey: - type: string - example: failure-domain.beta.kubernetes.io/zone - required: - - topologyKey - brokerRackInitImage: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - - listeners - zookeeper: - type: object - properties: - replicas: - type: integer - minimum: 1 - image: - type: string - storage: - type: object - properties: - class: - type: string - deleteClaim: - type: boolean - selector: - type: object - size: - type: string - type: - type: string - config: - type: object - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - metrics: - type: object - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - replicas - - storage - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - entityOperator: - type: object - properties: - topicOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - topicMetadataMaxAttempts: - type: integer - minimum: 0 - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - userOperator: - type: object - properties: - watchedNamespace: - type: string - image: - type: string - reconciliationIntervalSeconds: - type: integer - minimum: 0 - zookeeperSessionTimeoutSeconds: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - tlsSidecar: - type: object - properties: - image: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - required: - - kafka - - zookeeper - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnect - listKind: KafkaConnectList - singular: kafkaconnect - plural: kafkaconnects - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkaconnects2is.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaConnectS2I - listKind: KafkaConnectS2IList - singular: kafkaconnects2i - plural: kafkaconnects2is - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - replicas: - type: integer - image: - type: string - livenessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - readinessProbe: - type: object - properties: - initialDelaySeconds: - type: integer - minimum: 0 - timeoutSeconds: - type: integer - minimum: 0 - jvmOptions: - type: object - properties: - -XX: - type: object - -Xms: - type: string - pattern: '[0-9]+[mMgG]?' - -Xmx: - type: string - pattern: '[0-9]+[mMgG]?' - affinity: - type: object - properties: - nodeAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - preference: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: object - properties: - nodeSelectorTerms: - type: array - items: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - podAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - podAntiAffinity: - type: object - properties: - preferredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - podAffinityTerm: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - weight: - type: integer - requiredDuringSchedulingIgnoredDuringExecution: - type: array - items: - type: object - properties: - labelSelector: - type: object - properties: - matchExpressions: - type: array - items: - type: object - properties: - key: - type: string - operator: - type: string - values: - type: array - items: - type: string - matchLabels: - type: object - namespaces: - type: array - items: - type: string - topologyKey: - type: string - metrics: - type: object - authentication: - type: object - properties: - certificateAndKey: - type: object - properties: - certificate: - type: string - key: - type: string - secretName: - type: string - required: - - certificate - - key - - secretName - type: - type: string - required: - - certificateAndKey - bootstrapServers: - type: string - config: - type: object - insecureSourceRepository: - type: boolean - logging: - type: object - properties: - loggers: - type: object - name: - type: string - type: - type: string - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - requests: - type: object - properties: - cpu: - type: string - pattern: '[0-9]+m?$' - memory: - type: string - pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' - tls: - type: object - properties: - trustedCertificates: - type: array - items: - type: object - properties: - certificate: - type: string - secretName: - type: string - required: - - certificate - - secretName - required: - - trustedCertificates - tolerations: - type: array - items: - type: object - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - required: - - bootstrapServers - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkatopics.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaTopic - listKind: KafkaTopicList - singular: kafkatopic - plural: kafkatopics - shortNames: - - kt - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - partitions: - type: integer - minimum: 1 - replicas: - type: integer - minimum: 1 - maximum: 32767 - config: - type: object - topicName: - type: string - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: kafkausers.kafka.strimzi.io - labels: - app: strimzi - spec: - group: kafka.strimzi.io - version: v1alpha1 - scope: Namespaced - names: - kind: KafkaUser - listKind: KafkaUserList - singular: kafkauser - plural: kafkausers - shortNames: - - ku - validation: - openAPIV3Schema: - properties: - spec: - type: object - properties: - authentication: - type: object - properties: - type: - type: string - authorization: - type: object - properties: - acls: - type: array - items: - type: object - properties: - host: - type: string - operation: - type: string - enum: - - Read - - Write - - Create - - Delete - - Alter - - Describe - - ClusterAction - - AlterConfigs - - DescribeConfigs - - IdempotentWrite - - All - resource: - type: object - properties: - name: - type: string - patternType: - type: string - enum: - - literal - - prefix - type: - type: string - type: - type: string - enum: - - allow - - deny - required: - - operation - - resource - type: - type: string - required: - - acls - required: - - authentication - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: clusterloggings.logging.openshift.io - spec: - group: logging.openshift.io - names: - kind: ClusterLogging - listKind: ClusterLoggingList - plural: clusterloggings - singular: clusterlogging - scope: Namespaced - version: v1alpha1 - validation: - openAPIV3Schema: - properties: - spec: - description: Specification of the desired behavior of the Logging cluster. - properties: - visualization: - description: Specification of the Visualization component for the cluster - properties: - type: - description: The type of Visualization to configure - type: string - kibana: - description: Specification of the Kibana Visualization component - properties: - resources: - description: The resource requirements for Kibana - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - replicas: - description: Number of instances to deploy for a Kibana deployment - format: int32 - type: integer - proxySpec: - description: Specification of the Kibana Proxy component - properties: - resources: - description: The resource requirements for Kibana - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - required: - - replicas - required: - - type - logStore: - description: Specification of the Log Storage component for the cluster - properties: - type: - description: The type of Log Storage to configure - type: string - elasticsearch: - description: Specification of the Elasticsearch Log Store component - properties: - resources: - description: The resource requirements for Kibana - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - replicas: - description: Number of nodes to deploy for Elasticsearch - format: int32 - type: integer - storage: - description: 'The storage backing for Elasticsearch. More info: ' - type: object - required: - - replicas - - storage - required: - - type - collection: - description: Specification of the Collection component for the cluster - properties: - logCollection: - description: Specification of Log Collection for the cluster - properties: - type: - description: The type of Log Collection to configure - type: string - fluentd: - description: Specification of the Fluentd Log Collection component - properties: - resources: - description: The resource requirements for Fluentd - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - required: - - type - #eventCollection: - #normalizer: - curation: - description: Specification of the Curation component for the cluster - properties: - type: - description: The kind of curation to configure - type: string - curator: - description: The specification of curation to configure - properties: - resources: - description: The resource requirements for Curator - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - schedule: - description: 'The cron schedule that the Curator job is run. Defaults to "30 3 * * *"' - type: string - required: - - schedule - required: - - type - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: deschedulers.descheduler.io - spec: - group: descheduler.io - names: - kind: Descheduler - listKind: DeschedulerList - plural: deschedulers - singular: descheduler - scope: Namespaced - version: v1alpha1 - validation: - openAPIV3Schema: - properties: - spec: - strategies: - type: array - uniqueItems: true - minItems: 1 - maxItems: 4 - collectionFormat: pipes - items: - type: string - schedule: - type: string - pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: elasticsearches.logging.openshift.io - spec: - group: logging.openshift.io - names: - kind: Elasticsearch - listKind: ElasticsearchList - plural: elasticsearches - singular: elasticsearch - scope: Namespaced - version: v1alpha1 - validation: - openAPIV3Schema: - properties: - spec: - description: Specification of the desired behavior of the Elasticsearch cluster - properties: - nodes: - description: Specification of the different Elasticsearch nodes - properties: - roles: - description: The specific Elasticsearch cluster roles the node should perform - type: object - replicas: - description: Number of nodes to deploy - format: int32 - type: integer - spec: - description: Specification of the Elasticsearch node - properties: - image: - description: The image to use for the Elasticsearch node - type: string - resources: - description: The resource requirements for the Elasticsearch node - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - storage: - description: The type of backing storage that should be used for the node - properties: - hostPath: - description: Use host node storage - type: object - emptyDir: - description: Use ephemeral storage - type: object - volumeClaimTemplate: - description: 'Volume claims that act similarly to the VolumeClaimTemplates - field of StatefulSets. A number of PVCs will be generated based on the number of - node replicas' - type: object - persistentVolumeClaim: - description: Use a specifically named Persistent Volume Claim - type: object - nodeSpec: - description: Specification to be applied to all the Elasticsearch nodes - properties: - image: - description: The image to use for the Elasticsearch nodes - type: string - resources: - description: The resource requirements for the Elasticsearch nodes - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - serviceAccountName: - description: The service account for the Elasticsearch nodes in this cluster - type: string - configMapName: - description: The configmap for the Elasticsearch nodes in this cluster - type: string - secretName: - description: The secret for the Elasticsearch nodes in this cluster - type: string - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdbackups.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdBackup - listKind: EtcdBackupList - plural: etcdbackups - singular: etcdbackup - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdclusters.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - plural: etcdclusters - singular: etcdcluster - kind: EtcdCluster - listKind: EtcdClusterList - shortNames: - - etcdclus - - etcd - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: etcdrestores.etcd.database.coreos.com - spec: - group: etcd.database.coreos.com - version: v1beta2 - scope: Namespaced - names: - kind: EtcdRestore - listKind: EtcdRestoreList - plural: etcdrestores - singular: etcdrestore - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: "" - kubebuilder.k8s.io: 0.1.10 - name: clusters.clusterregistry.k8s.io - spec: - group: clusterregistry.k8s.io - names: - kind: Cluster - plural: clusters - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - authInfo: - properties: - controller: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - user: - properties: - kind: - type: string - name: - type: string - namespace: - type: string - type: object - type: object - kubernetesApiEndpoints: - properties: - caBundle: - items: - type: byte - type: string - serverEndpoints: - items: - properties: - clientCIDR: - type: string - serverAddress: - type: string - type: object - type: array - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastHeartbeatTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: dnsendpoints.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: DNSEndpoint - plural: dnsendpoints - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - endpoints: - items: - properties: - dnsName: - type: string - labels: - type: object - recordTTL: - format: int64 - type: integer - recordType: - type: string - targets: - items: - type: string - type: array - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedclusters.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedCluster - plural: federatedclusters - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterRef: - type: object - secretRef: - type: object - type: object - status: - properties: - conditions: - items: - properties: - lastProbeTime: - format: date-time - type: string - lastTransitionTime: - format: date-time - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: object - type: array - region: - type: string - zone: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmaps.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMap - plural: federatedconfigmaps - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapOverride - plural: federatedconfigmapoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedconfigmapplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedConfigMapPlacement - plural: federatedconfigmapplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeployments.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeployment - plural: federateddeployments - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentOverride - plural: federateddeploymentoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federateddeploymentplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedDeploymentPlacement - plural: federateddeploymentplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingresses.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngress - plural: federatedingresses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedingressplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedIngressPlacement - plural: federatedingressplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJob - plural: federatedjobs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjoboverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobOverride - plural: federatedjoboverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - parallelism: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedjobplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedJobPlacement - plural: federatedjobplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatednamespaceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedNamespacePlacement - plural: federatednamespaceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSet - plural: federatedreplicasets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetOverride - plural: federatedreplicasetoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - replicas: - format: int32 - type: integer - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedreplicasetplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedReplicaSetPlacement - plural: federatedreplicasetplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecrets.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecret - plural: federatedsecrets - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretoverrides.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretOverride - plural: federatedsecretoverrides - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - overrides: - items: - properties: - clusterName: - type: string - data: - type: object - type: object - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedsecretplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedSecretPlacement - plural: federatedsecretplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedservices.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedService - plural: federatedservices - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccounts.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccount - plural: federatedserviceaccounts - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - template: - type: object - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceaccountplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServiceAccountPlacement - plural: federatedserviceaccountplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedserviceplacements.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedServicePlacement - plural: federatedserviceplacements - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusterNames: - items: - type: string - type: array - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: federatedtypeconfigs.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: FederatedTypeConfig - plural: federatedtypeconfigs - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - comparisonField: - type: string - namespaced: - type: boolean - override: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - overridePath: - items: - type: string - type: array - placement: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - propagationEnabled: - type: boolean - target: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - template: - properties: - group: - type: string - kind: - type: string - pluralName: - type: string - version: - type: string - required: - - kind - type: object - required: - - target - - namespaced - - comparisonField - - propagationEnabled - - template - - placement - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterIngressDNSRecord - plural: multiclusteringressdnsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - hosts: - items: - type: string - type: array - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - spec: - group: multiclusterdns.federation.k8s.io - names: - kind: MultiClusterServiceDNSRecord - plural: multiclusterservicednsrecords - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - dnsSuffix: - type: string - federationName: - type: string - recordTTL: - format: int64 - type: integer - type: object - status: - properties: - dns: - items: - properties: - cluster: - type: string - loadBalancer: - type: object - region: - type: string - zone: - type: string - type: object - type: array - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: propagatedversions.core.federation.k8s.io - spec: - group: core.federation.k8s.io - names: - kind: PropagatedVersion - plural: propagatedversions - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - status: - properties: - clusterVersions: - items: - properties: - clusterName: - type: string - version: - type: string - type: object - type: array - overridesVersion: - type: string - templateVersion: - type: string - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - creationTimestamp: null - labels: - api: federation - kubebuilder.k8s.io: 1.0.3 - name: replicaschedulingpreferences.scheduling.federation.k8s.io - spec: - group: scheduling.federation.k8s.io - names: - kind: ReplicaSchedulingPreference - plural: replicaschedulingpreferences - scope: Namespaced - validation: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - properties: - clusters: - type: object - rebalance: - type: boolean - targetKind: - type: string - totalReplicas: - format: int32 - type: integer - required: - - targetKind - - totalReplicas - type: object - status: - type: object - version: v1alpha1 - status: - acceptedNames: - kind: "" - plural: "" - conditions: null - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: meterings.metering.openshift.io - annotations: - catalog.app.coreos.com/description: An instance of Metering - catalog.app.coreos.com/displayName: Metering - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: meterings - singular: metering - kind: Metering - listKind: MeteringList - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prestotables.metering.openshift.io - annotations: - catalog.app.coreos.com/displayName: "Metering Presto Table" - catalog.app.coreos.com/description: "A table within PrestoDB" - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: prestotables - singular: prestotable - kind: PrestoTable - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheuses.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: Prometheus - plural: prometheuses - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: 'Specification of the desired behavior of the Prometheus cluster. - More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - additionalAlertManagerConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - additionalScrapeConfigs: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a valid - secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must be defined - type: boolean - required: - - key - affinity: - description: Affinity is a group of affinity scheduling rules. - properties: - nodeAffinity: - description: Node affinity is a group of node affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node matches the corresponding matchExpressions; the - node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches all - objects with implicit weight 0 (i.e. it's a no-op). A null - preferred scheduling term matches no objects (i.e. is also - a no-op). - properties: - preference: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - preference - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: A node selector represents the union of the results - of one or more label queries over a set of nodes; that is, - it represents the OR of the selectors represented by the node - selector terms. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. The - terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists, DoesNotExist. Gt, and Lt. - type: string - values: - description: An array of string values. If the - operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be - empty. If the operator is Gt or Lt, the values - array must have a single element, which will - be interpreted as an integer. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - type: array - required: - - nodeSelectorTerms - podAffinity: - description: Pod affinity is a group of inter pod affinity scheduling - rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the affinity expressions specified by this field, - but it may choose a node that violates one or more of the - expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets - all of the scheduling requirements (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to the sum - if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may not - try to eventually evict the pod from its node. When there - are multiple elements, the lists of nodes corresponding to - each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - podAntiAffinity: - description: Pod anti affinity is a group of inter pod anti affinity - scheduling rules. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to nodes - that satisfy the anti-affinity expressions specified by this - field, but it may choose a node that violates one or more - of the expressions. The node that is most preferred is the - one with the greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource request, - requiredDuringScheduling anti-affinity expressions, etc.), - compute a sum by iterating through the elements of this field - and adding "weight" to the sum if the node has pods which - matches the corresponding podAffinityTerm; the node(s) with - the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not - co-located (anti-affinity) with, where co-located is - defined as running on a node whose value of the label - with key matches that of any node on which - a pod of the set of pods is running - properties: - labelSelector: - description: A label selector is a label query over - a set of resources. The result of matchLabels and - matchExpressions are ANDed. An empty label selector - matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces - the labelSelector applies to (matches against); - null or empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey matches - that of any node on which any of the selected pods - is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - weight - - podAffinityTerm - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will not - be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms must - be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) that - this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of pods - is running - properties: - labelSelector: - description: A label selector is a label query over a - set of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - namespaces: - description: namespaces specifies which namespaces the - labelSelector applies to (matches against); null or - empty list means "this pod's namespace" - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of any - node on which any of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: array - alerting: - description: AlertingSpec defines parameters for alerting configuration - of Prometheus servers. - properties: - alertmanagers: - description: AlertmanagerEndpoints Prometheus should fire alerts - against. - items: - description: AlertmanagerEndpoints defines a selection of a single - Endpoints object containing alertmanager IPs to fire alerts - against. - properties: - bearerTokenFile: - description: BearerTokenFile to read from filesystem to use - when authenticating to Alertmanager. - type: string - name: - description: Name of Endpoints object in Namespace. - type: string - namespace: - description: Namespace of Endpoints object. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed to. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use when firing alerts. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - required: - - namespace - - name - - port - type: array - required: - - alertmanagers - baseImage: - description: Base image to use for a Prometheus deployment. - type: string - containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to a Prometheus pod. - items: - description: A single application container that you want to run within - a pod. - properties: - args: - description: 'Arguments to the entrypoint. The docker image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will be - unchanged. The $(VAR_NAME) syntax can be escaped with a double - $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - regardless of whether the variable exists or not. Cannot be - updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. The - docker image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) syntax - can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable exists - or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previous defined environment variables in the - container and any service environment variables. If a - variable cannot be resolved, the reference in the input - string will be unchanged. The $(VAR_NAME) syntax can be - escaped with a double $$, ie: $$(VAR_NAME). Escaped references - will never be expanded, regardless of whether the variable - exists or not. Defaults to "".' - type: string - valueFrom: - description: EnvVarSource represents a source for the value - of an EnvVar. - properties: - configMapKeyRef: - description: Selects a key from a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap or it's - key must be defined - type: boolean - required: - - key - fieldRef: - description: ObjectFieldSelector selects an APIVersioned - field of an object. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - resourceFieldRef: - description: ResourceFieldSelector represents container - resources (cpu, memory) and their output format - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: {} - resource: - description: 'Required: resource to select' - type: string - required: - - resource - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's - key must be defined - type: boolean - required: - - key - required: - - name - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be a - C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key will - take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: |- - ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: |- - SecretEnvSource selects a Secret to populate the environment variables with. - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: array - image: - description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Lifecycle describes actions that the management system - should take in response to container lifecycle events. For the - PostStart and PreStop lifecycle handlers, management of the - container blocks until the action is complete, unless the container - process fails, in which case the handler is aborted. - properties: - postStart: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - preStop: - description: Handler defines a specific action that should - be taken - properties: - exec: - description: ExecAction describes a "run in container" - action. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', - etc) won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - httpGet: - description: HTTPGetAction describes an action based on - HTTP Get requests. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - tcpSocket: - description: TCPSocketAction describes an action based - on opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - livenessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - name: - description: Name of the container specified as a DNS_LABEL. Each - container in a pod must have a unique name (DNS_LABEL). Cannot - be updated. - type: string - ports: - description: List of ports to expose from the container. Exposing - a port here gives the system additional information about the - network connections a container uses, but is primarily informational. - Not specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If specified, - this must be a valid port number, 0 < x < 65536. If HostNetwork - is specified, this must match ContainerPort. Most containers - do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod must - have a unique name. Name for the port that can be referred - to by services. - type: string - protocol: - description: Protocol for port. Must be UDP or TCP. Defaults - to "TCP". - type: string - required: - - containerPort - type: array - readinessProbe: - description: Probe describes a health check to be performed against - a container to determine whether it is alive or ready to receive - traffic. - properties: - exec: - description: ExecAction describes a "run in container" action. - properties: - command: - description: Command is the command line to execute inside - the container, the working directory for the command is - root ('/') in the container's filesystem. The command - is simply exec'd, it is not run inside a shell, so traditional - shell instructions ('|', etc) won't work. To use a shell, - you need to explicitly call out to that shell. Exit - status of 0 is treated as live/healthy and non-zero - is unhealthy. - items: - type: string - type: array - failureThreshold: - description: Minimum consecutive failures for the probe to - be considered failed after having succeeded. Defaults to - 3. Minimum value is 1. - format: int32 - type: integer - httpGet: - description: HTTPGetAction describes an action based on HTTP - Get requests. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: string - - type: integer - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - initialDelaySeconds: - description: 'Number of seconds after the container has started - before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe to - be considered successful after having failed. Defaults to - 1. Must be 1 for liveness. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocketAction describes an action based on - opening a socket - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: string - - type: integer - required: - - port - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN' - type: boolean - capabilities: - description: Adds and removes POSIX capabilities from running - containers. - properties: - add: - description: Added capabilities - items: - type: string - type: array - drop: - description: Removed capabilities - items: - type: string - type: array - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. - type: boolean - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to - the container - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - stdin: - description: Whether this container should allocate a buffer for - stdin in the container runtime. If this is not set, reads from - stdin in the container will always result in EOF. Default is - false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the stdin - channel after it has been opened by a single attach. When stdin - is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container - start, is empty until the first client attaches to stdin, and - then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container - is restarted. If this flag is false, a container processes that - reads from stdin will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the container''s - termination message will be written is mounted into the container''s - filesystem. Message written is intended to be brief final status, - such as an assertion failure message. Will be truncated by the - node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. Defaults to /dev/termination-log. - Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be populated. - File will use the contents of terminationMessagePath to populate - the container status message on both success and failure. FallbackToLogsOnError - will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever - is smaller. Defaults to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. This is an alpha feature and may change - in the future. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - name - - devicePath - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationHostToContainer - is used. This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - required: - - name - - mountPath - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might be - configured in the container image. Cannot be updated. - type: string - required: - - name - type: array - evaluationInterval: - description: Interval between consecutive evaluations. - type: string - externalLabels: - description: The labels to add to any time series or alerts when communicating - with external systems (federation, remote storage, Alertmanager). - type: object - externalUrl: - description: The external URL the Prometheus instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Prometheus is not served from root of a DNS name. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same namespace - to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to let - you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - type: array - listenLocal: - description: ListenLocal makes the Prometheus server listen on loopback, - so that it does not bind against the Pod IP. - type: boolean - logLevel: - description: Log level for Prometheus to be configured with. - type: string - nodeSelector: - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: When a Prometheus deployment is paused, no actions except - for deletion will be performed on the underlying objects. - type: boolean - podMetadata: - description: ObjectMeta is metadata that all persisted resources must - have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs to. - This is used to distinguish resources with same name and namespace - in different clusters. This field is not set anywhere right now - and apiserver is going to ignore it if set in create or update - request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to gracefully - terminate before it will be removed from the system. Only set - when deletionTimestamp is also set. May only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports correct - marshaling to YAML and JSON. Wrappers are provided for many of - the factory methods that the time package offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted from the - registry. Each entry is an identifier for the responsible component - that will remove the entry from the list. If the deletionTimestamp - of the object is non-nil, entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that must execute - in order before this object is visible. When the last pending - initializer is removed, and no failing result is set, the - initializers struct will be set to nil and the object is considered - as initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible for - initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that don't return - other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this status, - 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional properties - that MAY be set by the server to provide additional information - about a response. The Reason field of a Status object - defines what attributes will be set. Clients must ignore - fields that do not match the defined type of each attribute, - and should assume that any attribute may be empty, invalid, - or under defined. - properties: - causes: - description: The Causes array includes more details - associated with the StatusReason failure. Not all - StatusReasons may provide detailed causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases when - multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description of the - cause of the error. This field may be presented - as-is to a reader. - type: string - reason: - description: A machine-readable description of - the cause of the error. If this value is empty - there is no information available. - type: string - type: array - group: - description: The group attribute of the resource associated - with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource associated - with the status StatusReason. On some operations may - differ from the requested resource Kind. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource associated - with the status StatusReason (when there is a single - name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds before - the operation should be retried. Some errors may indicate - the client must take an alternate action - for those - errors this field may indicate how long to wait before - taking the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there is a - single resource which can be described). More info: - http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the status - of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various status - objects. A resource may have only one of {ObjectMeta, - ListMeta}. - properties: - continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that - the server has more data available. The value is opaque - and may be used to issue another request to the endpoint - that served this list to retrieve the next set of - available objects. Continuing a list may not be possible - if the server configuration has changed or more than - a few minutes have passed. The resourceVersion field - returned when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients - to determine when objects have changed. Value must - be treated as opaque by clients and passed unmodified - back to the server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why this - operation is in the "Failure" status. If this value is - empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a client - to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If ALL objects - in the list have been deleted, this object will be garbage collected. - If this object is managed by a controller, then an entry in this - list will point to this controller, with the controller field - set to true. There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information to let - you identify an owning object. Currently, an owning object must - be in the same namespace, so there is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the key-value - store until this reference is removed. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the managing - controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. Populated - by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - remoteRead: - description: If specified, the remote_read spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteReadSpec defines the remote_read configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: bearer token for remote read. - type: string - bearerTokenFile: - description: File to read bearer token for remote read. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - readRecent: - description: Whether reads should be made for queries for time - ranges that the local storage should have complete data for. - type: boolean - remoteTimeout: - description: Timeout for requests to the remote read endpoint. - type: string - requiredMatchers: - description: An optional list of equality matchers which have - to be present in a selector to query the remote read endpoint. - type: object - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - required: - - url - type: array - remoteWrite: - description: If specified, the remote_write spec. This is an experimental - feature, it may change in any upcoming release in a breaking way. - items: - description: RemoteWriteSpec defines the remote_write configuration - for prometheus. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerToken: - description: File to read bearer token for remote write. - type: string - bearerTokenFile: - description: File to read bearer token for remote write. - type: string - proxyUrl: - description: Optional ProxyURL - type: string - queueConfig: - description: QueueConfig allows the tuning of remote_write queue_config - parameters. This object is referenced in the RemoteWriteSpec - object. - properties: - batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample - will wait in buffer. - type: string - capacity: - description: Capacity is the number of samples to buffer per - shard before we start dropping them. - format: int32 - type: integer - maxBackoff: - description: MaxBackoff is the maximum retry delay. - type: string - maxRetries: - description: MaxRetries is the maximum number of times to - retry a batch on recoverable errors. - format: int32 - type: integer - maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples - per send. - format: int32 - type: integer - maxShards: - description: MaxShards is the maximum number of shards, i.e. - amount of concurrency. - format: int32 - type: integer - minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled - for every retry. - type: string - remoteTimeout: - description: Timeout for requests to the remote write endpoint. - type: string - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - url: - description: The URL of the endpoint to send samples to. - type: string - writeRelabelConfigs: - description: The list of remote write relabel configurations. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - required: - - url - type: array - replicas: - description: Number of instances to deploy for a Prometheus deployment. - format: int32 - type: integer - resources: - description: ResourceRequirements describes the compute resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for a container, it defaults - to Limits if that is explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - retention: - description: Time duration Prometheus shall retain data for. - type: string - routePrefix: - description: The route prefix Prometheus registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - ruleNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - ruleSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - scrapeInterval: - description: Interval between consecutive scrapes. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as the - Prometheus object, which shall be mounted into the Prometheus Pods. - The Secrets are mounted into /etc/prometheus/secrets/. - Secrets changes after initial creation of a Prometheus object are - not reflected in the running Pods. To change the secrets mounted into - the Prometheus Pods, the object must be deleted and recreated with - the new list of secrets. - items: - type: string - type: array - securityContext: - description: PodSecurityContext holds pod-level security attributes - and common container settings. Some fields are also present in container.securityContext. Field - values of container.securityContext take precedence over field values - of PodSecurityContext. - properties: - fsGroup: - description: |- - A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - If unset, the Kubelet will not modify the ownership and permissions of any volume. - format: int64 - type: integer - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. May - also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - format: int64 - type: integer - seLinuxOptions: - description: SELinuxOptions are the labels to be applied to the - container - properties: - level: - description: Level is SELinux level label that applies to the - container. - type: string - role: - description: Role is a SELinux role label that applies to the - container. - type: string - type: - description: Type is a SELinux type label that applies to the - container. - type: string - user: - description: User is a SELinux user label that applies to the - container. - type: string - supplementalGroups: - description: A list of groups applied to the first process run in - each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: array - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount to - use to run the Prometheus Pods. - type: string - serviceMonitorNamespaceSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - serviceMonitorSelector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - storage: - description: StorageSpec defines the configured storage for a group - Prometheus servers. - properties: - class: - description: 'Name of the StorageClass to use when requesting storage - provisioning. More info: https://kubernetes.io/docs/user-guide/persistent-volumes/#storageclasses - DEPRECATED' - type: string - emptyDir: - description: Represents an empty directory for a pod. Empty directory - volumes support ownership management and SELinux relabeling. - properties: - medium: - description: 'What type of storage medium should back this directory. - The default is "" which means to use the node''s default medium. - Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: {} - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - volumeClaimTemplate: - description: PersistentVolumeClaim is a user's request for and claim - to a persistent volume - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - metadata: - description: ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. - properties: - annotations: - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not - queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - clusterName: - description: The name of the cluster which the object belongs - to. This is used to distinguish resources with same name - and namespace in different clusters. This field is not - set anywhere right now and apiserver is going to ignore - it if set in create or update request. - type: string - creationTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - deletionGracePeriodSeconds: - description: Number of seconds allowed for this object to - gracefully terminate before it will be removed from the - system. Only set when deletionTimestamp is also set. May - only be shortened. Read-only. - format: int64 - type: integer - deletionTimestamp: - description: Time is a wrapper around time.Time which supports - correct marshaling to YAML and JSON. Wrappers are provided - for many of the factory methods that the time package - offers. - format: date-time - type: string - finalizers: - description: Must be empty before the object is deleted - from the registry. Each entry is an identifier for the - responsible component that will remove the entry from - the list. If the deletionTimestamp of the object is non-nil, - entries in this list can only be removed. - items: - type: string - type: array - generateName: - description: |- - GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency - type: string - generation: - description: A sequence number representing a specific generation - of the desired state. Populated by the system. Read-only. - format: int64 - type: integer - initializers: - description: Initializers tracks the progress of initialization. - properties: - pending: - description: Pending is a list of initializers that - must execute in order before this object is visible. - When the last pending initializer is removed, and - no failing result is set, the initializers struct - will be set to nil and the object is considered as - initialized and visible to all clients. - items: - description: Initializer is information about an initializer - that has not yet completed. - properties: - name: - description: name of the process that is responsible - for initializing this object. - type: string - required: - - name - type: array - result: - description: Status is a return value for calls that - don't return other objects. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' - type: string - code: - description: Suggested HTTP return code for this - status, 0 if not set. - format: int32 - type: integer - details: - description: StatusDetails is a set of additional - properties that MAY be set by the server to provide - additional information about a response. The Reason - field of a Status object defines what attributes - will be set. Clients must ignore fields that do - not match the defined type of each attribute, - and should assume that any attribute may be empty, - invalid, or under defined. - properties: - causes: - description: The Causes array includes more - details associated with the StatusReason failure. - Not all StatusReasons may provide detailed - causes. - items: - description: StatusCause provides more information - about an api.Status failure, including cases - when multiple errors are encountered. - properties: - field: - description: |- - The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: - "name" - the field "name" on the current resource - "items[0].name" - the field "name" on the first array entry in "items" - type: string - message: - description: A human-readable description - of the cause of the error. This field - may be presented as-is to a reader. - type: string - reason: - description: A machine-readable description - of the cause of the error. If this value - is empty there is no information available. - type: string - type: array - group: - description: The group attribute of the resource - associated with the status StatusReason. - type: string - kind: - description: 'The kind attribute of the resource - associated with the status StatusReason. On - some operations may differ from the requested - resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: The name attribute of the resource - associated with the status StatusReason (when - there is a single name which can be described). - type: string - retryAfterSeconds: - description: If specified, the time in seconds - before the operation should be retried. Some - errors may indicate the client must take an - alternate action - for those errors this field - may indicate how long to wait before taking - the alternate action. - format: int32 - type: integer - uid: - description: 'UID of the resource. (when there - is a single resource which can be described). - More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - message: - description: A human-readable description of the - status of this operation. - type: string - metadata: - description: ListMeta describes metadata that synthetic - resources must have, including lists and various - status objects. A resource may have only one of - {ObjectMeta, ListMeta}. - properties: - continue: - description: continue may be set if the user - set a limit on the number of items returned, - and indicates that the server has more data - available. The value is opaque and may be - used to issue another request to the endpoint - that served this list to retrieve the next - set of available objects. Continuing a list - may not be possible if the server configuration - has changed or more than a few minutes have - passed. The resourceVersion field returned - when using this continue value will be identical - to the value in the first response. - type: string - resourceVersion: - description: 'String that identifies the server''s - internal version of this object that can be - used by clients to determine when objects - have changed. Value must be treated as opaque - by clients and passed unmodified back to the - server. Populated by the system. Read-only. - More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' - type: string - selfLink: - description: selfLink is a URL representing - this object. Populated by the system. Read-only. - type: string - reason: - description: A machine-readable description of why - this operation is in the "Failure" status. If - this value is empty there is no information available. - A Reason clarifies an HTTP status code but does - not override it. - type: string - status: - description: 'Status of the operation. One of: "Success" - or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' - type: string - required: - - pending - labels: - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is - required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - namespace: - description: |- - Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces - type: string - ownerReferences: - description: List of objects depended by this object. If - ALL objects in the list have been deleted, this object - will be garbage collected. If this object is managed by - a controller, then an entry in this list will point to - this controller, with the controller field set to true. - There cannot be more than one managing controller. - items: - description: OwnerReference contains enough information - to let you identify an owning object. Currently, an - owning object must be in the same namespace, so there - is no namespace field. - properties: - apiVersion: - description: API version of the referent. - type: string - blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from - the key-value store until this reference is removed. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. - type: boolean - controller: - description: If true, this reference points to the - managing controller. - type: boolean - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' - type: string - required: - - apiVersion - - kind - - name - - uid - type: array - resourceVersion: - description: |- - An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency - type: string - selfLink: - description: SelfLink is a URL representing this object. - Populated by the system. Read-only. - type: string - uid: - description: |- - UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids - type: string - spec: - description: PersistentVolumeClaimSpec describes the common - attributes of storage devices and allows a Source for provider-specific - attributes - properties: - accessModes: - description: 'AccessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - resources: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - requests: - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' - type: object - selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - storageClassName: - description: 'Name of the StorageClass required by the claim. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. This is an alpha feature and may - change in the future. - type: string - volumeName: - description: VolumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - status: - description: PersistentVolumeClaimStatus is the current status - of a persistent volume claim. - properties: - accessModes: - description: 'AccessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - capacity: - description: Represents the actual resources of the underlying - volume. - type: object - conditions: - description: Current Condition of persistent volume claim. - If underlying persistent volume is being resized then - the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails details - about state of pvc - properties: - lastProbeTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - lastTransitionTime: - description: Time is a wrapper around time.Time which - supports correct marshaling to YAML and JSON. Wrappers - are provided for many of the factory methods that - the time package offers. - format: date-time - type: string - message: - description: Human-readable message indicating details - about last transition. - type: string - reason: - description: Unique, this should be a short, machine - understandable string that gives the reason for - condition's last transition. If it reports "ResizeStarted" - that means the underlying persistent volume is being - resized. - type: string - status: - type: string - type: - type: string - required: - - type - - status - type: array - phase: - description: Phase represents the current phase of PersistentVolumeClaim. - type: string - tag: - description: Tag of Prometheus container image to be deployed. Defaults - to the value of `version`. - type: string - thanos: - description: ThanosSpec defines parameters for a Prometheus server within - a Thanos deployment. - properties: - baseImage: - description: Thanos base image if other than default. - type: string - gcs: - description: ThanosGCSSpec defines parameters for use of Google - Cloud Storage (GCS) with Thanos. - properties: - bucket: - description: Google Cloud Storage bucket name for stored blocks. - If empty it won't store any block inside Google Cloud Storage. - type: string - peers: - description: Peers is a DNS name for Thanos to discover peers through. - type: string - s3: - description: ThanosSpec defines parameters for of AWS Simple Storage - Service (S3) with Thanos. (S3 compatible services apply as well) - properties: - accessKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bucket: - description: S3-Compatible API bucket name for stored blocks. - type: string - endpoint: - description: S3-Compatible API endpoint for stored blocks. - type: string - insecure: - description: Whether to use an insecure connection with an S3-Compatible - API. - type: boolean - secretKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - signatureVersion2: - description: Whether to use S3 Signature Version 2; otherwise - Signature Version 4 will be used. - type: boolean - tag: - description: Tag of Thanos sidecar container image to be deployed. - Defaults to the value of `version`. - type: string - version: - description: Version describes the version of Thanos to use. - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, operator - must be Exists; this combination means to match all values and - all keys. - type: string - operator: - description: Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. Exists - is equivalent to wildcard for value, so that a pod can tolerate - all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time the - toleration (which must be of effect NoExecute, otherwise this - field is ignored) tolerates the taint. By default, it is not - set, which means tolerate the taint forever (do not evict). - Zero and negative values will be treated as 0 (evict immediately) - by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise - just a regular string. - type: string - type: array - version: - description: Version of Prometheus to be deployed. - type: string - status: - description: 'Most recent observed status of the Prometheus cluster. Read-only. - Not included when requesting from the apiserver, only from the Prometheus - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Prometheus deployment. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlaying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus - deployment. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this Prometheus - deployment that have the desired version spec. - format: int32 - type: integer - required: - - paused - - replicas - - updatedReplicas - - availableReplicas - - unavailableReplicas - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: prometheusrules.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: PrometheusRule - plural: prometheusrules - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: PrometheusRuleSpec contains specification parameters for a - Rule. - properties: - groups: - description: Content of Prometheus rule file - items: - description: RuleGroup is a list of sequentially evaluated recording - and alerting rules. - properties: - interval: - type: string - name: - type: string - rules: - items: - description: Rule describes an alerting or recording rule. - properties: - alert: - type: string - annotations: - type: object - expr: - type: string - for: - type: string - labels: - type: object - record: - type: string - required: - - expr - type: array - required: - - name - - rules - type: array - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: reports.metering.openshift.io - annotations: - catalog.app.coreos.com/displayName: "Metering Report" - catalog.app.coreos.com/description: "A metering report summarizes metrics based on the query specified" - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: reports - kind: Report - additionalPrinterColumns: - - name: Query - type: string - JSONPath: .spec.generationQuery - - name: Schedule - type: string - JSONPath: .spec.schedule.period - - name: Running - type: string - JSONPath: .status.conditions[?(@.type=="Running")].reason - - name: Failed - type: string - JSONPath: .status.conditions[?(@.type=="Failure")].reason - - name: Table Name - type: string - JSONPath: .status.tableName - - name: Last Report Time - type: string - JSONPath: .status.lastReportTime - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: reportdatasources.metering.openshift.io - annotations: - catalog.app.coreos.com/displayName: "Metering data source" - catalog.app.coreos.com/description: "A resource describing a source of data for usage by Report Generation Queries" - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: reportdatasources - singular: reportdatasource - kind: ReportDataSource - shortNames: - - datasource - - datasources - additionalPrinterColumns: - - name: Table Name - type: string - JSONPath: .status.tableName - - name: Earliest Metric - type: string - JSONPath: .status.prometheusMetricImportStatus.earliestImportedMetricTime - - name: Newest Metric - type: string - JSONPath: .status.prometheusMetricImportStatus.newestImportedMetricTime - - name: Last Import Time - type: string - JSONPath: .status.prometheusMetricImportStatus.lastImportTime - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: reportgenerationqueries.metering.openshift.io - annotations: - catalog.app.coreos.com/displayName: "Metering generation query" - catalog.app.coreos.com/description: "A SQL query used by Metering to generate reports" - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: reportgenerationqueries - singular: reportgenerationquery - kind: ReportGenerationQuery - shortNames: - - rgq - additionalPrinterColumns: - - name: View Disabled - type: string - JSONPath: .spec.view.disabled - - name: View Name - type: string - JSONPath: .status.viewName - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: reportprometheusqueries.metering.openshift.io - annotations: - catalog.app.coreos.com/displayName: "Metering prometheus query" - catalog.app.coreos.com/description: "A Prometheus query by Metering to do metering" - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: reportprometheusqueries - singular: reportprometheusquery - kind: ReportPrometheusQuery - shortNames: - - rpq - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: servicemonitors.monitoring.coreos.com - spec: - group: monitoring.coreos.com - names: - kind: ServiceMonitor - plural: servicemonitors - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - description: ServiceMonitorSpec contains specification parameters for a - ServiceMonitor. - properties: - endpoints: - description: A list of endpoints allowed as part of this ServiceMonitor. - items: - description: Endpoint defines a scrapeable endpoint serving Prometheus - metrics. - properties: - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' - properties: - password: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - username: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bearerTokenFile: - description: File to read bearer token for scraping targets. - type: string - honorLabels: - description: HonorLabels chooses the metric's labels on collisions - with target labels. - type: boolean - interval: - description: Interval at which metrics should be scraped - type: string - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It defines - ``-section of Prometheus configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - description: Action to perform based on regex matching. - Default is 'replace' - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. defailt is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular expression - for the replace, keep, and drop actions. - items: - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: array - params: - description: Optional HTTP URL parameters - type: object - path: - description: HTTP path to scrape for metrics. - type: string - port: - description: Name of the service port this endpoint refers to. - Mutually exclusive with targetPort. - type: string - proxyUrl: - description: ProxyURL eg http://proxyserver:2195 Directs scrapes - to proxy through this endpoint. - type: string - scheme: - description: HTTP scheme to use for scraping. - type: string - scrapeTimeout: - description: Timeout after which the scrape is ended - type: string - targetPort: - anyOf: - - type: string - - type: integer - tlsConfig: - description: TLSConfig specifies TLS configuration parameters. - properties: - caFile: - description: The CA cert to use for the targets. - type: string - certFile: - description: The client cert file for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: The client key file for the targets. - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: array - jobLabel: - description: The label to use to retrieve the job name from. - type: string - namespaceSelector: - description: A selector for selecting namespaces either selecting all - namespaces or a list of namespaces. - properties: - any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names. - items: - type: string - type: array - selector: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to a - set of values. Valid operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: array - matchLabels: - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. - type: object - targetLabels: - description: TargetLabels transfers labels on the Kubernetes Service - onto the target. - items: - type: string - type: array - required: - - endpoints - - selector - version: v1 - - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: storagelocations.metering.openshift.io - annotations: - catalog.app.coreos.com/displayName: "Metering storage location" - catalog.app.coreos.com/description: "Represents a configurable storage location for Metering to store metering and report data" - spec: - group: metering.openshift.io - version: v1alpha1 - scope: Namespaced - names: - plural: storagelocations - kind: StorageLocation - - clusterServiceVersions: |- - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: amqstreams.v1.0.0.beta - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"Kafka","metadata":{"name":"my-cluster"},"spec":{"kafka":{"replicas":3,"listeners":{"plain":{},"tls":{}},"config":{"offsets.topic.replication.factor":3,"transaction.state.log.replication.factor":3,"transaction.state.log.min.isr":2},"storage":{"type":"ephemeral"}},"zookeeper":{"replicas":3,"storage":{"type":"ephemeral"}},"entityOperator":{"topicOperator":{},"userOperator":{}}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnect","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaConnectS2I","metadata":{"name":"my-connect-cluster"},"spec":{"replicas":1,"bootstrapServers":"my-cluster-kafka-bootstrap:9093","tls":{"trustedCertificates":[{"secretName":"my-cluster-cluster-ca-cert","certificate":"ca.crt"}]}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaTopic","metadata":{"name":"my-topic","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"partitions":10,"replicas":3,"config":{"retention.ms":604800000,"segment.bytes":1073741824}}}, {"apiVersion":"kafka.strimzi.io/v1alpha1","kind":"KafkaUser","metadata":{"name":"my-user","labels":{"strimzi.io/cluster":"my-cluster"}},"spec":{"authentication":{"type":"tls"},"authorization":{"type":"simple","acls":[{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"},{"resource":{"type":"group","name":"my-group","patternType":"literal"},"operation":"Read","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Write","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Create","host":"*"},{"resource":{"type":"topic","name":"my-topic","patternType":"literal"},"operation":"Describe","host":"*"}]}}}]' - spec: - displayName: AMQ Streams - description: | - **Red Hat AMQ Streams** is a massively scalable, distributed, and high performance data streaming platform based on the Apache Kafka project. - AMQ Streams provides an event streaming backbone that allows microservices and other application components to exchange data with extremely high throughput and low latency. - - **The core capabilities include** - * A pub/sub messaging model, similar to a traditional enterprise messaging system, in which application components publish and consume events to/from an ordered stream - * The long term, fault-tolerant storage of events - * The ability for a consumer to replay streams of events - * The ability to partition topics for horizontal scalability - - # Before you start - - 1\. Create AMQ Streams Cluster Roles - ``` - $ oc apply -f http://amq.io/amqstreams/rbac.yaml - ``` - 2\. Create following bindings - ``` - $ oc adm policy add-cluster-role-to-user strimzi-cluster-operator -z strimzi-cluster-operator --namespace - $ oc adm policy add-cluster-role-to-user strimzi-kafka-broker -z strimzi-cluster-operator --namespace - ``` - keywords: ['amq', 'streams', 'messaging', 'kafka', 'streaming'] - version: 1.0.0-Beta - maturity: beta - maintainers: - - name: Red Hat, Inc. - email: customerservice@redhat.com - provider: - name: Red Hat, Inc. - links: - - name: Product Page - url: https://access.redhat.com/products/red-hat-amq-streams - - name: Documentation - url: https://access.redhat.com/documentation/en-us/red_hat_amq_streams/1.0-beta/html-single/using_amq_streams/ - icon: - - base64data: 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 - mediatype: image/png - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: strimzi-cluster-operator - rules: - - apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - - rolebindings - verbs: - - get - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - kafka.strimzi.io - resources: - - kafkas - - kafkaconnects - - kafkaconnects2is - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch - - delete - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - endpoints - verbs: - - get - - list - - watch - - apiGroups: - - extensions - resources: - - deployments - - deployments/scale - - replicasets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps - resources: - - deployments - - deployments/scale - - deployments/status - - statefulsets - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - extensions - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - apps.openshift.io - resources: - - deploymentconfigs - - deploymentconfigs/scale - - deploymentconfigs/status - - deploymentconfigs/finalizers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - build.openshift.io - resources: - - buildconfigs - - builds - verbs: - - create - - delete - - get - - list - - patch - - watch - - update - - apiGroups: - - image.openshift.io - resources: - - imagestreams - - imagestreams/status - verbs: - - create - - delete - - get - - list - - watch - - patch - - update - - apiGroups: - - "" - resources: - - replicationcontrollers - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - create - - delete - - patch - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - - apiGroups: - - kafka.strimzi.io - resources: - - kafkatopics - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - kafka.strimzi.io - resources: - - kafkausers - verbs: - - get - - list - - watch - - create - - patch - - update - - delete - deployments: - - name: strimzi-cluster-operator - spec: - replicas: 1 - selector: - matchLabels: - name: strimzi-cluster-operator-alm-owned - template: - metadata: - name: strimzi-cluster-operator-alm-owned - labels: - name: strimzi-cluster-operator-alm-owned - spec: - serviceAccountName: strimzi-cluster-operator - containers: - - name: cluster-operator - image: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-clusteroperator-openshift:1.0.0-beta - env: - - name: STRIMZI_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS - value: "120000" - - name: STRIMZI_OPERATION_TIMEOUT_MS - value: "300000" - - name: STRIMZI_DEFAULT_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeper-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafka-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnect-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_CONNECT_S2I_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkaconnects2i-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-topicoperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-useroperator-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkainit-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ZOOKEEPER_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-zookeeperstunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_KAFKA_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-kafkastunnel-openshift:1.0.0-beta - - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: registry.access.redhat.com/amqstreams-1-tech-preview/amqstreams10-entityoperatorstunnel-openshift:1.0.0-beta - - name: STRIMZI_LOG_LEVEL - value: INFO - customresourcedefinitions: - owned: - - name: kafkas.kafka.strimzi.io - version: v1alpha1 - kind: Kafka - displayName: Kafka - description: Represents a Kafka cluster - specDescriptors: - - description: The desired number of Kafka brokers. - displayName: Kafka Brokers - path: kafka.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Kafka brokers - displayName: Kafka storage - path: kafka.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Kafka Resource Requirements - path: kafka.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The desired number of Zookeeper nodes. - displayName: Zookeeper Nodes - path: zookeeper.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The type of storage used by Zookeeper nodes - displayName: Zookeeper storage - path: zookeeper.storage.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Zookeeper Resource Requirements - path: zookeeper.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnect - displayName: Kafka Connect - description: Represents a Kafka Connect cluster - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkaconnects2is.kafka.strimzi.io - version: v1alpha1 - kind: KafkaConnectS2I - displayName: Kafka Connect S2I - description: Represents a Kafka Connect cluster with Source 2 Image support - specDescriptors: - - description: The desired number of Kafka Connect nodes. - displayName: Connect nodes - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The address of the bootstrap server - displayName: Bootstrap server - path: bootstrapServers - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: kafkatopics.kafka.strimzi.io - version: v1alpha1 - kind: KafkaTopic - displayName: Kafka Topic - description: Represents a topic inside a Kafka cluster - specDescriptors: - - description: The number of partitions - displayName: Partitions - path: partitions - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The number of replicas - displayName: Replication factor - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - name: kafkausers.kafka.strimzi.io - version: v1alpha1 - kind: KafkaUser - displayName: Kafka User - description: Represents a user inside a Kafka cluster - specDescriptors: - - description: Authentication type - displayName: Authentication type - path: authentication.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Authorization type - displayName: Authorization type - path: authorization.type - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: clusterlogging.v0.0.1 - namespace: placeholder - annotations: - olm-examples: '[{"apiVersion": "logging.openshift.io/v1alpha1","kind": "ClusterLogging","metadata":{"name": "example","annotations":{"io.openshift.clusterlogging.alpha/allinone": ""}},"spec": {"logStore":{"type": "elasticsearch","elasticsearch":{"replicas":1,"storage":{"emptyDir": {}}}},"visualization":{"type": "kibana","kibana":{"replicas": 1}},"curation":{"type": "curator","curator": {"schedule": "30 3 * * *"}},"collection": {"logCollection":{"type": "fluentd","fluentd":{"nodeSelector":{"logging-infra-fluentd: "true"}}}}}]' - test: "yes" - spec: - displayName: Cluster Logging - - description: | - The Cluster Logging Operator for OKD provides a means for configuring and managing your aggregated logging stack. - - Once installed, the Cluster Logging Operator provides the following features: - * **Create/Destroy**: Launch and create an aggregated logging stack in the `openshift-logging` namespace. - * **Simplified Configuration**: Configure your aggregated logging cluster's structure like components and end points easily. - - keywords: ['elasticsearch', 'kibana', 'fluentd', 'logging', 'aggregated', 'efk'] - - maintainers: - - name: Red Hat - email: aos-logging@redhat.com - - provider: - name: Red Hat - - links: - - name: Elastic - url: https://www.elastic.co/ - - name: Fluentd - url: https://www.fluentd.org/ - - name: Documentation - url: https://github.com/openshift/cluster-logging-operator/blob/master/README.md - - name: Cluster Logging Operator - url: https://github.com/openshift/cluster-logging-operator - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: cluster-logging-operator - rules: - - apiGroups: - - logging.openshift.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - - serviceaccounts - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - - apiGroups: - - route.openshift.io - resources: - - routes - - routes/custom-host - verbs: - - "*" - - apiGroups: - - batch - resources: - - cronjobs - verbs: - - "*" - - apiGroups: - - rbac.authorization.k8s.io - resources: - - roles - - rolebindings - verbs: - - "*" - - serviceAccountName: elasticsearch-operator - rules: - - apiGroups: - - logging.openshift.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - pods/exec - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - - serviceaccounts - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - - apiGroups: - - monitoring.coreos.com - resources: - - prometheusrules - - servicemonitors - verbs: - - "*" - clusterPermissions: - - serviceAccountName: cluster-logging-operator - rules: - - apiGroups: - - scheduling.k8s.io - resources: - - priorityclasses - verbs: - - "*" - - apiGroups: - - oauth.openshift.io - resources: - - oauthclients - verbs: - - "*" - deployments: - - name: cluster-logging-operator - spec: - replicas: 1 - selector: - matchLabels: - name: cluster-logging-operator - template: - metadata: - labels: - name: cluster-logging-operator - spec: - serviceAccountName: cluster-logging-operator - containers: - - name: cluster-logging-operator - image: quay.io/openshift/cluster-logging-operator:latest - imagePullPolicy: IfNotPresent - command: - - cluster-logging-operator - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: "cluster-logging-operator" - - name: ELASTICSEARCH_IMAGE - value: "docker.io/openshift/origin-logging-elasticsearch5:latest" - - name: FLUENTD_IMAGE - value: "docker.io/openshift/origin-logging-fluentd:latest" - - name: KIBANA_IMAGE - value: "docker.io/openshift/origin-logging-kibana5:latest" - - name: CURATOR_IMAGE - value: "docker.io/openshift/origin-logging-curator5:latest" - - name: OAUTH_PROXY_IMAGE - value: "docker.io/openshift/oauth-proxy:latest" - - name: RSYSLOG_IMAGE - value: "docker.io/viaq/rsyslog:latest" - - name: elasticsearch-operator - spec: - replicas: 1 - selector: - matchLabels: - name: elasticsearch-operator - template: - metadata: - labels: - name: elasticsearch-operator - spec: - serviceAccountName: elasticsearch-operator - containers: - - name: elasticsearch-operator - image: quay.io/openshift/elasticsearch-operator:latest - imagePullPolicy: IfNotPresent - command: - - elasticsearch-operator - ports: - - containerPort: 60000 - name: metrics - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: "elasticsearch-operator" - maturity: alpha - version: 0.0.1 - customresourcedefinitions: - owned: - - name: clusterloggings.logging.openshift.io - version: v1alpha1 - kind: ClusterLogging - displayName: Cluster Logging - description: A Cluster Logging instance - resources: - - kind: Deployment - version: v1 - - kind: DaemonSet - version: v1 - - kind: CronJob - version: v1beta1 - - kind: ReplicaSet - version: v1 - - kind: Pod - version: v1 - - kind: ConfigMap - version: v1 - - kind: Secret - version: v1 - - kind: Service - version: v1 - - kind: Route - version: v1 - - kind: Elasticsearch - version: v1alpha1 - specDescriptors: - - description: The desired number of Kibana Pods for the Visualization component - displayName: Kibana Size - path: visualization.kibana.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Resource requirements for the Kibana pods - displayName: Kibana Resource Requirements - path: visualization.kibana.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The node selector to use for the Kibana Visualization component - displayName: Kibana Node Selector - path: visualization.kibana.nodeSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:nodeSelector' - - description: The desired number of Elasticsearch Pods for the Log Storage component - displayName: Elasticsearch Size - path: logStore.elasticsearch.replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Resource requirements for the Elasticsearch pods - displayName: Elasticsearch Resource Requirements - path: logStore.elasticsearch.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The node selector to use for the Elasticsearch Log Storage component - displayName: Elasticsearch Node Selector - path: logStore.elasticsearch.nodeSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:nodeSelector' - - description: Resource requirements for the Fluentd pods - displayName: Fluentd Resource Requirements - path: collection.logCollection.fluentd.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The node selector to use for the Fluentd log collection component - displayName: Fluentd node selector - path: collection.logCollection.fluentd.nodeSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:nodeSelector' - - description: Resource requirements for the Rsyslog pods - displayName: Rsyslog Resource Requirements - path: collection.logCollection.rsyslog.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The node selector to use for the Rsyslog log collection component - displayName: Rsyslog node selector - path: collection.logCollection.rsyslog.nodeSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:nodeSelector' - - description: Resource requirements for the Curator pods - displayName: Curator Resource Requirements - path: curation.curator.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - description: The node selector to use for the Curator component - displayName: Curator Node Selector - path: curation.curator.nodeSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:nodeSelector' - - description: The cron schedule for the Curator component - displayName: Curation Schedule - path: curation.curator.schedule - statusDescriptors: - - description: The status for each of the Kibana pods for the Visualization component - displayName: Kibana Status - path: visualization.kibanaStatus.pods - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch Client pods for the Log Storage component - displayName: Elasticsearch Client Pod Status - path: logStore.elasticsearchStatus.pods.client - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch Data pods for the Log Storage component - displayName: Elasticsearch Data Pod Status - path: logStore.elasticsearchStatus.pods.data - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch Master pods for the Log Storage component - displayName: Elasticsearch Master Pod Status - path: logStore.elasticsearchStatus.pods.master - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The cluster status for each of the Elasticsearch Clusters for the Log Storage component - displayName: Elasticsearch Cluster Health - path: logstore.elasticsearchStatus.clusterHealth - - description: The status for each of the Fluentd pods for the Log Collection component - displayName: Fluentd status - path: collection.logCollection.fluentdStatus.pods - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Rsyslog pods for the Log Collection component - displayName: Rsyslog status - path: collection.logCollection.rsyslogStatus.pods - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - name: elasticsearches.logging.openshift.io - version: v1alpha1 - kind: Elasticsearch - displayName: Elasticsearch - description: An Elasticsearch cluster instance - resources: - - kind: Deployment - version: v1 - - kind: StatefulSet - version: v1 - - kind: ReplicaSet - version: v1 - - kind: Pod - version: v1 - - kind: ConfigMap - version: v1 - - kind: Service - version: v1 - - kind: Route - version: v1 - specDescriptors: - - description: The name of the serviceaccount used by the Elasticsearch pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: The name of the configmap used by the Elasticsearch pods - displayName: Config Map - path: configMapName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ConfigMap' - - description: The name of the secret used by the Elasticsearch pods - displayName: Secret - path: secretName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: nodeSpec.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current health of Elasticsearch Cluster - displayName: Elasticsearch Cluster Health - path: clusterHealth - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: The status for each of the Elasticsearch pods with the Client role - displayName: Elasticsearch Client Status - path: pods.client - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch pods with the Data role - displayName: Elasticsearch Data Status - path: pods.data - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The status for each of the Elasticsearch pods with the Master role - displayName: Elasticsearch Master Status - path: pods.master - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - annotations: - categories: openshift optional - certifiedLevel: Primed - containerImage: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator - createdAt: 2019/11/15 - description: An operator to run the OpenShift descheduler - healthIndex: B - repository: https://github.com/openshift/descheduler-operator - support: Red Hat - name: descheduler.v0.0.1 - namespace: openshift-descheduler-operator - spec: - description: | - # Descheduler for Kubernetes - - ## Introduction - - Scheduling in Kubernetes is the process of binding pending pods to nodes, and is performed by - a component of Kubernetes called kube-scheduler. The scheduler's decisions, whether or where a - pod can or can not be scheduled, are guided by its configurable policy which comprises of set of - rules, called predicates and priorities. The scheduler's decisions are influenced by its view of - a Kubernetes cluster at that point of time when a new pod appears first time for scheduling. - As Kubernetes clusters are very dynamic and their state change over time, there may be desired - to move already running pods to some other nodes for various reasons - - * Some nodes are under or over utilized. - * The original scheduling decision does not hold true any more, as taints or labels are added to - or removed from nodes, pod/node affinity requirements are not satisfied any more. - * Some nodes failed and their pods moved to other nodes. - New nodes are added to clusters. - - Consequently, there might be several pods scheduled on less desired nodes in a cluster. - Descheduler, based on its policy, finds pods that can be moved and evicts them. Please - note, in current implementation, descheduler does not schedule replacement of evicted pods - but relies on the default scheduler for that. - - ## Note - - Any api could be changed any time with out any notice. That said, your feedback is - very important and appreciated to make this project more stable and useful. - - customresourcedefinitions: - owned: - - description: Represents an instance of a Descheduler application - displayName: Descheduler Operator - kind: Descheduler - name: deschedulers.descheduler.io - version: v1alpha1 - displayName: Descheduler - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - spec: - clusterPermissions: - - rules: - - apiGroups: - - "" - resources: - - services - - pods - - configmaps - - secrets - - names - - nodes - - pods/eviction - verbs: - - '*' - - apiGroups: - - apps - resources: - - deployments - verbs: - - '*' - - apiGroups: - - batch - - extensions - resources: - - jobs - verbs: - - '*' - - apiGroups: - - descheduler.io - resources: - - '*' - verbs: - - '*' - serviceAccountName: openshift-descheduler - deployments: - - name: descheduler-operator - spec: - replicas: 1 - selector: - matchLabels: - app: descheduler-operator - template: - metadata: - labels: - app: descheduler-operator - spec: - containers: - - command: - - descheduler-operator - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: descheduler-operator - image: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator - imagePullPolicy: Always - name: descheduler-operator - restartPolicy: Always - serviceAccount: openshift-descheduler - serviceAccountName: openshift-descheduler - terminationGracePeriodSeconds: 5 - strategy: deployment - labels: - olm-owner-enterprise-app: descheduler-operator - olm-status-descriptors: descheduler.v0.0.1 - maintainers: - - email: support@redhat.com - name: Red Hat - provider: - name: Red Hat - version: 0.0.1 - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.6.1 - namespace: placeholder - annotations: - tectonic-visibility: ocs - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - **High availability** - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - **Automated updates** - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - **Backups included** - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.6.1 - maturity: alpha - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-status-descriptors: etcdoperator.v0.6.1 - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - verbs: - - "*" - - apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.0 - maturity: alpha - replaces: etcdoperator.v0.6.1 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: etcdoperator.v0.9.2 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"","awsSecret":""}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":[""],"storageType":"S3","s3":{"path":"","awsSecret":""}}}]' - spec: - displayName: etcd - description: | - etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader. Your applications can read and write data into etcd. - A simple use-case is to store database connection details or feature flags within etcd as key value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of the consistency guarantees to implement database leader elections or do distributed locking across a cluster of workers. - - _The etcd Open Cloud Service is Public Alpha. The goal before Beta is to fully implement backup features._ - - ### Reading and writing to etcd - - Communicate with etcd though its command line utility `etcdctl` or with the API using the automatically generated Kubernetes Service. - - [Read the complete guide to using the etcd Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/etcd-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances of etcd are networked together and secured. Individual failures or networking issues are transparently handled to keep your cluster up and running. - - - **Automated updates** - - - Rolling out a new etcd version works like all Kubernetes rolling updates. Simply declare the desired version, and the etcd service starts a safe rolling update to the new version automatically. - - - **Backups included** - - - Coming soon, the ability to schedule backups to happen on or off cluster. - keywords: ['etcd', 'key value', 'database', 'coreos', 'open source'] - version: 0.9.2 - maturity: alpha - replaces: etcdoperator.v0.9.0 - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - labels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - selector: - matchLabels: - alm-owner-etcd: etcdoperator - operated-by: etcdoperator - links: - - name: Blog - url: https://coreos.com/etcd - - name: Documentation - url: https://coreos.com/operators/etcd/docs/latest/ - - name: etcd Operator Source Code - url: https://github.com/coreos/etcd-operator - - icon: - - base64data: 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 - mediatype: image/png - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: etcd-operator - rules: - - apiGroups: - - etcd.database.coreos.com - resources: - - etcdclusters - - etcdbackups - - etcdrestores - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - verbs: - - "*" - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - deployments: - - name: etcd-operator - spec: - replicas: 1 - selector: - matchLabels: - name: etcd-operator-alm-owned - template: - metadata: - name: etcd-operator-alm-owned - labels: - name: etcd-operator-alm-owned - spec: - serviceAccountName: etcd-operator - containers: - - name: etcd-operator - command: - - etcd-operator - - --create-crd=false - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-backup-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-backup-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: etcd-restore-operator - image: quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2 - command: - - etcd-restore-operator - - --create-crd=false - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - customresourcedefinitions: - owned: - - name: etcdclusters.etcd.database.coreos.com - version: v1beta2 - kind: EtcdCluster - displayName: etcd Cluster - description: Represents a cluster of etcd nodes. - resources: - - kind: Service - version: v1 - - kind: Pod - version: v1 - specDescriptors: - - description: The desired number of member Pods for the etcd cluster. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The status of each of the member Pods for the etcd cluster. - displayName: Member Status - path: members - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The service at which the running etcd cluster can be accessed. - displayName: Service - path: serviceName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - description: The current size of the etcd cluster. - displayName: Cluster Size - path: size - - description: The current version of the etcd cluster. - displayName: Current Version - path: currentVersion - - description: 'The target version of the etcd cluster, after upgrading.' - displayName: Target Version - path: targetVersion - - description: The current status of the etcd cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the cluster. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdbackups.etcd.database.coreos.com - version: v1beta2 - kind: EtcdBackup - displayName: etcd Backup - description: Represents the intent to backup an etcd cluster. - specDescriptors: - - description: Specifies the endpoints of an etcd cluster. - displayName: etcd Endpoint(s) - path: etcdEndpoints - x-descriptors: - - 'urn:alm:descriptor:etcd:endpoint' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the backup was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any backup related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - name: etcdrestores.etcd.database.coreos.com - version: v1beta2 - kind: EtcdRestore - displayName: etcd Restore - description: Represents the intent to restore an etcd cluster from a backup. - specDescriptors: - - description: References the EtcdCluster which should be restored, - displayName: etcd Cluster - path: etcdCluster.name - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:EtcdCluster' - - 'urn:alm:descriptor:text' - - description: The full AWS S3 path where the backup is saved. - displayName: S3 Path - path: s3.path - x-descriptors: - - 'urn:alm:descriptor:aws:s3:path' - - description: The name of the secret object that stores the AWS credential and config files. - displayName: AWS Secret - path: s3.awsSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - statusDescriptors: - - description: Indicates if the restore was successful. - displayName: Succeeded - path: succeeded - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Indicates the reason for any restore related failures. - displayName: Reason - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: federationv2.v0.0.2 - namespace: placeholder - spec: - displayName: FederationV2 - description: | - Kubernetes Federation V2 namespace-scoped installation - version: 0.0.2 - maturity: alpha - provider: - name: Red Hat, Inc - labels: - alm-owner-federationv2: federationv2 - alm-status-descriptors: federationv2.v0.0.2 - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: federation-controller-manager - rules: - - apiGroups: - - clusterregistry.k8s.io - resources: - - clusters - verbs: - - "*" - - apiGroups: - - core.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - multiclusterdns.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - scheduling.federation.k8s.io - resources: - - "*" - verbs: - - "*" - - apiGroups: - - "" - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - configmaps - - secrets - verbs: - - "*" - - apiGroups: - - apps - resources: - - deployments - - daemonsets - - replicasets - - statefulsets - verbs: - - "*" - # TODO(font): use statefulset - deployments: - - name: federation-controller-manager - spec: - replicas: 1 - selector: - matchLabels: - app: federation-controller-manager - template: - metadata: - labels: - app: federation-controller-manager - spec: - containers: - - name: controller-manager - image: quay.io/kubernetes-multicluster/federation-v2:v0.0.2-rc.1 - resources: - limits: - cpu: 100m - memory: 128Mi - requests: - cpu: 100m - memory: 64Mi - command: - - /root/controller-manager - args: - - --federation-namespace=$(FEDERATION_NAMESPACE) - - --install-crds=false - - --limited-scope=true - - --registry-namespace=$(CLUSTER_REGISTRY_NAMESPACE) - imagePullPolicy: Always - env: - - name: FEDERATION_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: CLUSTER_REGISTRY_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - restartPolicy: Always - terminationGracePeriodSeconds: 5 - serviceAccountName: federation-controller-manager - serviceAccount: federation-controller-manager - customresourcedefinitions: - owned: - # TODO(font): Move Cluster CRD to required once OLM supports CSVs - # without a deployment. - - description: Represents an instance of a Cluster Registry - displayName: Cluster Registry Application - kind: Cluster - name: clusters.clusterregistry.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedCluster resource - displayName: FederatedCluster Resource - kind: FederatedCluster - name: federatedclusters.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMap resource - displayName: FederatedConfigMap Resource - kind: FederatedConfigMap - name: federatedconfigmaps.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapOverride resource - displayName: FederatedConfigMapOverride Resource - kind: FederatedConfigMapOverride - name: federatedconfigmapoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedConfigMapPlacement resource - displayName: FederatedConfigMapPlacement Resource - kind: FederatedConfigMapPlacement - name: federatedconfigmapplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeployment resource - displayName: FederatedDeployment Resource - kind: FederatedDeployment - name: federateddeployments.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentOverride resource - displayName: FederatedDeploymentOverride Resource - kind: FederatedDeploymentOverride - name: federateddeploymentoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedDeploymentPlacement resource - displayName: FederatedDeploymentPlacement Resource - kind: FederatedDeploymentPlacement - name: federateddeploymentplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngress resource - displayName: FederatedIngress Resource - kind: FederatedIngress - name: federatedingresses.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedIngressPlacement resource - displayName: FederatedIngressPlacement Resource - kind: FederatedIngressPlacement - name: federatedingressplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJob resource - displayName: FederatedJob Resource - kind: FederatedJob - name: federatedjobs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobOverride resource - displayName: FederatedJobOverride Resource - kind: FederatedJobOverride - name: federatedjoboverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedJobPlacement resource - displayName: FederatedJobPlacement Resource - kind: FederatedJobPlacement - name: federatedjobplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedNamespacePlacement resource - displayName: FederatedNamespacePlacement Resource - kind: FederatedNamespacePlacement - name: federatednamespaceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSet resource - displayName: FederatedReplicaSet Resource - kind: FederatedReplicaSet - name: federatedreplicasets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetOverride resource - displayName: FederatedReplicaSetOverride Resource - kind: FederatedReplicaSetOverride - name: federatedreplicasetoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedReplicaSetPlacement resource - displayName: FederatedReplicaSetPlacement Resource - kind: FederatedReplicaSetPlacement - name: federatedreplicasetplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecret resource - displayName: FederatedSecret Resource - kind: FederatedSecret - name: federatedsecrets.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretOverride resource - displayName: FederatedSecretOverride Resource - kind: FederatedSecretOverride - name: federatedsecretoverrides.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedSecretPlacement resource - displayName: FederatedSecretPlacement Resource - kind: FederatedSecretPlacement - name: federatedsecretplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedService resource - displayName: FederatedService Resource - kind: FederatedService - name: federatedservices.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccount resource - displayName: FederatedServiceAccount Resource - kind: FederatedServiceAccount - name: federatedserviceaccounts.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServiceAccountPlacement resource - displayName: FederatedServiceAccountPlacement Resource - kind: FederatedServiceAccountPlacement - name: federatedserviceaccountplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederatedServicePlacement resource - displayName: FederatedServicePlacement Resource - kind: FederatedServicePlacement - name: federatedserviceplacements.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a FederationV2 sync controller - displayName: FederationV2 Push Reconciler Application - kind: FederatedTypeConfig - name: federatedtypeconfigs.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a PropagatedVersion resource - displayName: PropagatedVersion Resource - kind: PropagatedVersion - name: propagatedversions.core.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a DNSEndpoint resource - displayName: DNSEndpoint Resource - kind: DNSEndpoint - name: dnsendpoints.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterIngressDNSRecord resource - displayName: MultiClusterIngressDNSRecord Resource - kind: MultiClusterIngressDNSRecord - name: multiclusteringressdnsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a MultiClusterServiceDNSRecord resource - displayName: MultiClusterServiceDNSRecord Resource - kind: MultiClusterServiceDNSRecord - name: multiclusterservicednsrecords.multiclusterdns.federation.k8s.io - version: v1alpha1 - - description: Represents an instance of a ReplicaSchedulingPreference resource - displayName: ReplicaSchedulingPreference Resource - kind: ReplicaSchedulingPreference - name: replicaschedulingpreferences.scheduling.federation.k8s.io - version: v1alpha1 - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: metering-operator.v0.12.0 - namespace: placeholder - labels: - operator-metering: "true" - spec: - displayName: Metering - description: Metering can generate reports based on historical usage data from a cluster, providing accountability for how resources have been used. - keywords: [metering metrics reporting] - version: 0.12.0 - maturity: alpha - maintainers: - - email: sd-operator-metering@redhat.com - name: Red Hat - provider: - name: Red Hat - labels: - alm-owner-metering: metering-operator - alm-status-descriptors: metering-operator.v0.12.0 - selector: - matchLabels: - alm-owner-metering: metering-operator - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: false - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: false - install: - strategy: deployment - spec: - permissions: - - rules: - - apiGroups: - - metering.openshift.io - resources: - - '*' - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - - pods/attach - - pods/exec - - pods/portforward - - pods/proxy - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - configmaps - - endpoints - - persistentvolumeclaims - - replicationcontrollers - - replicationcontrollers/scale - - secrets - - serviceaccounts - - services - - services/proxy - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - bindings - - events - - limitranges - - namespaces/status - - pods/log - - pods/status - - replicationcontrollers/status - - resourcequotas - - resourcequotas/status - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - events - verbs: - - create - - update - - patch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch - - apiGroups: - - apps - resources: - - deployments - - deployments/rollback - - deployments/scale - - statefulsets - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - batch - resources: - - cronjobs - - jobs - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - extensions - resources: - - daemonsets - - deployments - - deployments/rollback - - deployments/scale - - replicasets - - replicasets/scale - - replicationcontrollers/scale - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - - roles - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - route.openshift.io - resources: - - routes - verbs: - - create - - get - - list - - watch - - update - - delete - serviceAccountName: metering-operator - deployments: - - name: metering-operator - spec: - replicas: 1 - selector: - matchLabels: - app: metering-operator - strategy: - type: Recreate - template: - metadata: - labels: - app: metering-operator - spec: - containers: - - args: - - run-operator.sh - env: - - name: HELM_RELEASE_CRD_NAME - value: Metering - - name: HELM_RELEASE_CRD_API_GROUP - value: metering.openshift.io - - name: HELM_CHART_PATH - value: /openshift-metering-0.1.0.tgz - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: HELM_HOST - value: 127.0.0.1:44134 - - name: HELM_WAIT - value: "false" - - name: HELM_RECONCILE_INTERVAL_SECONDS - value: "30" - - name: RELEASE_HISTORY_LIMIT - value: "3" - image: quay.io/coreos/metering-helm-operator:0.12.0 - imagePullPolicy: Always - name: metering-operator - resources: - limits: - cpu: 50m - memory: 25Mi - requests: - cpu: 50m - memory: 25Mi - - args: - - tiller - env: - - name: TILLER_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: TILLER_HISTORY_MAX - value: "3" - image: quay.io/coreos/metering-helm-operator:0.12.0 - imagePullPolicy: Always - livenessProbe: - failureThreshold: 3 - httpGet: - path: /liveness - port: 44135 - scheme: HTTP - initialDelaySeconds: 1 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - name: tiller - readinessProbe: - failureThreshold: 3 - httpGet: - path: /readiness - port: 44135 - scheme: HTTP - initialDelaySeconds: 1 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - resources: - limits: - cpu: 50m - memory: 100Mi - requests: - cpu: 50m - memory: 50Mi - restartPolicy: Always - securityContext: - runAsNonRoot: true - serviceAccount: metering-operator - terminationGracePeriodSeconds: 30 - customresourcedefinitions: - owned: - - description: An instance of Metering - displayName: Metering - kind: Metering - name: meterings.metering.openshift.io - version: v1alpha1 - - description: A table within PrestoDB - displayName: Metering Presto Table - kind: PrestoTable - name: prestotables.metering.openshift.io - version: v1alpha1 - - description: A resource describing a source of data for usage by Report Generation - Queries - displayName: Metering data source - kind: ReportDataSource - name: reportdatasources.metering.openshift.io - version: v1alpha1 - - description: A SQL query used by Metering to generate reports - displayName: Metering generation query - kind: ReportGenerationQuery - name: reportgenerationqueries.metering.openshift.io - version: v1alpha1 - - description: A Prometheus query by Metering to do metering - displayName: Metering prometheus query - kind: ReportPrometheusQuery - name: reportprometheusqueries.metering.openshift.io - version: v1alpha1 - - description: A metering report for a specific time interval - displayName: Metering Report - kind: Report - name: reports.metering.openshift.io - version: v1alpha1 - - description: Represents a configurable storage location for Metering to store metering - and report data - displayName: Metering storage location - kind: StorageLocation - name: storagelocations.metering.openshift.io - version: v1alpha1 - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.14.0 - namespace: placeholder - spec: - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ## Supported Features - - **High availability** - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - **Updates via automated operations** - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - **Handles the dynamic nature of containers** - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.14.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731 - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.14.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.14.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Define resources requests and limits for single Pods - displayName: Resource Request - path: resources.requests - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.15.0 - namespace: placeholder - annotations: - tectonic-visibility: ocs - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v1.7.0","serviceAccountName":"prometheus-k8s","serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"resources":{"requests":{"memory":"400Mi"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus","prometheus":"k8s"}},"namespaceSelector":{"matchNames":["monitoring"]},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3}}]' - spec: - replaces: prometheusoperator.0.14.0 - displayName: Prometheus - description: | - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. - - _The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._ - - ### Monitoring applications - - Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager. - - [Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html) - - ### Supported Features - - - **High availability** - - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - - **Updates via automated operations** - - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - - **Handles the dynamic nature of containers** - - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: CoreOS, Inc - email: support@coreos.com - - provider: - name: CoreOS, Inc - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator Source Code - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.15.0 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-14-0 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: ["get", "list"] - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - "*" - - apiGroups: - - apps - resources: - - statefulsets - verbs: ["*"] - - apiGroups: [""] - resources: - - configmaps - - secrets - verbs: ["*"] - - apiGroups: [""] - resources: - - pods - verbs: ["list", "delete"] - - apiGroups: [""] - resources: - - services - - endpoints - verbs: ["get", "create", "update"] - - apiGroups: [""] - resources: - - nodes - verbs: ["list", "watch"] - - apiGroups: [""] - resources: - - namespaces - verbs: ['list'] - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-14-0 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d - command: - - sh - - -c - - > - /bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com - --labels alm-status-descriptors=prometheusoperator.0.15.0,alm-owner-prometheus=prometheusoperator - --kubelet-service=kube-system/kubelet - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - maturity: alpha - version: 0.15.0 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The current number of Pods for the cluster - displayName: Cluster Size - path: replicas - - path: prometheusSelector - displayName: Prometheus Service Selector - description: Label selector to find the service that routes to this prometheus - x-descriptors: - - 'urn:alm:descriptor:label:selector' - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: Selector to select which namespaces the Endpoints objects are discovered from - displayName: Monitoring Namespaces - path: namespaceSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector' - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alert Manager - description: Configures an Alert Manager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: prometheusoperator.0.22.2 - namespace: placeholder - annotations: - alm-examples: '[{"apiVersion":"monitoring.coreos.com/v1","kind":"Prometheus","metadata":{"name":"example","labels":{"prometheus":"k8s"}},"spec":{"replicas":2,"version":"v2.3.2","serviceAccountName":"prometheus-k8s","securityContext": {}, "serviceMonitorSelector":{"matchExpressions":[{"key":"k8s-app","operator":"Exists"}]},"ruleSelector":{"matchLabels":{"role":"prometheus-rulefiles","prometheus":"k8s"}},"alerting":{"alertmanagers":[{"namespace":"monitoring","name":"alertmanager-main","port":"web"}]}}},{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"name":"example","labels":{"k8s-app":"prometheus"}},"spec":{"selector":{"matchLabels":{"k8s-app":"prometheus"}},"endpoints":[{"port":"web","interval":"30s"}]}},{"apiVersion":"monitoring.coreos.com/v1","kind":"Alertmanager","metadata":{"name":"alertmanager-main"},"spec":{"replicas":3, "securityContext": {}}}]' - spec: - replaces: prometheusoperator.0.15.0 - displayName: Prometheus Operator - description: | - The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances. - - Once installed, the Prometheus Operator provides the following features: - - * **Create/Destroy**: Easily launch a Prometheus instance for your Kubernetes namespace, a specific application or team easily using the Operator. - - * **Simple Configuration**: Configure the fundamentals of Prometheus like versions, persistence, retention policies, and replicas from a native Kubernetes resource. - - * **Target Services via Labels**: Automatically generate monitoring target configurations based on familiar Kubernetes label queries; no need to learn a Prometheus specific configuration language. - - ### Other Supported Features - - **High availability** - - Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most. - - **Updates via automated operations** - - New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date. - - **Handles the dynamic nature of containers** - - Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment. - - keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting'] - - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - - provider: - name: Red Hat - - links: - - name: Prometheus - url: https://www.prometheus.io/ - - name: Documentation - url: https://coreos.com/operators/prometheus/docs/latest/ - - name: Prometheus Operator - url: https://github.com/coreos/prometheus-operator - - labels: - alm-status-descriptors: prometheusoperator.0.22.2 - alm-owner-prometheus: prometheusoperator - - selector: - matchLabels: - alm-owner-prometheus: prometheusoperator - - icon: - - base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg== - mediatype: image/svg+xml - - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: prometheus-k8s - rules: - - apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: - - configmaps - verbs: ["get"] - - serviceAccountName: prometheus-operator-0-22-2 - rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - '*' - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - prometheuses/finalizers - - alertmanagers/finalizers - - servicemonitors - - prometheusrules - verbs: - - '*' - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - "" - resources: - - configmaps - - secrets - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete - - apiGroups: - - "" - resources: - - services - - endpoints - verbs: - - get - - create - - update - - apiGroups: - - "" - resources: - - nodes - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - list - - watch - deployments: - - name: prometheus-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: prometheus-operator - template: - metadata: - labels: - k8s-app: prometheus-operator - spec: - serviceAccount: prometheus-operator-0-22-2 - containers: - - name: prometheus-operator - image: quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf - args: - - -namespace=$(K8S_NAMESPACE) - - -manage-crds=false - - -logtostderr=true - - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.22.2 - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - containerPort: 8080 - name: http - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - nodeSelector: - beta.kubernetes.io/os: linux - maturity: beta - version: 0.22.2 - customresourcedefinitions: - owned: - - name: prometheuses.monitoring.coreos.com - version: v1 - kind: Prometheus - displayName: Prometheus - description: A running Prometheus instance - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - - kind: ConfigMap - version: v1 - - kind: Service - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: A selector for the ConfigMaps from which to load rule files - displayName: Rule Config Map Selector - path: ruleSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap' - - description: ServiceMonitors to be selected for target discovery - displayName: Service Monitor Selector - path: serviceMonitorSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor' - - description: The ServiceAccount to use to run the Prometheus pods - displayName: Service Account - path: serviceAccountName - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:ServiceAccount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - name: prometheusrules.monitoring.coreos.com - version: v1 - kind: PrometheusRule - displayName: Prometheus Rule - description: A Prometheus Rule configures groups of sequentially evaluated recording and alerting rules. - - name: servicemonitors.monitoring.coreos.com - version: v1 - kind: ServiceMonitor - displayName: Service Monitor - description: Configures prometheus to monitor a particular k8s service - resources: - - kind: Pod - version: v1 - specDescriptors: - - description: The label to use to retrieve the job name from - displayName: Job Label - path: jobLabel - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: A list of endpoints allowed as part of this ServiceMonitor - displayName: Endpoints - path: endpoints - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:endpointList' - - name: alertmanagers.monitoring.coreos.com - version: v1 - kind: Alertmanager - displayName: Alertmanager - description: Configures an Alertmanager for the namespace - resources: - - kind: StatefulSet - version: v1beta2 - - kind: Pod - version: v1 - - kind: Service - version: v1 - specDescriptors: - - description: Desired number of Pods for the cluster - displayName: Size - path: replicas - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: svcat.v0.1.34 - namespace: placeholder - spec: - displayName: Service Catalog - description: Service Catalog lets you provision cloud services directly from the comfort of native Kubernetes tooling. This project is in incubation to bring integration with service brokers to the Kubernetes ecosystem via the Open Service Broker API. - keywords: ['catalog', 'service', 'svcat', 'osb', 'broker'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Documentation - url: https://svc-cat.io/docs - - name: Service Catalog - url: https://github.com/kubernetes-incubator/service-catalog - - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - - install: - strategy: deployment - spec: - permissions: - - serviceAccountName: service-catalog-controller - rules: - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["cluster-info"] - verbs: ["get","create","list","watch","update"] - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create", "list", "watch", "get", "update"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["service-catalog-controller-manager"] - verbs: ["get","update"] - clusterPermissions: - - serviceAccountName: service-catalog-controller - rules: - - apiGroups: [""] - resources: ["events"] - verbs: ["create","patch","update"] - - apiGroups: [""] - resources: ["secrets"] - verbs: ["get","create","update","delete","list","watch","patch"] - - apiGroups: [""] - resources: ["pods"] - verbs: ["get","list","update", "patch", "watch", "delete", "initialize"] - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterserviceclasses"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterserviceplans"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterservicebrokers"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceinstances","servicebindings"] - verbs: ["get","list","watch", "update"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["clusterservicebrokers/status","clusterserviceclasses/status","clusterserviceplans/status","serviceinstances/status","serviceinstances/reference","servicebindings/status","servicebindings/finalizers"] - verbs: ["update"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceclasses"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["serviceplans"] - verbs: ["get","list","watch","create","patch","update","delete"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["servicebrokers"] - verbs: ["get","list","watch"] - - apiGroups: ["servicecatalog.k8s.io"] - resources: ["servicebrokers/status","serviceclasses/status","serviceplans/status"] - verbs: ["update"] - - serviceAccountName: service-catalog-apiserver - rules: - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["extension-apiserver-authentication"] - verbs: ["get"] - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get", "list", "watch"] - - apiGroups: ["admissionregistration.k8s.io"] - resources: ["validatingwebhookconfigurations"] - verbs: ["get", "list", "watch"] - - apiGroups: ["admissionregistration.k8s.io"] - resources: ["mutatingwebhookconfigurations"] - verbs: ["get", "list", "watch"] - - apiGroups: ["authentication.k8s.io"] - resources: ["tokenreviews"] - verbs: ["create"] - - apiGroups: ["authorization.k8s.io"] - resources: ["subjectaccessreviews"] - verbs: ["create"] - deployments: - - name: apiserver - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: apiserver - template: - metadata: - labels: - app: apiserver - spec: - serviceAccountName: service-catalog-apiserver - containers: - - name: apiserver - image: quay.io/openshift/origin-service-catalog:v4.0.0 - imagePullPolicy: IfNotPresent - command: ["/usr/bin/service-catalog"] - resources: - limits: - cpu: 100m - memory: 140Mi - requests: - cpu: 100m - memory: 40Mi - args: - - apiserver - - --enable-admission-plugins - - "NamespaceLifecycle,DefaultServicePlan,ServiceBindingsLifecycle,ServicePlanChangeValidator,BrokerAuthSarCheck" - - --secure-port - - "5443" - - --etcd-servers - - http://localhost:2379 - - -v - - "3" - - --feature-gates - - OriginatingIdentity=true - - --feature-gates - - NamespacedServiceBroker=true - ports: - - containerPort: 5443 - volumeMounts: - - name: apiservice-cert - mountPath: /var/run/kubernetes-service-catalog - readinessProbe: - httpGet: - port: 5443 - path: /healthz - scheme: HTTPS - failureThreshold: 1 - initialDelaySeconds: 30 - periodSeconds: 5 - successThreshold: 1 - timeoutSeconds: 5 - livenessProbe: - httpGet: - port: 5443 - path: /healthz - scheme: HTTPS - failureThreshold: 3 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - - name: etcd - image: quay.io/coreos/etcd:latest - imagePullPolicy: Always - resources: - limits: - cpu: 100m - memory: 150Mi - requests: - cpu: 100m - memory: 50Mi - env: - - name: ETCD_DATA_DIR - value: /etcd-data-dir - command: - - /usr/local/bin/etcd - - --listen-client-urls - - http://0.0.0.0:2379 - - --advertise-client-urls - - http://localhost:2379 - ports: - - containerPort: 2379 - volumeMounts: - - name: etcd-data-dir - mountPath: /etcd-data-dir - readinessProbe: - httpGet: - port: 2379 - path: /health - failureThreshold: 1 - initialDelaySeconds: 30 - periodSeconds: 5 - successThreshold: 1 - timeoutSeconds: 5 - livenessProbe: - httpGet: - port: 2379 - path: /health - failureThreshold: 3 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - volumes: - - name: etcd-data-dir - emptyDir: {} - - name: controller-manager - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: controller-manager - template: - metadata: - labels: - app: controller-manager - spec: - serviceAccountName: service-catalog-controller - containers: - - name: controller-manager - image: quay.io/openshift/origin-service-catalog:v4.0.0 - imagePullPolicy: IfNotPresent - command: ["/usr/bin/service-catalog"] - resources: - limits: - cpu: 100m - memory: 150Mi - requests: - cpu: 100m - memory: 100Mi - env: - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - args: - - controller-manager - - --secure-port - - "8444" - - -v - - "3" - - --leader-election-namespace - - kube-service-catalog - - --leader-elect-resource-lock - - configmaps - - --cluster-id-configmap-namespace=kube-service-catalog - - --broker-relist-interval - - "5m" - - --feature-gates - - "OriginatingIdentity=true" - - --feature-gates - - "AsyncBindingOperations=true" - - --feature-gates - - "NamespacedServiceBroker=true" - ports: - - containerPort: 8444 - readinessProbe: - httpGet: - port: 8444 - path: /healthz - scheme: HTTPS - failureThreshold: 1 - initialDelaySeconds: 20 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - httpGet: - port: 8444 - path: /healthz - scheme: HTTPS - failureThreshold: 3 - initialDelaySeconds: 20 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 2 - # The following apiservice-cert is borrowed from the apiservice - it should be - # replaced with one specific for the controller manager. How to create service - # for controller manager?? - volumeMounts: - - name: apiservice-cert - mountPath: /var/run/kubernetes-service-catalog - volumes: - - name: apiservice-cert - secret: - defaultMode: 420 - items: - - key: tls.crt - path: apiserver.crt - - key: tls.key - path: apiserver.key - secretName: v1beta1.servicecatalog.k8s.io-cert - maturity: alpha - version: 0.1.34 - apiservicedefinitions: - owned: - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServiceClass - name: clusterserviceclasses - displayName: ClusterServiceClass - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServicePlan - name: clusterserviceplans - displayName: ClusterServicePlan - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ClusterServiceBroker - name: clusterservicebrokers - displayName: ClusterServiceBroker - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceInstance - name: serviceinstances - displayName: ServiceInstance - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceBinding - name: servicebindings - displayName: ServiceBinding - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceClass - name: serviceclasses - displayName: ServiceClass - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServicePlan - name: serviceplans - displayName: ServicePlan - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - group: servicecatalog.k8s.io - version: v1beta1 - kind: ServiceBroker - name: servicebrokers - displayName: ServiceBroker - description: A service catalog resource - deploymentName: apiserver - containerPort: 5443 - - packages: |- - - #! package-manifest: deploy/chart/catalog_resources/rh-operators/amq-streams.v1.0.0.clusterserviceversion.yaml - packageName: amq-streams - channels: - - name: preview - currentCSV: amqstreams.v1.0.0.beta - - - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/clusterlogging.v0.0.1.clusterserviceversion.yaml - packageName: cluster-logging - channels: - - name: preview - currentCSV: clusterlogging.v0.0.1 - - - packageName: descheduler - channels: - - name: alpha - currentCSV: descheduler.v0.0.1 - - - #! package-manifest: deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml - packageName: etcd - channels: - - name: alpha - currentCSV: etcdoperator.v0.9.2 - - - packageName: federationv2 - channels: - - name: alpha - currentCSV: federationv2.v0.0.2 - - - #! package-manifest: deploy/chart/catalog_resources/rh-operators/metering-operator.v0.12.0.clusterserviceversion.yaml - packageName: metering - channels: - - name: alpha - currentCSV: metering-operator.v0.12.0 - - - #! package-manifest: deploy/chart/catalog_resources/rh-operators/prometheusoperator.0.22.2.clusterserviceversion.yaml - packageName: prometheus - channels: - - name: preview - currentCSV: prometheusoperator.0.22.2 - - - #! package-manifest: deploy/chart/catalog_resources/rh-operators/svcat.v0.1.34.clusterserviceversion.yaml - packageName: svcat - channels: - - name: alpha - currentCSV: svcat.v0.1.34 - - diff --git a/deploy/okd/manifests/0.8.0/0000_30_07-certified-operators.configmap.yaml b/deploy/okd/manifests/0.8.0/0000_30_07-certified-operators.configmap.yaml deleted file mode 100644 index 69352ace97..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_07-certified-operators.configmap.yaml +++ /dev/null @@ -1,1397 +0,0 @@ -##--- -# Source: olm/templates/0000_30_07-certified-operators.configmap.yaml - -kind: ConfigMap -apiVersion: v1 -metadata: - name: certified-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - - kind: CustomResourceDefinition - apiVersion: apiextensions.k8s.io/v1beta1 - metadata: - name: couchbaseclusters.couchbase.com - spec: - group: couchbase.com - version: v1 - names: - plural: couchbaseclusters - singular: couchbasecluster - shortNames: - - couchbase - - cbc - kind: CouchbaseCluster - listKind: CouchbaseClusterList - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - required: - - baseImage - - version - - authSecret - - cluster - - servers - properties: - adminConsoleServices: - type: array - items: - type: string - enum: - - data - - index - - query - - search - - eventing - - analytics - buckets: - type: array - items: - type: object - required: - - name - - type - - memoryQuota - properties: - enableFlush: - type: boolean - enableIndexReplica: - type: boolean - ioPriority: - type: string - enum: - - high - - low - name: - type: string - pattern: '^[a-zA-Z0-9._\-%]*$' - evictionPolicy: - type: string - enum: - - valueOnly - - fullEviction - - noEviction - - nruEviction - memoryQuota: - type: integer - minimum: 100 - type: - type: string - enum: - - couchbase - - ephemeral - - memcached - replicas: - type: integer - maximum: 3 - minimum: 0 - conflictResolution: - type: string - enum: - - seqno - - lww - baseImage: - type: string - antiAffinity: - type: boolean - exposeAdminConsole: - type: boolean - paused: - type: boolean - servers: - type: array - minLength: 1 - items: - type: object - required: - - size - - name - - services - properties: - name: - type: string - minLength: 1 - pattern: '^[-_a-zA-Z0-9]+$' - pod: - type: object - properties: - automountServiceAccountToken: - type: boolean - couchbaseEnv: - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - labels: - type: object - nodeSelector: - type: object - resources: - type: object - properties: - limits: - type: object - properties: - cpu: - type: string - memory: - type: string - storage: - type: string - requests: - type: object - properties: - cpu: - type: string - memory: - type: string - storage: - type: string - tolerations: - type: array - items: - type: object - required: - - key - - operator - - value - - effect - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - type: integer - value: - type: string - volumeMounts: - type: object - required: - - default - properties: - analytics: - type: array - items: - type: string - data: - type: string - default: - type: string - index: - type: string - serverGroups: - type: array - items: - type: string - services: - type: array - minLength: 1 - items: - type: string - enum: - - data - - index - - query - - search - - eventing - - analytics - size: - type: integer - minimum: 1 - disableBucketManagement: - type: boolean - volumeClaimTemplates: - type: array - items: - type: object - required: - - metadata - - spec - properties: - metadata: - type: object - required: - - name - properties: - name: - type: string - spec: - type: object - required: - - resources - - storageClassName - properties: - resources: - type: object - properties: - limits: - type: object - required: - - storage - properties: - storage: - type: string - requests: - type: object - required: - - storage - properties: - storage: - type: string - storageClassName: - type: string - serverGroups: - type: array - items: - type: string - version: - type: string - pattern: '^([\w\d]+-)?\d+\.\d+.\d+(-[\w\d]+)?$' - softwareUpdateNotifications: - type: boolean - authSecret: - type: string - minLength: 1 - cluster: - type: object - required: - - dataServiceMemoryQuota - - indexServiceMemoryQuota - - searchServiceMemoryQuota - - eventingServiceMemoryQuota - - analyticsServiceMemoryQuota - - indexStorageSetting - - autoFailoverTimeout - - autoFailoverMaxCount - properties: - autoFailoverTimeout: - type: integer - maximum: 3600 - minimum: 5 - autoFailoverOnDataDiskIssues: - type: boolean - clusterName: - type: string - indexStorageSetting: - type: string - enum: - - plasma - - memory_optimized - analyticsServiceMemoryQuota: - type: integer - minimum: 1024 - eventingServiceMemoryQuota: - type: integer - minimum: 256 - searchServiceMemoryQuota: - type: integer - minimum: 256 - autoFailoverMaxCount: - type: integer - maximum: 3 - minimum: 1 - dataServiceMemoryQuota: - type: integer - minimum: 256 - autoFailoverOnDataDiskIssuesTimePeriod: - type: integer - maximum: 3600 - minimum: 5 - indexServiceMemoryQuota: - type: integer - minimum: 256 - autoFailoverServerGroup: - type: boolean - tls: - type: object - properties: - static: - type: object - properties: - member: - type: object - properties: - serverSecret: - type: string - operatorSecret: - type: string - exposedFeatures: - type: array - items: - type: string - enum: - - admin - - xdcr - - client - versions: - - name: v1 - served: true - storage: true - additionalPrinterColumns: - - name: Age - type: date - description: >- - CreationTimestamp is a timestamp representing the server time when this - object was created. It is not guaranteed to be set in happens-before - order across separate operations. Clients may not set this value. It is - represented in RFC3339 form and is in UTC. - - - Populated by the system. Read-only. Null for lists. More info: - https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata - JSONPath: .metadata.creationTimestamp - - apiVersion: apiextensions.k8s.io/v1beta1 - kind: CustomResourceDefinition - metadata: - name: oneagents.dynatrace.com - spec: - group: dynatrace.com - names: - kind: OneAgent - listKind: OneAgentList - plural: oneagents - singular: oneagent - scope: Namespaced - version: v1alpha1 - - kind: CustomResourceDefinition - apiVersion: apiextensions.k8s.io/v1beta1 - metadata: - name: mongodbreplicasets.mongodb.com - spec: - group: mongodb.com - version: v1 - names: - plural: mongodbreplicasets - singular: mongodbreplicaset - shortNames: - - mrs - kind: MongoDbReplicaSet - listKind: MongoDbReplicaSetList - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - required: - - credentials - - project - - version - - members - properties: - members: - type: integer - maximum: 50 - minimum: 1 - spec: - properties: - credentials: - type: string - project: - type: string - version: - type: string - - kind: CustomResourceDefinition - apiVersion: apiextensions.k8s.io/v1beta1 - metadata: - name: mongodbshardedclusters.mongodb.com - spec: - group: mongodb.com - version: v1 - names: - plural: mongodbshardedclusters - singular: mongodbshardedcluster - shortNames: - - msc - kind: MongoDbShardedCluster - listKind: MongoDbShardedClusterList - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - required: - - credentials - - project - - version - - shardCount - - mongodsPerShardCount - - mongosCount - - configServerCount - properties: - configServerCount: - type: integer - maximum: 50 - minimum: 1 - mongodsPerShardCount: - type: integer - maximum: 50 - minimum: 1 - mongosCount: - type: integer - minimum: 1 - shardCount: - type: integer - minimum: 1 - spec: - properties: - credentials: - type: string - project: - type: string - version: - type: string - - kind: CustomResourceDefinition - apiVersion: apiextensions.k8s.io/v1beta1 - metadata: - name: mongodbstandalones.mongodb.com - spec: - group: mongodb.com - version: v1 - names: - plural: mongodbstandalones - singular: mongodbstandalone - shortNames: - - mst - kind: MongoDbStandalone - listKind: MongoDbStandaloneList - scope: Namespaced - validation: - openAPIV3Schema: - properties: - spec: - required: - - credentials - - project - - version - properties: - spec: - properties: - credentials: - type: string - project: - type: string - version: - type: string - clusterServiceVersions: |- - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - annotations: - alm-examples: >- - [{"apiVersion":"couchbase.com/v1","kind":"CouchbaseCluster","metadata":{"name":"cb-example","namespace":"default"},"spec":{"authSecret":"cb-example-auth","baseImage":"registry.connect.redhat.com/couchbase/server","buckets":[{"conflictResolution":"seqno","enableFlush":true,"evictionPolicy":"fullEviction","ioPriority":"high","memoryQuota":128,"name":"default","replicas":1,"type":"couchbase"}],"cluster":{"analyticsServiceMemoryQuota":1024,"autoFailoverMaxCount":3,"autoFailoverOnDataDiskIssues":true,"autoFailoverOnDataDiskIssuesTimePeriod":120,"autoFailoverServerGroup":false,"autoFailoverTimeout":120,"clusterName":"cb-example","dataServiceMemoryQuota":256,"eventingServiceMemoryQuota":256,"indexServiceMemoryQuota":256,"indexStorageSetting":"memory_optimized","searchServiceMemoryQuota":256},"servers":[{"name":"all_services","services":["data","index","query","search","eventing","analytics"],"size":3}],"version":"5.5.1-1"}}] - name: couchbase-operator.v1.0.0 - namespace: placeholder - spec: - customresourcedefinitions: - owned: - - description: Manages Couchbase clusters - displayName: Couchbase Cluster - kind: CouchbaseCluster - name: couchbaseclusters.couchbase.com - resources: - - kind: Service - name: '' - version: v1 - - kind: Pod - name: '' - version: v1 - specDescriptors: - - description: The name of the secret object that stores the admin credentials. - displayName: Auth Secret - path: authSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - - description: The name of the secret object that stores the server's TLS certificate. - displayName: Server TLS Secret - path: tls.static.member.serverSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - - description: The name of the secret object that stores the Operator's TLS certificate. - displayName: Operator TLS Secret - path: tls.static.operatorSecret - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Secret' - - description: Specifies if the Operator will manage this cluster. - displayName: Paused - path: paused - value: false - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' - - description: Specifies if the Couchbase Server Web Console will be exposed externally. - displayName: Expose Console - path: exposeAdminConsole - value: false - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' - - description: Specifies whether or not two pods in this cluster can be deployed on the same Kubernetes node. - displayName: Anti Affinity - path: antiAffinity - value: false - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' - - description: Specifies if update notifications will be displayed in the Couchbase UI. - displayName: Show Update Notifications - path: softwareUpdateNotifications - value: false - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' - - description: Specifies if the Operator will create or delete buckets. - displayName: Disable Bucket Management - path: disableBucketManagement - value: false - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' - - description: The desired number of member Pods for the Couchbase cluster. - displayName: Size - path: servers[0].size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The maximum number of failover events tolerated before manual intervention is required. - displayName: Auto Failover Max Count - path: cluster.autoFailoverMaxCount - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:slider' - - 'urn:alm:descriptor:com.tectonic.ui:sliderStart:1' - - description: Limits describes the minimum/maximum amount of compute resources required/allowed. - displayName: Resource Requirements - path: servers[0].pod.resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: The desired number of member Pods for the deployment. - displayName: Size - path: size - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:podCount' - - description: The current status of the Couchbase cluster. - displayName: Status - path: phase - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase' - - description: Explanation for the current status of the application. - displayName: Status Details - path: reason - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes.phase:reason' - - description: The status of each of the member Pods for the Couchbase cluster. - displayName: Member Status - path: members - x-descriptors: - # FIXME: Format doesn't match with what the OpenShift console's donut chart expects - - 'urn:alm:descriptor:com.tectonic.ui:podStatuses' - - description: The current version of the Couchbase cluster. - displayName: Current Version - path: currentVersion - - description: The cluster identifier as provided by the Couchbase cluster. - displayName: Cluster ID - path: clusterID - - description: Specifies if the Operator is currently managing this cluster. - displayName: Control Paused - path: controlPaused - - description: The port that the web console can be accessed on from any node in the Kubernetes cluster. - displayName: Admin Console Port - path: adminConsolePort - - description: The SSL port that the web console can be accessed on from any node in the Kubernetes cluster. - displayName: SSL Admin Console Port - path: adminConsolePortSSL - - description: Conditions for the cluster - displayName: Conditions - path: conditions - x-descriptors: - # FIXME: Format doesn't match with normal Kubernetes conditions (map vs array) - - 'urn:alm:descriptor:io.kubernetes.conditions' - version: v1 - keywords: - - couchbase - - database - - key value - - nosql - - open source - displayName: Couchbase Operator - provider: - name: Couchbase - maturity: stable - version: 1.0.0 - icon: - - base64data: >- - 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 - mediatype: image/png - links: - - name: Couchbase - url: 'https://www.couchbase.com' - - name: Documentation - url: 'https://docs.couchbase.com/operator/1.0/overview.html' - - name: Downloads - url: 'https://www.couchbase.com/downloads' - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - spec: - deployments: - - name: couchbase-operator - spec: - replicas: 1 - selector: - matchLabels: - name: couchbase-operator - template: - metadata: - labels: - name: couchbase-operator - spec: - containers: - - command: - - couchbase-operator - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - image: 'registry.connect.redhat.com/couchbase/operator:1.0.0-1' - name: couchbase-operator - ports: - - containerPort: 8080 - name: readiness-port - readinessProbe: - failureThreshold: 19 - httpGet: - path: /readyz - port: readiness-port - initialDelaySeconds: 3 - periodSeconds: 3 - serviceAccountName: couchbase-operator - permissions: - - rules: - - apiGroups: - - couchbase.com - resources: - - couchbaseclusters - verbs: - - '*' - - apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - get - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - '*' - - apiGroups: - - '' - resources: - - pods - - services - - endpoints - - persistentvolumeclaims - - events - - secrets - verbs: - - '*' - - apiGroups: - - '' - resources: - - persistentvolumes - verbs: - - get - - watch - - apiGroups: - - apps - resources: - - deployments - verbs: - - '*' - - apiGroups: - - '' - resources: - - secrets - verbs: - - get - serviceAccountName: couchbase-operator - strategy: deployment - maintainers: - - email: support@couchbase.com - name: Couchbase - description: > - The Couchbase Autonomous Operator allows users to easily deploy, manage, and - maintain Couchbase deployments on OpenShift. By installing this integration - you will be able to deply Couchbase Server clusters with a single command. - - - ## Supported Features - - - * **Automated cluster provisioning** - Deploying a Couchbase Cluster has - never been easier. Fill out a Couchbase specific configuration and let the - Couchbase Operator take care of provisioning nodes and setting up cluster to - your exact specification. - - - * **On-demand scalability** - Automatically scale your cluster up or down by - changing a simple configuration parameter and let the Couchbase Operator - handle provisioning of new nodes and joining them into the cluster. - - - * **Auto-recovery** - Detect Couchbase node failures, rebalance out bad - nodes, and bring the cluster back up to the desired capacity. Auto-recovery - is completely automated so you can sleep easy through the night knowing that - the Couchbase Operator will handle any failures. - - - * **Geo-distribution** - Replicate your data between datacenters to move - data closer to the users who consume it and protect against disaster - scenarios where an entire datacenter becomes unavailable. - - - * **Persistent storage** - Define persistent network-attached storage for - each node in your cluster to allow pods to be recovered even if the node - they were running on is no longer available. - - - * **Rack/zone awareness** - Tell the Couchbase Operator about availability - zones in your datacenter and let the operator take care of ensuring that - nodes in your cluster are deployed equally across each zone. - - - * **Supportability** - When things go wrong, use the cbopinfo tool provided - with the Couchbase Operator to collect relevant data about your Couchbase - deployment so that you can quickly address issues. - - - * **Centralized configuration management** - Manage your configuration - centrally with OpenShift. Updates to the configuration are watched by the - Couchbase Operator and actions are taken to make the target cluster match - the desired configuration. - - ## Required Parameters - - * `authSecret` - provide the name of a secret that contains two keys for the - `username` and `password` of the super user - ([documentation](https://docs.couchbase.com/operator/1.0/couchbase-cluster-config.html)) - - - ## About Couchbase Server - - - Built on the most powerful NoSQL technology, Couchbase Server delivers - unparalleled performance at scale, in any cloud. With features like - memory-first architecture, geo-distributed deployments, and workload - isolation, Couchbase Server excels at supporting mission-critical - applications at scale while maintaining submillisecond latencies and 99.999% - availability. Plus, with the most comprehensive SQL-compatible query - language (N1QL), migrating from RDBMS to Couchbase Server is easy with ANSI - joins. - selector: - matchLabels: - alm-owner-etcd: couchbaseoperator - operated-by: couchbaseoperator - labels: - alm-owner-etcd: couchbaseoperator - operated-by: couchbaseoperator - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - annotations: - alm-examples: >- - [{"apiVersion":"dynatrace.com/v1alpha1","kind":"OneAgent","metadata":{"name":"oneagent"},"spec":{"apiUrl":"https://ENVIRONMENTID.live.dynatrace.com/api","args":["APP_LOG_CONTENT_ACCESS=1"],"image":"registry.connect.redhat.com/dynatrace/oneagent"}}] - name: dynatrace-monitoring.v0.2.0 - namespace: placeholder - spec: - customresourcedefinitions: - owned: - - description: Dyantrace OneAgent monitoring agent - displayName: Dynatrace OneAgent - group: dynatrace.com - kind: OneAgent - name: oneagents.dynatrace.com - resources: - - kind: DaemonSet - name: '' - version: v1beta2 - - kind: Pod - name: '' - version: v1 - specDescriptors: - - description: Credentials for the OneAgent to connect back to Dynatrace. - displayName: API and Pass Tokens - path: tokens - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:Secret' - - description: Location of the Dynatrace API to connect to, including your specific environment ID. - displayName: API URL - path: apiUrl - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: Specifies if certificate checks should be skipped. - displayName: Skip Certificate Check - path: skipCertCheck - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:booleanCheck' - - description: Node selector for where pods should be scheduled. - displayName: Node Selector - path: nodeSelector - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:Node' - - description: The Dynatrace installer container image. - displayName: Image - path: image - - description: Define resources requests and limits for single Pods - displayName: Resource Requirements - path: resources - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' - statusDescriptors: - - description: Dynatrace version being used. - displayName: Version - path: version - - description: The timestamp when the instance was last updated. - displayName: Last Updated - path: updatedTimestamp - x-descriptors: - - 'urn:alm:descriptor:timestamp' - version: v1alpha1 - keywords: - - monitoring - displayName: Dynatrace OneAgent - provider: - name: 'Dynatrace LLC' - maturity: stable - version: 0.2.0 - icon: - - base64data: >- - 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 - links: - - name: Operator Deploy Guide - url: https://www.dynatrace.com/support/help/cloud-platforms/openshift/full-stack/deployment/deploy-oneagent-on-openshift-container-platform/ - - name: OpenShift Monitoring Info - url: https://www.dynatrace.com/technologies/openshift-monitoring/ - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - spec: - deployments: - - name: dynatrace-operator - spec: - replicas: 1 - selector: - matchLabels: - name: dynatrace-oneagent-operator - template: - metadata: - labels: - dynatrace: operator - name: dynatrace-oneagent-operator - operator: oneagent - spec: - containers: - - command: - - dynatrace-oneagent-operator - env: - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: >- - registry.connect.redhat.com/dynatrace/dynatrace-oneagent-operator:v0.2.0 - imagePullPolicy: Always - name: dynatrace-oneagent-operator - resources: - limits: - cpu: 200m - memory: 128Mi - requests: - cpu: 100m - memory: 64Mi - nodeSelector: - beta.kubernetes.io/os: linux - serviceAccountName: dynatrace-oneagent-operator - permissions: - - rules: - - apiGroups: - - dynatrace.com - resources: - - oneagents - verbs: - - get - - list - - watch - - update - - apiGroups: - - apps - resources: - - daemonsets - verbs: - - get - - list - - watch - - create - - update - - delete - - apiGroups: - - '' - resources: - - pods - verbs: - - get - - list - - watch - - delete - - apiGroups: - - '' - resources: - - secrets - verbs: - - get - - list - - watch - - apiGroups: - - dynatrace.com - resources: - - oneagents/finalizers - verbs: - - update - serviceAccountName: dynatrace-oneagent-operator - strategy: deployment - maintainers: - - email: support@dynatrace.com - name: 'Dynatrace LLC' - description: > - Install full-stack monitoring of [OpenShift - clusters](https://www.dynatrace.com/technologies/openshift-monitoring/) with - the Dynatrace OneAgent on your cluster. OneAgent connects back to - Dynatrace's hosted monitoring tools. - - ## Before Your Start - - 1\. Make sure to install the Security Context Constraint (SCC) in order for - the agent to properly monitor all aspects of your Pods: - - - ``` $ oc create sa dynatrace-oneagent ``` - - - ``` $ oc adm policy add-scc-to-user privileged - system:serviceaccount::dynatrace-oneagent ``` - - - 2\. Add a Secret within the Project that contians your API and PaaS tokens - - - Get an [API - token](https://www.dynatrace.com/support/help/get-started/introduction/why-do-i-need-an-access-token-and-an-environment-id/#anchor-access-tokens) - for the Dynatrace API. This token is later referenced as `API_TOKEN`. - - - Get a [Platform-as-a-Service - token](https://www.dynatrace.com/support/help/get-started/introduction/why-do-i-need-an-access-token-and-an-environment-id/#anchor-access-tokens). - This token is later referenced as `PAAS_TOKEN`. - - - ``` $ oc -n dynatrace create secret generic oneagent - --from-literal="apiToken=API_TOKEN" --from-literal="paasToken=PAAS_TOKEN" - ``` - - - You may update this Secret at any time to rotate the tokens. - - ## Required Parameters - - * `apiUrl` - provide the environment ID used in conjuction with this - monitoring agent in the API adddress, eg - `https://.live.dynatrace.com/api` - - ## Advanced Options ## - - **Image Override** - use a copy of the OneAgent container image from a - registry other than Red Hat's - - - **NodeSelectors** - select a subset of your cluster's Nodes to run OneAgent - on, based on labels - - - **Tolerations** - add specific tolerations to the agent so that it can - monitor all of the Nodes in your cluster - - - **Disable Certificate Checking** - disable any certificate validation that - may interact poorly with proxies with in your cluster - - - For a complete list of supported parameters please consult the [Operator - Deploy - Guide](https://www.dynatrace.com/support/help/shortlink/openshift-deploy#parameters). - - - #! validate-crd: deploy/chart/templates/0000_30_02-clusterserviceversion.crd.yaml - #! parse-kind: ClusterServiceVersion - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: mongodboperator.v0.3.2 - namespace: placeholder - annotations: - alm-examples: >- - [{"apiVersion":"mongodb.com/v1","kind":"MongoDbStandalone","metadata":{"name":"my-standalone","namespace":"mongodb"},"spec":{"version":"4.0.2","persistent":false,"project":"my-project","credentials":"my-credentials"}},{"apiVersion":"mongodb.com/v1","kind":"MongoDbReplicaSet","metadata":{"name":"my-replica-set","namespace":"mongodb"},"spec":{"members":3,"version":"4.0.2","persistent":false,"project":"my-project","credentials":"my-credentials"}},{"apiVersion":"mongodb.com/v1","kind":"MongoDbShardedCluster","metadata":{"name":"my-sharded-cluster","namespace":"mongodb"},"spec":{"shardCount": 2, "mongodsPerShardCount": 3, "mongosCount": 2, "configServerCount": 3,"version":"4.0.2","persistent":false,"project":"my-project","credentials":"my-credentials"}}] - spec: - displayName: MongoDB - provider: - name: 'MongoDB, Inc' - maturity: stable - version: 0.3.2 - keywords: ["mongodb", "database", "nosql"] - maintainers: - - email: support@mongodb.com - name: 'MongoDB, Inc' - description: | - The MongoDB Enterprise Kubernetes Operator enables easy deploys of MongoDB - into Kubernetes clusters, using our management, monitoring and backup - platforms, Ops Manager and Cloud Manager. - - - ## Before You Start - - To start using the operator you'll need an account in MongoDB Cloud Manager. - - * [Create a Secret with your OpsManager API key](https://docs.opsmanager.mongodb.com/current/tutorial/install-k8s-operator/#create-credentials) - - - * [Create a ConfigMap with your OpsManager project ID and URL](https://docs.opsmanager.mongodb.com/current/tutorial/install-k8s-operator/#create-onprem-project) - - - By installing this integration, you will be able to deploy MongoDB instances - with a single simple command. - - ## Required Parameters - - * `project` - Enter the name of the ConfigMap containing project information - - - * `credentials` - Enter the name of the Secret containing your OpsManager credentials - - - ## Supported MongoDB Deployment Types ## - - - * Standalone: An instance of mongod that is running as a single server and - not as part of a replica set, this is, it does not do any kind of - replication. - - - * Replica Set: A replica set in MongoDB is a group of mongod processes that - maintain the same data set. Replica sets provide redundancy and high - availability, and are the basis for all production deployments. This section - introduces replication in MongoDB as well as the components and architecture - of replica sets. The section also provides tutorials for common tasks - related to replica sets. - - - * Sharded Cluster: The set of nodes comprising a sharded MongoDB deployment. - A sharded cluster consists of config servers, shards, and one or more mongos - routing processes. Sharding is a A database architecture that partitions - data by key ranges and distributes the data among two or more database - instances. Sharding enables horizontal scaling. - links: - - name: Documentation - url: 'https://docs.opsmanager.mongodb.com/current/tutorial/install-k8s-operator/index.html' - icon: - - base64data: >- - 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 - mediatype: image/png - customresourcedefinitions: - owned: - - name: mongodbstandalones.mongodb.com - version: v1 - kind: MongoDbStandalone - group: mongodb.com - displayName: MongoDB Standalone - description: MongoDB Deployment consisting of only one host. No replication of data. - resources: - # FIXME(alecmerdler): These are probably supposed to be different resources for the different CRD configurations - - kind: Service - name: '' - version: v1 - - kind: StatefulSet - name: '' - version: v1beta2 - - kind: Pod - name: '' - version: v1 - specDescriptors: - - description: Credentials for Ops Manager or Cloud Manager. - displayName: Credentials - path: credentials - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:Secret' - - description: Project this deployment belongs to. - displayName: Project - path: project - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:ConfigMap' - - description: MongoDB version to be installed. - displayName: Version - path: version - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:text' - - description: The service where the MongoDB deployment will be listening. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - name: mongodbreplicasets.mongodb.com - version: v1 - kind: MongoDbReplicaSet - group: mongodb.com - displayName: MongoDB Replica Set - description: MongoDB Replica Set Deployment - resources: - # FIXME(alecmerdler): These are probably supposed to be different resources for the different CRD configurations - - kind: Service - name: '' - version: v1 - - kind: StatefulSet - name: '' - version: v1beta2 - - kind: Pod - name: '' - version: v1 - specDescriptors: - - description: Number of members in this Replica Set. - displayName: Members - path: members - x-descriptors: - - 'urn:alm:descriptor:text' - - description: Credentials for Ops Manager or Cloud Manager. - displayName: Credentials - path: credentials - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:Secret' - - description: Project this deployment belongs to. - displayName: Project - path: project - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:ConfigMap' - - description: MongoDB version to be installed. - displayName: Version - path: version - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - description: The service where this MongoDB deployment will be listening. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - - name: mongodbshardedclusters.mongodb.com - description: MongoDB Sharded Cluster Deployment - displayName: MongoDB Sharded Cluster - group: mongodb.com - kind: MongoDbShardedCluster - version: v1 - resources: - # FIXME(alecmerdler): These are probably supposed to be different resources for the different CRD configurations - - kind: Service - name: '' - version: v1 - - kind: StatefulSet - name: '' - version: v1beta2 - - kind: Pod - name: '' - version: v1 - specDescriptors: - - description: Credentials for Ops Manager or Cloud Manager. - displayName: Credentials - path: credentials - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:Secret' - - - description: Project this deployment belongs to. - displayName: Project - path: project - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:core:v1:ConfigMap' - - - description: MongoDB version to be installed. - displayName: Version - path: version - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - - description: How many Config Servers will be deployed - displayName: Config Server Count - path: configServerCount - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - - description: How many MongoDB Servers per Shard will be deployed - displayName: MongoDB Servers per Shard - path: mongodsPerShardCount - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - - description: How many mongos will be deployed - displayName: Mongos (MongoDB Shard) to be deployed - path: mongosCount - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - - description: Amount of Shards to be deployed - displayName: Shards - path: shardCount - x-descriptors: - - 'urn:alm:descriptor:com.tectonic.ui:label' - - - description: The service where this MongoDB deployment will be listening. - displayName: Service - path: service - x-descriptors: - - 'urn:alm:descriptor:io.kubernetes:Service' - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: false - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - deployments: - - name: mongodb-enterprise-operator - spec: - replicas: 1 - selector: - matchLabels: - k8s-app: mongodb-enterprise-operator - template: - metadata: - labels: - k8s-app: mongodb-enterprise-operator - spec: - serviceAccountName: mongodb-enterprise-operator - imagePullSecrets: - - name: '' - - containers: - - name: mongodb-enterprise-operator - image: registry.connect.redhat.com/mongodb/enterprise-operator - imagePullPolicy: Always - resources: - limits: - cpu: 200m - memory: 100Mi - requests: - cpu: 100m - memory: 50Mi - - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: MANAGED_SECURITY_CONTEXT - value: 'true' - - name: OPERATOR_ENV - value: prod - - name: MONGODB_ENTERPRISE_DATABASE_IMAGE - value: registry.connect.redhat.com/mongodb/enterprise-database - - name: IMAGE_PULL_POLICY - value: Always - - name: IMAGE_PULL_SECRETS - value: '' - - permissions: - - serviceAccountName: mongodb-enterprise-operator - rules: - - apiGroups: - - '' - resources: - - configmaps - - secrets - - services - verbs: - - get - - list - - create - - update - - delete - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - watch - - create - - delete - - apiGroups: - - mongodb.com - resources: - - '*' - verbs: - - '*' - - packages: |- - - #! package-manifest: deploy/chart/catalog_resources/certified-operators/couchbase.1.0.0.clusterserviceversion.yaml - packageName: couchbase-enterprise - channels: - - name: preview - currentCSV: couchbase-operator.v1.0.0 - - - #! package-manifest: deploy/chart/catalog_resources/certified-operators/dynatrace-monitoring.0.2.0.clusterserviceversion.yaml - packageName: dynatrace-monitoring - channels: - - name: preview - currentCSV: dynatrace-monitoring.v0.2.0 - - - #! package-manifest: deploy/chart/catalog_resources/certified-operators/mongodb-enterprise.v0.3.2.clusterserviceversion.yaml - packageName: mongodb-enterprise - channels: - - name: preview - currentCSV: mongodboperator.v0.3.2 - - diff --git a/deploy/okd/manifests/0.8.0/0000_30_08-certified-operators.catalogsource.yaml b/deploy/okd/manifests/0.8.0/0000_30_08-certified-operators.catalogsource.yaml deleted file mode 100644 index 77cdb1ff69..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_08-certified-operators.catalogsource.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/0000_30_08-certified-operators.catalogsource.yaml - -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: certified-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: certified-operators - displayName: Certified Operators - publisher: Red Hat - diff --git a/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml b/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml deleted file mode 100644 index 035e4e8f42..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml - -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: rh-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: rh-operators - displayName: Red Hat Operators - publisher: Red Hat - diff --git a/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml b/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml deleted file mode 100644 index 6dc85be959..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml +++ /dev/null @@ -1,46 +0,0 @@ -##--- -# Source: olm/templates/0000_30_10-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - args: - image: quay.io/coreos/olm@sha256:1639d570809c5827810a1870763016e8c046283632d47e0b47183c82f8e515f2 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator diff --git a/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml deleted file mode 100644 index 7701775363..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml +++ /dev/null @@ -1,41 +0,0 @@ -##--- -# Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - args: - - '-namespace' - - openshift-operator-lifecycle-manager - image: quay.io/coreos/olm@sha256:1639d570809c5827810a1870763016e8c046283632d47e0b47183c82f8e515f2 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 diff --git a/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml deleted file mode 100644 index e91d70cb0a..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml +++ /dev/null @@ -1,26 +0,0 @@ -##--- -# Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "view" default roles - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.8.0/0000_30_13-operatorgroup.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_13-operatorgroup.crd.yaml deleted file mode 100644 index 995ab2e07e..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_13-operatorgroup.crd.yaml +++ /dev/null @@ -1,86 +0,0 @@ -##--- -# Source: olm/templates/0000_30_13-operatorgroup.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: operatorgroups.operators.coreos.com -spec: - group: operators.coreos.com - version: v1alpha2 - versions: - - name: v1alpha2 - served: true - storage: true - names: - plural: operatorgroups - singular: operatorgroup - kind: OperatorGroup - listKind: OperatorGroupList - shortNames: - - og - categories: - - olm - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - properties: - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - targetNamespaces: - type: array - items: - type: string - pattern: ^\S+$ - serviceAccountName: - type: string - type: object - status: - properties: - lastUpdated: - format: date-time - type: string - namespaces: - items: - type: string - type: array - required: - - namespaces - - lastUpdated - type: object - required: - - metadata diff --git a/deploy/okd/manifests/0.8.0/0000_30_14-olm-operators.configmap.yaml b/deploy/okd/manifests/0.8.0/0000_30_14-olm-operators.configmap.yaml deleted file mode 100644 index 6f7dee9fba..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_14-olm-operators.configmap.yaml +++ /dev/null @@ -1,128 +0,0 @@ -##--- -# Source: olm/templates/0000_30_14-olm-operators.configmap.yaml -kind: ConfigMap -apiVersion: v1 -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - clusterServiceVersions: |- - - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: packageserver.v0.8.0 - namespace: openshift-operator-lifecycle-manager - spec: - displayName: Package Server - description: Represents an Operator package that is available from a given CatalogSource which will resolve to a ClusterServiceVersion. - keywords: ['packagemanifests', 'olm', 'packages'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Package Server - url: https://github.com/operator-framework/operator-lifecycle-manager/tree/master/pkg/packageserver - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: true - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - clusterPermissions: - - serviceAccountName: packageserver - rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "operators.coreos.com" - resources: - - catalogsources - verbs: - - get - - list - - watch - - apiGroups: - - "packages.apps.redhat.com" - resources: - - packagemanifests - verbs: - - get - - list - - watch - - create - - delete - - patch - - update - deployments: - - name: packageserver - spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: packageserver - template: - metadata: - labels: - app: packageserver - spec: - serviceAccountName: packageserver - containers: - - name: packageserver - command: - - /bin/package-server - - -v=4 - - --secure-port - - "5443" - - --global-namespace - - openshift-operator-lifecycle-manager - image: quay.io/coreos/olm@sha256:1639d570809c5827810a1870763016e8c046283632d47e0b47183c82f8e515f2 - imagePullPolicy: Always - ports: - - containerPort: 5443 - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - maturity: alpha - version: 0.8.0 - apiservicedefinitions: - owned: - - group: packages.apps.redhat.com - version: v1alpha1 - kind: PackageManifest - displayName: PackageManifest - description: A PackageManifest is a resource generated from existing CatalogSources and their ConfigMaps - deploymentName: packageserver - containerPort: 5443 - packages: |- - - - packageName: packageserver - channels: - - name: alpha - currentCSV: packageserver.v0.8.0 - diff --git a/deploy/okd/manifests/0.8.0/0000_30_15-olm-operators.catalogsource.yaml b/deploy/okd/manifests/0.8.0/0000_30_15-olm-operators.catalogsource.yaml deleted file mode 100644 index 36190a949a..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_15-olm-operators.catalogsource.yaml +++ /dev/null @@ -1,14 +0,0 @@ -##--- -# Source: olm/templates/0000_30_15-olm-operators.catalogsource.yaml -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: olm-operators - displayName: OLM Operators - publisher: Red Hat diff --git a/deploy/okd/manifests/0.8.0/0000_30_16-operatorgroup-default.yaml b/deploy/okd/manifests/0.8.0/0000_30_16-operatorgroup-default.yaml deleted file mode 100644 index 808fa53a60..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_16-operatorgroup-default.yaml +++ /dev/null @@ -1,16 +0,0 @@ -##--- -# Source: olm/templates/0000_30_16-operatorgroup-default.yaml -apiVersion: operators.coreos.com/v1alpha2 -kind: OperatorGroup -metadata: - name: global-operators - namespace: openshift-operators ---- -apiVersion: operators.coreos.com/v1alpha2 -kind: OperatorGroup -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - targetNamespaces: - - openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.8.0/0000_30_17-packageserver.subscription.yaml b/deploy/okd/manifests/0.8.0/0000_30_17-packageserver.subscription.yaml deleted file mode 100644 index 706c438f14..0000000000 --- a/deploy/okd/manifests/0.8.0/0000_30_17-packageserver.subscription.yaml +++ /dev/null @@ -1,14 +0,0 @@ -##--- -# Source: olm/templates/0000_30_17-packageserver.subscription.yaml -#! validate-crd: ./deploy/chart/templates/04-subscription.crd.yaml -#! parse-kind: Subscription -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: packageserver - namespace: openshift-operator-lifecycle-manager -spec: - source: olm-operators - sourceNamespace: openshift-operator-lifecycle-manager - name: packageserver - channel: alpha diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_00-namespace.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_00-namespace.yaml deleted file mode 100644 index dee7dad37d..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_00-namespace.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - labels: - openshift.io/run-level: "1" ---- -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operators - labels: - openshift.io/run-level: "1" diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8cedb3c2ed..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_02-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_02-clusterserviceversion.crd.yaml deleted file mode 100644 index 3a8453efe7..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_02-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,767 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_02-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - - csvs - categories: - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - minKubeVersion: - type: string - description: Minimum kubernetes version requirement on the server to deploy operator - pattern: ^\bv?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - items: - type: object - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - nativeAPIs: - type: array - description: What resources are required by the Operator, but must be provided by the underlying cluster and not as an extension. - items: - type: object - required: - - group - - version - - kind - properties: - group: - type: string - description: Group of the API resource - version: - type: string - description: Version of the API resource - kind: - type: string - description: Kind of the API resource - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - deploymentName - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - name: - type: string - description: The plural name for the APIService provided - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - name: - type: string - description: The plural name for the APIService provided - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - installModes: - type: array - description: List of supported install modes for the operator - items: - type: object - description: A tuple representing a mode of installation and whether the operator supports it - required: - - type - - supported - properties: - type: - type: string - description: A type of install mode - enum: - - OwnNamespace - - SingleNamespace - - MultiNamespace - - AllNamespaces - supported: - type: boolean - description: Represents if the install mode type is supported - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - - use - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - required: - - verbs - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - nonResourceURLs: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - put - - post - - delete - - deletecollection - - initialize - - use - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_03-installplan.crd.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_03-installplan.crd.yaml deleted file mode 100644 index c7b8eab724..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_03-installplan.crd.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_03-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - shortNames: - - ip - categories: - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_04-subscription.crd.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_04-subscription.crd.yaml deleted file mode 100644 index 24d3648b62..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_04-subscription.crd.yaml +++ /dev/null @@ -1,74 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_04-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - shortNames: - - sub - - subs - categories: - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_05-catalogsource.crd.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_05-catalogsource.crd.yaml deleted file mode 100644 index c8a64bb133..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_05-catalogsource.crd.yaml +++ /dev/null @@ -1,129 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_05-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - shortNames: - - catsrc - categories: - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. `configmap` is the new name for `internal` - enum: - - internal # deprecated - - configmap - - grpc - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - address: - type: string - description: An optional address. When set, directs OLM to connect to use a pre-existing registry server at this address. - - image: - type: string - description: An image that serves a grpc registry. Only valid for `grpc` sourceType. If both image and address are set, OLM does not use the address field. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. - status: - type: object - description: The status of the CatalogSource - properties: - configMapReference: - type: object - description: If sourceType is `internal` or `configmap`, then this holds a reference to the configmap associated with this CatalogSource. - properties: - name: - type: string - description: name of the configmap - namespace: - type: string - description: namespace of the configmap - resourceVersion: - type: string - description: resourceVersion of the configmap - uid: - type: string - description: uid of the configmap - registryService: - type: object - properties: - protocol: - type: string - description: protocol of the registry service - enum: - - grpc - serviceName: - type: string - description: name of the registry service - serviceNamespace: - type: string - description: namespace of the registry service - port: - type: string - description: port of the registry service - lastSync: - type: string - description: the last time the catalog was updated. If this time is less than the last updated time on the object, the catalog will be re-cached. - diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_06-olm-operator.deployment.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_06-olm-operator.deployment.yaml deleted file mode 100644 index ef6905d243..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_06-olm-operator.deployment.yaml +++ /dev/null @@ -1,52 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_06-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - args: - - -writeStatusName - - operator-lifecycle-manager - image: quay.io/operator-framework/olm@sha256:4b7dec341fc754fdd2c8784ca7d81747ebbb2b87866b9e61ebbebc8c5614cfdc - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - nodeSelector: - beta.kubernetes.io/os: linux - diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_07-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_07-catalog-operator.deployment.yaml deleted file mode 100644 index 30a4909f65..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_07-catalog-operator.deployment.yaml +++ /dev/null @@ -1,45 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_07-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - args: - - '-namespace' - - openshift-operator-lifecycle-manager - - -configmapServerImage=quay.io/operatorframework/configmap-operator-registry:latest - image: quay.io/operator-framework/olm@sha256:4b7dec341fc754fdd2c8784ca7d81747ebbb2b87866b9e61ebbebc8c5614cfdc - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - nodeSelector: - beta.kubernetes.io/os: linux - diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_08-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_08-aggregated.clusterrole.yaml deleted file mode 100644 index 1d07e091a4..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_08-aggregated.clusterrole.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_08-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "admin", "edit" and "view" default roles - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_09-operatorgroup.crd.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_09-operatorgroup.crd.yaml deleted file mode 100644 index 3bac32d2ba..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_09-operatorgroup.crd.yaml +++ /dev/null @@ -1,96 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_09-operatorgroup.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: operatorgroups.operators.coreos.com -spec: - group: operators.coreos.com - version: v1alpha2 - versions: - - name: v1alpha2 - served: true - storage: true - names: - plural: operatorgroups - singular: operatorgroup - kind: OperatorGroup - listKind: OperatorGroupList - shortNames: - - og - categories: - - olm - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - properties: - selector: - type: object - description: Optional label selector to find resources associated with or managed by the operator - anyOf: - - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - required: - - matchLabels - - properties: - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - required: - - matchExpressions - targetNamespaces: - type: array - description: Optional list of target namespaces. If set, OLM will ignore selector. - items: - type: string - pattern: ^\S+$ - serviceAccountName: - type: string - staticProvidedAPIs: - type: boolean - description: If true, OLM will not modify the OperatorGroup's providedAPIs annotation. - type: object - status: - properties: - lastUpdated: - format: date-time - type: string - namespaces: - items: - type: string - type: array - required: - - namespaces - - lastUpdated - type: object - required: - - metadata \ No newline at end of file diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_10-olm-operators.configmap.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_10-olm-operators.configmap.yaml deleted file mode 100644 index abe9780aaf..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_10-olm-operators.configmap.yaml +++ /dev/null @@ -1,128 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_10-olm-operators.configmap.yaml -kind: ConfigMap -apiVersion: v1 -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager - -data: - customResourceDefinitions: |- - clusterServiceVersions: |- - - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: packageserver.v0.8.1 - namespace: openshift-operator-lifecycle-manager - spec: - displayName: Package Server - description: Represents an Operator package that is available from a given CatalogSource which will resolve to a ClusterServiceVersion. - minKubeVersion: 1.11.0 - keywords: ['packagemanifests', 'olm', 'packages'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Package Server - url: https://github.com/operator-framework/operator-lifecycle-manager/tree/master/pkg/package-server - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: true - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - clusterPermissions: - - serviceAccountName: packageserver - rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "operators.coreos.com" - resources: - - catalogsources - verbs: - - get - - list - - watch - - apiGroups: - - "packages.apps.redhat.com" - resources: - - packagemanifests - verbs: - - get - - list - deployments: - - name: packageserver - spec: - replicas: 2 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: packageserver - template: - metadata: - labels: - app: packageserver - spec: - serviceAccountName: packageserver - nodeSelector: - beta.kubernetes.io/os: linux - - containers: - - name: packageserver - command: - - /bin/package-server - - -v=4 - - --secure-port - - "5443" - - --global-namespace - - openshift-operator-lifecycle-manager - image: quay.io/operator-framework/olm@sha256:4b7dec341fc754fdd2c8784ca7d81747ebbb2b87866b9e61ebbebc8c5614cfdc - imagePullPolicy: Always - ports: - - containerPort: 5443 - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - maturity: alpha - version: 0.8.1 - apiservicedefinitions: - owned: - - group: packages.apps.redhat.com - version: v1alpha1 - kind: PackageManifest - name: packagemanifests - displayName: PackageManifest - description: A PackageManifest is a resource generated from existing CatalogSources and their ConfigMaps - deploymentName: packageserver - containerPort: 5443 - packages: |- - - - packageName: packageserver - channels: - - name: alpha - currentCSV: packageserver.v0.8.1 - diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_11-olm-operators.catalogsource.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_11-olm-operators.catalogsource.yaml deleted file mode 100644 index 9dd95f0699..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_11-olm-operators.catalogsource.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_11-olm-operators.catalogsource.yaml -#! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: olm-operators - displayName: OLM Operators - publisher: Red Hat diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_12-operatorgroup-default.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_12-operatorgroup-default.yaml deleted file mode 100644 index fdb0ee5629..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_12-operatorgroup-default.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_12-operatorgroup-default.yaml -apiVersion: operators.coreos.com/v1alpha2 -kind: OperatorGroup -metadata: - name: global-operators - namespace: openshift-operators ---- -apiVersion: operators.coreos.com/v1alpha2 -kind: OperatorGroup -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - targetNamespaces: - - openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.8.1/0000_50_olm_13-packageserver.subscription.yaml b/deploy/okd/manifests/0.8.1/0000_50_olm_13-packageserver.subscription.yaml deleted file mode 100644 index 1616e122b2..0000000000 --- a/deploy/okd/manifests/0.8.1/0000_50_olm_13-packageserver.subscription.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_13-packageserver.subscription.yaml -#! validate-crd: ./deploy/chart/templates/04-subscription.crd.yaml -#! parse-kind: Subscription -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: packageserver - namespace: openshift-operator-lifecycle-manager -spec: - source: olm-operators - sourceNamespace: openshift-operator-lifecycle-manager - name: packageserver - channel: alpha diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_00-namespace.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_00-namespace.yaml deleted file mode 100644 index 704c2cd2a3..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_00-namespace.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_00-namespace.yaml -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operator-lifecycle-manager - annotations: - openshift.io/node-selector: "" - ---- -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-operators - annotations: - openshift.io/node-selector: "" - diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_01-olm-operator.serviceaccount.yaml deleted file mode 100644 index 8cedb3c2ed..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_01-olm-operator.serviceaccount.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_01-olm-operator.serviceaccount.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: system:controller:operator-lifecycle-manager -rules: -- apiGroups: ["*"] - resources: ["*"] - verbs: ["*"] -- nonResourceURLs: ["*"] - verbs: ["*"] ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: olm-operator-binding-openshift-operator-lifecycle-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:controller:operator-lifecycle-manager -subjects: -- kind: ServiceAccount - name: olm-operator-serviceaccount - namespace: openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_03-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_03-clusterserviceversion.crd.yaml deleted file mode 100644 index f11ca58af5..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_03-clusterserviceversion.crd.yaml +++ /dev/null @@ -1,767 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_03-clusterserviceversion.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - - csvs - categories: - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - minKubeVersion: - type: string - description: Minimum kubernetes version requirement on the server to deploy operator - pattern: ^\bv?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - items: - type: object - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - nativeAPIs: - type: array - description: What resources are required by the Operator, but must be provided by the underlying cluster and not as an extension. - items: - type: object - required: - - group - - version - - kind - properties: - group: - type: string - description: Group of the API resource - version: - type: string - description: Version of the API resource - kind: - type: string - description: Kind of the API resource - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - deploymentName - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - name: - type: string - description: The plural name for the APIService provided - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - name: - type: string - description: The plural name for the APIService provided - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - installModes: - type: array - description: List of supported install modes for the operator - items: - type: object - description: A tuple representing a mode of installation and whether the operator supports it - required: - - type - - supported - properties: - type: - type: string - description: A type of install mode - enum: - - OwnNamespace - - SingleNamespace - - MultiNamespace - - AllNamespaces - supported: - type: boolean - description: Represents if the install mode type is supported - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - - use - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - required: - - verbs - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - nonResourceURLs: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - put - - post - - delete - - deletecollection - - initialize - - use - status: - type: object - description: Status for a ClusterServiceVersion diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_04-installplan.crd.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_04-installplan.crd.yaml deleted file mode 100644 index 3e83c677fb..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_04-installplan.crd.yaml +++ /dev/null @@ -1,79 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_04-installplan.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - shortNames: - - ip - categories: - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_05-subscription.crd.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_05-subscription.crd.yaml deleted file mode 100644 index 5ba0b3cd58..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_05-subscription.crd.yaml +++ /dev/null @@ -1,74 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_05-subscription.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subcribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - shortNames: - - sub - - subs - categories: - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_06-catalogsource.crd.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_06-catalogsource.crd.yaml deleted file mode 100644 index 26f0274274..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_06-catalogsource.crd.yaml +++ /dev/null @@ -1,129 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_06-catalogsource.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - shortNames: - - catsrc - categories: - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. `configmap` is the new name for `internal` - enum: - - internal # deprecated - - configmap - - grpc - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - address: - type: string - description: An optional address. When set, directs OLM to connect to use a pre-existing registry server at this address. - - image: - type: string - description: An image that serves a grpc registry. Only valid for `grpc` sourceType. If both image and address are set, OLM does not use the address field. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. - status: - type: object - description: The status of the CatalogSource - properties: - configMapReference: - type: object - description: If sourceType is `internal` or `configmap`, then this holds a reference to the configmap associated with this CatalogSource. - properties: - name: - type: string - description: name of the configmap - namespace: - type: string - description: namespace of the configmap - resourceVersion: - type: string - description: resourceVersion of the configmap - uid: - type: string - description: uid of the configmap - registryService: - type: object - properties: - protocol: - type: string - description: protocol of the registry service - enum: - - grpc - serviceName: - type: string - description: name of the registry service - serviceNamespace: - type: string - description: namespace of the registry service - port: - type: string - description: port of the registry service - lastSync: - type: string - description: the last time the catalog was updated. If this time is less than the last updated time on the object, the catalog will be re-cached. - diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_07-olm-operator.deployment.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_07-olm-operator.deployment.yaml deleted file mode 100644 index dca6e3d1f9..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_07-olm-operator.deployment.yaml +++ /dev/null @@ -1,57 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_07-olm-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: olm-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: olm-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: olm-operator - template: - metadata: - labels: - app: olm-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: olm-operator - command: - - /bin/olm - args: - - -writeStatusName - - operator-lifecycle-manager - image: quay.io/operator-framework/olm@sha256:7e4b13b89b3d59876b228697bbd0c9e364fd73f946ab90308c34fd82053a5a76 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - - containerPort: 8081 - name: metrics - protocol: TCP - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: OPERATOR_NAME - value: olm-operator - - - nodeSelector: - beta.kubernetes.io/os: linux - diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_08-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_08-catalog-operator.deployment.yaml deleted file mode 100644 index 4026c07553..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_08-catalog-operator.deployment.yaml +++ /dev/null @@ -1,52 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_08-catalog-operator.deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: catalog-operator - namespace: openshift-operator-lifecycle-manager - labels: - app: catalog-operator -spec: - strategy: - type: RollingUpdate - replicas: 1 - selector: - matchLabels: - app: catalog-operator - template: - metadata: - labels: - app: catalog-operator - spec: - serviceAccountName: olm-operator-serviceaccount - containers: - - name: catalog-operator - command: - - /bin/catalog - args: - - '-namespace' - - openshift-operator-lifecycle-manager - - -configmapServerImage=quay.io/operator-framework/configmap-operator-registry:latest - image: quay.io/operator-framework/olm@sha256:7e4b13b89b3d59876b228697bbd0c9e364fd73f946ab90308c34fd82053a5a76 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8080 - - containerPort: 8081 - name: metrics - protocol: TCP - livenessProbe: - httpGet: - path: /healthz - port: 8080 - readinessProbe: - httpGet: - path: /healthz - port: 8080 - env: - - - - nodeSelector: - beta.kubernetes.io/os: linux - diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_09-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_09-aggregated.clusterrole.yaml deleted file mode 100644 index 5bc6832fc4..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_09-aggregated.clusterrole.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_09-aggregated.clusterrole.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-edit - labels: - # Add these permissions to the "admin" and "edit" default roles. - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["create", "update", "patch", "delete"] ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: aggregate-olm-view - labels: - # Add these permissions to the "admin", "edit" and "view" default roles - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: -- apiGroups: ["operators.coreos.com"] - resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "packagemanifests"] - verbs: ["get", "list", "watch"] diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_10-operatorgroup.crd.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_10-operatorgroup.crd.yaml deleted file mode 100644 index e9a7de6698..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_10-operatorgroup.crd.yaml +++ /dev/null @@ -1,99 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_10-operatorgroup.crd.yaml -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: operatorgroups.operators.coreos.com -spec: - group: operators.coreos.com - version: v1 - versions: - - name: v1 - served: true - storage: true - - name: v1alpha2 - served: true - storage: false - names: - plural: operatorgroups - singular: operatorgroup - kind: OperatorGroup - listKind: OperatorGroupList - shortNames: - - og - categories: - - olm - scope: Namespaced - subresources: - # status enables the status subresource. - status: {} - validation: - openAPIV3Schema: - properties: - spec: - properties: - selector: - type: object - description: Optional label selector to find resources associated with or managed by the operator - anyOf: - - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - required: - - matchLabels - - properties: - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - required: - - matchExpressions - targetNamespaces: - type: array - description: Optional list of target namespaces. If set, OLM will ignore selector. - items: - type: string - pattern: ^\S+$ - serviceAccountName: - type: string - staticProvidedAPIs: - type: boolean - description: If true, OLM will not modify the OperatorGroup's providedAPIs annotation. - type: object - status: - properties: - lastUpdated: - format: date-time - type: string - namespaces: - items: - type: string - type: array - required: - - namespaces - - lastUpdated - type: object - required: - - metadata diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_11-olm-operators.configmap.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_11-olm-operators.configmap.yaml deleted file mode 100644 index d50fdd30dc..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_11-olm-operators.configmap.yaml +++ /dev/null @@ -1,131 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_11-olm-operators.configmap.yaml -kind: ConfigMap -apiVersion: v1 -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -data: - customResourceDefinitions: |- - clusterServiceVersions: |- - - apiVersion: operators.coreos.com/v1alpha1 - kind: ClusterServiceVersion - metadata: - name: packageserver.v0.9.0 - namespace: openshift-operator-lifecycle-manager - spec: - displayName: Package Server - description: Represents an Operator package that is available from a given CatalogSource which will resolve to a ClusterServiceVersion. - minKubeVersion: 1.11.0 - keywords: ['packagemanifests', 'olm', 'packages'] - maintainers: - - name: Red Hat - email: openshift-operators@redhat.com - provider: - name: Red Hat - links: - - name: Package Server - url: https://github.com/operator-framework/operator-lifecycle-manager/tree/master/pkg/package-server - installModes: - - type: OwnNamespace - supported: true - - type: SingleNamespace - supported: true - - type: MultiNamespace - supported: true - - type: AllNamespaces - supported: true - install: - strategy: deployment - spec: - clusterPermissions: - - serviceAccountName: packageserver - rules: - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create - - get - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "operators.coreos.com" - resources: - - catalogsources - verbs: - - get - - list - - watch - - apiGroups: - - "packages.operators.coreos.com" - resources: - - packagemanifests - verbs: - - get - - list - deployments: - - name: packageserver - spec: - strategy: - type: RollingUpdate - replicas: 2 - selector: - matchLabels: - app: packageserver - template: - metadata: - labels: - app: packageserver - spec: - serviceAccountName: packageserver - nodeSelector: - beta.kubernetes.io/os: linux - - containers: - - name: packageserver - command: - - /bin/package-server - - -v=4 - - --secure-port - - "5443" - - --global-namespace - - openshift-operator-lifecycle-manager - image: quay.io/operator-framework/olm@sha256:7e4b13b89b3d59876b228697bbd0c9e364fd73f946ab90308c34fd82053a5a76 - imagePullPolicy: Always - ports: - - containerPort: 5443 - livenessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - readinessProbe: - httpGet: - scheme: HTTPS - path: /healthz - port: 5443 - maturity: alpha - version: 0.9.0 - apiservicedefinitions: - owned: - - group: packages.operators.coreos.com - version: v1 - kind: PackageManifest - name: packagemanifests - displayName: PackageManifest - description: A PackageManifest is a resource generated from existing CatalogSources and their ConfigMaps - deploymentName: packageserver - containerPort: 5443 - packages: |- - - packageName: packageserver - channels: - - name: alpha - currentCSV: packageserver.v0.9.0 \ No newline at end of file diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_12-olm-operators.catalogsource.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_12-olm-operators.catalogsource.yaml deleted file mode 100644 index 5c643c57e3..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_12-olm-operators.catalogsource.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_12-olm-operators.catalogsource.yaml -#! validate-crd: ./deploy/chart/templates/06-catalogsource.crd.yaml -#! parse-kind: CatalogSource -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - sourceType: internal - configMap: olm-operators - displayName: OLM Operators - publisher: Red Hat diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_13-operatorgroup-default.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_13-operatorgroup-default.yaml deleted file mode 100644 index 59a45bf437..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_13-operatorgroup-default.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_13-operatorgroup-default.yaml -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: global-operators - namespace: openshift-operators ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: olm-operators - namespace: openshift-operator-lifecycle-manager -spec: - targetNamespaces: - - openshift-operator-lifecycle-manager diff --git a/deploy/okd/manifests/0.9.0/0000_50_olm_14-packageserver.subscription.yaml b/deploy/okd/manifests/0.9.0/0000_50_olm_14-packageserver.subscription.yaml deleted file mode 100644 index e0dcc85dfb..0000000000 --- a/deploy/okd/manifests/0.9.0/0000_50_olm_14-packageserver.subscription.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Source: olm/templates/0000_50_olm_14-packageserver.subscription.yaml -#! validate-crd: ./deploy/chart/templates/05-subscription.crd.yaml -#! parse-kind: Subscription -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: packageserver - namespace: openshift-operator-lifecycle-manager -spec: - source: olm-operators - sourceNamespace: openshift-operator-lifecycle-manager - name: packageserver - channel: alpha diff --git a/deploy/okd/manifests/latest b/deploy/okd/manifests/latest deleted file mode 120000 index 5d0a0a9962..0000000000 --- a/deploy/okd/manifests/latest +++ /dev/null @@ -1 +0,0 @@ -./0.10.0 \ No newline at end of file diff --git a/deploy/okd/values.yaml b/deploy/okd/values.yaml deleted file mode 100644 index 887e936ddf..0000000000 --- a/deploy/okd/values.yaml +++ /dev/null @@ -1,28 +0,0 @@ -installType: okd -rbacApiVersion: rbac.authorization.k8s.io -namespace: openshift-operator-lifecycle-manager -catalog_namespace: openshift-operator-lifecycle-manager -operator_namespace: openshift-operators -imagestream: false -writeStatusName: operator-lifecycle-manager -olm: - replicaCount: 1 - image: - ref: quay.io/operator-framework/olm@sha256:93751ae9d398d571c2cb3d11b0ac4ae052117fd1726025364a6f2f3a5caef68e - pullPolicy: IfNotPresent - service: - internalPort: 8080 -catalog: - replicaCount: 1 - image: - ref: quay.io/operator-framework/olm@sha256:93751ae9d398d571c2cb3d11b0ac4ae052117fd1726025364a6f2f3a5caef68e - pullPolicy: IfNotPresent - service: - internalPort: 8080 -package: - replicaCount: 2 - image: - ref: quay.io/operator-framework/olm@sha256:93751ae9d398d571c2cb3d11b0ac4ae052117fd1726025364a6f2f3a5caef68e - pullPolicy: Always - service: - internalPort: 5443 diff --git a/deploy/upstream/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml b/deploy/upstream/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml index c1d22dddec..43c9b708e5 100644 --- a/deploy/upstream/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml +++ b/deploy/upstream/manifests/0.10.0/0000_50_olm_10-operatorgroup.crd.yaml @@ -93,7 +93,6 @@ spec: type: string type: array required: - - namespaces - lastUpdated type: object required: diff --git a/deploy/okd/manifests/0.10.0/0000_50_olm_03-clusterserviceversion.crd.yaml b/deploy/upstream/quickstart/crds.yaml similarity index 74% rename from deploy/okd/manifests/0.10.0/0000_50_olm_03-clusterserviceversion.crd.yaml rename to deploy/upstream/quickstart/crds.yaml index 404109e5e0..b8e73d7571 100644 --- a/deploy/okd/manifests/0.10.0/0000_50_olm_03-clusterserviceversion.crd.yaml +++ b/deploy/upstream/quickstart/crds.yaml @@ -1,5 +1,4 @@ --- -# Source: olm/templates/0000_50_olm_03-clusterserviceversion.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: @@ -42,7 +41,6 @@ spec: storage: true scope: Namespaced subresources: - # status enables the status subresource. status: {} validation: openAPIV3Schema: @@ -766,3 +764,379 @@ spec: status: type: object description: Status for a ClusterServiceVersion +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: installplans.operators.coreos.com + annotations: + displayName: Install Plan + description: Represents a plan to install and resolve dependencies for Cluster Services +spec: + group: operators.coreos.com + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + scope: Namespaced + names: + plural: installplans + singular: installplan + kind: InstallPlan + listKind: InstallPlanList + shortNames: + - ip + categories: + - olm + additionalPrinterColumns: + - name: CSV + type: string + description: The first CSV in the list of clusterServiceVersionNames + JSONPath: .spec.clusterServiceVersionNames[0] + - name: Source + type: string + description: The catalog source for the specified CSVs. + JSONPath: .spec.source + - name: Approval + type: string + description: The approval mode + JSONPath: .spec.approval + - name: Approved + type: boolean + JSONPath: .spec.approved + subresources: + status: {} + validation: + openAPIV3Schema: + description: Represents a plan to install and resolve dependencies for Cluster Services. + properties: + spec: + type: object + description: Spec for an InstallPlan + required: + - clusterServiceVersionNames + - approval + properties: + source: + type: string + description: Name of the preferred CatalogSource + sourceNamespace: + type: string + description: Namespace that contains the preffered CatalogSource + clusterServiceVersionNames: + type: array + description: A list of the names of the Cluster Services + items: + type: string + anyOf: + - properties: + approval: + enum: + - Manual + approved: + type: boolean + required: + - approved + - properties: + approval: + enum: + - Automatic +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: subscriptions.operators.coreos.com + annotations: + displayName: Subscription + description: Subscribes service catalog to a source and channel to recieve updates for packages. +spec: + group: operators.coreos.com + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + scope: Namespaced + names: + plural: subscriptions + singular: subscription + kind: Subscription + listKind: SubscriptionList + shortNames: + - sub + - subs + categories: + - olm + additionalPrinterColumns: + - name: Package + type: string + description: The package subscribed to + JSONPath: .spec.name + - name: Source + type: string + description: The catalog source for the specified package + JSONPath: .spec.source + - name: Channel + type: string + description: The channel of updates to subscribe to + JSONPath: .spec.channel + subresources: + status: {} + validation: + openAPIV3Schema: + description: Subscribes service catalog to a source and channel to recieve updates for packages. + properties: + spec: + type: object + description: Spec for a Subscription + required: + - source + - name + properties: + source: + type: string + description: Name of a CatalogSource that defines where and how to find the channel + sourceNamespace: + type: string + description: The Kubernetes namespace where the CatalogSource used is located + name: + type: string + description: Name of the package that defines the application + channel: + type: string + description: Name of the channel to track + startingCSV: + type: string + description: Name of the AppType that this subscription tracks + installPlanApproval: + type: string + description: Approval mode for emitted InstallPlans + enum: + - Manual + - Automatic +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: catalogsources.operators.coreos.com + annotations: + displayName: CatalogSource + description: A source configured to find packages and updates. +spec: + group: operators.coreos.com + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true + scope: Namespaced + names: + plural: catalogsources + singular: catalogsource + kind: CatalogSource + listKind: CatalogSourceList + shortNames: + - catsrc + categories: + - olm + additionalPrinterColumns: + - name: Name + type: string + description: The pretty name of the catalog + JSONPath: .spec.displayName + - name: Type + type: string + description: The type of the catalog + JSONPath: .spec.sourceType + - name: Publisher + type: string + description: The publisher of the catalog + JSONPath: .spec.publisher + - name: Age + type: date + JSONPath: .metadata.creationTimestamp + subresources: + status: {} + validation: + openAPIV3Schema: + description: A source configured to find packages and updates. + properties: + spec: + type: object + description: Spec for a catalog source. + required: + - sourceType + properties: + sourceType: + type: string + description: The type of the source. `configmap` is the new name for `internal` + enum: + - internal # deprecated + - configmap + - grpc + + configMap: + type: string + description: The name of a ConfigMap that holds the entries for an in-memory catalog. + + address: + type: string + description: An optional address. When set, directs OLM to connect to use a pre-existing registry server at this address. + + image: + type: string + description: An image that serves a grpc registry. Only valid for `grpc` sourceType. If both image and address are set, OLM does not use the address field. + + displayName: + type: string + description: Pretty name for display + + publisher: + type: string + description: The name of an entity that publishes this catalog + + secrets: + type: array + description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. + items: + type: string + description: A name of a secret in the namespace where the CatalogSource is defined. + status: + type: object + description: The status of the CatalogSource + properties: + configMapReference: + type: object + description: If sourceType is `internal` or `configmap`, then this holds a reference to the configmap associated with this CatalogSource. + properties: + name: + type: string + description: name of the configmap + namespace: + type: string + description: namespace of the configmap + resourceVersion: + type: string + description: resourceVersion of the configmap + uid: + type: string + description: uid of the configmap + registryService: + type: object + properties: + protocol: + type: string + description: protocol of the registry service + enum: + - grpc + serviceName: + type: string + description: name of the registry service + serviceNamespace: + type: string + description: namespace of the registry service + port: + type: string + description: port of the registry service + lastSync: + type: string + description: the last time the catalog was updated. If this time is less than the last updated time on the object, the catalog will be re-cached. + +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: operatorgroups.operators.coreos.com +spec: + group: operators.coreos.com + version: v1 + versions: + - name: v1 + served: true + storage: true + - name: v1alpha2 + served: true + storage: false + names: + plural: operatorgroups + singular: operatorgroup + kind: OperatorGroup + listKind: OperatorGroupList + shortNames: + - og + categories: + - olm + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + description: A grouping of namespaces for usage with an operator. + properties: + spec: + properties: + selector: + type: object + description: Optional label selector to find resources associated with or managed by the operator + anyOf: + - properties: + matchLabels: + type: object + description: Label key:value pairs to match directly + required: + - matchLabels + - properties: + matchExpressions: + type: array + description: A set of expressions to match against the resource. + items: + allOf: + - type: object + required: + - key + - operator + - values + properties: + key: + type: string + description: the key to match + operator: + type: string + description: the operator for the expression + enum: + - In + - NotIn + - Exists + - DoesNotExist + values: + type: array + description: set of values for the expression + required: + - matchExpressions + targetNamespaces: + type: array + description: Optional list of target namespaces. If set, OLM will ignore selector. + items: + type: string + pattern: ^\S+$ + serviceAccountName: + type: string + staticProvidedAPIs: + type: boolean + description: If true, OLM will not modify the OperatorGroup's providedAPIs annotation. + type: object + status: + properties: + lastUpdated: + format: date-time + type: string + namespaces: + items: + type: string + type: array + required: + - lastUpdated + type: object + required: + - metadata diff --git a/deploy/upstream/quickstart/install.sh b/deploy/upstream/quickstart/install.sh new file mode 100755 index 0000000000..9f7083f246 --- /dev/null +++ b/deploy/upstream/quickstart/install.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + + +# This script is for installing OLM from a GitHub release + +set -e + +if [[ ${#@} -ne 1 ]]; then + echo "Usage: $0 version" + echo "* version: the github release version" + exit 1 +fi + +release=$1 +url=https://github.com/operator-framework/operator-lifecycle-manager/releases/download/${release} +namespace=olm + +kubectl apply -f ${url}/crds.yaml +kubectl apply -f ${url}/olm.yaml + +# wait for deployments to be ready +kubectl rollout status -w deployment/olm-operator --namespace="${namespace}" +kubectl rollout status -w deployment/catalog-operator --namespace="${namespace}" + +retries=50 +until [[ $retries == 0 || $new_csv_phase == "Succeeded" ]]; do + new_csv_phase=$(kubectl get csv -n "${namespace}" packageserver.v${release} -o jsonpath='{.status.phase}' 2>/dev/null || echo "Waiting for CSV to appear") + if [[ $new_csv_phase != "$csv_phase" ]]; then + csv_phase=$new_csv_phase + echo "Package server phase: $csv_phase" + fi + sleep 1 + retries=$((retries - 1)) +done + +if [ $retries == 0 ]; then + echo "CSV \"packageserver\" failed to reach phase succeeded" + exit 1 +fi + +kubectl rollout status -w deployment/packageserver --namespace="${namespace}" diff --git a/deploy/upstream/quickstart/olm.yaml b/deploy/upstream/quickstart/olm.yaml index 50681fd0e4..1642465e08 100644 --- a/deploy/upstream/quickstart/olm.yaml +++ b/deploy/upstream/quickstart/olm.yaml @@ -41,1051 +41,6 @@ subjects: name: olm-operator-serviceaccount namespace: olm --- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: clusterserviceversions.operators.coreos.com - annotations: - displayName: Operator Version - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. -spec: - names: - plural: clusterserviceversions - singular: clusterserviceversion - kind: ClusterServiceVersion - listKind: ClusterServiceVersionList - shortNames: - - csv - - csvs - categories: - - olm - additionalPrinterColumns: - - name: Display - type: string - description: The name of the CSV - JSONPath: .spec.displayName - - name: Version - type: string - description: The version of the CSV - JSONPath: .spec.version - - name: Replaces - type: string - description: The name of a CSV that this one replaces - JSONPath: .spec.replaces - - name: Phase - type: string - JSONPath: .status.phase - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: Represents an Operator that should be running on the cluster, including requirements and install strategy. - properties: - spec: - type: object - description: Spec for a ClusterServiceVersion - required: - - displayName - - install - properties: - displayName: - type: string - description: Human readable name of the application that will be displayed in the ALM UI - - description: - type: string - description: Human readable description of what the application does - - minKubeVersion: - type: string - description: Minimum kubernetes version requirement on the server to deploy operator - pattern: ^\bv?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - keywords: - type: array - description: List of keywords which will be used to discover and categorize app types - items: - type: string - - maintainers: - type: array - description: Those responsible for the creation of this specific app type - items: - type: object - description: Information for a single maintainer - required: - - name - - email - properties: - name: - type: string - description: Maintainer's name - email: - type: string - description: Maintainer's email address - format: email - optionalProperties: - type: string - description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: " - - links: - type: array - description: Interesting links to find more information about the project, such as marketing page, documentation, or github page - items: - type: object - description: A single link to describe one aspect of the project - required: - - name - - url - properties: - name: - type: string - description: Name of the link type, e.g. homepage or github url - url: - type: string - description: URL to which the link should point - format: uri - - icon: - type: array - description: Icon which should be rendered with the application information - items: - type: object - required: - - base64data - - mediatype - properties: - base64data: - type: string - description: Base64 binary representation of the icon image - mediatype: - type: string - description: Mediatype for the binary data specified in the base64data property - enum: - - image/gif - - image/jpeg - - image/png - - image/svg+xml - version: - type: string - description: Version string, recommended that users use semantic versioning - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$ - - replaces: - type: string - description: Name of the ClusterServiceVersion custom resource that this version replaces - - maturity: - type: string - description: What level of maturity the software has achieved at this version - enum: - - planning - - pre-alpha - - alpha - - beta - - stable - - mature - - inactive - - deprecated - labels: - type: object - description: Labels that will be applied to associated resources created by the operator. - selector: - type: object - description: Label selector to find resources associated with or managed by the operator - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - nativeAPIs: - type: array - description: What resources are required by the Operator, but must be provided by the underlying cluster and not as an extension. - items: - type: object - required: - - group - - version - - kind - properties: - group: - type: string - description: Group of the API resource - version: - type: string - description: Version of the API resource - kind: - type: string - description: Kind of the API resource - apiservicedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - deploymentName - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - name: - type: string - description: The plural name for the APIService provided - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the APIService - required: - - kind - - version - properties: - name: - type: string - description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the APIService resource. - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the API resource - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - group - - version - - kind - - name - - displayName - - description - properties: - group: - type: string - description: Group of the APIService (e.g. app.coreos.com) - version: - type: string - description: The version field of the APIService - kind: - type: string - description: The kind field of the APIService - name: - type: string - description: The plural name for the APIService provided - deploymentName: - type: string - description: Name of the extension api-server's deployment - containerPort: - type: number - description: Port where the extension api-server serves TLS traffic - displayName: - type: string - description: A human-readable name for the APIService. - description: - type: string - description: A description of the APIService - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the APIService - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the API Resource where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource. - - customresourcedefinitions: - type: object - properties: - owned: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - resources: - type: array - items: - type: object - description: A list of resources that should be displayed for the CRD - required: - - kind - - version - properties: - name: - type: string - description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version of the resource kind - kind: - type: string - description: The kind field of the resource kind - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - specDescriptors: - type: array - items: - type: object - description: A spec for a field in the spec block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the spec entry. - description: - type: string - description: A description of the spec entry. - x-descriptors: - type: array - description: A list of descriptors for the spec entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR. - actionDescriptors: - type: array - items: - type: object - description: A spec for actions that can be performed on instances of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the spec object on the CR where the the spec value can be found. - displayName: - type: string - description: A human-readable name for the action. - description: - type: string - description: A description of the action. - x-descriptors: - type: array - description: A list of descriptors for the action that indicate the meaning of the action. - items: - type: string - value: - description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR. - required: - type: array - description: What resources this operator is responsible for managing. No two running operators should manage the same resource. - items: - type: object - required: - - name - - version - - kind - - displayName - - description - properties: - name: - type: string - description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com) - version: - type: string - description: The version field of the CustomResourceDefinition - kind: - type: string - description: The kind field of the CustomResourceDefinition - displayName: - type: string - description: A human-readable name for the CRD. - description: - type: string - description: A description of the CRD - statusDescriptors: - type: array - items: - type: object - description: A spec for a field in the status block of the CRD - required: - - path - - displayName - - description - properties: - path: - type: string - description: A jsonpath indexing into the status object on the CR where the the status value can be found. - displayName: - type: string - description: A human-readable name for the status entry. - description: - type: string - description: A description of the status entry. - x-descriptors: - type: array - description: A list of descriptors for the status entry that indicate the meaning of the field. - items: - type: string - value: - description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR. - - - install: - type: object - description: Information required to install this specific version of the operator software - oneOf: - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['image'] - spec: - type: object - required: - - image - properties: - image: - type: string - - type: object - required: - - strategy - - spec - properties: - strategy: - type: string - enum: ['deployment'] - spec: - type: object - required: - - deployments - properties: - installModes: - type: array - description: List of supported install modes for the operator - items: - type: object - description: A tuple representing a mode of installation and whether the operator supports it - required: - - type - - supported - properties: - type: - type: string - description: A type of install mode - enum: - - OwnNamespace - - SingleNamespace - - MultiNamespace - - AllNamespaces - supported: - type: boolean - description: Represents if the install mode type is supported - deployments: - type: array - description: List of deployments to create - items: - type: object - description: A name and deployment to create in the cluster - required: - - name - - spec - properties: - name: - type: string - description: the consistent name of the deployment - spec: - type: object - description: The deployment spec to create in the cluster - permissions: - type: array - description: Permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - delete - - deletecollection - - initialize - - use - clusterPermissions: - type: array - description: Cluster permissions needed by the deployement to run correctly - items: - type: object - required: - - serviceAccountName - - rules - properties: - serviceAccountName: - type: string - description: The service account name to create for the deployment - rules: - type: array - items: - type: object - required: - - verbs - description: a rule required by the service account - properties: - apiGroups: - type: array - description: apiGroups the rule applies to - items: - type: string - resources: - type: array - items: - type: string - resourceNames: - type: array - items: - type: string - nonResourceURLs: - type: array - items: - type: string - verbs: - type: array - items: - type: string - enum: - - "*" - - assign - - get - - list - - watch - - create - - update - - patch - - put - - post - - delete - - deletecollection - - initialize - - use - status: - type: object - description: Status for a ClusterServiceVersion ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: installplans.operators.coreos.com - annotations: - displayName: Install Plan - description: Represents a plan to install and resolve dependencies for Cluster Services -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: installplans - singular: installplan - kind: InstallPlan - listKind: InstallPlanList - shortNames: - - ip - categories: - - olm - additionalPrinterColumns: - - name: CSV - type: string - description: The first CSV in the list of clusterServiceVersionNames - JSONPath: .spec.clusterServiceVersionNames[0] - - name: Source - type: string - description: The catalog source for the specified CSVs. - JSONPath: .spec.source - - name: Approval - type: string - description: The approval mode - JSONPath: .spec.approval - - name: Approved - type: boolean - JSONPath: .spec.approved - subresources: - status: {} - validation: - openAPIV3Schema: - description: Represents a plan to install and resolve dependencies for Cluster Services. - properties: - spec: - type: object - description: Spec for an InstallPlan - required: - - clusterServiceVersionNames - - approval - properties: - source: - type: string - description: Name of the preferred CatalogSource - sourceNamespace: - type: string - description: Namespace that contains the preffered CatalogSource - clusterServiceVersionNames: - type: array - description: A list of the names of the Cluster Services - items: - type: string - anyOf: - - properties: - approval: - enum: - - Manual - approved: - type: boolean - required: - - approved - - properties: - approval: - enum: - - Automatic ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: subscriptions.operators.coreos.com - annotations: - displayName: Subscription - description: Subscribes service catalog to a source and channel to recieve updates for packages. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: subscriptions - singular: subscription - kind: Subscription - listKind: SubscriptionList - shortNames: - - sub - - subs - categories: - - olm - additionalPrinterColumns: - - name: Package - type: string - description: The package subscribed to - JSONPath: .spec.name - - name: Source - type: string - description: The catalog source for the specified package - JSONPath: .spec.source - - name: Channel - type: string - description: The channel of updates to subscribe to - JSONPath: .spec.channel - subresources: - status: {} - validation: - openAPIV3Schema: - description: Subscribes service catalog to a source and channel to recieve updates for packages. - properties: - spec: - type: object - description: Spec for a Subscription - required: - - source - - name - properties: - source: - type: string - description: Name of a CatalogSource that defines where and how to find the channel - sourceNamespace: - type: string - description: The Kubernetes namespace where the CatalogSource used is located - name: - type: string - description: Name of the package that defines the application - channel: - type: string - description: Name of the channel to track - startingCSV: - type: string - description: Name of the AppType that this subscription tracks - installPlanApproval: - type: string - description: Approval mode for emitted InstallPlans - enum: - - Manual - - Automatic ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: catalogsources.operators.coreos.com - annotations: - displayName: CatalogSource - description: A source configured to find packages and updates. -spec: - group: operators.coreos.com - version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true - scope: Namespaced - names: - plural: catalogsources - singular: catalogsource - kind: CatalogSource - listKind: CatalogSourceList - shortNames: - - catsrc - categories: - - olm - additionalPrinterColumns: - - name: Name - type: string - description: The pretty name of the catalog - JSONPath: .spec.displayName - - name: Type - type: string - description: The type of the catalog - JSONPath: .spec.sourceType - - name: Publisher - type: string - description: The publisher of the catalog - JSONPath: .spec.publisher - - name: Age - type: date - JSONPath: .metadata.creationTimestamp - subresources: - status: {} - validation: - openAPIV3Schema: - description: A source configured to find packages and updates. - properties: - spec: - type: object - description: Spec for a catalog source. - required: - - sourceType - properties: - sourceType: - type: string - description: The type of the source. `configmap` is the new name for `internal` - enum: - - internal # deprecated - - configmap - - grpc - - configMap: - type: string - description: The name of a ConfigMap that holds the entries for an in-memory catalog. - - address: - type: string - description: An optional address. When set, directs OLM to connect to use a pre-existing registry server at this address. - - image: - type: string - description: An image that serves a grpc registry. Only valid for `grpc` sourceType. If both image and address are set, OLM does not use the address field. - - displayName: - type: string - description: Pretty name for display - - publisher: - type: string - description: The name of an entity that publishes this catalog - - secrets: - type: array - description: A set of secrets that can be used to access the contents of the catalog. It is best to keep this list small, since each will need to be tried for every catalog entry. - items: - type: string - description: A name of a secret in the namespace where the CatalogSource is defined. - status: - type: object - description: The status of the CatalogSource - properties: - configMapReference: - type: object - description: If sourceType is `internal` or `configmap`, then this holds a reference to the configmap associated with this CatalogSource. - properties: - name: - type: string - description: name of the configmap - namespace: - type: string - description: namespace of the configmap - resourceVersion: - type: string - description: resourceVersion of the configmap - uid: - type: string - description: uid of the configmap - registryService: - type: object - properties: - protocol: - type: string - description: protocol of the registry service - enum: - - grpc - serviceName: - type: string - description: name of the registry service - serviceNamespace: - type: string - description: namespace of the registry service - port: - type: string - description: port of the registry service - lastSync: - type: string - description: the last time the catalog was updated. If this time is less than the last updated time on the object, the catalog will be re-cached. - ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -1226,103 +181,6 @@ rules: resources: ["packagemanifests"] verbs: ["get", "list", "watch"] --- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - name: operatorgroups.operators.coreos.com -spec: - group: operators.coreos.com - version: v1 - versions: - - name: v1 - served: true - storage: true - - name: v1alpha2 - served: true - storage: false - names: - plural: operatorgroups - singular: operatorgroup - kind: OperatorGroup - listKind: OperatorGroupList - shortNames: - - og - categories: - - olm - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - description: A grouping of namespaces for usage with an operator. - properties: - spec: - properties: - selector: - type: object - description: Optional label selector to find resources associated with or managed by the operator - anyOf: - - properties: - matchLabels: - type: object - description: Label key:value pairs to match directly - required: - - matchLabels - - properties: - matchExpressions: - type: array - description: A set of expressions to match against the resource. - items: - allOf: - - type: object - required: - - key - - operator - - values - properties: - key: - type: string - description: the key to match - operator: - type: string - description: the operator for the expression - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: set of values for the expression - required: - - matchExpressions - targetNamespaces: - type: array - description: Optional list of target namespaces. If set, OLM will ignore selector. - items: - type: string - pattern: ^\S+$ - serviceAccountName: - type: string - staticProvidedAPIs: - type: boolean - description: If true, OLM will not modify the OperatorGroup's providedAPIs annotation. - type: object - status: - properties: - lastUpdated: - format: date-time - type: string - namespaces: - items: - type: string - type: array - required: - - lastUpdated - type: object - required: - - metadata ---- kind: ConfigMap apiVersion: v1 metadata: diff --git a/deploy/upstream/values.yaml b/deploy/upstream/values.yaml index fe73478901..8ebccc21d6 100644 --- a/deploy/upstream/values.yaml +++ b/deploy/upstream/values.yaml @@ -27,4 +27,4 @@ package: service: internalPort: 5443 catalog_sources: -- rh-operators +- rh-operators \ No newline at end of file diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100755 index 0000000000..9f7083f246 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + + +# This script is for installing OLM from a GitHub release + +set -e + +if [[ ${#@} -ne 1 ]]; then + echo "Usage: $0 version" + echo "* version: the github release version" + exit 1 +fi + +release=$1 +url=https://github.com/operator-framework/operator-lifecycle-manager/releases/download/${release} +namespace=olm + +kubectl apply -f ${url}/crds.yaml +kubectl apply -f ${url}/olm.yaml + +# wait for deployments to be ready +kubectl rollout status -w deployment/olm-operator --namespace="${namespace}" +kubectl rollout status -w deployment/catalog-operator --namespace="${namespace}" + +retries=50 +until [[ $retries == 0 || $new_csv_phase == "Succeeded" ]]; do + new_csv_phase=$(kubectl get csv -n "${namespace}" packageserver.v${release} -o jsonpath='{.status.phase}' 2>/dev/null || echo "Waiting for CSV to appear") + if [[ $new_csv_phase != "$csv_phase" ]]; then + csv_phase=$new_csv_phase + echo "Package server phase: $csv_phase" + fi + sleep 1 + retries=$((retries - 1)) +done + +if [ $retries == 0 ]; then + echo "CSV \"packageserver\" failed to reach phase succeeded" + exit 1 +fi + +kubectl rollout status -w deployment/packageserver --namespace="${namespace}" diff --git a/scripts/package_quickstart.sh b/scripts/package_quickstart.sh index c809d8eb74..79efef6e5c 100755 --- a/scripts/package_quickstart.sh +++ b/scripts/package_quickstart.sh @@ -1,15 +1,35 @@ #!/usr/bin/env bash -if [[ ${#@} < 2 ]]; then +if [[ ${#@} < 3 ]]; then echo "Usage: $0 concatenate OLM's Kubernetes manifests into a single YAML stream and writes the result to a file" echo "* dir: the input directory that contains OLM's Kubernetes manifests" echo "* out: the output file for the combined OLM Kubernetes manifest" + echo "* outcrds: the output file for the combined OLM CRD manifest" + echo "* outscript: the output install script" exit 1 fi dir=$1 out=$2 +outcrds=$3 +outscript=$4 -awk 'NR==1 && !/^---*/ {print "---"} !/^[[:space:]]*#/ {print}' ${dir}/*.yaml > ${out} && \ - echo "Wrote manifest to ${out}" +rm -f ${out} +rm -f ${outcrds} +touch ${out} +touch ${outcrds} + +for f in ${dir}/*.yaml +do + if [[ $f == *.crd.yaml ]] + then + awk 'NR==1 && !/^---*/ {print "---"} !/^[[:space:]]*#/ {print}' $f >> ${outcrds} + else + awk 'NR==1 && !/^---*/ {print "---"} !/^[[:space:]]*#/ {print}' $f >> ${out} + fi +done + +echo "Wrote manifests to ${out} and ${outcrds}" + +cp scripts/install.sh ${outscript}