From 8de25c2a607268ab0b700a9374c5294c0b8792b2 Mon Sep 17 00:00:00 2001 From: ovk6 Date: Wed, 25 Mar 2020 15:31:48 +0100 Subject: [PATCH] Fix image references in README's (#909) --- k8s/activemq/README.md | 32 ++++++-- k8s/cassandra/README.md | 48 +++++------ k8s/cert-manager/README.md | 44 ++++++---- k8s/consul/README.md | 39 +++++---- k8s/drupal/README.md | 67 ++++++++------- k8s/elastic-gke-logging/README.md | 59 ++++++------- k8s/elasticsearch/README.md | 51 ++++++------ k8s/etcd/README.md | 51 ++++++------ k8s/hazelcast/README.md | 42 +++++++--- k8s/jaeger-operator/README.md | 32 ++++++-- k8s/joomla/README.md | 73 +++++++++-------- k8s/magento/README.md | 82 +++++++++---------- k8s/mariadb-galera/README.md | 58 +++++++------ k8s/mariadb/README.md | 59 ++++++------- k8s/mediawiki/README.md | 73 +++++++++-------- k8s/memcached/README.md | 59 +++++++------ k8s/nginx/README.md | 52 ++++++------ k8s/nuclio/README.md | 26 ++++-- .../templates/deployment/controller.yaml | 2 +- .../templates/deployment/dashboard.yaml | 2 +- k8s/nuclio/chart/nuclio/values.yaml | 4 +- k8s/nuclio/schema.yaml | 4 +- k8s/postgresql/README.md | 43 +++++----- k8s/prometheus-operator/README.md | 30 +++++-- .../templates/deployment/operator.yaml | 2 +- .../chart/prometheus-operator/values.yaml | 2 +- k8s/prometheus-operator/schema.yaml | 2 +- k8s/rabbitmq/README.md | 59 ++++++------- k8s/sonarqube/README.md | 59 ++++++------- k8s/wordpress/README.md | 68 +++++++-------- k8s/zookeeper/README.md | 72 ++++++++-------- .../zookeeper/templates/statefulset.yaml | 2 +- k8s/zookeeper/chart/zookeeper/values.yaml | 5 +- k8s/zookeeper/schema.yaml | 4 +- 34 files changed, 708 insertions(+), 599 deletions(-) diff --git a/k8s/activemq/README.md b/k8s/activemq/README.md index ba5e57fcb3..934efe8443 100644 --- a/k8s/activemq/README.md +++ b/k8s/activemq/README.md @@ -117,11 +117,27 @@ export APP_INSTANCE_NAME=activemq-1 export NAMESPACE=default ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/activemq). +Example: + +```shell +export TAG="5.15.11-20200311-092341" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="5.15" +``` + Configure the container images: ```shell -export TAG=5.15.10 -export IMAGE_ACTIVEMQ="marketplace.gcr.io/google/activemq5" +export IMAGE_ACTIVEMQ="marketplace.gcr.io/google/activemq" ``` Set or generate password for ActiveMQ console: @@ -159,12 +175,12 @@ expanded manifest file for future updates to your app. helm template chart/activemq \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "image.repo=${IMAGE_ACTIVEMQ}" \ - --set "image.tag=${TAG}" \ - --set "persistence.storageClass=${STORAGE_CLASS}" \ - --set "persistence.size=${PERSISTENT_DISK_SIZE}" \ - --set "consolePassword=${ACTIVEMQ_ADMIN_PASSWORD}" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set image.repo="${IMAGE_ACTIVEMQ}" \ + --set image.tag="${TAG}" \ + --set persistence.storageClass="${STORAGE_CLASS}" \ + --set persistence.size="${PERSISTENT_DISK_SIZE}" \ + --set consolePassword="${ACTIVEMQ_ADMIN_PASSWORD}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/cassandra/README.md b/k8s/cassandra/README.md index 036102ba5d..831ce5eb14 100644 --- a/k8s/cassandra/README.md +++ b/k8s/cassandra/README.md @@ -145,29 +145,29 @@ option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` -Configure the container images: + +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/cassandra). +Example: ```shell -TAG=3.11 -export IMAGE_CASSANDRA="marketplace.gcr.io/google/cassandra:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/cassandra/prometheus-to-sd:${TAG}" +export TAG="3.11.5-20200213-133738" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_CASSANDRA" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done +export TAG="3.11" +``` + +Configure the container images: + +```shell +export IMAGE_CASSANDRA="marketplace.gcr.io/google/cassandra" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/cassandra/prometheus-to-sd:${TAG}" ``` #### Create the namespace in your Kubernetes cluster @@ -186,12 +186,14 @@ expanded manifest file for future updates to the application. ```shell helm template chart/cassandra \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set cassandra.image=$IMAGE_CASSANDRA \ - --set cassandra.replicas=$REPLICAS \ - --set metrics.image=$IMAGE_METRICS_EXPORTER \ - --set metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED > "${APP_INSTANCE_NAME}_manifest.yaml" + --name "${APP_INSTANCE_NAME}" \ + --namespace "${NAMESPACE}" \ + --set cassandra.image.repo="${IMAGE_CASSANDRA}" \ + --set cassandra.image.tag="${TAG}" \ + --set cassandra.replicas="${REPLICAS}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/cert-manager/README.md b/k8s/cert-manager/README.md index 0c0e5e9f51..b71d412059 100644 --- a/k8s/cert-manager/README.md +++ b/k8s/cert-manager/README.md @@ -127,10 +127,26 @@ this option, change the value to `true`. export METRICS_EXPORTER_ENABLED=true ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/cert-manager). +Example: + +```shell +export TAG="0.13.0-20200311-092536" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="0.13" +``` + Configure the container image: ```shell -export TAG=0.13 export IMAGE_CONTROLLER="marketplace.gcr.io/google/cert-manager" export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/cert-manager/prometheus-to-sd:${TAG}" ``` @@ -190,20 +206,20 @@ expanded manifest file for future updates to the app. ```shell helm template chart/cert-manager \ - --name ${APP_INSTANCE_NAME} \ - --namespace="${NAMESPACE}" \ - --set controller.image.repo=${IMAGE_CONTROLLER} \ - --set controller.image.tag=${TAG} \ - --set controller.serviceAccountName=${CONTROLLER_SERVICE_ACCOUNT} \ - --set controller.replicas=${CONTROLLER_REPLICAS:-1} \ + --name "${APP_INSTANCE_NAME}" \ + --namespace "${NAMESPACE}" \ + --set controller.image.repo="${IMAGE_CONTROLLER}" \ + --set controller.image.tag="${TAG}" \ + --set controller.serviceAccountName="${CONTROLLER_SERVICE_ACCOUNT}" \ + --set controller.replicas="${CONTROLLER_REPLICAS:-1}" \ --set deployer.image="gcr.io/cloud-marketplace-tools/k8s/deployer_helm:0.8.0" \ - --set CDRJobServiceAccount=${CRD_SERVICE_ACCOUNT} \ - --set webhook.serviceAccountName=${WEBHOOK_SERVICE_ACCOUNT} \ - --set webhook.replicas=${WEBHOOK_REPLICAS:-1} \ - --set cainjector.serviceAccountName=${CAINJECTOR_SERVICE_ACCOUNT} \ - --set cainjector.replicas=${CAINJECTOR_REPLICAS:-1} \ - --set metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED:-false} \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set CDRJobServiceAccount="${CRD_SERVICE_ACCOUNT}" \ + --set webhook.serviceAccountName="${WEBHOOK_SERVICE_ACCOUNT}" \ + --set webhook.replicas="${WEBHOOK_REPLICAS:-1}" \ + --set cainjector.serviceAccountName="${CAINJECTOR_SERVICE_ACCOUNT}" \ + --set cainjector.replicas="${CAINJECTOR_REPLICAS:-1}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED:-false}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/consul/README.md b/k8s/consul/README.md index adacce8992..d29fce6d9f 100644 --- a/k8s/consul/README.md +++ b/k8s/consul/README.md @@ -112,30 +112,29 @@ export APP_INSTANCE_NAME=consul-1 export NAMESPACE=default ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/consul). +Example: ```shell -TAG=1.4 -export IMAGE_CONSUL="marketplace.gcr.io/google/consul:${TAG}" -export IMAGE_CONSUL_EXPORTER="marketplace.gcr.io/google/consul/consul-exporter:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/consul/prometheus-to-sd:${TAG}" +export TAG="1.4.5-20200311-091931" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, -until you are ready to upgrade. To get the digest for the image, use the -following script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_CONSUL" "IMAGE_CONSUL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do -repo=$(echo ${!i} | cut -d: -f1); -digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); -export $i="$repo@$digest"; -echo ${!i}; -done +export TAG="1.4" +``` + +Configure the container image: + +```shell +export IMAGE_CONSUL="marketplace.gcr.io/google/consul:${TAG}" +export IMAGE_CONSUL_EXPORTER="marketplace.gcr.io/google/consul/consul-exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/consul/prometheus-to-sd:${TAG}" ``` Optionally, you can set the number of replicas for Consul. @@ -224,8 +223,8 @@ expanded manifest file for future updates to the application. ```shell helm template chart/consul \ - --name ${APP_INSTANCE_NAME} \ - $( [[ -n "${NAMESPACE}" ]] && printf '%s=%s' '--namespace' ${NAMESPACE} ) \ + --name "${APP_INSTANCE_NAME}" \ + --namespace "$NAMESPACE" \ --set global.image=${IMAGE_CONSUL} \ --set server.prometheus_exporter.image=${IMAGE_CONSUL_EXPORTER} \ --set metrics.image=${IMAGE_METRICS_EXPORTER} \ diff --git a/k8s/drupal/README.md b/k8s/drupal/README.md index 1f1ac6834f..817bf62d38 100644 --- a/k8s/drupal/README.md +++ b/k8s/drupal/README.md @@ -163,10 +163,26 @@ this option, change the value to `true`. export METRICS_ENABLED=false ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/drupal). +Example: + +```shell +export TAG="8.8.2-20200311-092629" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="8.8" +``` + Configure the container images: ```shell -TAG=8.7 export IMAGE_DRUPAL="marketplace.gcr.io/google/drupal" export IMAGE_APACHE_EXPORTER="marketplace.gcr.io/google/drupal/apache-exporter:${TAG}" export IMAGE_MARIADB="marketplace.gcr.io/google/drupal/mariadb:${TAG}" @@ -174,23 +190,6 @@ export IMAGE_MYSQL_EXPORTER="marketplace.gcr.io/google/drupal/mysqld-exporter:${ export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/drupal/prometheus-to-sd:${TAG}" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed app always uses the same images, until -you are ready to upgrade. To get the digest for an image, use the following -script: - -```shell -for i in "IMAGE_APACHE_EXPORTER" "IMAGE_MARIADB" "IMAGE_MYSQL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done -``` - Set or generate passwords: ```shell @@ -247,22 +246,22 @@ expanded manifest file for future updates to the app. helm template chart/drupal \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "drupal.image.repo=${IMAGE_DRUPAL}" \ - --set "drupal.image.tag=${TAG}" \ - --set "drupal.password=${DRUPAL_PASSWORD}" \ - --set "db.image=${IMAGE_MARIADB}" \ - --set "db.rootPassword=${ROOT_DB_PASSWORD}" \ - --set "db.drupalPassword=${DRUPAL_DB_PASSWORD}" \ - --set "db.exporter.image=${IMAGE_MYSQL_EXPORTER}" \ - --set "db.exporter.password=${EXPORTER_DB_PASSWORD}" \ - --set "apache.exporter.image=${IMAGE_APACHE_EXPORTER}" \ - --set "metrics.image=${IMAGE_METRICS_EXPORTER}" \ - --set "metrics.exporter.enabled=${METRICS_ENABLED}" \ - --set "enablePublicServiceAndIngress=${PUBLIC_SERVICE_AND_INGRESS_ENABLED}" \ - --set "tls.base64EncodedPrivateKey=${TLS_CERTIFICATE_KEY}" \ - --set "tls.base64EncodedCertificate=${TLS_CERTIFICATE_CRT}" \ - --set "metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED}" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set drupal.image.repo="${IMAGE_DRUPAL}" \ + --set drupal.image.tag="${TAG}" \ + --set drupal.password="${DRUPAL_PASSWORD}" \ + --set db.image="${IMAGE_MARIADB}" \ + --set db.rootPassword="${ROOT_DB_PASSWORD}" \ + --set db.drupalPassword="${DRUPAL_DB_PASSWORD}" \ + --set db.exporter.image="${IMAGE_MYSQL_EXPORTER}" \ + --set db.exporter.password="${EXPORTER_DB_PASSWORD}" \ + --set apache.exporter.image="${IMAGE_APACHE_EXPORTER}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set metrics.exporter.enabled="${METRICS_ENABLED}" \ + --set enablePublicServiceAndIngress="${PUBLIC_SERVICE_AND_INGRESS_ENABLED}" \ + --set tls.base64EncodedPrivateKey="${TLS_CERTIFICATE_KEY}" \ + --set tls.base64EncodedCertificate="${TLS_CERTIFICATE_CRT}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/elastic-gke-logging/README.md b/k8s/elastic-gke-logging/README.md index f0a8a4be54..e4c5681bee 100644 --- a/k8s/elastic-gke-logging/README.md +++ b/k8s/elastic-gke-logging/README.md @@ -159,34 +159,33 @@ option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/elastic-gke-logging). +Example: + +```shell +export TAG="6.3.2-20200311-092725" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="6.3" +``` + Configure the container images: ```shell -TAG=6.3 -export IMAGE_ELASTICSEARCH="marketplace.gcr.io/google/elastic-gke-logging:${TAG}" +export IMAGE_ELASTICSEARCH="marketplace.gcr.io/google/elastic-gke-logging" export IMAGE_KIBANA="marketplace.gcr.io/google/elastic-gke-logging/kibana:${TAG}" export IMAGE_FLUENTD="marketplace.gcr.io/google/elastic-gke-logging/fluentd:${TAG}" export IMAGE_INIT="marketplace.gcr.io/google/elastic-gke-logging/ubuntu16_04:${TAG}" export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/elastic-gke-logging/prometheus-to-sd:${TAG}" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: - -```shell -for i in IMAGE_ELASTICSEARCH IMAGE_KIBANA IMAGE_FLUENTD IMAGE_INIT IMAGE_METRICS_EXPORTER; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done -``` - #### Create a namespace in your Kubernetes cluster If you use a different namespace than the `default`, run the command below to @@ -214,16 +213,18 @@ expanded manifest file for future updates to the application. ```shell helm template chart/elastic-gke-logging \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set elasticsearch.replicas=$ELASTICSEARCH_REPLICAS \ - --set fluentd.serviceAccount=$FLUENTD_SERVICE_ACCOUNT \ - --set initImage=$IMAGE_INIT \ - --set elasticsearch.image=$IMAGE_ELASTICSEARCH \ - --set kibana.image=$IMAGE_KIBANA \ - --set fluentd.image=$IMAGE_FLUENTD \ - --set metrics.image=$IMAGE_METRICS_EXPORTER \ - --set metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED > "${APP_INSTANCE_NAME}_manifest.yaml" + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set elasticsearch.replicas="$ELASTICSEARCH_REPLICAS" \ + --set fluentd.serviceAccount="$FLUENTD_SERVICE_ACCOUNT" \ + --set initImage="$IMAGE_INIT" \ + --set elasticsearch.image.repo="$IMAGE_ELASTICSEARCH" \ + --set elasticsearch.image.tag="$TAG" \ + --set kibana.image="$IMAGE_KIBANA" \ + --set fluentd.image="$IMAGE_FLUENTD" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/elasticsearch/README.md b/k8s/elasticsearch/README.md index d5d36cfcf4..ff87c23ed0 100644 --- a/k8s/elasticsearch/README.md +++ b/k8s/elasticsearch/README.md @@ -144,30 +144,29 @@ option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` -Configure the container images: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/elasticsearch). +Example: ```shell -TAG=6.3 -export IMAGE_ELASTICSEARCH="marketplace.gcr.io/google/elasticsearch:${TAG}" -export IMAGE_INIT="marketplace.gcr.io/google/elasticsearch/ubuntu16_04:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/elasticsearch/prometheus-to-sd:${TAG}" +export TAG="6.3.2-20200311-092308" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_ELASTICSEARCH" "IMAGE_INIT" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done +export TAG="6.3" +``` + +Configure the container images: + +```shell +export IMAGE_ELASTICSEARCH="marketplace.gcr.io/google/elasticsearch" +export IMAGE_INIT="marketplace.gcr.io/google/elasticsearch/ubuntu16_04:${TAG}" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/elasticsearch/prometheus-to-sd:${TAG}" ``` #### Create namespace in your Kubernetes cluster @@ -186,13 +185,15 @@ expanded manifest file for future updates to the application. ```shell helm template chart/elasticsearch \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set elasticsearch.initImage=$IMAGE_INIT \ - --set elasticsearch.image=$IMAGE_ELASTICSEARCH \ - --set elasticsearch.replicas=$REPLICAS \ - --set metrics.image=$IMAGE_METRICS_EXPORTER \ - --set metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED > "${APP_INSTANCE_NAME}_manifest.yaml" + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set elasticsearch.initImage="$IMAGE_INIT" \ + --set elasticsearch.image.repo="$IMAGE_ELASTICSEARCH" \ + --set elasticsearch.image.tag="$TAG" \ + --set elasticsearch.replicas="$REPLICAS" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/etcd/README.md b/k8s/etcd/README.md index f5f8bcd446..79fdc831cf 100644 --- a/k8s/etcd/README.md +++ b/k8s/etcd/README.md @@ -123,30 +123,28 @@ this option, change the value to `true`. export METRICS_EXPORTER_ENABLED=true ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/etcd). +Example: ```shell -TAG=3.3 -export IMAGE_ETCD_REPO="marketplace.gcr.io/google/etcd3" -export IMAGE_ETCD=${IMAGE_ETCD_REPO}:${TAG} -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/etcd/prometheus-to-sd:${TAG}" +export TAG="3.3.13-20200311-092532" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, -until you are ready to upgrade. To get the digest of an image, use the -following script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_ETCD" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done +export TAG="3.3" +``` + +Configure the container image: + +```shell +export IMAGE_ETCD="marketplace.gcr.io/google/etcd" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/etcd/prometheus-to-sd:${TAG}" ``` For the persistent disk provisioning of the etcd servers, you will need to: @@ -189,14 +187,15 @@ expanded manifest file for future updates to the application. helm template chart/etcd \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "image.repo=${IMAGE_ETCD_REPO}" \ - --set "image.tag=${TAG}" \ - --set "persistence.storageClass=${ETCD_STORAGE_CLASS}" \ - --set "persistence.size=${PERSISTENT_DISK_SIZE}" \ - --set "metrics.image=${IMAGE_METRICS_EXPORTER}" \ - --set "metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED}" \ - --set "auth.rbac.rootPassword=${ETCD_ROOT_PASSWORD}" \ - --set "replicas=${REPLICAS}" > "${APP_INSTANCE_NAME}_manifest.yaml" + --set image.repo="${IMAGE_ETCD}" \ + --set image.tag="${TAG}" \ + --set persistence.storageClass="${ETCD_STORAGE_CLASS}" \ + --set persistence.size="${PERSISTENT_DISK_SIZE}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + --set auth.rbac.rootPassword="${ETCD_ROOT_PASSWORD}" \ + --set replicas="${REPLICAS}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/hazelcast/README.md b/k8s/hazelcast/README.md index af245aecf7..1411f4fd97 100644 --- a/k8s/hazelcast/README.md +++ b/k8s/hazelcast/README.md @@ -129,14 +129,30 @@ this option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/hazelcast). +Example: + +```shell +export TAG="3.12.4-20200312-164607" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="3.12" +``` + Configure the container image: ```shell -TAG=3.12 export IMAGE_REGISTRY="marketplace.gcr.io/google" export IMAGE_HAZELCAST="${IMAGE_REGISTRY}/hazelcast3" export IMAGE_HAZELCASTMC="${IMAGE_REGISTRY}/hazelcast-mc3" -export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/hazelcast/prometheus-to-sd" +export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/hazelcast/prometheus-to-sd:${TAG}" ``` For the persistent disk provisioning of the Hazelcast servers, you will need to: @@ -180,17 +196,17 @@ expanded manifest file for future updates to the application. helm template chart/hazelcast \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "hazelcast.image.repo=${IMAGE_HAZELCAST}" \ - --set "hazelcast.image.tag=${TAG}" \ - --set "hazelcast.persistence.storageClass=${HAZELCAST_STORAGE_CLASS}" \ - --set "hazelcast.persistence.size=${PERSISTENT_DISK_SIZE}" \ - --set "hazelcast.serviceAccount=${HAZELCAST_SERVICE_ACCOUNT}" \ - --set "mancenter.image.repo=${IMAGE_HAZELCASTMC}" \ - --set "mancenter.image.tag=${TAG}" \ - --set "mancenter.persistence.storageClass=${HAZELCAST_STORAGE_CLASS}" \ - --set "mancenter.persistence.size=${PERSISTENT_DISK_SIZE}" \ - --set "metrics.image=${IMAGE_METRICS_EXPORTER}:${TAG}" \ - --set "metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED}" \ + --set hazelcast.image.repo="${IMAGE_HAZELCAST}" \ + --set hazelcast.image.tag="${TAG}" \ + --set hazelcast.persistence.storageClass="${HAZELCAST_STORAGE_CLASS}" \ + --set hazelcast.persistence.size="${PERSISTENT_DISK_SIZE}" \ + --set hazelcast.serviceAccount="${HAZELCAST_SERVICE_ACCOUNT}" \ + --set mancenter.image.repo="${IMAGE_HAZELCASTMC}" \ + --set mancenter.image.tag="${TAG}" \ + --set mancenter.persistence.storageClass="${HAZELCAST_STORAGE_CLASS}" \ + --set mancenter.persistence.size="${PERSISTENT_DISK_SIZE}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ > "${APP_INSTANCE_NAME}_manifest.yaml" ``` diff --git a/k8s/jaeger-operator/README.md b/k8s/jaeger-operator/README.md index b1dd7d6204..ff43f665aa 100644 --- a/k8s/jaeger-operator/README.md +++ b/k8s/jaeger-operator/README.md @@ -111,10 +111,26 @@ export APP_INSTANCE_NAME=jaeger-operator-1 export NAMESPACE=default ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/jaeger-operator). +Example: + +```shell +export TAG="1.15.1-20200213-132947" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="1.15" +``` + Configure the container image: ```shell -export TAG=1.15 export IMAGE_OPERATOR="marketplace.gcr.io/google/jaeger-operator" ``` @@ -160,14 +176,14 @@ expanded manifest file for future updates to the app. ```shell helm template chart/jaeger-operator \ - --name ${APP_INSTANCE_NAME} \ - --namespace="${NAMESPACE}" \ - --set operator.image.repository=${IMAGE_OPERATOR} \ - --set operator.image.tag=${TAG} \ + --name "${APP_INSTANCE_NAME}" \ + --namespace "${NAMESPACE}" \ + --set operator.image.repository="${IMAGE_OPERATOR}" \ + --set operator.image.tag="${TAG}" \ --set deployerHelm.image="gcr.io/cloud-marketplace-tools/k8s/deployer_helm:0.8.0" \ - --set operator.serviceAccountName=${OPERATOR_SERVICE_ACCOUNT} \ - --set CDRJobServiceAccount=${CRD_SERVICE_ACCOUNT} \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set operator.serviceAccountName="${OPERATOR_SERVICE_ACCOUNT}" \ + --set CDRJobServiceAccount="${CRD_SERVICE_ACCOUNT}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/joomla/README.md b/k8s/joomla/README.md index e04bd2ddcc..6fcc335bb4 100644 --- a/k8s/joomla/README.md +++ b/k8s/joomla/README.md @@ -163,32 +163,33 @@ option, change the value to `true`. export METRICS_ENABLED=false ``` -Configure the container images: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/joomla). +Example: ```shell -TAG=3.9 -export IMAGE_JOOMLA="marketplace.gcr.io/google/joomla" -export IMAGE_APACHE_EXPORTER="marketplace.gcr.io/google/joomla/apache-exporter:${TAG}" -export IMAGE_MARIADB="marketplace.gcr.io/google/joomla/mariadb:${TAG}" -export IMAGE_MYSQL_EXPORTER="marketplace.gcr.io/google/joomla/mysqld-exporter:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/joomla/prometheus-to-sd:${TAG}" +export TAG="3.9.15-20200311-092327" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_APACHE_EXPORTER" "IMAGE_MARIADB" "IMAGE_MYSQL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done +export TAG="3.9" +``` + +Configure the container images: + +```shell +export IMAGE_REGISTRY="marketplace.gcr.io/google" +export IMAGE_JOOMLA="${IMAGE_REGISTRY}/joomla" + +export IMAGE_APACHE_EXPORTER="${IMAGE_REGISTRY}/apache-exporter:${TAG}" +export IMAGE_MARIADB="${IMAGE_REGISTRY}/mariadb:${TAG}" +export IMAGE_MYSQL_EXPORTER="${IMAGE_REGISTRY}/mysqld-exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/prometheus-to-sd:${TAG}" ``` Set or generate passwords: @@ -247,22 +248,22 @@ expanded manifest file for future updates to the application. helm template chart/joomla \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "joomla.image.repo=${IMAGE_JOOMLA}" \ - --set "joomla.image.tag=${TAG}" \ - --set "joomla.password=${JOOMLA_PASSWORD}" \ - --set "db.image=${IMAGE_MARIADB}" \ - --set "db.rootPassword=${ROOT_DB_PASSWORD}" \ - --set "db.joomlaPassword=${JOOMLA_DB_PASSWORD}" \ - --set "db.exporter.image=${IMAGE_MYSQL_EXPORTER}" \ - --set "db.exporter.password=${EXPORTER_DB_PASSWORD}" \ - --set "apache.exporter.image=${IMAGE_APACHE_EXPORTER}" \ - --set "metrics.image=${IMAGE_METRICS_EXPORTER}" \ - --set "metrics.exporter.enabled=${METRICS_ENABLED}" \ - --set "enablePublicServiceAndIngress=${PUBLIC_SERVICE_AND_INGRESS_ENABLED}" \ - --set "tls.base64EncodedPrivateKey=${TLS_CERTIFICATE_KEY}" \ - --set "tls.base64EncodedCertificate=${TLS_CERTIFICATE_CRT}" \ - --set "metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED}" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set joomla.image.repo="${IMAGE_JOOMLA}" \ + --set joomla.image.tag="${TAG}" \ + --set joomla.password="${JOOMLA_PASSWORD}" \ + --set db.image="${IMAGE_MARIADB}" \ + --set db.rootPassword="${ROOT_DB_PASSWORD}" \ + --set db.joomlaPassword="${JOOMLA_DB_PASSWORD}" \ + --set db.exporter.image="${IMAGE_MYSQL_EXPORTER}" \ + --set db.exporter.password="${EXPORTER_DB_PASSWORD}" \ + --set apache.exporter.image="${IMAGE_APACHE_EXPORTER}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set metrics.exporter.enabled="${METRICS_ENABLED}" \ + --set enablePublicServiceAndIngress="${PUBLIC_SERVICE_AND_INGRESS_ENABLED}" \ + --set tls.base64EncodedPrivateKey="${TLS_CERTIFICATE_KEY}" \ + --set tls.base64EncodedCertificate="${TLS_CERTIFICATE_CRT}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/magento/README.md b/k8s/magento/README.md index d28216d3b9..b1d4636698 100644 --- a/k8s/magento/README.md +++ b/k8s/magento/README.md @@ -165,38 +165,36 @@ By default, the app does not export metrics to Stackdriver. To enable this optio export METRICS_EXPORTER_ENABLED=false ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/magento). +Example: ```shell -TAG=2.3 -IMAGE_REPO="marketplace.gcr.io/google/magento" +export TAG="2.3.2-20200311-092754" +``` -export IMAGE_MYSQL="${IMAGE_REPO}/mysql:${TAG}" -export IMAGE_REDIS="${IMAGE_REPO}/redis:${TAG}" +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. -export IMAGE_NGINX_EXPORTER="${IMAGE_REPO}/nginx-exporter:${TAG}" -export IMAGE_MYSQL_EXPORTER="${IMAGE_REPO}/mysql-exporter:${TAG}" -export IMAGE_REDIS_EXPORTER="${IMAGE_REPO}/redis-exporter:${TAG}" -export IMAGE_METRICS_EXPORTER="${IMAGE_REPO}/prometheus-to-sd:${TAG}" +```shell +export TAG="2.3" ``` -The images above are referenced by [tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend that you pin each image to an immutable [content digest](https://docs.docker.com/registry/spec/api/#content-digests). This ensures that the installed app always uses the same images, until you are ready to upgrade. To get the digest for the image, use the following script: +Configure the container images: ```shell -IMAGES=( - "IMAGE_MYSQL" - "IMAGE_REDIS" - "IMAGE_NGINX_EXPORTER" - "IMAGE_MYSQL_EXPORTER" - "IMAGE_REDIS_EXPORTER" - "IMAGE_METRICS_EXPORTER" -) -for i in "${IMAGES[@]}" ; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done +export IMAGE_REGISTRY="marketplace.gcr.io/google" + +export IMAGE_MAGENTO="${IMAGE_REGISTRY}/magento" +export IMAGE_MYSQL="${IMAGE_REGISTRY}/magento/mysql:${TAG}" +export IMAGE_REDIS="${IMAGE_REGISTRY}/magento/redis:${TAG}" + +export IMAGE_NGINX_EXPORTER="${IMAGE_REGISTRY}/magento/nginx-exporter:${TAG}" +export IMAGE_MYSQL_EXPORTER="${IMAGE_REGISTRY}/magento/mysql-exporter:${TAG}" +export IMAGE_REDIS_EXPORTER="${IMAGE_REGISTRY}/magento/redis-exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/magento/prometheus-to-sd:${TAG}" ``` Set or generate the passwords: @@ -258,24 +256,24 @@ expanded manifest file for future updates to your app. helm template chart/magento \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "magento.image.tag=${TAG}" \ - --set "magento.image.repo=${IMAGE_REPO}" \ - --set "redis.image=${IMAGE_REDIS}" \ - --set "db.image=${IMAGE_MYSQL}" \ - --set "redis.exporter.image=${IMAGE_REDIS_EXPORTER}" \ - --set "nginx.exporter.image=${IMAGE_NGINX_EXPORTER}" \ - --set "db.exporter.image=${IMAGE_MYSQL_EXPORTER}" \ - --set "metrics.image=${IMAGE_METRICS_EXPORTER}" \ - --set "magento.admin.password=${MAGENTO_ADMIN_PASSWORD}" \ - --set "db.rootPassword=${DB_ROOT_PASSWORD}" \ - --set "db.magentoPassword=${MAGENTO_DB_PASSWORD}" \ - --set "db.exporter.password=${DB_EXPORTER_PASSWORD}" \ - --set "redis.password=${REDIS_PASSWORD}" \ - --set "magento.admin.email=${MAGENTO_ADMIN_EMAIL}" \ - --set "tls.base64EncodedPrivateKey=${TLS_CERTIFICATE_KEY}" \ - --set "tls.base64EncodedCertificate=${TLS_CERTIFICATE_CRT}" \ - --set "metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED}" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set magento.image.repo="${IMAGE_MAGENTO}" \ + --set magento.image.tag="${TAG}" \ + --set redis.image="${IMAGE_REDIS}" \ + --set db.image="${IMAGE_MYSQL}" \ + --set redis.exporter.image="${IMAGE_REDIS_EXPORTER}" \ + --set nginx.exporter.image="${IMAGE_NGINX_EXPORTER}" \ + --set db.exporter.image="${IMAGE_MYSQL_EXPORTER}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set magento.admin.password="${MAGENTO_ADMIN_PASSWORD}" \ + --set db.rootPassword="${DB_ROOT_PASSWORD}" \ + --set db.magentoPassword="${MAGENTO_DB_PASSWORD}" \ + --set db.exporter.password="${DB_EXPORTER_PASSWORD}" \ + --set redis.password="${REDIS_PASSWORD}" \ + --set magento.admin.email="${MAGENTO_ADMIN_EMAIL}" \ + --set tls.base64EncodedPrivateKey="${TLS_CERTIFICATE_KEY}" \ + --set tls.base64EncodedCertificate="${TLS_CERTIFICATE_CRT}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/mariadb-galera/README.md b/k8s/mariadb-galera/README.md index 69f640a361..69b0d134b1 100644 --- a/k8s/mariadb-galera/README.md +++ b/k8s/mariadb-galera/README.md @@ -114,26 +114,32 @@ export METRICS_EXPORTER_ENABLED=false > **NOTE:** Your GCP project must have Stackdriver enabled to export metrics to Stackdriver. If you are using a non-GCP cluster, you cannot export metrics to Stackdriver. -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/mariadb-galera). +Example: + +```shell +export TAG="10.3.22-20200311-092534" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -TAG=10.3 -IMAGE_REPO="marketplace.gcr.io/google/mariadb-galera" -export IMAGE_MARIADB="${IMAGE_REPO}:${TAG}" -export IMAGE_MYSQL_EXPORTER="${IMAGE_REPO}/mysqld-exporter:${TAG}" -export IMAGE_METRICS_EXPORTER="${IMAGE_REPO}/prometheus-to-sd:${TAG}" -export IMAGE_PEER_FINDER="${IMAGE_REPO}/peer-finder:${TAG}" +export TAG="10.3" ``` -The image above is referenced by [tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend that you pin each image to an immutable [content digest](https://docs.docker.com/registry/spec/api/#content-digests). This ensures that the installed app always uses the same image, until you are ready to upgrade. To get the digest for the image, use the following script: +Configure the container image: ```shell -for i in "IMAGE_MARIADB" "IMAGE_MYSQL_EXPORTER" "IMAGE_METRICS_EXPORTER" "IMAGE_PEER_FINDER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done +IMAGE_REGISTRY="marketplace.gcr.io/google" + +export IMAGE_MARIADB="${IMAGE_REGISTRY}/mariadb-galera" +export IMAGE_MYSQL_EXPORTER="${IMAGE_REGISTRY}/mariadb-galera/mysqld-exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/mariadb-galera/prometheus-to-sd:${TAG}" +export IMAGE_PEER_FINDER="${IMAGE_REGISTRY}/mariadb-galera/peer-finder:${TAG}" ``` Set the number of replicas for MariaDB Galera Cluster: @@ -190,18 +196,18 @@ expanded manifest file for future updates to the application. helm template chart/mariadb-galera \ --name "$APP_INSTANCE_NAME" \ --namespace "$NAMESPACE" \ - --set "mariadb.image.repo=$IMAGE_REPO" \ - --set "mariadb.image.tag=$TAG" \ - --set "mariadb.volumeSize=8" \ - --set "db.rootPassword=$MARIADB_ROOT_PASSWORD" \ - --set "db.exporter.image=$IMAGE_MYSQL_EXPORTER" \ - --set "db.exporter.password=$EXPORTER_DB_PASSWORD" \ - --set "metrics.image=$IMAGE_METRICS_EXPORTER" \ - --set "metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED" \ - --set "peerFinder.image=$IMAGE_PEER_FINDER" \ - --set "tls.base64EncodedPrivateKey=$TLS_CERTIFICATE_KEY" \ - --set "tls.base64EncodedCertificate=$TLS_CERTIFICATE_CRT" \ - --set "db.replicas=$REPLICAS" \ + --set mariadb.image.repo="$IMAGE_MARIADB" \ + --set mariadb.image.tag="$TAG" \ + --set mariadb.volumeSize=8 \ + --set db.rootPassword="$MARIADB_ROOT_PASSWORD" \ + --set db.exporter.image="$IMAGE_MYSQL_EXPORTER" \ + --set db.exporter.password="$EXPORTER_DB_PASSWORD" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + --set peerFinder.image="$IMAGE_PEER_FINDER" \ + --set tls.base64EncodedPrivateKey="$TLS_CERTIFICATE_KEY" \ + --set tls.base64EncodedCertificate="$TLS_CERTIFICATE_CRT" \ + --set db.replicas="$REPLICAS" \ > "${APP_INSTANCE_NAME}_manifest.yaml" ``` diff --git a/k8s/mariadb/README.md b/k8s/mariadb/README.md index 8c52c821ea..b0b157be17 100644 --- a/k8s/mariadb/README.md +++ b/k8s/mariadb/README.md @@ -125,30 +125,29 @@ this option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/mariadb). +Example: ```shell -TAG=10.3 -export IMAGE_MARIADB="marketplace.gcr.io/google/mariadb:${TAG}" -export IMAGE_MYSQL_EXPORTER="marketplace.gcr.io/google/mariadb/mysqld-exporter:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/mariadb/prometheus-to-sd:${TAG}" +export TAG="10.3.22-20200311-092325" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, -until you are ready to upgrade. To get the digest for the image, use the -following script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_MARIADB" "IMAGE_MYSQL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done +export TAG="10.3" +``` + +Configure the container image: + +```shell +export IMAGE_MARIADB="marketplace.gcr.io/google/mariadb" +export IMAGE_MYSQL_EXPORTER="marketplace.gcr.io/google/mariadb/mysqld-exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/mariadb/prometheus-to-sd:${TAG}" ``` Set the number of replicas for MariaDB: @@ -208,17 +207,19 @@ expanded manifest file for future updates to the application. helm template chart/mariadb \ --name "$APP_INSTANCE_NAME" \ --namespace "$NAMESPACE" \ - --set "mariadb.image=$IMAGE_MARIADB" \ - --set "db.volumeSize=8" \ - --set "db.password=$MARIADB_ROOT_PASSWORD" \ - --set "replication.password=$MARIADB_REPLICA_PASSWORD" \ - --set "db.exporter.image=$IMAGE_MYSQL_EXPORTER" \ - --set "db.exporter.password=$EXPORTER_DB_PASSWORD" \ - --set "metrics.image=$IMAGE_METRICS_EXPORTER" \ - --set "metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED" \ - --set "tls.base64EncodedPrivateKey=$TLS_CERTIFICATE_KEY" \ - --set "tls.base64EncodedCertificate=$TLS_CERTIFICATE_CRT" \ - --set "db.replicas=$REPLICAS" > "${APP_INSTANCE_NAME}_manifest.yaml" + --set mariadb.image.repo="$IMAGE_MARIADB" \ + --set mariadb.image.tag="$TAG" \ + --set db.volumeSize=8 \ + --set db.password="$MARIADB_ROOT_PASSWORD" \ + --set replication.password="$MARIADB_REPLICA_PASSWORD" \ + --set db.exporter.image="$IMAGE_MYSQL_EXPORTER" \ + --set db.exporter.password="$EXPORTER_DB_PASSWORD" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + --set tls.base64EncodedPrivateKey="$TLS_CERTIFICATE_KEY" \ + --set tls.base64EncodedCertificate="$TLS_CERTIFICATE_CRT" \ + --set db.replicas="$REPLICAS" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/mediawiki/README.md b/k8s/mediawiki/README.md index 6ca3203c55..38b7c09437 100644 --- a/k8s/mediawiki/README.md +++ b/k8s/mediawiki/README.md @@ -169,32 +169,33 @@ enable this option, change the value to `true`. export METRICS_ENABLED=false ``` -Configure the container images: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/mediawiki). +Example: + +```shell +export TAG="1.33.1-20200311-092321" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -TAG=1.33 -export IMAGE_MEDIAWIKI="marketplace.gcr.io/google/mediawiki" -export IMAGE_APACHE_EXPORTER="marketplace.gcr.io/google/mediawiki/apache-exporter:${TAG}" -export IMAGE_MARIADB="marketplace.gcr.io/google/mediawiki/mariadb:${TAG}" -export IMAGE_MYSQL_EXPORTER="marketplace.gcr.io/google/mediawiki/mysqld-exporter:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/mediawiki/prometheus-to-sd:${TAG}" +export TAG="1.33" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We -recommend that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed app always uses the same images, until you -are ready to upgrade. To get the digest for am image, use the following -script: +Configure the container images: ```shell -for i in "IMAGE_APACHE_EXPORTER" "IMAGE_MARIADB" "IMAGE_MYSQL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - echo ${!i}; -done +export IMAGE_REGISTRY="marketplace.gcr.io/google" + +export IMAGE_MEDIAWIKI="${IMAGE_REGISTRY}/mediawiki" +export IMAGE_APACHE_EXPORTER="${IMAGE_REGISTRY}/mediawiki/apache-exporter:${TAG}" +export IMAGE_MARIADB="${IMAGE_REGISTRY}/mediawiki/mariadb:${TAG}" +export IMAGE_MYSQL_EXPORTER="${IMAGE_REGISTRY}/mediawiki/mysqld-exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/mediawiki/prometheus-to-sd:${TAG}" ``` Set or generate passwords: @@ -254,22 +255,22 @@ expanded manifest file for future updates to your app. helm template chart/mediawiki \ --name "${APP_INSTANCE_NAME}" \ --namespace "${NAMESPACE}" \ - --set "mediawiki.image.repo=${IMAGE_MEDIAWIKI}" \ - --set "mediawiki.image.tag=${TAG}" \ - --set "mediawiki.admin.username=${MEDIAWIKI_ADMIN_USERNAME}" \ - --set "mediawiki.admin.password=${MEDIAWIKI_ADMIN_PASSWORD}" \ - --set "db.image=${IMAGE_MARIADB}" \ - --set "db.rootPassword=${ROOT_DB_PASSWORD}" \ - --set "db.mediawikiPassword=${MEDIAWIKI_DB_PASSWORD}" \ - --set "db.exporter.image=${IMAGE_MYSQL_EXPORTER}" \ - --set "db.exporter.password=${EXPORTER_DB_PASSWORD}" \ - --set "apache.exporter.image=${IMAGE_APACHE_EXPORTER}" \ - --set "enablePublicServiceAndIngress=${PUBLIC_SERVICE_AND_INGRESS_ENABLED}" \ - --set "tls.base64EncodedPrivateKey=${TLS_CERTIFICATE_KEY}" \ - --set "tls.base64EncodedCertificate=${TLS_CERTIFICATE_CRT}" \ - --set "metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED}" \ - --set "metrics.image=${IMAGE_METRICS_EXPORTER}" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set mediawiki.image.repo="${IMAGE_MEDIAWIKI}" \ + --set mediawiki.image.tag="${TAG}" \ + --set mediawiki.admin.username="${MEDIAWIKI_ADMIN_USERNAME}" \ + --set mediawiki.admin.password="${MEDIAWIKI_ADMIN_PASSWORD}" \ + --set db.image="${IMAGE_MARIADB}" \ + --set db.rootPassword="${ROOT_DB_PASSWORD}" \ + --set db.mediawikiPassword="${MEDIAWIKI_DB_PASSWORD}" \ + --set db.exporter.image="${IMAGE_MYSQL_EXPORTER}" \ + --set db.exporter.password="${EXPORTER_DB_PASSWORD}" \ + --set apache.exporter.image="${IMAGE_APACHE_EXPORTER}" \ + --set enablePublicServiceAndIngress="${PUBLIC_SERVICE_AND_INGRESS_ENABLED}" \ + --set tls.base64EncodedPrivateKey="${TLS_CERTIFICATE_KEY}" \ + --set tls.base64EncodedCertificate="${TLS_CERTIFICATE_CRT}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/memcached/README.md b/k8s/memcached/README.md index 786629fc55..7fdbd02107 100644 --- a/k8s/memcached/README.md +++ b/k8s/memcached/README.md @@ -140,29 +140,28 @@ option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/memcached). +Example: ```shell -TAG=1.5 -export IMAGE_MEMCACHED="marketplace.gcr.io/google/memcached:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/memcached/prometheus-to-sd:${TAG}" +export TAG="1.5.22-20200311-091944" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="1.5" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: +Configure the container image: ```shell -for i in "IMAGE_METRICS_EXPORTER" "IMAGE_MEMCACHED"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done +export IMAGE_MEMCACHED="marketplace.gcr.io/google/memcached" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/memcached/prometheus-to-sd:${TAG}" ``` #### Create a namespace in your Kubernetes cluster @@ -181,12 +180,14 @@ expanded manifest file for future updates to the application. ```shell helm template chart/memcached \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set memcached.replicas=$REPLICAS \ - --set memcached.image=$IMAGE_MEMCACHED \ - --set metrics.image=$IMAGE_METRICS_EXPORTER \ - --set metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED > "${APP_INSTANCE_NAME}_manifest.yaml" + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set memcached.replicas="$REPLICAS" \ + --set memcached.image.repo="$IMAGE_MEMCACHED" \ + --set memcached.image.tag="$TAG" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster @@ -397,10 +398,14 @@ Console, or using the command line. ```shell helm template chart/memcached \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set memcached.replicas=$REPLICAS \ - --set memcached.image=$IMAGE_MEMCACHED > "${APP_INSTANCE_NAME}_manifest.yaml" + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set memcached.replicas="$REPLICAS" \ + --set memcached.image.repo="$IMAGE_MEMCACHED" \ + --set memcached.image.tag="$TAG" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` 1. Run the `delete` command diff --git a/k8s/nginx/README.md b/k8s/nginx/README.md index 0a7247f272..da3aef2f2e 100644 --- a/k8s/nginx/README.md +++ b/k8s/nginx/README.md @@ -161,30 +161,29 @@ export CURATED_METRICS_EXPORTER_ENABLED=true export METRICS_EXPORTER_ENABLED=false ``` -Configure the container images: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/nginx). +Example: ```shell -TAG=1.15 -export IMAGE_NGINX="marketplace.gcr.io/google/nginx:${TAG}" -export IMAGE_NGINX_INIT="marketplace.gcr.io/google/nginx/debian9:${TAG}" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/nginx/prometheus-to-sd:${TAG}" +export TAG="1.15.12-20200311-092353" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_NGINX" "IMAGE_NGINX_INIT" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done +export TAG="1.15" +``` + +Configure the container images: + +```shell +export IMAGE_NGINX="marketplace.gcr.io/google/nginx" +export IMAGE_NGINX_INIT="marketplace.gcr.io/google/nginx/debian9:${TAG}" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/nginx/prometheus-to-sd:${TAG}" ``` #### Create TLS certificate for Nginx @@ -227,14 +226,15 @@ expanded manifest file for future updates to the application. helm template chart/nginx \ --name "$APP_INSTANCE_NAME" \ --namespace "$NAMESPACE" \ - --set "nginx.replicas=$REPLICAS" \ - --set "nginx.initImage=$IMAGE_NGINX_INIT" \ - --set "nginx.image=$IMAGE_NGINX" \ - --set "metrics.image=$IMAGE_METRICS_EXPORTER" \ - --set "metrics.curatedExporter.enabled=$CURATED_METRICS_EXPORTER_ENABLED" \ - --set "metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED" \ - --set "tls.base64EncodedPrivateKey=$TLS_CERTIFICATE_KEY" \ - --set "tls.base64EncodedCertificate=$TLS_CERTIFICATE_CRT" \ + --set nginx.replicas="$REPLICAS" \ + --set nginx.initImage="$IMAGE_NGINX_INIT" \ + --set nginx.image.repo="$IMAGE_NGINX" \ + --set nginx.image.tag="$TAG" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.curatedExporter.enabled="$CURATED_METRICS_EXPORTER_ENABLED" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + --set tls.base64EncodedPrivateKey="$TLS_CERTIFICATE_KEY" \ + --set tls.base64EncodedCertificate="$TLS_CERTIFICATE_CRT" \ > "${APP_INSTANCE_NAME}_manifest.yaml" ``` diff --git a/k8s/nuclio/README.md b/k8s/nuclio/README.md index 383fe08ca6..386e91d5c8 100644 --- a/k8s/nuclio/README.md +++ b/k8s/nuclio/README.md @@ -155,10 +155,26 @@ export APP_INSTANCE_NAME=nuclio-1 export NAMESPACE=default ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/nuclio). +Example: + +```shell +export TAG="1.1.33-20200306-110059" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="1.1" +``` + +Configure the container images: ```shell -export TAG=1.1 export IMAGE_CONTROLLER="marketplace.gcr.io/google/nuclio" export IMAGE_DASHBOARD="marketplace.gcr.io/google/nuclio/dashboard" ``` @@ -261,10 +277,10 @@ expanded manifest file for future updates to the app. ```shell helm template chart/nuclio \ --name ${APP_INSTANCE_NAME} \ - --namespace=${NAMESPACE}" \ - --set controller.image.repository=${IMAGE_CONTROLLER} \ + --namespace ${NAMESPACE} \ + --set controller.image.repo=${IMAGE_CONTROLLER} \ --set controller.image.tag=${TAG} \ - --set dashboard.image.repository=${IMAGE_DASHBOARD} \ + --set dashboard.image.repo=${IMAGE_DASHBOARD} \ --set dashboard.image.tag=${TAG} \ --set deployerHelm.image="gcr.io/cloud-marketplace-tools/k8s/deployer_helm:0.8.0" \ $( [[ -n "${PUSH_PULL_URL}" ]] && echo "--set registry.pushPullUrl=${PUSH_PULL_URL}" ) \ diff --git a/k8s/nuclio/chart/nuclio/templates/deployment/controller.yaml b/k8s/nuclio/chart/nuclio/templates/deployment/controller.yaml index 21db641fd6..c6900a831a 100644 --- a/k8s/nuclio/chart/nuclio/templates/deployment/controller.yaml +++ b/k8s/nuclio/chart/nuclio/templates/deployment/controller.yaml @@ -43,7 +43,7 @@ spec: serviceAccountName: {{ .Values.controller.serviceAccountName }} containers: - name: {{ template "nuclio.controllerName" . }} - image: {{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }} + image: {{ .Values.controller.image.repo }}:{{ .Values.controller.image.tag }} env: - name: NUCLIO_CONTROLLER_IMAGE_PULL_SECRETS value: {{ template "nuclio.registryCredentialsName" . }} diff --git a/k8s/nuclio/chart/nuclio/templates/deployment/dashboard.yaml b/k8s/nuclio/chart/nuclio/templates/deployment/dashboard.yaml index a697c8c3bb..8600ca2dbc 100644 --- a/k8s/nuclio/chart/nuclio/templates/deployment/dashboard.yaml +++ b/k8s/nuclio/chart/nuclio/templates/deployment/dashboard.yaml @@ -43,7 +43,7 @@ spec: serviceAccountName: {{ .Values.dashboard.serviceAccountName }} containers: - name: {{ template "nuclio.dashboardName" . }} - image: {{ .Values.dashboard.image.repository }}:{{ .Values.dashboard.image.tag }} + image: {{ .Values.dashboard.image.repo }}:{{ .Values.dashboard.image.tag }} ports: - containerPort: 8070 volumeMounts: diff --git a/k8s/nuclio/chart/nuclio/values.yaml b/k8s/nuclio/chart/nuclio/values.yaml index 1c08b59d94..7dbcf74365 100644 --- a/k8s/nuclio/chart/nuclio/values.yaml +++ b/k8s/nuclio/chart/nuclio/values.yaml @@ -2,13 +2,13 @@ dashboard: replicas: 1 serviceAccountName: null image: - repository: null + repo: null tag: null controller: serviceAccountName: null image: - repository: null + repo: null tag: null registry: diff --git a/k8s/nuclio/schema.yaml b/k8s/nuclio/schema.yaml index ddd3b75ceb..0e536643ea 100644 --- a/k8s/nuclio/schema.yaml +++ b/k8s/nuclio/schema.yaml @@ -13,13 +13,13 @@ x-google-marketplace: images: '': properties: - controller.image.repository: + controller.image.repo: type: REPO_WITH_REGISTRY controller.image.tag: type: TAG dashboard: properties: - dashboard.image.repository: + dashboard.image.repo: type: REPO_WITH_REGISTRY dashboard.image.tag: type: TAG diff --git a/k8s/postgresql/README.md b/k8s/postgresql/README.md index be746b1767..af07659c1e 100644 --- a/k8s/postgresql/README.md +++ b/k8s/postgresql/README.md @@ -132,14 +132,6 @@ export APP_INSTANCE_NAME=postgresql-1 export NAMESPACE=default ``` -Configure the container images: - -```shell -export IMAGE_POSTGRESQL="marketplace.gcr.io/google/postgresql" -export IMAGE_POSTGRESQL_EXPORTER="marketplace.gcr.io/google/postgresql/exporter" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/postgresql/prometheus-to-sd" -``` - Set up the image tag: It is advised to use stable image reference which you can find on @@ -157,6 +149,13 @@ Alternatively you can use short tag which points to the latest image for selecte export TAG="9.6" ``` +Configure the container images: + +```shell +export IMAGE_POSTGRESQL="marketplace.gcr.io/google/postgresql" +export IMAGE_POSTGRESQL_EXPORTER="marketplace.gcr.io/google/postgresql/exporter:${TAG}" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/postgresql/prometheus-to-sd:${TAG}" +``` Generate a random password and set the PosgreSQL volume size in Gigabytes: @@ -231,20 +230,20 @@ expanded manifest file for future updates to the application. ```shell helm template chart/postgresql \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set "postgresql.serviceAccount=$POSTGRESQL_SERVICE_ACCOUNT" \ - --set "postgresql.image.repo=$IMAGE_POSTGRESQL" \ - --set "postgresql.image.tag=$TAG" \ - --set "postgresql.volumeSize=$POSTGRESQL_VOLUME_SIZE" \ - --set "postgresql.exposePublicService=$EXPOSE_PUBLIC_SERVICE" \ - --set "db.password=$POSTGRESQL_DB_PASSWORD" \ - --set "metrics.image=$IMAGE_METRICS_EXPORTER:$TAG" \ - --set "metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED" \ - --set "exporter.image=$IMAGE_POSTGRESQL_EXPORTER:$TAG" \ - --set "tls.base64EncodedPrivateKey=$TLS_CERTIFICATE_KEY" \ - --set "tls.base64EncodedCertificate=$TLS_CERTIFICATE_CRT" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set postgresql.serviceAccount="$POSTGRESQL_SERVICE_ACCOUNT" \ + --set postgresql.image.repo="$IMAGE_POSTGRESQL" \ + --set postgresql.image.tag="$TAG" \ + --set postgresql.volumeSize="$POSTGRESQL_VOLUME_SIZE" \ + --set postgresql.exposePublicService="$EXPOSE_PUBLIC_SERVICE" \ + --set db.password="$POSTGRESQL_DB_PASSWORD" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + --set exporter.image="$IMAGE_POSTGRESQL_EXPORTER" \ + --set tls.base64EncodedPrivateKey="$TLS_CERTIFICATE_KEY" \ + --set tls.base64EncodedCertificate="$TLS_CERTIFICATE_CRT" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/prometheus-operator/README.md b/k8s/prometheus-operator/README.md index c60651141b..4470414b70 100644 --- a/k8s/prometheus-operator/README.md +++ b/k8s/prometheus-operator/README.md @@ -105,10 +105,26 @@ export APP_INSTANCE_NAME=prometheus-operator-1 export NAMESPACE=default ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/prometheus-operator). +Example: + +```shell +export TAG="0.34.0-20200213-133013" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="0.34" +``` + Configure the container image: ```shell -export TAG=0.34 export IMAGE_OPERATOR="marketplace.gcr.io/google/prometheus-operator" ``` @@ -152,13 +168,13 @@ expanded manifest file for future updates to the app. ```shell helm template chart/prometheus-operator \ - --name ${APP_INSTANCE_NAME} \ - --namespace="${NAMESPACE}" \ - --set operator.image.repository=${IMAGE_OPERATOR} \ - --set operator.image.tag=${TAG} \ + --name "${APP_INSTANCE_NAME}" \ + --namespace "${NAMESPACE}" \ + --set operator.image.repo="${IMAGE_OPERATOR}" \ + --set operator.image.tag="${TAG}" \ --set deployerHelm.image="gcr.io/cloud-marketplace-tools/k8s/deployer_helm:0.8.0" \ - --set operator.serviceAccountName=${OPERATOR_SERVICE_ACCOUNT} \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set operator.serviceAccountName="${OPERATOR_SERVICE_ACCOUNT}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/prometheus-operator/chart/prometheus-operator/templates/deployment/operator.yaml b/k8s/prometheus-operator/chart/prometheus-operator/templates/deployment/operator.yaml index 01855d748a..5c8142a49b 100644 --- a/k8s/prometheus-operator/chart/prometheus-operator/templates/deployment/operator.yaml +++ b/k8s/prometheus-operator/chart/prometheus-operator/templates/deployment/operator.yaml @@ -23,7 +23,7 @@ spec: - args: - --kubelet-service=kube-system/kubelet - --logtostderr=true - image: {{ .Values.operator.image.repository }}:{{ .Values.operator.image.tag }} + image: {{ .Values.operator.image.repo }}:{{ .Values.operator.image.tag }} name: prometheus-operator ports: - containerPort: 8080 diff --git a/k8s/prometheus-operator/chart/prometheus-operator/values.yaml b/k8s/prometheus-operator/chart/prometheus-operator/values.yaml index 070177b3ce..98f154f5bb 100644 --- a/k8s/prometheus-operator/chart/prometheus-operator/values.yaml +++ b/k8s/prometheus-operator/chart/prometheus-operator/values.yaml @@ -1,5 +1,5 @@ operator: serviceAccountName: null image: - repository: null + repo: null tag: null diff --git a/k8s/prometheus-operator/schema.yaml b/k8s/prometheus-operator/schema.yaml index 9689863225..6702c979fa 100644 --- a/k8s/prometheus-operator/schema.yaml +++ b/k8s/prometheus-operator/schema.yaml @@ -13,7 +13,7 @@ x-google-marketplace: images: '': properties: - operator.image.repository: + operator.image.repo: type: REPO_WITH_REGISTRY operator.image.tag: type: TAG diff --git a/k8s/rabbitmq/README.md b/k8s/rabbitmq/README.md index 5764266ac0..3a5ace7438 100644 --- a/k8s/rabbitmq/README.md +++ b/k8s/rabbitmq/README.md @@ -177,30 +177,29 @@ option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` -Configure the container images: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/rabbitmq). +Example: ```shell -TAG=3.7 -export IMAGE_RABBITMQ=marketplace.gcr.io/google/rabbitmq:${TAG} -export IMAGE_RABBITMQ_INIT=marketplace.gcr.io/google/rabbitmq/debian9:${TAG} -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/rabbitmq/prometheus-to-sd:${TAG}" +export TAG="3.7.24-20200311-092515" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_METRICS_EXPORTER" "IMAGE_RABBITMQ" "IMAGE_RABBITMQ_INIT"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done +export TAG="3.7" +``` + +Configure the container images: + +```shell +export IMAGE_RABBITMQ=marketplace.gcr.io/google/rabbitmq +export IMAGE_RABBITMQ_INIT=marketplace.gcr.io/google/rabbitmq/debian9:${TAG} +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/rabbitmq/prometheus-to-sd:${TAG}" ``` #### Create a namespace in your Kubernetes cluster @@ -252,17 +251,19 @@ save the expanded manifest file for future updates to the application. ```shell helm template chart/rabbitmq \ - --name $APP_INSTANCE_NAME \ - --namespace $NAMESPACE \ - --set rabbitmq.image=$IMAGE_RABBITMQ \ - --set rabbitmq.initImage=$IMAGE_RABBITMQ_INIT \ - --set rabbitmq.replicas=$REPLICAS \ - --set rabbitmq.erlangCookie=$RABBITMQ_ERLANG_COOKIE \ - --set rabbitmq.user=$RABBITMQ_DEFAULT_USER \ - --set rabbitmq.password=$RABBITMQ_DEFAULT_PASS \ - --set rabbitmq.serviceAccount=$RABBITMQ_SERVICE_ACCOUNT \ - --set metrics.image=$IMAGE_METRICS_EXPORTER \ - --set metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED > ${APP_INSTANCE_NAME}_manifest.yaml + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set rabbitmq.image.repo="$IMAGE_RABBITMQ" \ + --set rabbitmq.image.tag="$TAG" \ + --set rabbitmq.initImage="$IMAGE_RABBITMQ_INIT" \ + --set rabbitmq.replicas="$REPLICAS" \ + --set rabbitmq.erlangCookie="$RABBITMQ_ERLANG_COOKIE" \ + --set rabbitmq.user="$RABBITMQ_DEFAULT_USER" \ + --set rabbitmq.password="$RABBITMQ_DEFAULT_PASS" \ + --set rabbitmq.serviceAccount="$RABBITMQ_SERVICE_ACCOUNT" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/sonarqube/README.md b/k8s/sonarqube/README.md index c724dc3718..50459fe428 100644 --- a/k8s/sonarqube/README.md +++ b/k8s/sonarqube/README.md @@ -119,31 +119,30 @@ export APP_INSTANCE_NAME=sonarqube-1 export NAMESPACE=default ``` -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/sonarqube). +Example: ```shell -TAG=7.6 -export IMAGE_SONARQUBE="marketplace.gcr.io/google/sonarqube:$TAG" -export IMAGE_POSTGRESQL="marketplace.gcr.io/google/sonarqube/postgresql:$TAG" -export IMAGE_POSTGRESQL_EXPORTER="marketplace.gcr.io/google/sonarqube/postgresql-exporter:$TAG" -export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/sonarqube/prometheus-to-sd:$TAG" +export TAG="7.7.0-20200311-092324" ``` -The image above is referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, -until you are ready to upgrade. To get the digest for the image, use the -following script: +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. ```shell -for i in "IMAGE_SONARQUBE" "IMAGE_POSTGRESQL" "IMAGE_POSTGRESQL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do -repo=$(echo ${!i} | cut -d: -f1); -digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); -export $i="$repo@$digest"; -env | grep $i; -done +export TAG="7.7" +``` + +Configure the container images: + +```shell +export IMAGE_SONARQUBE="marketplace.gcr.io/google/sonarqube" +export IMAGE_POSTGRESQL="marketplace.gcr.io/google/sonarqube/postgresql:$TAG" +export IMAGE_POSTGRESQL_EXPORTER="marketplace.gcr.io/google/sonarqube/postgresql-exporter:$TAG" +export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/sonarqube/prometheus-to-sd:$TAG" ``` Generate random password for PostgreSQL: @@ -193,16 +192,18 @@ expanded manifest file for future updates to the application. ```shell helm template chart/sonarqube \ ---name="$APP_INSTANCE_NAME" \ ---namespace="$NAMESPACE" \ ---set "sonarqube.image=$IMAGE_SONARQUBE" \ ---set "postgresql.image=$IMAGE_POSTGRESQL" \ ---set "postgresql.exporter.image=$IMAGE_POSTGRESQL_EXPORTER" \ ---set "postgresql.db.password=$POSTGRESQL_DB_PASSWORD" \ ---set "metrics.image=$METRICS_EXPORTER_ENABLED" \ ---set "tls.base64EncodedPrivateKey=$TLS_CERTIFICATE_KEY" \ ---set "tls.base64EncodedCertificate=$TLS_CERTIFICATE_CRT" \ -> ${APP_INSTANCE_NAME}_manifest.yaml + --name "$APP_INSTANCE_NAME" \ + --namespace "$NAMESPACE" \ + --set sonarqube.image.repo="$IMAGE_SONARQUBE" \ + --set sonarqube.image.tag="$TAG" \ + --set postgresql.image="$IMAGE_POSTGRESQL" \ + --set postgresql.exporter.image="$IMAGE_POSTGRESQL_EXPORTER" \ + --set postgresql.db.password="$POSTGRESQL_DB_PASSWORD" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + --set tls.base64EncodedPrivateKey="$TLS_CERTIFICATE_KEY" \ + --set tls.base64EncodedCertificate="$TLS_CERTIFICATE_CRT" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/wordpress/README.md b/k8s/wordpress/README.md index 24fae69b8e..689663ac3b 100644 --- a/k8s/wordpress/README.md +++ b/k8s/wordpress/README.md @@ -163,34 +163,33 @@ this option, change the value to `true`. export METRICS_EXPORTER_ENABLED=false ``` +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/wordpress). +Example: + +```shell +export TAG="5.3.0-20200311-092527" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. + +```shell +export TAG="5.3" +``` + Configure the container images: ```shell -TAG=latest -export IMAGE_WORDPRESS="marketplace.gcr.io/google/wordpress:${TAG}" +export IMAGE_WORDPRESS="marketplace.gcr.io/google/wordpress" export IMAGE_APACHE_EXPORTER="marketplace.gcr.io/google/wordpress/apache-exporter:${TAG}" export IMAGE_MYSQL="marketplace.gcr.io/google/wordpress/mysql:${TAG}" export IMAGE_MYSQL_EXPORTER="marketplace.gcr.io/google/wordpress/mysqld-exporter:${TAG}" export IMAGE_METRICS_EXPORTER="marketplace.gcr.io/google/wordpress/prometheus-to-sd:${TAG}" ``` -The images above are referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed application always uses the same images, until -you are ready to upgrade. To get the digest for the image, use the following -script: - -```shell -for i in "IMAGE_WORDPRESS" "IMAGE_APACHE_EXPORTER" "IMAGE_MYSQL" "IMAGE_MYSQL_EXPORTER" "IMAGE_METRICS_EXPORTER"; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done -``` - Set or generate passwords: ```shell @@ -251,21 +250,22 @@ expanded manifest file for future updates to the application. helm template chart/wordpress \ --name "$APP_INSTANCE_NAME" \ --namespace "$NAMESPACE" \ - --set "wordpressImage=$IMAGE_WORDPRESS" \ - --set "db.image=$IMAGE_MYSQL" \ - --set "db.rootPassword=$ROOT_DB_PASSWORD" \ - --set "db.wordpressPassword=$WORDPRESS_DB_PASSWORD" \ - --set "db.exporter.image=$IMAGE_MYSQL_EXPORTER" \ - --set "db.exporter.password=$EXPORTER_DB_PASSWORD" \ - --set "apache.exporter.image=$IMAGE_APACHE_EXPORTER" \ - --set "admin.email=$WORDPRESS_ADMIN_EMAIL" \ - --set "admin.password=$WORDPRESS_ADMIN_PASSWORD" \ - --set "metrics.image=$IMAGE_METRICS_EXPORTER" \ - --set "enablePublicServiceAndIngress=$PUBLIC_SERVICE_AND_INGRESS_ENABLED" \ - --set "metrics.exporter.enabled=$METRICS_EXPORTER_ENABLED" \ - --set "tls.base64EncodedPrivateKey=$TLS_CERTIFICATE_KEY" \ - --set "tls.base64EncodedCertificate=$TLS_CERTIFICATE_CRT" \ - > ${APP_INSTANCE_NAME}_manifest.yaml + --set wordpress.image.repo="$IMAGE_WORDPRESS" \ + --set wordpress.image.tag="$TAG" \ + --set db.image="$IMAGE_MYSQL" \ + --set db.rootPassword="$ROOT_DB_PASSWORD" \ + --set db.wordpressPassword="$WORDPRESS_DB_PASSWORD" \ + --set db.exporter.image="$IMAGE_MYSQL_EXPORTER" \ + --set db.exporter.password="$EXPORTER_DB_PASSWORD" \ + --set apache.exporter.image="$IMAGE_APACHE_EXPORTER" \ + --set admin.email="$WORDPRESS_ADMIN_EMAIL" \ + --set admin.password="$WORDPRESS_ADMIN_PASSWORD" \ + --set metrics.image="$IMAGE_METRICS_EXPORTER" \ + --set enablePublicServiceAndIngress="$PUBLIC_SERVICE_AND_INGRESS_ENABLED" \ + --set metrics.exporter.enabled="$METRICS_EXPORTER_ENABLED" \ + --set tls.base64EncodedPrivateKey="$TLS_CERTIFICATE_KEY" \ + --set tls.base64EncodedCertificate="$TLS_CERTIFICATE_CRT" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/zookeeper/README.md b/k8s/zookeeper/README.md index 6343c9a2c2..e8f8d7f08f 100644 --- a/k8s/zookeeper/README.md +++ b/k8s/zookeeper/README.md @@ -131,32 +131,31 @@ export METRICS_EXPORTER_ENABLED=false > **NOTE:** Your GCP project must have Stackdriver enabled to export metrics to Stackdriver. If you are using a non-GCP cluster, you cannot export metrics to Stackdriver. -Configure the container image: +Set up the image tag: + +It is advised to use stable image reference which you can find on +[Marketplace Container Registry](https://marketplace.gcr.io/google/zookeeper). +Example: ```shell -TAG=3.4 -IMAGE_ZOOKEEPER_REPO=marketplace.gcr.io/google/zookeeper +export TAG="3.4.14-20200311-092523" +``` + +Alternatively you can use short tag which points to the latest image for selected version. +> Warning: this tag is not stable and referenced image might change over time. -export IMAGE_ZOOKEEPER=${IMAGE_ZOOKEEPER_REPO}:${TAG} -export IMAGE_ZOOKEEPER_EXPORTER=${IMAGE_ZOOKEEPER_REPO}/exporter:${TAG} -export IMAGE_METRICS_EXPORTER=${IMAGE_ZOOKEEPER_REPO}/prometheus-to-sd:${TAG} +```shell +export TAG="3.4" ``` -The image above is referenced by -[tag](https://docs.docker.com/engine/reference/commandline/tag). We recommend -that you pin each image to an immutable -[content digest](https://docs.docker.com/registry/spec/api/#content-digests). -This ensures that the installed app always uses the same image, -until you are ready to upgrade. To get the digest for the image, use the -following script: +Configure the container images: ```shell -for i in "IMAGE_ZOOKEEPER" "IMAGE_ZOOKEEPER_EXPORTER" "IMAGE_METRICS_EXPORTER" ; do - repo=$(echo ${!i} | cut -d: -f1); - digest=$(docker pull ${!i} | sed -n -e 's/Digest: //p'); - export $i="$repo@$digest"; - env | grep $i; -done +export IMAGE_REGISTRY="marketplace.gcr.io/google" + +export IMAGE_ZOOKEEPER="${IMAGE_REGISTRY}/zookeeper" +export IMAGE_ZOOKEEPER_EXPORTER="${IMAGE_REGISTRY}/zookeeper/exporter" +export IMAGE_METRICS_EXPORTER="${IMAGE_REGISTRY}/zookeeper/prometheus-to-sd:${TAG}" ``` Set the number of replicas for ZooKeeper: @@ -197,23 +196,24 @@ expanded manifest file for future updates to the application. ```shell helm template chart/zookeeper \ ---name "${APP_INSTANCE_NAME}" \ ---namespace "${NAMESPACE}" \ ---set metrics.exporter.enabled=${METRICS_EXPORTER_ENABLED} \ ---set metrics.image=${IMAGE_METRICS_EXPORTER} \ ---set exporter.image.name=${IMAGE_ZOOKEEPER_REPO}/exporter \ ---set exporter.image.tag=${TAG} \ ---set zookeeper.image.name=${IMAGE_ZOOKEEPER_REPO} \ ---set zookeeper.image.tag=${TAG} \ ---set zookeeper.zkReplicas=${ZOOKEEPER_REPLICAS} \ ---set zookeeper.zkTicktime=${ZOOKEEPER_TICKTIME} \ ---set zookeeper.zkMaxClientCnxns=${ZOOKEEPER_CLIENT_MAX_CNXNX} \ ---set zookeeper.zkAutopurgeSnapRetainCount=${ZOOKEEPER_AUTO_PURGE_SNAP_RETAIN_COUNT} \ ---set zookeeper.zkPurgeInterval=${ZOOKEEPER_PURGE_INTERVAL} \ ---set zookeeper.memoryRequest=${ZOOKEEPER_MEMORY_REQUEST} \ ---set zookeeper.cpuRequest=${ZOOKEEPER_CPU_REQUEST} \ ---set zookeeper.zkHeapSize=${ZOOKEEPER_HEAP_SIZE} \ ---set zookeeper.volumeSize=${ZOOKEEPER_VOLUME_SIZE} > ${APP_INSTANCE_NAME}_manifest.yaml + --name "${APP_INSTANCE_NAME}" \ + --namespace "${NAMESPACE}" \ + --set zookeeper.image.name="${IMAGE_ZOOKEEPER}" \ + --set zookeeper.image.tag="${TAG}" \ + --set exporter.image="${IMAGE_ZOOKEEPER_EXPORTER}" \ + --set exporter.tag="${TAG}" \ + --set metrics.image="${IMAGE_METRICS_EXPORTER}" \ + --set metrics.exporter.enabled="${METRICS_EXPORTER_ENABLED}" \ + --set zookeeper.zkReplicas="${ZOOKEEPER_REPLICAS}" \ + --set zookeeper.zkTicktime="${ZOOKEEPER_TICKTIME}" \ + --set zookeeper.zkMaxClientCnxns="${ZOOKEEPER_CLIENT_MAX_CNXNX}" \ + --set zookeeper.zkAutopurgeSnapRetainCount="${ZOOKEEPER_AUTO_PURGE_SNAP_RETAIN_COUNT}" \ + --set zookeeper.zkPurgeInterval="${ZOOKEEPER_PURGE_INTERVAL}" \ + --set zookeeper.memoryRequest="${ZOOKEEPER_MEMORY_REQUEST}" \ + --set zookeeper.cpuRequest="${ZOOKEEPER_CPU_REQUEST}" \ + --set zookeeper.zkHeapSize="${ZOOKEEPER_HEAP_SIZE}" \ + --set zookeeper.volumeSize="${ZOOKEEPER_VOLUME_SIZE}" \ + > "${APP_INSTANCE_NAME}_manifest.yaml" ``` #### Apply the manifest to your Kubernetes cluster diff --git a/k8s/zookeeper/chart/zookeeper/templates/statefulset.yaml b/k8s/zookeeper/chart/zookeeper/templates/statefulset.yaml index 9b403cbe8d..da61387a4e 100644 --- a/k8s/zookeeper/chart/zookeeper/templates/statefulset.yaml +++ b/k8s/zookeeper/chart/zookeeper/templates/statefulset.yaml @@ -74,7 +74,7 @@ spec: mountPath: /opt/zookeeper/data - name: exporer imagePullPolicy: Always - image: "{{ .Values.exporter.image.name }}:{{ .Values.exporter.image.tag }}" + image: "{{ .Values.exporter.image }}:{{ .Values.exporter.tag }}" ports: - containerPort: {{ .Values.exporter.port }} name: metrics diff --git a/k8s/zookeeper/chart/zookeeper/values.yaml b/k8s/zookeeper/chart/zookeeper/values.yaml index d1560c3a78..436e0c9d86 100644 --- a/k8s/zookeeper/chart/zookeeper/values.yaml +++ b/k8s/zookeeper/chart/zookeeper/values.yaml @@ -17,9 +17,8 @@ zookeeper: memoryRequest: null exporter: - image: - name : null - tag: null + image: null + tag: null port: 9141 metrics: diff --git a/k8s/zookeeper/schema.yaml b/k8s/zookeeper/schema.yaml index 74b8a5dc72..f3c8c03a26 100644 --- a/k8s/zookeeper/schema.yaml +++ b/k8s/zookeeper/schema.yaml @@ -26,9 +26,9 @@ x-google-marketplace: type: FULL exporter: properties: - exporter.image.name: + exporter.image: type: REPO_WITH_REGISTRY - exporter.image.tag: + exporter.tag: type: TAG clusterConstraints: