From 038180087c7599187e498478f2a709c10bcbdf4e Mon Sep 17 00:00:00 2001 From: Tamal Saha Date: Tue, 14 Aug 2018 11:57:10 -0700 Subject: [PATCH] Fix catalog installer --- .../templates/elasticsearch.yaml | 2 + chart/kubedb-catalog/templates/memcached.yaml | 2 + chart/kubedb-catalog/templates/mongodb.yaml | 2 + chart/kubedb-catalog/templates/mysql.yaml | 2 + chart/kubedb-catalog/templates/postgres.yaml | 2 + chart/kubedb-catalog/templates/redis.yaml | 2 + chart/kubedb-catalog/values.yaml | 8 +++ docs/setup/install.md | 8 +-- hack/deploy/kubedb.sh | 67 ++++++++++--------- 9 files changed, 59 insertions(+), 36 deletions(-) diff --git a/chart/kubedb-catalog/templates/elasticsearch.yaml b/chart/kubedb-catalog/templates/elasticsearch.yaml index fee5a20fc..1a06f309d 100644 --- a/chart/kubedb-catalog/templates/elasticsearch.yaml +++ b/chart/kubedb-catalog/templates/elasticsearch.yaml @@ -1,3 +1,4 @@ +{{ if .Values.catalog.elasticsearch }} --- apiVersion: kubedb.com/v1alpha1 kind: ElasticsearchVersion @@ -105,3 +106,4 @@ spec: image: "{{ .Values.dockerRegistry }}/operator:0.8.0" tools: image: "{{ .Values.dockerRegistry }}/elasticsearch-tools:6.3" +{{ end }} diff --git a/chart/kubedb-catalog/templates/memcached.yaml b/chart/kubedb-catalog/templates/memcached.yaml index 14dddf20e..abbeffc1a 100644 --- a/chart/kubedb-catalog/templates/memcached.yaml +++ b/chart/kubedb-catalog/templates/memcached.yaml @@ -1,3 +1,4 @@ +{{ if .Values.catalog.memcached }} --- apiVersion: kubedb.com/v1alpha1 kind: MemcachedVersion @@ -29,3 +30,4 @@ spec: image: "{{ .Values.dockerRegistry }}/memcached:1.5.4" exporter: image: "{{ .Values.dockerRegistry }}/operator:0.8.0" +{{ end }} diff --git a/chart/kubedb-catalog/templates/mongodb.yaml b/chart/kubedb-catalog/templates/mongodb.yaml index 38bc0979d..3cf0ade17 100644 --- a/chart/kubedb-catalog/templates/mongodb.yaml +++ b/chart/kubedb-catalog/templates/mongodb.yaml @@ -1,3 +1,4 @@ +{{ if .Values.catalog.mongo }} --- apiVersion: kubedb.com/v1alpha1 kind: MongoDBVersion @@ -33,3 +34,4 @@ spec: image: "{{ .Values.dockerRegistry }}/operator:0.8.0" tools: image: "{{ .Values.dockerRegistry }}/mongo-tools:3.6" +{{ end }} diff --git a/chart/kubedb-catalog/templates/mysql.yaml b/chart/kubedb-catalog/templates/mysql.yaml index 28957e8a5..790429d2c 100644 --- a/chart/kubedb-catalog/templates/mysql.yaml +++ b/chart/kubedb-catalog/templates/mysql.yaml @@ -1,3 +1,4 @@ +{{ if .Values.catalog.mysql }} --- apiVersion: kubedb.com/v1alpha1 kind: MySQLVersion @@ -51,3 +52,4 @@ spec: image: "{{ .Values.dockerRegistry }}/operator:0.8.0" tools: image: "{{ .Values.dockerRegistry }}/mysql-tools:5" +{{ end }} diff --git a/chart/kubedb-catalog/templates/postgres.yaml b/chart/kubedb-catalog/templates/postgres.yaml index c4ad1f64c..3221a3c3c 100644 --- a/chart/kubedb-catalog/templates/postgres.yaml +++ b/chart/kubedb-catalog/templates/postgres.yaml @@ -1,3 +1,4 @@ +{{ if .Values.catalog.postgres }} --- apiVersion: kubedb.com/v1alpha1 kind: PostgresVersion @@ -51,3 +52,4 @@ spec: image: "{{ .Values.dockerRegistry }}/operator:0.8.0" tools: image: "{{ .Values.dockerRegistry }}/postgres-tools:10.2" +{{ end }} diff --git a/chart/kubedb-catalog/templates/redis.yaml b/chart/kubedb-catalog/templates/redis.yaml index df6a029b3..5a749f824 100644 --- a/chart/kubedb-catalog/templates/redis.yaml +++ b/chart/kubedb-catalog/templates/redis.yaml @@ -1,3 +1,4 @@ +{{ if .Values.catalog.redis }} --- apiVersion: kubedb.com/v1alpha1 kind: RedisVersion @@ -45,3 +46,4 @@ spec: image: "{{ .Values.dockerRegistry }}/redis:4" exporter: image: "{{ .Values.dockerRegistry }}/operator:0.8.0" +{{ end }} diff --git a/chart/kubedb-catalog/values.yaml b/chart/kubedb-catalog/values.yaml index 3a0ed6276..f3d10e057 100644 --- a/chart/kubedb-catalog/values.yaml +++ b/chart/kubedb-catalog/values.yaml @@ -1 +1,9 @@ dockerRegistry: "kubedb" +catalog: + elasticsearch: true + etcd: true + memcached: true + mongo: true + mysql: true + postgres: true + redis: true diff --git a/docs/setup/install.md b/docs/setup/install.md index 0e45f8205..fd01cda89 100644 --- a/docs/setup/install.md +++ b/docs/setup/install.md @@ -66,9 +66,9 @@ options: --run-on-master run KubeDB operator on master --enable-validating-webhook enable/disable validating webhooks for KubeDB CRDs --enable-mutating-webhook enable/disable mutating webhooks for KubeDB CRDs - --enable-status-subresource If enabled, uses status sub resource for crds + --enable-status-subresource if enabled, uses status sub resource for crds --enable-analytics send usage events to Google Analytics (default: true) - --enable-catalog If enabled, installs kubedb database version catalog (default: true) + --install-catalog installs KubeDB database version catalog (default: all) --uninstall uninstall KubeDB --purge purges KubeDB crd objects and crds ``` @@ -107,11 +107,11 @@ $ curl -fsSL https://raw.githubusercontent.com/kubedb/cli/0.8.0/hack/deploy/kube KubeDB 0.9.0 or later releases can use status sub resource for CustomResourceDefintions. This is enabled by default for Kubernetes 1.11.0 or later releases. To disable this feature, pass the `--enable-status-subresource=false` flag. -KubeDB 0.9.0 or later installs a catalog of database versions. To disable this pass the `--enable-catalog=false` flag. +KubeDB 0.9.0 or later installs a catalog of database versions. To disable this pass the `--install-catalog=none` flag. ```console $ curl -fsSL https://raw.githubusercontent.com/kubedb/cli/0.8.0/hack/deploy/kubedb.sh \ - | bash -s -- --enable-catalog=false [--rbac] + | bash -s -- --install-catalog=none [--rbac] ``` diff --git a/hack/deploy/kubedb.sh b/hack/deploy/kubedb.sh index 291802b4c..0dde867ac 100755 --- a/hack/deploy/kubedb.sh +++ b/hack/deploy/kubedb.sh @@ -115,7 +115,7 @@ export KUBEDB_ENABLE_RBAC=true export KUBEDB_RUN_ON_MASTER=0 export KUBEDB_ENABLE_VALIDATING_WEBHOOK=false export KUBEDB_ENABLE_MUTATING_WEBHOOK=false -export KUBEDB_ENABLE_CATALOG=${KUBEDB_ENABLE_CATALOG:-all} +export KUBEDB_CATALOG=${KUBEDB_CATALOG:-all} export KUBEDB_DOCKER_REGISTRY=kubedb export KUBEDB_OPERATOR_TAG=0.8.0 export KUBEDB_OPERATOR_NAME=operator @@ -160,10 +160,10 @@ show_help() { echo " --run-on-master run KubeDB operator on master" echo " --enable-validating-webhook enable/disable validating webhooks for KubeDB CRDs" echo " --enable-mutating-webhook enable/disable mutating webhooks for KubeDB CRDs" - echo " --enable-status-subresource If enabled, uses status sub resource for KubeDB crds" + echo " --enable-status-subresource if enabled, uses status sub resource for KubeDB crds" echo " --enable-analytics send usage events to Google Analytics (default: true)" - echo " --enable-catalog If enabled, installs kubedb database version catalog (default: true)" - echo " --operator-name specify which kubedb operator to deploy (default: operator)" + echo " --install-catalog installs KubeDB database version catalog (default: all)" + echo " --operator-name specify which KubeDB operator to deploy (default: operator)" echo " --uninstall uninstall KubeDB" echo " --purge purges KubeDB crd objects and crds" } @@ -225,11 +225,11 @@ while test $# -gt 0; do fi shift ;; - --enable-catalog*) + --install-catalog*) shift val=$(echo $1 | sed -e 's/^[^=]*=//g') if [ "$val" = "false" ]; then - export KUBEDB_ENABLE_CATALOG=false + export KUBEDB_CATALOG=false fi ;; --rbac*) @@ -408,32 +408,35 @@ if [ "$KUBEDB_OPERATOR_NAME" = "operator" ]; then done fi -echo "adding kubedb catalog" -case "$KUBEDB_ENABLE_CATALOG" in - all) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/* | $ONESSL envsubst | kubectl apply -f - - ;; - elasticsearch) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/elasticsearch.yaml | $ONESSL envsubst | kubectl apply -f - - ;; - postgres) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/postgres.yaml | $ONESSL envsubst | kubectl apply -f - - ;; - mongodb) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/mongodb.yaml | $ONESSL envsubst | kubectl apply -f - - ;; - mysql) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/mysql.yaml | $ONESSL envsubst | kubectl apply -f - - ;; - redis) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/redis.yaml | $ONESSL envsubst | kubectl apply -f - - ;; - memcached) - ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/memcached.yaml | $ONESSL envsubst | kubectl apply -f - - ;; - *) - ;; -esac +if [ "KUBEDB_CATALOG" = "all" ] || [ "KUBEDB_CATALOG" = "elasticsearch" ]; then + echo "installing KubeDB Elasticsearch catalog" + ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/elasticsearch.yaml | $ONESSL envsubst | kubectl apply -f - +fi + +if [ "KUBEDB_CATALOG" = "all" ] || [ "KUBEDB_CATALOG" = "postgres" ]; then + echo "installing KubeDB Postgres catalog" + ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/postgres.yaml | $ONESSL envsubst | kubectl apply -f - +fi + +if [ "KUBEDB_CATALOG" = "all" ] || [ "KUBEDB_CATALOG" = "mongo" ]; then + echo "installing KubeDB MongoDB catalog" + ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/mongodb.yaml | $ONESSL envsubst | kubectl apply -f - +fi + +if [ "KUBEDB_CATALOG" = "all" ] || [ "KUBEDB_CATALOG" = "mysql" ]; then + echo "installing KubeDB MySQL catalog" + ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/mysql.yaml | $ONESSL envsubst | kubectl apply -f - +fi + +if [ "KUBEDB_CATALOG" = "all" ] || [ "KUBEDB_CATALOG" = "redis" ]; then + echo "installing KubeDB Redis catalog" + ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/redis.yaml | $ONESSL envsubst | kubectl apply -f - +fi + +if [ "KUBEDB_CATALOG" = "all" ] || [ "KUBEDB_CATALOG" = "memcached" ]; then + echo "installing KubeDB Memcached catalog" + ${SCRIPT_LOCATION}hack/deploy/kubedb-catalog/memcached.yaml | $ONESSL envsubst | kubectl apply -f - +fi echo echo "Successfully installed KubeDB operator in $KUBEDB_NAMESPACE namespace!"