From 64b38dfc74112a64a4f733b53bc19ccf8fb54c64 Mon Sep 17 00:00:00 2001 From: Arnob Kumar Saha Date: Thu, 6 Aug 2026 11:12:15 +0600 Subject: [PATCH] Add exec connection options to remaining kubedb resource descriptors Adds spec.exec to 26 kubedb ResourceDescriptors, following the shape already used by mongodbs/postgreses/mysqls, so the UI can open an authenticated shell into the primary container. Container names come from apimachinery's *ContainerName constants; auth env vars from the same constants file or each operator's petset builder. Notes: - HTTP-only DBs (druid, milvus, qdrant, solr, weaviate) drop into bash with a curl one-liner in help, matching the elasticsearch pattern. - neo4j reads credentials from the mounted /config/neo4j-auth files rather than env, since NEO4J_USERNAME/PASSWORD are exported only inside the startup script. - aerospike's container sets no env vars, so asadm runs bare. - mssql prepends both mssql-tools paths to PATH because the sqlcmd location depends on the server version. - etcd is left out: it has no operator repo or container name constant. Signed-off-by: Arnob Kumar Saha --- hub/resourcedescriptors/kubedb.com/v1/kafkas.yaml | 8 ++++++++ .../kubedb.com/v1/pgbouncers.yaml | 10 ++++++++++ .../kubedb.com/v1/redissentinels.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/aerospikes.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/cassandras.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/clickhouses.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/db2s.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/documentdbs.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/druids.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/hanadbs.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/hazelcasts.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/ignites.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/kafkas.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/milvuses.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/mssqlservers.yaml | 12 ++++++++++++ .../kubedb.com/v1alpha2/neo4js.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/oracles.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/pgbouncers.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/pgpools.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/qdrants.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/rabbitmqs.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/redissentinels.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/singlestores.yaml | 10 ++++++++++ .../kubedb.com/v1alpha2/solrs.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/weaviates.yaml | 8 ++++++++ .../kubedb.com/v1alpha2/zookeepers.yaml | 8 ++++++++ 26 files changed, 238 insertions(+) diff --git a/hub/resourcedescriptors/kubedb.com/v1/kafkas.yaml b/hub/resourcedescriptors/kubedb.com/v1/kafkas.yaml index 6af225a97..25c97a3a9 100644 --- a/hub/resourcedescriptors/kubedb.com/v1/kafkas.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1/kafkas.yaml @@ -112,6 +112,14 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: KafkaSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + container: kafka + help: | + kafka-topics.sh --bootstrap-server localhost:9092 --list + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Kafka diff --git a/hub/resourcedescriptors/kubedb.com/v1/pgbouncers.yaml b/hub/resourcedescriptors/kubedb.com/v1/pgbouncers.yaml index 3f9ac32e3..9ba1cd9de 100644 --- a/hub/resourcedescriptors/kubedb.com/v1/pgbouncers.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1/pgbouncers.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - psql -p 5432 pgbouncer + container: pgbouncer + help: | + SHOW DATABASES; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: PgBouncer diff --git a/hub/resourcedescriptors/kubedb.com/v1/redissentinels.yaml b/hub/resourcedescriptors/kubedb.com/v1/redissentinels.yaml index c663af6f2..2102139af 100644 --- a/hub/resourcedescriptors/kubedb.com/v1/redissentinels.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1/redissentinels.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - redis-cli -p 26379 + container: redissentinel + help: | + sentinel masters + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: RedisSentinel diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/aerospikes.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/aerospikes.yaml index 6b97a86cc..118fbae68 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/aerospikes.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/aerospikes.yaml @@ -85,6 +85,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - asadm + container: aerospike + help: | + info + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Aerospike diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/cassandras.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/cassandras.yaml index 73d1bf1c2..26fe65b20 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/cassandras.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/cassandras.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - cqlsh -u "$CASSANDRA_USER" -p "$CASSANDRA_PASSWORD" + container: cassandra + help: | + DESCRIBE KEYSPACES; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Cassandra diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/clickhouses.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/clickhouses.yaml index 75703cf84..5411e513d 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/clickhouses.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/clickhouses.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - clickhouse-client -u "$CLICKHOUSE_USER" --password "$CLICKHOUSE_PASSWORD" + container: clickhouse + help: | + SHOW DATABASES; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: ClickHouse diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/db2s.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/db2s.yaml index 8195dc1c7..4d4d9cb46 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/db2s.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/db2s.yaml @@ -67,6 +67,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - db2 + container: db2 + help: | + connect to $DBNAME + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: DB2 diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/documentdbs.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/documentdbs.yaml index 3cb946a7c..5fb865638 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/documentdbs.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/documentdbs.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - psql -U "$POSTGRES_USER" + container: documentdb + help: | + \l + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: DocumentDB diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/druids.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/druids.yaml index e3d312569..6dd96a85c 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/druids.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/druids.yaml @@ -112,6 +112,14 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: DruidSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + container: druid + help: | + curl -u "admin:$DRUID_ADMIN_PASSWORD" "http://localhost:8888/status" + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Druid diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/hanadbs.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/hanadbs.yaml index c648bf6c4..06c29a341 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/hanadbs.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/hanadbs.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - hdbsql -u "$HANA_USER" -p "$HANA_PASSWORD" + container: hanadb + help: | + \s + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: HanaDB diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/hazelcasts.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/hazelcasts.yaml index 9f6e38cb1..aa8ce290a 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/hazelcasts.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/hazelcasts.yaml @@ -85,6 +85,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + container: hazelcast + help: | + hz-cli --targets "$USERNAME/dev@localhost:5701" cluster + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Hazelcast diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/ignites.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/ignites.yaml index aee8082bb..cc042dcdb 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/ignites.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/ignites.yaml @@ -85,6 +85,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + container: ignite + help: | + /opt/ignite/apache-ignite/bin/control.sh --user ignite --password "$IGNITE_PASSWORD" --baseline + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Ignite diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/kafkas.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/kafkas.yaml index 9be73d168..4f80a32dc 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/kafkas.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/kafkas.yaml @@ -112,6 +112,14 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: KafkaSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + container: kafka + help: | + kafka-topics.sh --bootstrap-server localhost:9092 --list + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Kafka diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/milvuses.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/milvuses.yaml index d8bd6119c..fc2c787fd 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/milvuses.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/milvuses.yaml @@ -85,6 +85,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + container: milvus + help: | + curl "http://localhost:9091/healthz" + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Milvus diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/mssqlservers.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/mssqlservers.yaml index 9885d2cab..73af1bb9a 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/mssqlservers.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/mssqlservers.yaml @@ -112,6 +112,18 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: MSSQLServerSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - export PATH="/opt/mssql-tools18/bin:/opt/mssql-tools/bin:$PATH"; sqlcmd -S localhost + -U "$MSSQL_SA_USERNAME" -P "$MSSQL_SA_PASSWORD" -C + container: mssql + help: | + SELECT name FROM sys.databases; + GO + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: MSSQLServer diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/neo4js.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/neo4js.yaml index 7671a8bcb..137d3e320 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/neo4js.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/neo4js.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - cypher-shell -u "$(cat /config/neo4j-auth/username)" -p "$(cat /config/neo4j-auth/password)" + container: neo4j + help: | + SHOW DATABASES; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Neo4j diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/oracles.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/oracles.yaml index 65c67c3ce..468f9b55c 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/oracles.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/oracles.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - sqlplus / as sysdba + container: oracle + help: | + SELECT name FROM v$database; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Oracle diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/pgbouncers.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/pgbouncers.yaml index a85feeea8..6b9bd53cd 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/pgbouncers.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/pgbouncers.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - psql -p 5432 pgbouncer + container: pgbouncer + help: | + SHOW DATABASES; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: PgBouncer diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/pgpools.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/pgpools.yaml index 1fcaf931b..a9115c8e8 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/pgpools.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/pgpools.yaml @@ -112,6 +112,16 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: PgpoolSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - psql -U "$POSTGRES_USERNAME" + container: pgpool + help: | + \l + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Pgpool diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/qdrants.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/qdrants.yaml index e301f5f78..8cc41ba39 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/qdrants.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/qdrants.yaml @@ -85,6 +85,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + container: qdrant + help: | + curl -H "api-key: $QDRANT__SERVICE__API_KEY" "http://localhost:6333/collections" + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Qdrant diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/rabbitmqs.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/rabbitmqs.yaml index 13b24d30e..3189892f4 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/rabbitmqs.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/rabbitmqs.yaml @@ -112,6 +112,16 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: RabbitMQSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - rabbitmqctl status + container: rabbitmq + help: | + rabbitmqctl list_queues + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: RabbitMQ diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/redissentinels.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/redissentinels.yaml index a51a58424..d35a7b799 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/redissentinels.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/redissentinels.yaml @@ -85,6 +85,16 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - redis-cli -p 26379 + container: redissentinel + help: | + sentinel masters + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: RedisSentinel diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/singlestores.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/singlestores.yaml index 02369b1d5..7970a507d 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/singlestores.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/singlestores.yaml @@ -112,6 +112,16 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: SinglestoreSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + - -c + - memsql -u "$ROOT_USERNAME" -p"$ROOT_PASSWORD" + container: singlestore + help: | + show databases; + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Singlestore diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/solrs.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/solrs.yaml index 925eb7671..409f28c75 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/solrs.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/solrs.yaml @@ -112,6 +112,14 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: SolrSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + container: solr + help: | + curl -u "$SOLR_USER:$SOLR_PASSWORD" "http://localhost:8983/solr/admin/collections?action=LIST" + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Solr diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/weaviates.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/weaviates.yaml index 6e363a002..dee9299f6 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/weaviates.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/weaviates.yaml @@ -85,6 +85,14 @@ spec: apiVersion: core.k8s.appscode.com/v1alpha1 kind: GenericResourceService type: MatchName + exec: + - alias: Primary + command: + - bash + container: weaviate + help: | + curl "http://localhost:8080/v1/meta" + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: Weaviate diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/zookeepers.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/zookeepers.yaml index 5996b0f90..090ff3048 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/zookeepers.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/zookeepers.yaml @@ -112,6 +112,14 @@ spec: apiVersion: ui.kubedb.com/v1alpha1 kind: ZooKeeperSchemaOverview type: MatchName + exec: + - alias: Primary + command: + - bash + container: zookeeper + help: | + zkCli.sh -server localhost:2181 ls / + serviceNameTemplate: '{{- .metadata.name -}}' resource: group: kubedb.com kind: ZooKeeper