From cbf75e9fd4c7507743fb30464f73a66a41f93766 Mon Sep 17 00:00:00 2001 From: Ray Paik Date: Tue, 17 Jan 2023 21:57:43 -0800 Subject: [PATCH] Remove helm-charts directory (#6024) --- examples/helm-charts/README.md | 7 - examples/helm-charts/cube-stack/.gitignore | 2 - examples/helm-charts/cube-stack/.helmignore | 23 - examples/helm-charts/cube-stack/Chart.lock | 12 - examples/helm-charts/cube-stack/Chart.yaml | 28 - examples/helm-charts/cube-stack/README.md | 67 -- examples/helm-charts/cube-stack/values.yaml | 18 - examples/helm-charts/cubejs/.helmignore | 23 - examples/helm-charts/cubejs/Chart.yaml | 13 - examples/helm-charts/cubejs/README.md | 381 ----------- .../helm-charts/cubejs/templates/_helpers.tpl | 109 --- .../cubejs/templates/common-env.tpl | 480 ------------- .../helm-charts/cubejs/templates/ingress.yaml | 47 -- .../cubejs/templates/master/deployment.yaml | 118 ---- .../cubejs/templates/master/service.yaml | 32 - .../templates/master/serviceaccount.yaml | 16 - .../cubejs/templates/workers/deployment.yaml | 114 ---- .../templates/workers/serviceaccount.yaml | 16 - examples/helm-charts/cubejs/values.yaml | 640 ------------------ examples/helm-charts/cubestore/.helmignore | 23 - examples/helm-charts/cubestore/Chart.yaml | 14 - examples/helm-charts/cubestore/README.md | 167 ----- .../cubestore/templates/_helpers.tpl | 73 -- .../cubestore/templates/common-env.tpl | 94 --- .../helm-charts/cubestore/templates/pvc.yaml | 35 - .../cubestore/templates/router/service.yaml | 28 - .../templates/router/serviceaccount.yaml | 16 - .../templates/router/statefulset.yaml | 172 ----- .../templates/workers/service-headless.yaml | 26 - .../templates/workers/serviceaccount.yaml | 16 - .../templates/workers/statefulset.yaml | 140 ---- examples/helm-charts/cubestore/values.yaml | 311 --------- 32 files changed, 3261 deletions(-) delete mode 100644 examples/helm-charts/README.md delete mode 100644 examples/helm-charts/cube-stack/.gitignore delete mode 100644 examples/helm-charts/cube-stack/.helmignore delete mode 100644 examples/helm-charts/cube-stack/Chart.lock delete mode 100644 examples/helm-charts/cube-stack/Chart.yaml delete mode 100644 examples/helm-charts/cube-stack/README.md delete mode 100644 examples/helm-charts/cube-stack/values.yaml delete mode 100644 examples/helm-charts/cubejs/.helmignore delete mode 100644 examples/helm-charts/cubejs/Chart.yaml delete mode 100644 examples/helm-charts/cubejs/README.md delete mode 100644 examples/helm-charts/cubejs/templates/_helpers.tpl delete mode 100644 examples/helm-charts/cubejs/templates/common-env.tpl delete mode 100644 examples/helm-charts/cubejs/templates/ingress.yaml delete mode 100644 examples/helm-charts/cubejs/templates/master/deployment.yaml delete mode 100644 examples/helm-charts/cubejs/templates/master/service.yaml delete mode 100644 examples/helm-charts/cubejs/templates/master/serviceaccount.yaml delete mode 100644 examples/helm-charts/cubejs/templates/workers/deployment.yaml delete mode 100644 examples/helm-charts/cubejs/templates/workers/serviceaccount.yaml delete mode 100644 examples/helm-charts/cubejs/values.yaml delete mode 100644 examples/helm-charts/cubestore/.helmignore delete mode 100644 examples/helm-charts/cubestore/Chart.yaml delete mode 100644 examples/helm-charts/cubestore/README.md delete mode 100644 examples/helm-charts/cubestore/templates/_helpers.tpl delete mode 100644 examples/helm-charts/cubestore/templates/common-env.tpl delete mode 100644 examples/helm-charts/cubestore/templates/pvc.yaml delete mode 100644 examples/helm-charts/cubestore/templates/router/service.yaml delete mode 100644 examples/helm-charts/cubestore/templates/router/serviceaccount.yaml delete mode 100644 examples/helm-charts/cubestore/templates/router/statefulset.yaml delete mode 100644 examples/helm-charts/cubestore/templates/workers/service-headless.yaml delete mode 100644 examples/helm-charts/cubestore/templates/workers/serviceaccount.yaml delete mode 100644 examples/helm-charts/cubestore/templates/workers/statefulset.yaml delete mode 100644 examples/helm-charts/cubestore/values.yaml diff --git a/examples/helm-charts/README.md b/examples/helm-charts/README.md deleted file mode 100644 index e1cf62a81b525..0000000000000 --- a/examples/helm-charts/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Helm Charts for Cube.js - -This is a place for community members to share their Helm Chart examples to deploy Cube.js. If you are interested in contributing your Helm Chart, we ask that you create a new (sub)directory and include all your Helm Chart contents in the directory. - -## Support - -The Helm Charts in this directory are **community supported** and should be used at your own risk. If you have any questions about individual Helm Charts, you should contact the original author. diff --git a/examples/helm-charts/cube-stack/.gitignore b/examples/helm-charts/cube-stack/.gitignore deleted file mode 100644 index 85e9cf8178039..0000000000000 --- a/examples/helm-charts/cube-stack/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Chart .tgz -charts/ \ No newline at end of file diff --git a/examples/helm-charts/cube-stack/.helmignore b/examples/helm-charts/cube-stack/.helmignore deleted file mode 100644 index 691fa13d6a54c..0000000000000 --- a/examples/helm-charts/cube-stack/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ \ No newline at end of file diff --git a/examples/helm-charts/cube-stack/Chart.lock b/examples/helm-charts/cube-stack/Chart.lock deleted file mode 100644 index a735ffb44b09b..0000000000000 --- a/examples/helm-charts/cube-stack/Chart.lock +++ /dev/null @@ -1,12 +0,0 @@ -dependencies: -- name: cubejs - repository: file://../cubejs - version: 0.1.0 -- name: cubestore - repository: file://../cubestore - version: 0.1.0 -- name: redis - repository: https://charts.bitnami.com/bitnami - version: 11.2.3 -digest: sha256:74177b6eac090639acbfe7fe13b95f80ac5c1d1e7e2239dedfed66169f0ad816 -generated: "2021-09-02T18:07:09.484591113+02:00" diff --git a/examples/helm-charts/cube-stack/Chart.yaml b/examples/helm-charts/cube-stack/Chart.yaml deleted file mode 100644 index cd64f1883e19e..0000000000000 --- a/examples/helm-charts/cube-stack/Chart.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v2 -name: cube-stack -description: Cube Stack is an Umbrella Chart that contains everything needed to run Cube in production. -type: application -version: 0.1.0 -appVersion: "0.28.26" -keywords: -- cubejs -maintainers: - - name: Luc Vauvillier - email: luc.vauvillier@gmail.com - - name: Adnan Rahic - email: adnan@cube.dev -sources: - - https://github.com/cube-js/cube.js -dependencies: -- name: cubejs - version: "0.1.*" - repository: file://../cubejs - condition: global.cubejs.enabled -- name: cubestore - version: "0.1.*" - repository: file://../cubestore - condition: global.cubestore.enabled -- name: redis - version: "~11.2" - repository: "@bitnami" - condition: global.redis.enabled diff --git a/examples/helm-charts/cube-stack/README.md b/examples/helm-charts/cube-stack/README.md deleted file mode 100644 index 24ceef7c8fd53..0000000000000 --- a/examples/helm-charts/cube-stack/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# Cube Stack Chart - -This Helm Chart is an Umbrella chart wrapping everything that's needed to run an entire Cube Stack: - -- Cube Server -- Cube Store -- Redis - -## Add the Bitnami Helm Repo - -```bash -helm repo add bitnami https://charts.bitnami.com/bitnami -``` - -## Update Dependencies - -```bash -helm dependency update -``` - -## Install the Cube Stack - -Installing the Chart with the `values.yaml` file looks like this: - -```bash -helm install cube-stack . -f ./values.yaml -``` - -Because this is an Umbrella Chart, you can set any value from the dependent charts in the `values.yaml`. - -Any value from the `../cubejs/values.yaml`, `../cubestore/values.yaml`, and `bitnami/redis` can be set in the `./values.yaml`. - -The requirement is to prefix the values with `cubejs`, `cubestore`, and `redis` respectively. - -Here's an example: - -```yaml -# values.yaml - -global: - cubejs: - enabled: true - cubestore: - enabled: true - redis: - enabled: true - -cubejs: -... - - config: - apiSecret: secret - - volumes: - - name: schema - configMap: - name: schema - volumeMounts: - - name: schema - readOnly: true - mountPath: /cube/conf/schema -... -``` - -## Details - -To view more config options please look at the `../cubejs` and `../cubestore` Charts respectively. diff --git a/examples/helm-charts/cube-stack/values.yaml b/examples/helm-charts/cube-stack/values.yaml deleted file mode 100644 index 9993e62f23ba2..0000000000000 --- a/examples/helm-charts/cube-stack/values.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Global Vars -global: - cubejs: - enabled: true - cubestore: - enabled: true - redis: - enabled: true - -# Subchart Vars -cubejs: - # ... - -cubestore: - # ... - -redis: - # ... diff --git a/examples/helm-charts/cubejs/.helmignore b/examples/helm-charts/cubejs/.helmignore deleted file mode 100644 index 0e8a0eb36f4ca..0000000000000 --- a/examples/helm-charts/cubejs/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/examples/helm-charts/cubejs/Chart.yaml b/examples/helm-charts/cubejs/Chart.yaml deleted file mode 100644 index b22ed4f9892c5..0000000000000 --- a/examples/helm-charts/cubejs/Chart.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v2 -name: cubejs -description: A Helm chart for Cubejs -type: application -version: 0.1.0 -appVersion: "0.29.31" -keywords: - - cubejs -maintainers: - - email: luc.vauvillier@gmail.com - name: Luc Vauvillier -sources: - - https://github.com/cube-js/cube.js diff --git a/examples/helm-charts/cubejs/README.md b/examples/helm-charts/cubejs/README.md deleted file mode 100644 index 9d38b111be9fd..0000000000000 --- a/examples/helm-charts/cubejs/README.md +++ /dev/null @@ -1,381 +0,0 @@ -# Cubejs Chart - -## Installing the Chart - -```bash -$ cd examples/helm-charts -$ helm install my-release \ ---set database.type= \ ---set ... \ -./cubejs -``` - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```bash -$ helm delete my-release -``` - -## Setup - -By default a router and one worker will be deployed. You can customize the deployment using helm values. - -Refer to the official documentation for more information: -https://cube.dev/docs/reference/environment-variables - -### Injecting schema - -To inject your schema files in the deployment you have to use `config.volumes` and `config.volumeMounts` values. - -Mount path is `/cube/conf/schema` by default and can be customized with the `config.schemaPath` value. - -A good practice is to use a ConfigMap to store your all the cube definition files: - -```yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: cube-schema -data: - Cube1.js: | - cube(`Cube1`, { - sql: `SELECT * FROM cube1_data`, - - measures: { - count: { - type: `count`, - }, - }, - }); - Cube2.js: | - cube(`Cube2`, { - sql: `SELECT * FROM cube2_data`, - - measures: { - count: { - type: `count`, - }, - }, - }); -``` - -### Injecting javascript config - -To inject a javascript config in the deployment you can use `config.volumes` and `config.volumeMounts` values. - -Mount path is `/cube/conf/` - -### Production Example - -Deployment with: - -- 2 workers -- BigQuery db with exportBucket on GCS -- Schema located in a `cube-schema` ConfigMap -- Redis (using pasword in a secret) -- Cubestore - -```bash -$ helm install my-release \ -# Set two workers (default 1) ---set workers.workerCount=2 \ -# Mount schema volume from ConfigMap ---set config.volumes[0].name=schema \ ---set config.volumes[0].configMap.name=cube-schema \ ---set config.volumeMounts[0].name=schema \ ---set config.volumeMounts[0].readOnly=true \ ---set config.volumeMounts[0].mountPath=/cube/conf/schema \ -# Database configuration using secret ---set database.type=bigquery \ ---set database.bigquery.projectId= \ ---set database.bigquery.credentialsFromSecret.name= \ ---set database.bigquery.credentialsFromSecret.key= \ -# External Bucket configuration ---set exportBucket.type=gcp \ ---set exportBucket.name.key= \ ---set exportBucket.gcsCredentialsFromSecret.name= \ ---set exportBucket.gcsCredentialsFromSecret.name= \ -# Redis configuration ---set redis.url= \ ---set redis.passwordFromSecret.name= \ ---set redis.passwordFromSecret.key= \ -# Cubestore configuration ---set cubestore.host= \ -./cubejs -``` - -Or for more readability, using a custom `values.yaml` file: - -```bash -$ helm install my-release -f path/to/values.yaml ./cubejs -``` - -```yaml -# path/to/values.yaml -config: - volumes: - - name: schema - configMap: - name: cube-schema - volumeMounts: - - name: schema - readOnly: true - mountPath: /cube/conf/schema - -workers: - workersCount: 2 - -redis: - url: - passwordFromSecret: - name: - key: - -database: - type: bigquery - bigquery: - projectId: - credentialsFromSecret: - name: - key: - -exportBucket: - type: gcp - name: - gcsCredentialsFromSecret: - name: - key: - -cubestore: - host: -``` - -## Parameters - -### Common parameters - -| Name | Description | Value | -| ------------------- | ------------------------------------------------------------ | ----- | -| `nameOverride` | Override the name | `""` | -| `fullnameOverride` | Provide a name to substitute for the full names of resources | `""` | -| `commonLabels` | Labels to add to all deployed objects | `{}` | -| `commonAnnotations` | Annotations to add to all deployed objects | `{}` | - -### Image parameters - -| Name | Description | Value | -| ------------------- | --------------------------------------------------------------------------------------- | -------------- | -| `image.repository` | Cubestore image repository | `cubejs/cube` | -| `image.tag` | Cubestore image tag (immutable tags are recommended) | `0.28.26` | -| `image.pullPolicy` | Cubestore image pull policy | `IfNotPresent` | -| `image.pullSecrets` | If defined, uses a Secret to pull an image from a private Docker registry or repository | `[]` | - -### Config parameters - -| Name | Description | Value | -| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------- | -| `config.apiPort` | The port for a Cube.js deployment to listen to API connections on | `4000` | -| `config.sqlPort` | The port for a Cube.js deployment to listen to SQL connections on | | -| `config.pgSqlPort` | The port for a Cube.js deployment to listen to Postgres SQL connections on | | -| `config.sqlUser` | The username to access the SQL api | | -| `config.sqlPassword` | The password to access the SQL api | | -| `config.sqlPasswordFromSecret.name` | The password to access the SQL api (using secret) | | -| `config.sqlPasswordFromSecret.key` | The password to access the SQL api (using secret) | | -| `config.devMode` | If true, enables development mode | `false` | -| `config.debug` | If true, enables debug logging | `false` | -| `config.logLevel` | The logging level for Cube.js | `warn` | -| `config.externalDefault` | If true, uses Cube Store or an external database for storing Pre-aggregations | `true` | -| `config.telemetry` | If true, then send telemetry to CubeJS | `false` | -| `config.apiSecret` | The secret key used to sign and verify JWTs. Generated on project scaffold | | -| `config.apiSecretFromSecret.name` | The secret key used to sign and verify JWTs. Generated on project scaffold (using secret) | | -| `config.apiSecretFromSecret.key` | The secret key used to sign and verify JWTs. Generated on project scaffold (using secret) | | -| `config.schemaPath` | The path where Cube.js loads schemas from. Defaults to schema | | -| `config.app` | An application ID used to uniquely identify the Cube.js deployment. Can be different for multitenant setups. Defaults to cubejs | | -| `config.rollupOnly` | If true, this instance of Cube.js will only query rollup pre-aggregations. Defaults to false | | -| `config.scheduledRefreshTimezones` | A comma-separated list of timezones to schedule refreshes for | | -| `config.webSockets` | If true, then use WebSocket for data fetching. Defaults to true | | -| `config.preAggregationsSchema` | The schema name to use for storing pre-aggregations true | | -| `config.cacheAndQueueDriver` | The cache and queue driver to use for the Cube.js deployment. Defaults to redis | | -| `config.topicName` | The name of the Amazon SNS or Google Cloud Pub/Sub topicredis | | -| `config.volumes` | The config volumes. Will be used to both master and workers | `[]` | -| `config.volumeMounts` | The config volumeMounts. Will be used to both master and workers | `[]` | - -### Redis parameters - -| Name | Description | Value | -| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| `redis.url` | The host URL for a Redis server. Note that this must include the `redis://` protocol prefix. | | -| `redis.password` | The password used to connect to the Redis server | | -| `redis.passwordFromSecret.name` | The password used to connect to the Redis server (using secret) | | -| `redis.passwordFromSecret.key` | The password used to connect to the Redis server (using secret) | | -| `redis.tls` | If true, then the connection to the Redis server is protected by TLS authentication. Defaults to false | | -| `redis.poolMin` | The minimum number of connections to keep active in the Redis connection pool for a single appId (tenant). Must be lower than poolMax. Defaults to 2 | | -| `redis.poolMax` | The maximum number of connections to keep active in the Redis connection pool for a single appId (tenant). Must be higher than poolMin. Defaults to 1000 | | -| `redis.useIoRedis` | Use ioredis instead of redis. Defaults to false | | - -### JWT parameters - -| Name | Description | Value | -| ------------------------- | ----------------------------------------------------------------------------------------- | ----- | -| `jwt.url` | A valid URL to a JSON Web Key Sets (JWKS) | | -| `jwt.key` | The secret key used to sign and verify JWTs. Generated on project scaffold | | -| `jwt.keyFromSecret.name` | The secret key used to sign and verify JWTs. Generated on project scaffold (using secret) | | -| `jwt.keyFromSecret.value` | The secret key used to sign and verify JWTs. Generated on project scaffold (using secret) | | -| `jwt.audience` | An audience value which will be used to enforce the aud claim from inbound JWTs | | -| `jwt.issuer` | An issuer value which will be used to enforce the iss claim from inbound JWTs | | -| `jwt.subject` | A subject value which will be used to enforce the sub claim from inbound JWTs | | -| `jwt.algs` | Any supported algorithm for decoding JWTs | | -| `jwt.claimsNamespace` | A namespace within the decoded JWT under which any custom claims can be found | | - -### Database parameters - -| Name | Description | Value | -| ---------------------------------------------- | -------------------------------------------------------------------------------- | ------- | -| `database.type` | A database type supported by Cube.js | | -| `database.url` | The URL for a database | | -| `database.host` | The host URL for a database | | -| `database.port` | The port for the database connection | | -| `database.schema` | The schema within the database to connect to | | -| `database.name` | The name of the database to connect to | | -| `database.user` | The username used to connect to the database | | -| `database.pass` | The password used to connect to the database | | -| `database.passFromSecret.name` | The password used to connect to the database (using secret) | | -| `database.passFromSecret.key` | The password used to connect to the database (using secret) | | -| `database.domain` | A domain name within the database to connect to | | -| `database.socketPath` | The path to a Unix socket for a MySQL database | | -| `database.catalog` | The catalog within the database to connect to | | -| `database.maxPool` | The maximum number of connections to keep active in the database connection pool | | -| `database.ssl.enabled` | If true, enables SSL encryption for database connections from Cube.js | `false` | -| `database.ssl.rejectUnAuthorized` | If true, verifies the CA chain with the system's built-in CA chain | | -| `database.ssl.ca` | The contents of a CA bundle in PEM format, or a path to one | | -| `database.ssl.cert` | The contents of an SSL certificate in PEM format, or a path to one | | -| `database.ssl.key` | The contents of a private key in PEM format, or a path to one | | -| `database.ssl.ciphers` | The ciphers used by the SSL certificate | | -| `database.ssl.serverName` | The server name for the SNI TLS extension | | -| `database.ssl.passPhrase` | he passphrase used to encrypt the SSL private key | | -| `database.aws.key` | The AWS Access Key ID to use for database connections | | -| `database.aws.keyFromSecret.name` | The AWS Access Key ID to use for database connections (using secret) | | -| `database.aws.keyFromSecret.key` | The AWS Access Key ID to use for database connections (using secret) | | -| `database.aws.region` | The AWS region of the Cube.js deployment | | -| `database.aws.s3OutputLocation` | The S3 path to store query results made by the Cube.js deployment | | -| `database.aws.secret` | The AWS Secret Access Key to use for database connections | | -| `database.aws.secretFromSecret.name` | The AWS Secret Access Key to use for database connections (using secret) | | -| `database.aws.secretFromSecret.key` | The AWS Secret Access Key to use for database connections (using secret) | | -| `database.aws.athenaWorkgroup` | The name of the workgroup in which the query is being started | | -| `database.bigquery.projectId` | The Google BigQuery project ID to connect to | | -| `database.bigquery.location` | The Google BigQuery dataset location to connect to | | -| `database.bigquery.credentials` | A Base64 encoded JSON key file for connecting to Google BigQuery | | -| `database.bigquery.credentialsFromSecret.name` | A Base64 encoded JSON key file for connecting to Google BigQuery (using secret) | | -| `database.bigquery.credentialsFromSecret.key` | A Base64 encoded JSON key file for connecting to Google BigQuery (using secret) | | -| `database.hive.cdhVersion` | The version of the CDH instance for Apache Hive | | -| `database.hive.thriftVersion` | The version of Thrift Server for Apache Hive | | -| `database.hive.type` | The type of Apache Hive server | | -| `database.hive.version` | The version of Apache Hive | | -| `database.jdbc.driver` | The driver of jdbc connection | | -| `database.jdbc.url` | The URL for a JDBC connection | | -| `database.snowFlake.account` | The Snowflake account ID to use when connecting to the database | | -| `database.snowFlake.region` | The Snowflake region to use when connecting to the database | | -| `database.snowFlake.role` | The Snowflake role to use when connecting to the database | | -| `database.snowFlake.warehouse` | The Snowflake warehouse to use when connecting to the database | | -| `database.snowFlake.clientSessionKeepAlive` | If true, keep the Snowflake connection alive indefinitely | | -| `database.snowFlake.authenticator` | The type of authenticator to use with Snowflake. Defaults to SNOWFLAKE | | -| `database.snowFlake.privateKeyPath` | The path to the private RSA key folder | | -| `database.snowFlake.privateKeyPass` | The password for the private RSA key. Only required for encrypted keys | | -| `database.databricks.url` | The URL for a JDBC connection | | - -### External Database parameters - -| Name | Description | Value | -| -------------------------------------- | ------------------------------------------------------------------------------------- | ----- | -| `externalDatabase.type` | Alternative to Cube Store storage for pre-aggregations | | -| `externalDatabase.host` | The host URL for an external pre-aggregations database | | -| `externalDatabase.port` | The port for the external pre-aggregations database | | -| `externalDatabase.name` | The name of the external pre-aggregations database to connect to | | -| `externalDatabase.pass` | Base64 encoded JSON key file for connecting to Google Cloud | | -| `externalDatabase.passFromSecret.name` | The password used to connect to the external pre-aggregations database (using secret) | | -| `externalDatabase.passFromSecret.key` | The password used to connect to the external pre-aggregations database (using secret) | | -| `externalDatabase.user` | The username used to connect to the external pre-aggregations database | | - -### Export Bucket parameters - -| Name | Description | Value | -| -------------------------------------------- | -------------------------------------------------------------------------- | ----- | -| `exportBucket.name` | The name of a bucket in cloud storage | | -| `exportBucket.type` | The cloud provider where the bucket is hosted (gcs, s3) | | -| `exportBucket.gcsCredentials` | Base64 encoded JSON key file for connecting to Google Cloud | | -| `exportBucket.gcsCredentialsFromSecret.name` | Base64 encoded JSON key file for connecting to Google Cloud (using secret) | | -| `exportBucket.gcsCredentialsFromSecret.key` | Base64 encoded JSON key file for connecting to Google Cloud (using secret) | | - -### Cubestore parameters - -| Name | Description | Value | -| ---------------- | ----------------------------------------- | ----- | -| `cubestore.host` | The hostname of the Cube Store deployment | | -| `cubestore.port` | The port of the Cube Store deployment | | - -### Master parameters - -| Name | Description | Value | -| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------- | -| `master.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `false` | -| `master.serviceAccount.name` | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` | -| `master.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` | -| `master.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if create is true. | `{}` | -| `master.affinity` | Affinity for pod assignment | `{}` | -| `master.spreadConstraints` | Topology spread constraint for pod assignment | `[]` | -| `master.resources` | Define resources requests and limits for single Pods | `{}` | -| `master.livenessProbe.enabled` | Enable livenessProbe | `true` | -| `master.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | -| `master.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `30` | -| `master.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `3` | -| `master.livenessProbe.successThreshold` | Failure threshold for livenessProbe | `1` | -| `master.livenessProbe.failureThreshold` | Success threshold for livenessProbe | `3` | -| `master.readinessProbe.enabled` | Enable readinessProbe | `true` | -| `master.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | -| `master.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `30` | -| `master.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `3` | -| `master.readinessProbe.successThreshold` | Failure threshold for readinessProbe | `1` | -| `master.readinessProbe.failureThreshold` | Success threshold for readinessProbe | `3` | -| `master.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `master.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | - -### Workers parameters - -| Name | Description | Value | -| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------- | -| `workers.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `false` | -| `workers.serviceAccount.name` | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` | -| `workers.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` | -| `workers.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if create is true. | `{}` | -| `workers.workersCount` | Number of workers to deploy | `1` | -| `workers.affinity` | Affinity for pod assignment | `{}` | -| `workers.spreadConstraints` | Topology spread constraint for pod assignment | `[]` | -| `workers.resources` | Define resources requests and limits for single Pods | `{}` | -| `workers.livenessProbe.enabled` | Enable livenessProbe | `true` | -| `workers.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | -| `workers.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `30` | -| `workers.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `3` | -| `workers.livenessProbe.successThreshold` | Failure threshold for livenessProbe | `1` | -| `workers.livenessProbe.failureThreshold` | Success threshold for livenessProbe | `3` | -| `workers.readinessProbe.enabled` | Enable readinessProbe | `true` | -| `workers.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | -| `workers.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `30` | -| `workers.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `3` | -| `workers.readinessProbe.successThreshold` | Failure threshold for readinessProbe | `1` | -| `workers.readinessProbe.failureThreshold` | Success threshold for readinessProbe | `3` | -| `workers.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `workers.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | - -## Ingress parameters - -| Name | Description | Value | -| -------------------------- | ------------------------------------------------------------------------------- | ------------------------ | -| `ingress.enabled` | Set to true to enable ingress record generation | `false` | -| `ingress.hostname` | When the ingress is enabled, a host pointing to this will be created | `cubejs.local` | -| `ingress.path` | The Path to Cubejs | `/` | -| `ingress.pathPrefix` | The PathPrefix | `ImplementationSpecific` | -| `ingress.ingressClassName` | The Ingress class name | | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.tls` | Enable TLS configuration for the hostname defined at ingress.hostname parameter | `false` | diff --git a/examples/helm-charts/cubejs/templates/_helpers.tpl b/examples/helm-charts/cubejs/templates/_helpers.tpl deleted file mode 100644 index d43c2490f69e0..0000000000000 --- a/examples/helm-charts/cubejs/templates/_helpers.tpl +++ /dev/null @@ -1,109 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "cubejs.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "cubejs.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "cubejs.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "cubejs.labels" -}} -helm.sh/chart: {{ include "cubejs.chart" . }} -{{ include "cubejs.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "cubejs.selectorLabels" -}} -app.kubernetes.io/name: {{ include "cubejs.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - - -{{/* -Return the appropriate apiVersion for ingress. -*/}} -{{- define "cubejs.ingress.apiVersion" -}} -{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.Version -}} -{{- print "extensions/v1beta1" -}} -{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.Version -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return "true" if the API pathType field is supported -*/}} -{{- define "cubejs.ingress.supportsPathType" -}} -{{- if semverCompare "<1.18-0" .Capabilities.KubeVersion.Version -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} - -{{/* -Return "true" if the API ingressClassName field is supported -*/}} -{{- define "cubejs.ingress.supportsIngressClassname" -}} -{{- if semverCompare "<1.18-0" .Capabilities.KubeVersion.Version -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} - -{{/* -Create the name of cubejs master service account to use -*/}} -{{- define "cubejs.master.serviceAccountName" -}} -{{- if .Values.master.serviceAccount.create -}} - {{ default (printf "%s-master" (include "cubejs.fullname" .)) .Values.master.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.master.serviceAccount.name }} -{{- end -}} -{{- end -}} - -{{/* -Create the name of cubejs workers service account to use -*/}} -{{- define "cubejs.workers.serviceAccountName" -}} -{{- if .Values.workers.serviceAccount.create -}} - {{ default (printf "%s-workers" (include "cubejs.fullname" .)) .Values.workers.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.workers.serviceAccount.name }} -{{- end -}} -{{- end -}} diff --git a/examples/helm-charts/cubejs/templates/common-env.tpl b/examples/helm-charts/cubejs/templates/common-env.tpl deleted file mode 100644 index c7b716a7bd56b..0000000000000 --- a/examples/helm-charts/cubejs/templates/common-env.tpl +++ /dev/null @@ -1,480 +0,0 @@ -{{/* User defined cubejs environment from */}} -{{- define "custom_cubejs_environment_from" }} - {{- $Global := . }} - {{- with .Values.extraEnvFrom }} - {{- tpl . $Global | nindent 2 }} - {{- end }} -{{- end }} -{{- define "cubejs.common-env" -}} -{{- $Global := . }} -{{- with .Values.extraEnv }} -{{- tpl . $Global }} -{{- end }} -- name: PORT - value: {{ .Values.config.apiPort | quote }} -{{- if .Values.config.debug }} -- name: DEBUG_LOG - value: {{ .Values.config.debug | quote }} -{{- end }} -{{- if .Values.config.sqlPort }} -- name: CUBEJS_SQL_PORT - value: {{ .Values.config.sqlPort | quote }} -{{- end }} -{{- if .Values.config.pgSqlPort }} -- name: CUBEJS_PG_SQL_PORT - value: {{ .Values.config.pgSqlPort | quote }} -{{- end }} -{{- if .Values.config.sqlUser }} -- name: CUBEJS_SQL_USER - value: {{ .Values.config.sqlUser | quote }} -{{- end }} -{{- if .Values.config.sqlPassword }} -- name: CUBEJS_SQL_PASSWORD - value: {{ .Values.config.sqlPassword | quote }} -{{- else if .Values.config.sqlPasswordFromSecret }} -- name: CUBEJS_SQL_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.config.sqlPasswordFromSecret.name | required "config.sqlPasswordFromSecret.name is required" }} - key: {{ .Values.config.sqlPasswordFromSecret.key | required "config.sqlPasswordFromSecret.key is required" }} -{{- end }} -{{- if .Values.config.devMode }} -- name: CUBEJS_DEV_MODE - value: {{ .Values.config.devMode | quote }} -{{- end }} -{{- if .Values.config.logLevel }} -- name: CUBEJS_LOG_LEVEL - value: {{ .Values.config.logLevel | quote }} -{{- end }} -{{- if .Values.config.externalDefault }} -- name: CUBEJS_EXTERNAL_DEFAULT - value: {{ .Values.config.externalDefault | quote }} -{{- end }} -{{- if .Values.config.app }} -- name: CUBEJS_APP - value: {{ .Values.config.app | quote }} -{{- end }} -{{- if .Values.config.cacheAndQueueDriver }} -- name: CUBEJS_CACHE_AND_QUEUE_DRIVER - value: {{ .Values.config.cacheAndQueueDriver | quote }} -{{- end }} -{{- if .Values.config.rollupOnly }} -- name: CUBEJS_ROLLUP_ONLY - value: {{ .Values.config.rollupOnly | quote }} -{{- end }} -{{- if .Values.config.scheduledRefreshTimezones }} -- name: CUBEJS_SCHEDULED_REFRESH_TIMEZONES - value: {{ .Values.config.scheduledRefreshTimezones | quote }} -{{- end }} -{{- if .Values.config.preAggregationsSchema }} -- name: CUBEJS_PRE_AGGREGATIONS_SCHEMA - value: {{ .Values.config.preAggregationsSchema | quote }} -{{- end }} -{{- if .Values.config.webSockets }} -- name: CUBEJS_WEB_SOCKETS - value: {{ .Values.config.webSockets | quote }} -{{- end }} -- name: CUBEJS_TELEMETRY - value: {{ .Values.config.telemetry | quote }} -{{- if .Values.config.apiSecret }} -- name: CUBEJS_API_SECRET - value: {{ .Values.config.apiSecret | quote }} -{{- else if .Values.config.apiSecretFromSecret }} -- name: CUBEJS_API_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.config.apiSecretFromSecret.name | required "config.apiSecretFromSecret.name is required" }} - key: {{ .Values.config.apiSecretFromSecret.key | required "config.apiSecretFromSecret.key is required" }} -{{- end }} -{{- if .Values.config.schemaPath }} -- name: CUBEJS_SCHEMA_PATH - value: {{ .Values.config.schemaPath | quote }} -{{- end }} -{{- if .Values.config.topicName }} -- name: CUBEJS_TOPIC_NAME - value: {{ .Values.config.topicName | quote }} -{{- end }} -{{- /* -If global.redis.enabled = true, -we set the default value for CUBEJS_REDIS_URL -and CUBEJS_REDIS_PASSWORD to the default value -provided by bitnami/redis if these values -are not set explicitly. -Otherwise, when global.redis.enabled = false, -we require you to set the CUBEJS_REDIS_URL and -CUBEJS_REDIS_PASSWORD. -*/ -}} -{{- if ((.Values.global).redis).enabled }} -{{- if .Values.redis.url }} -- name: CUBEJS_REDIS_URL - value: {{ .Values.redis.url | quote }} -{{- else }} -- name: CUBEJS_REDIS_URL - value: {{ printf "redis://%s-redis-master:6379" .Release.Name | quote }} -{{- end }} -{{- if .Values.redis.password }} -- name: CUBEJS_REDIS_PASSWORD - value: {{ .Values.redis.password | quote }} -{{- else if .Values.redis.passwordFromSecret }} -- name: CUBEJS_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.redis.passwordFromSecret.name | required "redis.passwordFromSecret.name is required" }} - key: {{ .Values.redis.passwordFromSecret.key | required "redis.passwordFromSecret.key is required" }} -{{- else }} -- name: CUBEJS_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ printf "%s-redis" .Release.Name }} - key: "redis-password" -{{- end }} -{{- else }} -{{- if .Values.redis.url }} -- name: CUBEJS_REDIS_URL - value: {{ .Values.redis.url | quote }} -{{- end }} -{{- if .Values.redis.password }} -- name: CUBEJS_REDIS_PASSWORD - value: {{ .Values.redis.password | quote }} -{{- else if .Values.redis.passwordFromSecret }} -- name: CUBEJS_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.redis.passwordFromSecret.name | required "redis.passwordFromSecret.name is required" }} - key: {{ .Values.redis.passwordFromSecret.key | required "redis.passwordFromSecret.key is required" }} -{{- end }} -{{- end }} - -{{- if .Values.redis.tls }} -- name: CUBEJS_REDIS_TLS - value: {{ .Values.redis.tls | quote }} -{{- end }} -{{- if .Values.redis.poolMin }} -- name: CUBEJS_REDIS_POOL_MIN - value: {{ .Values.redis.poolMin | quote }} -{{- end }} -{{- if .Values.redis.poolMax }} -- name: CUBEJS_REDIS_POOL_MAX - value: {{ .Values.redis.poolMax | quote }} -{{- end }} -{{- if .Values.redis.useIoRedis }} -- name: CUBEJS_REDIS_USE_IOREDIS - value: {{ .Values.redis.useIoRedis | quote }} -{{- end }} -{{- if .Values.jwt.url }} -- name: CUBEJS_JWK_URL - value: {{ .Values.jwt.url | quote }} -{{- end }} -{{- if .Values.jwt.key }} -- name: CUBEJS_JWT_KEY - value: {{ .Values.jwt.key | quote }} -{{- else if .Values.jwt.keyFromSecret }} -- name: CUBEJS_JWT_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.jwt.keyFromSecret.name | required "jwt.keyFromSecret.name is required" }} - key: {{ .Values.jwt.keyFromSecret.key | required "jwt.keyFromSecret.key is required" }} -{{- end }} -{{- if .Values.jwt.audience }} -- name: CUBEJS_JWT_AUDIENCE - value: {{ .Values.jwt.audience | quote }} -{{- end }} -{{- if .Values.jwt.issuer }} -- name: CUBEJS_JWT_ISSUER - value: {{ .Values.jwt.issuer | quote }} -{{- end }} -{{- if .Values.jwt.subject }} -- name: CUBEJS_JWT_SUBJECT - value: {{ .Values.jwt.subject | quote }} -{{- end }} -{{- if .Values.jwt.algs }} -- name: CUBEJS_JWT_ALGS - value: {{ .Values.jwt.algs | quote }} -{{- end }} -{{- if .Values.jwt.claimsNamespace }} -- name: CUBEJS_JWT_CLAIMS_NAMESPACE - value: {{ .Values.jwt.claimsNamespace | quote }} -{{- end }} -- name: CUBEJS_DB_TYPE - value: {{ .Values.database.type | quote | required "database.type is required" }} -{{- if .Values.database.url }} -- name: CUBEJS_DB_URL - value: {{ .Values.database.url | quote }} -{{- end }} -{{- if .Values.database.host }} -- name: CUBEJS_DB_HOST - value: {{ .Values.database.host | quote }} -{{- end }} -{{- if .Values.database.port }} -- name: CUBEJS_DB_PORT - value: {{ .Values.database.port | quote }} -{{- end }} -{{- if .Values.database.schema }} -- name: CUBEJS_DB_SCHEMA - value: {{ .Values.database.schema | quote }} -{{- end }} -{{- if .Values.database.name }} -- name: CUBEJS_DB_NAME - value: {{ .Values.database.name | quote }} -{{- end }} -{{- if .Values.database.user }} -- name: CUBEJS_DB_USER - value: {{ .Values.database.user | quote }} -{{- end }} -{{- if .Values.database.pass }} -- name: CUBEJS_DB_PASS - value: {{ .Values.database.pass | quote }} -{{- else if .Values.database.passFromSecret }} -- name: CUBEJS_DB_PASS - valueFrom: - secretKeyRef: - name: {{ .Values.database.passFromSecret.name | required "database.passFromSecret.name is required" }} - key: {{ .Values.database.passFromSecret.key | required "database.passFromSecret.key is required" }} -{{- end }} -{{- if .Values.database.domain }} -- name: CUBEJS_DB_DOMAIN - value: {{ .Values.database.domain | quote }} -{{- end }} -{{- if .Values.database.socketPath }} -- name: CUBEJS_DB_SOCKET_PATH - value: {{ .Values.database.socketPath | quote }} -{{- end }} -{{- if .Values.database.catalog }} -- name: CUBEJS_DB_CATALOG - value: {{ .Values.database.catalog | quote }} -{{- end }} -{{- if .Values.database.maxPool }} -- name: CUBEJS_DB_MAX_POOL - value: {{ .Values.database.maxPool | quote }} -{{- end }} -{{- if .Values.database.aws.key }} -- name: CUBEJS_AWS_KEY - value: {{ .Values.database.aws.key | quote }} -{{- else if .Values.database.aws.keyFromSecret }} -- name: CUBEJS_AWS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.database.aws.keyFromSecret.name | required "database.key.keyFromSecret.name is required" }} - key: {{ .Values.database.aws.keyFromSecret.key | required "database.key.keyFromSecret.key is required" }} -{{- end }} -{{- if .Values.database.aws.region }} -- name: CUBEJS_AWS_REGION - value: {{ .Values.database.aws.region | quote }} -{{- end }} -{{- if .Values.database.aws.s3OutputLocation }} -- name: CUBEJS_AWS_S3_OUTPUT_LOCATION - value: {{ .Values.database.aws.s3OutputLocation | quote }} -{{- end }} -{{- if .Values.database.aws.secret }} -- name: CUBEJS_AWS_SECRET - value: {{ .Values.database.aws.secret | quote }} -{{- else if .Values.database.aws.secretFromSecret }} -- name: CUBEJS_AWS_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.database.aws.secretFromSecret.name | required "database.key.secretFromSecret.name is required" }} - key: {{ .Values.database.aws.secretFromSecret.key | required "database.key.secretFromSecret.key is required" }} -{{- end }} -{{- if .Values.database.aws.athenaWorkgroup }} -- name: CUBEJS_AWS_ATHENA_WORKGROUP - value: {{ .Values.database.aws.athenaWorkgroup | quote }} -{{- end }} -{{- if .Values.database.bigquery.projectId }} -- name: CUBEJS_DB_BQ_PROJECT_ID - value: {{ .Values.database.bigquery.projectId | quote }} -{{- end }} -{{- if .Values.database.bigquery.location }} -- name: CUBEJS_DB_BQ_LOCATION - value: {{ .Values.database.bigquery.location | quote }} -{{- end }} -{{- if .Values.database.bigquery.credentials }} -- name: CUBEJS_DB_BQ_CREDENTIALS - value: {{ .Values.database.bigquery.credentials | quote }} -{{- else if .Values.database.bigquery.credentialsFromSecret }} -- name: CUBEJS_DB_BQ_CREDENTIALS - valueFrom: - secretKeyRef: - name: {{ .Values.database.bigquery.credentialsFromSecret.name | required "database.bigquery.credentialsFromSecret.name is required" }} - key: {{ .Values.database.bigquery.credentialsFromSecret.key | required "database.bigquery.credentialsFromSecret.key is required" }} -{{- end }} -{{- if .Values.database.bigquery.KeyFile }} -- name: CUBEJS_DB_BQ_KEY_FILE - value: {{ .Values.database.bigquery.KeyFile }} -{{- end }} -{{- if .Values.exportBucket.name }} -- name: CUBEJS_DB_EXPORT_BUCKET - value: {{ .Values.exportBucket.name | quote }} -{{- end }} -{{- if .Values.exportBucket.type }} -- name: CUBEJS_DB_EXPORT_BUCKET_TYPE - value: {{ .Values.exportBucket.type | quote }} -{{- end }} -{{- if .Values.exportBucket.gcsCredentials }} -- name: CUBEJS_DB_EXPORT_GCS_CREDENTIALS - value: {{ .Values.exportBucket.gcsCredentials | quote }} -{{- else if .Values.exportBucket.gcsCredentialsFromSecret }} -- name: CUBEJS_DB_EXPORT_GCS_CREDENTIALS - valueFrom: - secretKeyRef: - name: {{ .Values.exportBucket.gcsCredentialsFromSecret.name | required "exportBucket.gcsCredentialsFromSecret.name is required" }} - key: {{ .Values.exportBucket.gcsCredentialsFromSecret.key | required "exportBucket.gcsCredentialsFromSecret.key is required" }} -{{- end }} -{{- if .Values.database.hive.cdhVersion }} -- name: CUBEJS_DB_HIVE_CDH_VER - value: {{ .Values.database.hive.cdhVersion | quote }} -{{- end }} -{{- if .Values.database.hive.thriftVersion }} -- name: CUBEJS_DB_HIVE_THRIFT_VER - value: {{ .Values.database.hive.thriftVersion | quote }} -{{- end }} -{{- if .Values.database.hive.type }} -- name: CUBEJS_DB_HIVE_TYPE - value: {{ .Values.database.hive.type | quote }} -{{- end }} -{{- if .Values.database.hive.version }} -- name: CUBEJS_DB_HIVE_VER - value: {{ .Values.database.hive.version | quote }} -{{- end }} -{{- if .Values.database.jdbc.driver }} -- name: CUBEJS_JDBC_DRIVER - value: {{ .Values.database.jdbc.driver | quote }} -{{- end }} -{{- if .Values.database.jdbc.url }} -- name: CUBEJS_JDBC_URL - value: {{ .Values.database.jdbc.url | quote }} -{{- end }} -{{- if .Values.database.snowFlake.account }} -- name: CUBEJS_DB_SNOWFLAKE_ACCOUNT - value: {{ .Values.database.snowFlake.account | quote }} -{{- end }} -{{- if .Values.database.snowFlake.region }} -- name: CUBEJS_DB_SNOWFLAKE_REGION - value: {{ .Values.database.snowFlake.region | quote }} -{{- end }} -{{- if .Values.database.snowFlake.role }} -- name: CUBEJS_DB_SNOWFLAKE_ROLE - value: {{ .Values.database.snowFlake.role | quote }} -{{- end }} -{{- if .Values.database.snowFlake.warehouse }} -- name: CUBEJS_DB_SNOWFLAKE_WAREHOUSE - value: {{ .Values.database.snowFlake.warehouse | quote }} -{{- end }} -{{- if .Values.database.snowFlake.clientSessionKeepAlive }} -- name: CUBEJS_DB_SNOWFLAKE_CLIENT_SESSION_KEEP_ALIVE - value: {{ .Values.database.snowFlake.clientSessionKeepAlive | quote }} -{{- end }} -{{- if .Values.database.snowFlake.authenticator }} -- name: CUBEJS_DB_SNOWFLAKE_AUTHENTICATOR - value: {{ .Values.database.snowFlake.authenticator | quote }} -{{- end }} -{{- if .Values.database.snowFlake.privateKeyPath }} -- name: CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PATH - value: {{ .Values.database.snowFlake.privateKeyPath | quote }} -{{- end }} -{{- if .Values.database.snowFlake.urprivateKeyPassl }} -- name: CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS - value: {{ .Values.database.snowFlake.privateKeyPass | quote }} -{{- end }} -{{- if .Values.database.databricks.url }} -- name: CUBEJS_DB_DATABRICKS_URL - value: {{ .Values.database.databricks.url | quote }} -{{- end }} -{{- if .Values.database.ssl.enabled }} -- name: CUBEJS_DB_SSL - value: "true" -{{- if .Values.database.ssl.rejectUnAuthorized }} -- name: CUBEJS_DB_SSL_REJECT_UNAUTHORIZED - value: {{ .Values.database.ssl.rejectUnAuthorized | quote }} -{{- end }} -{{- if .Values.database.ssl.ca }} -- name: CUBEJS_DB_SSL_CA - value: {{ .Values.database.ssl.ca | quote }} -{{- end }} -{{- if .Values.database.ssl.cert }} -- name: CUBEJS_DB_SSL_CERT - value: {{ .Values.database.ssl.cert | quote }} -{{- end }} -{{- if .Values.database.ssl.key }} -- name: CUBEJS_DB_SSL_KEY - value: {{ .Values.database.ssl.key | quote }} -{{- end }} -{{- if .Values.database.ssl.ciphers }} -- name: CUBEJS_DB_SSL_CIPHERS - value: {{ .Values.database.ssl.ciphers | quote }} -{{- end }} -{{- if .Values.database.ssl.serverName }} -- name: CUBEJS_DB_SSL_SERVERNAME - value: {{ .Values.database.ssl.serverName | quote }} -{{- end }} -{{- if .Values.database.ssl.passPhrase }} -- name: CUBEJS_DB_SSL_PASSPHRASE - value: {{ .Values.database.ssl.passPhrase | quote }} -{{- end }} -{{- end }} -{{- /* -If global.cubestore.enabled = true, -we set the default value for cubestore.host -and cubestore.port to the default value -defined in the Cube Store Chart if these values -are not set explicitly. -Otherwise, when global.cubestore.enabled = false, -we require you to set the cubestore.host and -cubestore.port. -*/ -}} -{{- if ((.Values.global).cubestore).enabled }} -{{- if .Values.cubestore.host }} -- name: CUBEJS_CUBESTORE_HOST - value: {{ .Values.cubestore.host | quote | required "cubestore.host is required" }} -{{- else }} -- name: CUBEJS_CUBESTORE_HOST - value: {{ printf "%s-cubestore-router" .Release.Name | quote }} -{{- end }} -{{- if .Values.cubestore.port }} -- name: CUBEJS_CUBESTORE_PORT - value: {{ .Values.cubestore.port | quote | required "cubestore.port is required, this port is the HTTP PORT" }} -{{- else }} -- name: CUBEJS_CUBESTORE_PORT - value: {{ printf "3030" | quote }} -{{- end }} -{{- else }} -{{- if .Values.cubestore.host }} -- name: CUBEJS_CUBESTORE_HOST - value: {{ .Values.cubestore.host | quote | required "cubestore.host is required" }} -{{- end }} -{{- if .Values.cubestore.port }} -- name: CUBEJS_CUBESTORE_PORT - value: {{ .Values.cubestore.port | quote | required "cubestore.port is required" }} -{{- end }} -{{- end }} - -{{- if .Values.externalDatabase.type }} -- name: CUBEJS_EXT_DB_TYPE - value: {{ .Values.externalDatabase.type | quote }} -{{- end }} -{{- if .Values.externalDatabase.host }} -- name: CUBEJS_EXT_DB_HOST - value: {{ .Values.externalDatabase.host | quote }} -{{- end }} -{{- if .Values.externalDatabase.name }} -- name: CUBEJS_EXT_DB_NAME - value: {{ .Values.externalDatabase.name | quote }} -{{- end }} -{{- if .Values.externalDatabase.pass }} -- name: CUBEJS_EXT_DB_PASS - value: {{ .Values.externalDatabase.pass | quote }} -{{- else if .Values.externalDatabase.passFromSecret }} -- name: CUBEJS_EXT_DB_PASS - valueFrom: - secretKeyRef: - name: {{ .Values.externalDatabase.passFromSecret.name | required "externalDatabase.passFromSecret.name is required" }} - key: {{ .Values.externalDatabase.passFromSecret.key | required "externalDatabase.passFromSecret.key is required" }} -{{- end }} -{{- if .Values.externalDatabase.user }} -- name: CUBEJS_EXT_DB_USER - value: {{ .Values.externalDatabase.user | quote }} -{{- end }} -{{- if .Values.externalDatabase.port }} -- name: CUBEJS_EXT_DB_PORT - value: {{ .Values.externalDatabase.port | quote }} -{{- end }} -{{- end }} diff --git a/examples/helm-charts/cubejs/templates/ingress.yaml b/examples/helm-charts/cubejs/templates/ingress.yaml deleted file mode 100644 index 654911781849b..0000000000000 --- a/examples/helm-charts/cubejs/templates/ingress.yaml +++ /dev/null @@ -1,47 +0,0 @@ -{{- if .Values.ingress.enabled }} -apiVersion: {{ include "cubejs.ingress.apiVersion" . }} -kind: Ingress -metadata: - name: {{ include "cubejs.fullname" . }} - labels: - {{- include "cubejs.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if or .Values.ingress.annotations .Values.commonAnnotations }} - annotations: - {{- if .Values.commonAnnotations }} - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} - {{- if .Values.ingress.annotations }} - {{- toYaml .Values.ingress.annotations | nindent 4 }} - {{- end }} - {{- end }} -spec: - {{- if and .Values.ingress.ingressClassName (eq "true" (include "cubejs.ingress.supportsIngressClassname" .)) }} - ingressClassName: {{ .Values.ingress.ingressClassName | quote }} - {{- end }} - rules: - {{- if .Values.ingress.hostname }} - - host: {{ .Values.ingress.hostname }} - http: - paths: - - path: {{ .Values.ingress.path }} - {{- if eq "true" (include "cubejs.ingress.supportsPathType" .) }} - pathType: {{ .Values.ingress.pathType }} - {{- end }} - backend: - service: - name: {{ include "cubejs.fullname" . }} - port: - name: http - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- if .Values.ingress.tls }} - - hosts: - - {{ .Values.ingress.hostname }} - secretName: {{ printf "%s-tls" .Values.ingress.hostname }} - {{- end }} - {{- end }} -{{- end }} diff --git a/examples/helm-charts/cubejs/templates/master/deployment.yaml b/examples/helm-charts/cubejs/templates/master/deployment.yaml deleted file mode 100644 index dcc65e3630933..0000000000000 --- a/examples/helm-charts/cubejs/templates/master/deployment.yaml +++ /dev/null @@ -1,118 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ printf "%s-master" (include "cubejs.fullname" .) }} - labels: - {{- include "cubejs.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - selector: - matchLabels: - app.kubernetes.io/component: master - {{- include "cubejs.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - app.kubernetes.io/component: master - {{- include "cubejs.selectorLabels" . | nindent 8 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 8 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 8 }} - {{- end }} - spec: - serviceAccountName: {{ template "cubejs.master.serviceAccountName" . }} - {{- with .Values.image.pullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - containers: - - name: cube - {{- if .Values.image.tag }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - {{- else }} - image: "{{ .Values.image.repository }}:v{{ .Chart.AppVersion }}" - {{- end }} - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - ports: - - name: http - containerPort: {{ .Values.config.apiPort }} - protocol: TCP - {{- if .Values.config.sqlPort }} - - name: sql - containerPort: {{ .Values.config.sqlPort }} - protocol: TCP - {{- end }} - {{- if .Values.config.pgSqlPort }} - - name: pgsql - containerPort: {{ .Values.config.pgSqlPort }} - protocol: TCP - {{- end }} - envFrom: - {{- include "custom_cubejs_environment_from" . | default "\n []" | indent 10 }} - env: - {{- include "cubejs.common-env" . | nindent 12 }} - {{- if .Values.master.livenessProbe.enabled }} - livenessProbe: - initialDelaySeconds: {{ .Values.master.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.master.livenessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.master.livenessProbe.timeoutSeconds }} - successThreshold: {{ .Values.master.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.master.livenessProbe.failureThreshold }} - httpGet: - path: /livez - port: http - {{- else if .Values.master.customLivenessProbe }} - livenessProbe: - {{- toYaml .Values.master.customLivenessProbe | nindent 12 }} - {{- end }} - {{- if .Values.master.readinessProbe.enabled }} - readinessProbe: - initialDelaySeconds: {{ .Values.master.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.master.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.master.readinessProbe.timeoutSeconds }} - successThreshold: {{ .Values.master.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.master.readinessProbe.failureThreshold }} - httpGet: - path: /readyz - port: http - {{- else if .Values.master.customReadinessProbe }} - readinessProbe: - {{- toYaml .Values.master.customReadinessProbe | nindent 12 }} - {{- end }} - {{- if .Values.master.resources }} - resources: - {{- toYaml .Values.master.resources | nindent 12 }} - {{- end }} - {{- if .Values.config.volumeMounts }} - volumeMounts: - {{- toYaml .Values.config.volumeMounts | nindent 12 }} - {{- end }} - {{- if .Values.master.affinity }} - affinity: - {{- toYaml .Values.master.affinity | nindent 8 }} - {{- end }} - {{- if .Values.master.tolerations }} - tolerations: - {{- toYaml .Values.master.tolerations | nindent 8 }} - {{- end }} - {{- if .Values.master.nodeSelector }} - nodeSelector: - {{- toYaml .Values.master.nodeSelector | nindent 8 }} - {{- end }} - {{- if .Values.master.spreadConstraints }} - topologySpreadConstraints: - {{- toYaml .Values.master.spreadConstraints | nindent 8 }} - {{- end }} - {{- if .Values.config.volumes }} - volumes: - {{- toYaml .Values.config.volumes | nindent 8 }} - {{- end }} diff --git a/examples/helm-charts/cubejs/templates/master/service.yaml b/examples/helm-charts/cubejs/templates/master/service.yaml deleted file mode 100644 index 69a744bfa5199..0000000000000 --- a/examples/helm-charts/cubejs/templates/master/service.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "cubejs.fullname" . }} - labels: - app.kubernetes.io/component: master - {{- include "cubejs.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - ports: - - name: http - port: {{ .Values.config.apiPort }} - targetPort: http - {{- if .Values.config.sqlPort }} - - name: sql - port: {{ .Values.config.sqlPort }} - targetPort: sql - {{- end}} - {{- if .Values.config.pgSqlPort }} - - name: pgsql - port: {{ .Values.config.pgSqlPort }} - targetPort: pgsql - {{- end}} - selector: - app.kubernetes.io/component: master - {{- include "cubejs.selectorLabels" . | nindent 4 }} diff --git a/examples/helm-charts/cubejs/templates/master/serviceaccount.yaml b/examples/helm-charts/cubejs/templates/master/serviceaccount.yaml deleted file mode 100644 index 320b50734a308..0000000000000 --- a/examples/helm-charts/cubejs/templates/master/serviceaccount.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{- if .Values.master.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ template "cubejs.master.serviceAccountName" . }} - labels: - {{- include "cubejs.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.master.serviceAccount.annotations }} - annotations: - {{- toYaml .Values.master.serviceAccount.annotations | nindent 4 }} - {{- end }} -automountServiceAccountToken: {{ .Values.master.serviceAccount.automountServiceAccountToken }} -{{- end }} diff --git a/examples/helm-charts/cubejs/templates/workers/deployment.yaml b/examples/helm-charts/cubejs/templates/workers/deployment.yaml deleted file mode 100644 index ec0cadbd1907b..0000000000000 --- a/examples/helm-charts/cubejs/templates/workers/deployment.yaml +++ /dev/null @@ -1,114 +0,0 @@ -{{- if gt (.Values.workers.workersCount | int) 0 }} -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ printf "%s-workers" (include "cubejs.fullname" .) }} - labels: - {{- include "cubejs.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - replicas: {{ .Values.workers.workersCount }} - selector: - matchLabels: - app.kubernetes.io/component: workers - {{- include "cubejs.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - app.kubernetes.io/component: workers - {{- include "cubejs.selectorLabels" . | nindent 8 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 8 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 8 }} - {{- end }} - spec: - serviceAccountName: {{ template "cubejs.workers.serviceAccountName" . }} - {{- with .Values.image.pullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - containers: - - name: cube - {{- if .Values.image.tag }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - {{- else }} - image: "{{ .Values.image.repository }}:v{{ .Chart.AppVersion }}" - {{- end }} - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - ports: - - name: http - containerPort: {{ .Values.config.apiPort }} - protocol: TCP - envFrom: - {{- include "custom_cubejs_environment_from" . | default "\n []" | indent 10 }} - env: - {{- include "cubejs.common-env" . | nindent 12 }} - - name: CUBEJS_REFRESH_WORKER - value: "true" - {{- if .Values.workers.livenessProbe.enabled }} - livenessProbe: - initialDelaySeconds: {{ .Values.workers.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.workers.livenessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.workers.livenessProbe.timeoutSeconds }} - successThreshold: {{ .Values.workers.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.workers.livenessProbe.failureThreshold }} - httpGet: - path: /livez - port: http - {{- else if .Values.workers.customLivenessProbe }} - livenessProbe: - {{- toYaml .Values.workers.customLivenessProbe | nindent 12 }} - {{- end }} - {{- if .Values.workers.readinessProbe.enabled }} - readinessProbe: - initialDelaySeconds: {{ .Values.workers.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.workers.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.workers.readinessProbe.timeoutSeconds }} - successThreshold: {{ .Values.workers.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.workers.readinessProbe.failureThreshold }} - httpGet: - path: /readyz - port: http - {{- else if .Values.workers.customReadinessProbe }} - readinessProbe: - {{- toYaml .Values.workers.customReadinessProbe | nindent 12 }} - {{- end }} - {{- if .Values.workers.resources }} - resources: - {{- toYaml .Values.workers.resources | nindent 12 }} - {{- end }} - {{- if .Values.config.volumeMounts }} - volumeMounts: - {{- toYaml .Values.config.volumeMounts | nindent 12 }} - {{- end }} - {{- if .Values.workers.affinity }} - affinity: - {{- toYaml .Values.workers.affinity | nindent 8 }} - {{- end }} - {{- if .Values.workers.tolerations }} - tolerations: - {{- toYaml .Values.workers.tolerations | nindent 8 }} - {{- end }} - {{- if .Values.workers.nodeSelector }} - nodeSelector: - {{- toYaml .Values.workers.nodeSelector | nindent 8 }} - {{- end }} - {{- if .Values.workers.spreadConstraints }} - topologySpreadConstraints: - {{- toYaml .Values.workers.spreadConstraints | nindent 8 }} - {{- end }} - {{- if .Values.config.volumes }} - volumes: - {{- toYaml .Values.config.volumes | nindent 8 }} - {{- end }} - -{{- end }} diff --git a/examples/helm-charts/cubejs/templates/workers/serviceaccount.yaml b/examples/helm-charts/cubejs/templates/workers/serviceaccount.yaml deleted file mode 100644 index 67f08e6127ecf..0000000000000 --- a/examples/helm-charts/cubejs/templates/workers/serviceaccount.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{- if .Values.workers.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ template "cubejs.workers.serviceAccountName" . }} - labels: - {{- include "cubejs.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.workers.serviceAccount.annotations }} - annotations: - {{- toYaml .Values.workers.serviceAccount.annotations | nindent 4 }} - {{- end }} -automountServiceAccountToken: {{ .Values.workers.serviceAccount.automountServiceAccountToken }} -{{- end }} diff --git a/examples/helm-charts/cubejs/values.yaml b/examples/helm-charts/cubejs/values.yaml deleted file mode 100644 index 257121ca50ed0..0000000000000 --- a/examples/helm-charts/cubejs/values.yaml +++ /dev/null @@ -1,640 +0,0 @@ -## Override the name -## -nameOverride: "" - -## Provide a name to substitute for the full names of resources -## -fullnameOverride: "" - -## Labels to add to all deployed objects -## -commonLabels: {} - -## Annotations to add to all deployed objects -## -commonAnnotations: {} - -# Extra env 'items' that will be added to the definition of cubejs containers in every instance master and workers -# a string is expected (can be templated). -extraEnv: ~ -# eg: -# extraEnv: | -# - name: PLATFORM -# value: FR - -# Extra envFrom 'items' that will be added to the definition of cubejs containers in every instance master and workers -# A string is expected (can be templated). -extraEnvFrom: ~ -# eg: -# extraEnvFrom: | -# - secretRef: -# name: '{{ .Release.Name }}-cubejs-connections' -# - configMapRef: -# name: '{{ .Release.Name }}-cubejs-variables' -image: - ## Docker image repository - ## - repository: cubejs/cube - - ## Docker image tag. - ## - tag: - - ## Specify a imagePullPolicy - ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images - ## - pullPolicy: IfNotPresent - - ## Specify a imagePullSecrets - ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - ## - pullSecrets: [] - -config: - ## The port for a Cube.js deployment to listen to API connections on - ## - apiPort: 4000 - - ## The port for a Cube.js deployment to listen to SQL connections on - ## - sqlPort: - - ## The port for a Cube.js deployment to listen to Postgres SQL connections on - ## - pgSqlPort: - - ## The username to access the SQL api - ## - sqlUser: - - ## The password to access the SQL api - ## - sqlPassword: - # apiPasswordFromSecret: - # name: - # key: - - ## If true, enables development mode. - ## - devMode: false - - ## If true, enables debug logging. - ## - debug: false - - ## The logging level for Cube.js. - ## - logLevel: "warn" - - ## If true, uses Cube Store for Pre-aggregation storage and caching - ## - externalDefault: true - - ## If true, then send telemetry to CubeJS - ## - telemetry: false - - ## The secret key used to sign and verify JWTs. Generated on project scaffold - ## - apiSecret: - # apiSecretFromSecret: - # name: - # key: - - ## The path where Cube.js loads schemas from. Defaults to schema - ## - schemaPath: - - ## An application ID used to uniquely identify the Cube.js deployment. Can be different for multitenant setups. - ## Defaults to cubejs - ## - app: - - ## If true, this instance of Cube.js will only query rollup pre-aggregations. Defaults to false - ## - rollupOnly: - - ## A comma-separated list of timezones to schedule refreshes for. - ## - scheduledRefreshTimezones: - - ## The schema name to use for storing pre-aggregations. - ## Defaults to dev_pre_aggregations/prod_pre_aggregations for development/production mode - ## - preAggregationsSchema: - - ## If true, then use WebSocket for data fetching. Defaults to true - ## - webSockets: - - ## The cache and queue driver to use for the Cube.js deployment. Defaults to redis - ## - cacheAndQueueDriver: - - ## The name of the Amazon SNS or Google Cloud Pub/Sub topic - ## Defaults to -process if undefined, and finally cubejs-process - ## - topicName: - - ## The config volumes - ## Will be used to both master and workers - volumes: [] - # - name: schema - # configMap: - # name: schema - - ## The config volumeMounts - ## Will be used to both master and workers - volumeMounts: [] - # - name: schema - # readOnly: true - # mountPath: /cube/conf/schema - -redis: - ## The host URL for a Redis server - ## - url: - - ## The password used to connect to the Redis server - ## - password: - # passwordFromSecret: - # name: - # key: - - ## If true, then the connection to the Redis server is protected by TLS authentication. Defaults to false - ## - tls: - - ## The minimum number of connections to keep active in the Redis connection pool for a single appId (tenant). - ## Must be lower than poolMax. Defaults to 2 - ## - poolMin: - - ## The maximum number of connections to keep active in the Redis connection pool for a single appId (tenant). - ## Must be higher than poolMin. Defaults to 1000 - ## - poolMax: - - ## Use ioredis instead of redis. Defaults to false - ## - useIoRedis: - -jwt: - ## A valid URL to a JSON Web Key Sets (JWKS) - ## - url: - - ## The secret key used to sign and verify JWTs. Generated on project scaffold - ## - key: - # keyFromSecret: - # name: - # key: - - ## An audience value which will be used to enforce the aud claim from inbound JWTs - ## - audience: - - ## An issuer value which will be used to enforce the iss claim from inbound JWTs - ## - issuer: - - ## A subject value which will be used to enforce the sub claim from inbound JWTs - ## - subject: - - ## Any supported algorithm for decoding JWTs - ## - algs: - - ## A namespace within the decoded JWT under which any custom claims can be found - ## - claimsNamespace: - -## Database configuration -## -database: - ## A database type supported by Cube.js - ## - type: - - ## The URL for a database - ## - url: - - ## The host URL for a database - ## - host: - - ## The port for the database connection - ## - port: - - ## The schema within the database to connect to - ## - schema: - - ## The name of the database to connect to - ## - name: - - ## The username used to connect to the database - ## - user: - - ## The password used to connect to the database - ## - pass: - # passFromSecret: - # name: - # key: - - ## A domain name within the database to connect to - ## - domain: - - ## The path to a Unix socket for a MySQL database - ## - socketPath: - - ## The catalog within the database to connect to - ## - catalog: - - ## The maximum number of connections to keep active in the database connection pool - ## - maxPool: - - ssl: - ## If true, enables SSL encryption for database connections from Cube.js - ## - enabled: false - - ## If true, verifies the CA chain with the system's built-in CA chain - ## - rejectUnAuthorized: - ## The contents of a CA bundle in PEM format, or a path to one. - ## For more information, check the options.ca property for TLS Secure Contexts in the Node.js documentation - ## https://nodejs.org/docs/latest/api/tls.html#tls_tls_createsecurecontext_options - ## - ca: - - ## The contents of an SSL certificate in PEM format, or a path to one. - ## For more information, check the options.cert property for TLS Secure Contexts in the Node.js documentation - ## https://nodejs.org/docs/latest/api/tls.html#tls_tls_createsecurecontext_options - ## - cert: - - ## The contents of a private key in PEM format, or a path to one. - ## For more information, check the options.key property for TLS Secure Contexts in the Node.js documentation - ## https://nodejs.org/docs/latest/api/tls.html#tls_tls_createsecurecontext_options - ## - key: - - ## The ciphers used by the SSL certificate. - ## For more information, check the options.ciphers property for TLS Secure Contexts in the Node.js documentation - ## https://nodejs.org/docs/latest/api/tls.html#tls_tls_createsecurecontext_options - ## - ciphers: - - ## The server name for the SNI TLS extension. - ## For more information, check the options.servername property for TLS Connections in the Node.js documentation - ## https://nodejs.org/docs/latest/api/tls.html#tls_tls_createsecurecontext_options - ## - serverName: - - ## The passphrase used to encrypt the SSL private key. - ## For more information, check the options.passphrase property for TLS Secure Contexts in the Node.js documentation - ## https://nodejs.org/docs/latest/api/tls.html#tls_tls_createsecurecontext_options - ## - passPhrase: - - aws: - ## The AWS Access Key ID to use for database connections - ## - key: - # keyFromSecret: - # name: - # key: - - ## The AWS region of the Cube.js deployment - ## - region: - - ## The S3 path to store query results made by the Cube.js deployment - ## - s3outputLocation: - - ## The AWS Secret Access Key to use for database connections - ## - secret: - # secretFromSecret: - # name: - # key: - - ## The name of the workgroup in which the query is being started - ## - athenaWorkgroup: - - bigquery: - ## The Google BigQuery project ID to connect to - ## - projectId: - - ## The Google BigQuery dataset location to connect to - ## - location: - - ## A Base64 encoded JSON key file for connecting to Google BigQuery - ## - credentials: - # credentialsFromSecret: - # name: - # key: - - hive: - ## The version of the CDH instance for Apache Hive - ## - cdhVersion: - - ## The version of Thrift Server for Apache Hive - ## - thriftVersion: - - ## The type of Apache Hive server - ## - type: - - ## The version of Apache Hive - version: - - jdbc: - ## The driver of jdbc connection - ## - driver: - - ## The URL for a JDBC connection - url: - - snowFlake: - ## The Snowflake account ID to use when connecting to the database - ## - account: - - ## The Snowflake region to use when connecting to the database - ## - region: - - ## The Snowflake role to use when connecting to the database - ## - role: - - ## The Snowflake warehouse to use when connecting to the database - ## - warehouse: - - ## If true, keep the Snowflake connection alive indefinitely - ## - clientSessionKeepAlive: - - ## The type of authenticator to use with Snowflake. - ## Use SNOWFLAKE with username/password, or SNOWFLAKE_JWT with key pairs. - ## Defaults to SNOWFLAKE - ## - authenticator: - - ## The path to the private RSA key folder - ## - privateKeyPath: - - ## The password for the private RSA key. Only required for encrypted keys - ## - privateKeyPass: - - databricks: - ## The URL for a JDBC connection - ## - url: - -externalDatabase: - ## Alternative to Cube Store storage for pre-aggregations - ## - type: - - ## The host URL for an external pre-aggregations database - ## - host: - - ## The name of the external pre-aggregations database to connect to - ## - name: - - ## The password used to connect to the external pre-aggregations database - ## - pass: - # passFromSecret: - # name: - # key: - - ## The port for the external pre-aggregations database - ## - port: - - ## The username used to connect to the external pre-aggregations database - ## - user: - -## Export Bucket configuration -## -exportBucket: - ## The name of a bucket in cloud storage - ## - name: - - ## The cloud provider where the bucket is hosted (gcs, s3) - ## - type: - - ## A Base64 encoded JSON key file for connecting to Google Cloud - ## - gcsCredentials: - # gcsCredentialsFromSecret: - # name: - # key: - -## Cubestore configuration -## -cubestore: - ## The hostname of the Cube Store deployment - ## - host: - - ## The port of the Cube Store deployment - ## - port: - -master: - ## Service account for cubejs master to use - ## - serviceAccount: - create: false - name: "" - automountServiceAccountToken: true - annotations: {} - - ## Affinity for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - ## - affinity: {} - - ## Topology spread constraint for pod assignment - ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ - ## - spreadConstraints: [] - - ## Define resources requests and limits for single Pods. - ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ - ## - resources: {} - - ## Configure options for liveness probes - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes - ## - livenessProbe: - enabled: true - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - - ## Configure options for liveness probes - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes - ## - readinessProbe: - enabled: true - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - - ## Custom livenessProbe that overrides the default one - ## - customLivenessProbe: {} - - ## Custom readinessProbe that overrides the default one - ## - customReadinessProbe: {} - - ## Tolerations for pod assignment - ## - tolerations: {} - - ## Node selector for pod assignment - ## - nodeSelector: {} - -workers: - ## Service account for cubejs master to use - ## - serviceAccount: - create: false - name: "" - automountServiceAccountToken: true - annotations: {} - - workersCount: 1 - - ## Affinity for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - ## - affinity: {} - - ## topology spread constraint for pod assignment - ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ - ## - spreadConstraints: [] - - ## Define resources requests and limits for single Pods. - ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ - ## - resources: {} - - ## Configure options for liveness probes - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes - ## - livenessProbe: - enabled: true - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - - ## Configure options for liveness probes - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes - ## - readinessProbe: - enabled: true - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - - ## Custom livenessProbe that overrides the default one - ## - customLivenessProbe: {} - - ## Custom readinessProbe that overrides the default one - ## - customReadinessProbe: {} - - - ## Tolerations for pod assignment - ## - tolerations: {} - - ## Node selector for pod assignment - ## - nodeSelector: {} - -## Configure the ingress resource that allows you to access the -## Cubejs installation. Set up the URL -## ref: http://kubernetes.io/docs/user-guide/ingress/ -## -ingress: - ## Set to true to enable ingress record generation - ## - enabled: false - - ## When the ingress is enabled, a host pointing to this will be created - ## - hostname: cubejs.local - - ## The Path to Cubejs. You may need to set this to '/*' in order to use this - ## with ALB ingress controllers. - ## - path: / - - ## Ingress Path type - ## - pathType: ImplementationSpecific - - ## Ingress Class name - ## - ingressClassName: - - ## Ingress annotations done as key:value pairs - ## For a full list of possible ingress annotations, please see - ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md - ## - annotations: {} - - ## Enable TLS configuration for the hostname defined at ingress.hostname parameter - ## TLS certificates will be retrieved from a TLS secret with name: {{- printf "%s-tls" .Values.ingress.hostname }} - ## You can use the ingress.secrets parameter to create this TLS secret or relay on cert-manager to create it - ## - tls: false diff --git a/examples/helm-charts/cubestore/.helmignore b/examples/helm-charts/cubestore/.helmignore deleted file mode 100644 index 0e8a0eb36f4ca..0000000000000 --- a/examples/helm-charts/cubestore/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/examples/helm-charts/cubestore/Chart.yaml b/examples/helm-charts/cubestore/Chart.yaml deleted file mode 100644 index f17aba2a6c51a..0000000000000 --- a/examples/helm-charts/cubestore/Chart.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v2 -name: cubestore -description: A Helm chart for Cubestore -type: application -version: 0.1.0 -appVersion: "0.29.31" -keywords: - - cubejs - - cubestore -maintainers: - - email: luc.vauvillier@gmail.com - name: Luc Vauvillier -sources: - - https://github.com/cube-js/cube.js diff --git a/examples/helm-charts/cubestore/README.md b/examples/helm-charts/cubestore/README.md deleted file mode 100644 index 71ae30e88b0bc..0000000000000 --- a/examples/helm-charts/cubestore/README.md +++ /dev/null @@ -1,167 +0,0 @@ -# Cubestore Chart - -## Installing the Chart - -```bash -$ cd examples/helm-charts -$ helm install my-release ./cubestore -``` - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```bash -$ helm delete my-release -``` - -## Customize values - -By default a router and two workers will be deployed. You can customize the deployment using helm values. - -Refer to the official documentation for more information: -https://cube.dev/docs/reference/environment-variables#cube-store - -### Example - -Deployment with: - -- 3 workers -- GCP cloud storage (using a secret) - -```bash -$ helm install my-release \ ---set workers.workersCount=3 \ ---set cloudStorage.gcp.credentialsFromSecret.name= \ ---set cloudStorage.gcp.credentialsFromSecret.key= \ ---set cloudStorage.gcp.bucket= -./cubestore -``` - -## Persistance - -### Remote dir - -By default a shared remoteDir is created to store metadata and datasets if no cloudstorage is configured. -Prefer usin cloudStorage if your are running on `gcp` or `aws`. - -### Local dir - -By default local dir are not persisted. You can enable persistance on router and master. - -## Parameters - -### Common parameters - -| Name | Description | Value | -| ------------------- | ------------------------------------------------------------ | ----- | -| `nameOverride` | Override the name | `""` | -| `fullnameOverride` | Provide a name to substitute for the full names of resources | `""` | -| `commonLabels` | Labels to add to all deployed objects | `{}` | -| `commonAnnotations` | Annotations to add to all deployed objects | `{}` | - -### Image parameters - -| Name | Description | Value | -| ------------------- | --------------------------------------------------------------------------------------- | ------------------ | -| `image.repository` | Cubestore image repository | `cubejs/cubestore` | -| `image.tag` | Cubestore image tag (immutable tags are recommended) | `0.28.26` | -| `image.pullPolicy` | Cubestore image pull policy | `IfNotPresent` | -| `image.pullSecrets` | If defined, uses a Secret to pull an image from a private Docker registry or repository | `[]` | - -### Global parameters - -| Name | Description | Value | -| -------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------- | -| `config.logLevel` | The logging level for Cube Store | `error` | -| `config.noUpload` | If true, prevents uploading serialized pre-aggregations to cloud storage | | -| `config.jobRunners` | The number of parallel tasks that process non-interactive jobs like data insertion, compaction etc. Defaults to 4 | | -| `config.queryTimeout` | The timeout for SQL queries in seconds. Defaults to 120 | | -| `config.selectWorkers` | The number of Cube Store sub-processes that handle SELECT queries. Defaults to 4 | | -| `config.walSplitThreshold` | The maximum number of rows to keep in a single chunk of data right after insertion. Defaults to 262144 | | - -### Remote dir parameters - -| Name | Description | Value | -| -------------------------------------- | -------------------------------------------------------------------------- | ------ | -| `remoteDir.persistence.resourcePolicy` | Setting it to "keep" to avoid removing PVCs during a helm delete operation | `keep` | -| `remoteDir.persistence.size` | Persistent Volume size | `10Gi` | -| `remoteDir.persistence.annotations` | Additional custom annotations for the PVC | `{}` | -| `remoteDir.persistence.accessModes` | Persistent Volume access modes | [`ReadWriteOnce`] | -| `remoteDir.persistence.storageClass` | The storage class to use for the remoteDir pvc | `""` | - -### Cloud Storage parameters - -| Name | Description | Value | -| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----- | -| `cloudStorage.gcp.credentials` | A Base64 encoded JSON key file for connecting to Google Cloud. Required when using Google Cloud Storage | -| `cloudStorage.gcp.credentialsFromSecret.name` | A Base64 encoded JSON key file for connecting to Google Cloud. Required when using Google Cloud Storage (using secret) | | -| `cloudStorage.gcp.credentialsFromSecret.key` | A Base64 encoded JSON key file for connecting to Google Cloud. Required when using Google Cloud Storage (using secret) | | -| `cloudStorage.gcp.bucket` | The name of a bucket in GCS. Required when using GCS | | -| `cloudStorage.gcp.subPath` | The path in a GCS bucket to store pre-aggregations. Optional | | -| `cloudStorage.aws.accessKeyID` | The Access Key ID for AWS. Required when using AWS S3 | | -| `cloudStorage.aws.secretKey` | A Base64 encoded JSON key file for connecting to Google Cloud. Required when using Google Cloud Storage | | -| `cloudStorage.aws.secretKeyFromSecret.name` | The Secret Access Key for AWS. Required when using AWS S3 (using secret) | | -| `cloudStorage.aws.secretKeyFromSecret.key` | The Secret Access Key for AWS. Required when using AWS S3 (using secret) | | -| `cloudStorage.aws.bucket` | The name of a bucket in AWS S3. Required when using AWS S3 | | -| `cloudStorage.aws.region` | The region of a bucket in AWS S3. Required when using AWS S3 | | -| `cloudStorage.aws.subPath` | The path in a AWS S3 bucket to store pre-aggregations. Optional | | -| `cloudStorage.minio.accessKeyID` | The The Access Key ID for minIO. Required when using minIO | | -| `cloudStorage.minio.secretKey` | The Secret Access Key for minIO. Required when using minIO | | -| `cloudStorage.minio.secretKeyFromSecret.name` | The Secret Access Key for minIO. Required when using minIO (using secret) | | -| `cloudStorage.minio.secretKeyFromSecret.key` | The Secret Access Key for minIO. Required when using minIO (using secret) | | -| `cloudStorage.minio.bucket` | The name of the bucket that you want to use minIO. Required when using minIO | | -| `cloudStorage.minio.region` | The region of a bucket in S3 that you want to use minIO. Optional when using minIO | | -| `cloudStorage.minio.endpoint` | The minIO server endpoint. Required when using minIO | | - -### Router parameters - -| Name | Description | Value | -| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------- | -| `router.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `false` | -| `router.serviceAccount.name` | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` | -| `router.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` | -| `router.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if create is true. | `{}` | -| `router.httpPort` | The port for Cube Store to listen to HTTP connections on | `3030` | -| `router.metaPort` | The port for the router node to listen for connections on | `9999` | -| `router.mysqlPort` | The port for Cube Store to listen to connections on | `3306` | -| `router.statusPort` | The port for Cube Store to expose status probes | `3331` | -| `router.persistence.enabled` | Enable persistence for local data using Persistent Volume Claims | `false` | -| `router.persistance.size` | Persistent Volume size | `10Gi` | -| `router.persistance.accessModes` | Persistent Volume access modes | [`ReadWriteOnce`] | -| `router.persistance.annotations` | Additional custom annotations for the PVC | `{}` | -| `router.affinity` | Affinity for pod assignment | `{}` | -| `router.spreadConstraints` | Topology spread constraint for pod assignment | `[]` | -| `router.resources` | Define resources requests and limits for single Pods | `{}` | -| `router.livenessProbe.enabled` | Enable livenessProbe | `true` | -| `router.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | -| `router.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `30` | -| `router.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `3` | -| `router.livenessProbe.successThreshold` | Failure threshold for livenessProbe | `1` | -| `router.livenessProbe.failureThreshold` | Success threshold for livenessProbe | `3` | -| `router.readinessProbe.enabled` | Enable readinessProbe | `true` | -| `router.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | -| `router.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `30` | -| `router.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `3` | -| `router.readinessProbe.successThreshold` | Failure threshold for readinessProbe | `1` | -| `router.readinessProbe.failureThreshold` | Success threshold for readinessProbe | `3` | -| `router.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `router.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | - -### Workers parameters - -| Name | Description | Value | -| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------- | -| `workers.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `false` | -| `workers.serviceAccount.name` | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` | -| `workers.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` | -| `workers.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if create is true. | `{}` | -| `workers.workersCount` | Number of workers to deploy | `1` | -| `workers.port` | The port for the router node to listen for connections on | `9001` | -| `workers.persistence.enabled` | Enable persistence for local data using Persistent Volume Claims | `false` | -| `workers.persistance.size` | Persistent Volume size | `10Gi` | -| `workers.persistance.accessModes` | Persistent Volume access modes | [`ReadWriteOnce`] | -| `workers.persistance.annotations` | Additional custom annotations for the PVC | `{}` | -| `workers.affinity` | Affinity for pod assignment | `{}` | -| `workers.spreadConstraints` | Topology spread constraint for pod assignment | `[]` | -| `workers.resources` | Define resources requests and limits for single Pods | `{}` | diff --git a/examples/helm-charts/cubestore/templates/_helpers.tpl b/examples/helm-charts/cubestore/templates/_helpers.tpl deleted file mode 100644 index e9e05f83eed7d..0000000000000 --- a/examples/helm-charts/cubestore/templates/_helpers.tpl +++ /dev/null @@ -1,73 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "cubestore.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "cubestore.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "cubestore.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "cubestore.labels" -}} -helm.sh/chart: {{ include "cubestore.chart" . }} -{{ include "cubestore.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "cubestore.selectorLabels" -}} -app.kubernetes.io/name: {{ include "cubestore.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of cubestore router service account to use -*/}} -{{- define "cubestore.router.serviceAccountName" -}} -{{- if .Values.router.serviceAccount.create -}} - {{ default (printf "%s-router" (include "cubestore.fullname" .)) .Values.router.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.router.serviceAccount.name }} -{{- end -}} -{{- end -}} - -{{/* -Create the name of cubestore workers service account to use -*/}} -{{- define "cubestore.workers.serviceAccountName" -}} -{{- if .Values.workers.serviceAccount.create -}} - {{ default (printf "%s-workers" (include "cubestore.fullname" .)) .Values.workers.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.workers.serviceAccount.name }} -{{- end -}} -{{- end -}} diff --git a/examples/helm-charts/cubestore/templates/common-env.tpl b/examples/helm-charts/cubestore/templates/common-env.tpl deleted file mode 100644 index ff15e1ea03df1..0000000000000 --- a/examples/helm-charts/cubestore/templates/common-env.tpl +++ /dev/null @@ -1,94 +0,0 @@ -{{- define "cubestore.common-env" -}} -{{- if .Values.config.logLevel }} -- name: CUBESTORE_LOG_LEVEL - value: {{ .Values.config.logLevel | quote }} -{{- end }} -{{- if .Values.config.noUpload }} -- name: CUBESTORE_NO_UPLOAD - value: {{ .Values.config.noUpload | quote }} -{{- end }} -- name: CUBESTORE_TELEMETRY - value: {{ .Values.config.telemetry | quote }} -{{- if .Values.config.jobRunners }} -- name: CUBESTORE_JOB_RUNNERS - value: {{ .Values.config.jobRunners | quote }} -{{- end }} -{{- if .Values.config.queryTimeout }} -- name: CUBESTORE_QUERY_TIMEOUT - value: {{ .Values.config.queryTimeout | quote }} -{{- end }} -{{- if .Values.config.walSplitThreshold }} -- name: CUBESTORE_WAL_SPLIT_THRESHOLD - value: {{ .Values.config.walSplitThreshold | quote }} -{{- end }} -{{- if .Values.cloudStorage.gcp.bucket }} -- name: CUBESTORE_GCS_BUCKET - value: {{ .Values.cloudStorage.gcp.bucket | quote }} -{{- end }} -{{- if .Values.cloudStorage.gcp.subPath }} -- name: CUBESTORE_GCS_SUB_PATH - value: {{ .Values.cloudStorage.gcp.subPath | quote }} -{{- end }} -{{- if .Values.cloudStorage.gcp.credentials }} -- name: CUBESTORE_GCP_CREDENTIALS - value: {{ .Values.cloudStorage.gcp.credentials | quote }} -{{- else if .Values.cloudStorage.gcp.credentialsFromSecret }} -- name: CUBESTORE_GCP_CREDENTIALS - valueFrom: - secretKeyRef: - name: {{ .Values.cloudStorage.gcp.credentialsFromSecret.name | required "cloudStorage.gcp.credentialsFromSecret.name is required" }} - key: {{ .Values.cloudStorage.gcp.credentialsFromSecret.key | required "cloudStorage.gcp.credentialsFromSecret.key is required" }} -{{- end }} -{{- if .Values.cloudStorage.aws.accessKeyID }} -- name: CUBESTORE_AWS_ACCESS_KEY_ID - value: {{ .Values.cloudStorage.aws.accessKeyID | quote }} -{{- end }} -{{- if .Values.cloudStorage.aws.secretKey }} -- name: CUBESTORE_AWS_SECRET_ACCESS_KEY - value: {{ .Values.cloudStorage.aws.secretKey | quote }} -{{- else if .Values.cloudStorage.aws.secretKeyFromSecret }} -- name: CUBESTORE_AWS_SECRET_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.cloudStorage.aws.secretKeyFromSecret.name | required "cloudStorage.aws.secretKeyFromSecret.name is required" }} - key: {{ .Values.cloudStorage.aws.secretKeyFromSecret.key | required "cloudStorage.aws.secretKeyFromSecret.key is required" }} -{{- end }} -{{- if .Values.cloudStorage.aws.bucket }} -- name: CUBESTORE_S3_BUCKET - value: {{ .Values.cloudStorage.aws.bucket | quote }} -{{- end }} -{{- if .Values.cloudStorage.aws.region }} -- name: CUBESTORE_S3_REGION - value: {{ .Values.cloudStorage.aws.region | quote }} -{{- end }} -{{- if .Values.cloudStorage.aws.subPath }} -- name: CUBESTORE_S3_SUB_PATH - value: {{ .Values.cloudStorage.aws.subPath | quote }} -{{- end }} -{{- if .Values.cloudStorage.minio.accessKeyID }} -- name: CUBESTORE_MINIO_ACCESS_KEY_ID - value: {{ .Values.cloudStorage.minio.accessKeyID | quote }} -{{- end }} -{{- if .Values.cloudStorage.minio.secretKey }} -- name: CUBESTORE_MINIO_SECRET_ACCESS_KEY - value: {{ .Values.cloudStorage.minio.secretKey | quote }} -{{- else if .Values.cloudStorage.minio.secretKeyFromSecret }} -- name: CUBESTORE_MINIO_SECRET_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.cloudStorage.minio.secretKeyFromSecret.name | required "cloudStorage.minio.secretKeyFromSecret.name is required" }} - key: {{ .Values.cloudStorage.minio.secretKeyFromSecret.key | required "cloudStorage.minio.secretKeyFromSecret.key is required" }} -{{- end }} -{{- if .Values.cloudStorage.minio.bucket }} -- name: CUBESTORE_MINIO_BUCKET - value: {{ .Values.cloudStorage.minio.bucket | quote }} -{{- end }} -{{- if .Values.cloudStorage.minio.region }} -- name: CUBESTORE_MINIO_REGION - value: {{ .Values.cloudStorage.minio.region | quote }} -{{- end }} -{{- if .Values.cloudStorage.minio.endpoint }} -- name: CUBESTORE_MINIO_SERVER_ENDPOINT - value: {{ .Values.cloudStorage.minio.endpoint | quote }} -{{- end }} -{{- end }} diff --git a/examples/helm-charts/cubestore/templates/pvc.yaml b/examples/helm-charts/cubestore/templates/pvc.yaml deleted file mode 100644 index 8b5dc5c4bcbec..0000000000000 --- a/examples/helm-charts/cubestore/templates/pvc.yaml +++ /dev/null @@ -1,35 +0,0 @@ -{{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ printf "%s-remote-storage" (include "cubestore.fullname" .) }} - labels: - app.kubernetes.io/component: remote-storage - {{- include "cubestore.selectorLabels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if or .Values.remoteDir.persistence.annotations (eq .Values.remoteDir.persistence.resourcePolicy "keep") .Values.commonAnnotations }} - annotations: - {{- if .Values.remoteDir.persistence.annotations }} - {{- toYaml .Values.remoteDir.persistence.annotations | nindent 4 }} - {{- end }} - {{- if eq .Values.remoteDir.persistence.resourcePolicy "keep" }} - helm.sh/resource-policy: keep - {{- end }} - {{- if .Values.commonAnnotations }} - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} - {{- end }} -spec: - accessModes: - {{- range .Values.remoteDir.persistence.accessModes }} - - {{ . | quote }} - {{- end }} - resources: - requests: - storage: {{ .Values.remoteDir.persistence.size }} - {{- if .Values.remoteDir.persistence.storageClass }} - storageClassName: {{ .Values.remoteDir.persistence.storageClass }} - {{- end }} -{{- end }} \ No newline at end of file diff --git a/examples/helm-charts/cubestore/templates/router/service.yaml b/examples/helm-charts/cubestore/templates/router/service.yaml deleted file mode 100644 index 38583618123a5..0000000000000 --- a/examples/helm-charts/cubestore/templates/router/service.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ printf "%s-router" (include "cubestore.fullname" .) }} - labels: - app.kubernetes.io/component: router - {{- include "cubestore.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - ports: - - name: http - port: {{ .Values.router.httpPort }} - targetPort: http - - name: meta - port: {{ .Values.router.metaPort }} - targetPort: meta - - name: mysql - port: {{ .Values.router.mysqlPort }} - targetPort: mysql - selector: - app.kubernetes.io/component: router - {{- include "cubestore.selectorLabels" . | nindent 4 }} diff --git a/examples/helm-charts/cubestore/templates/router/serviceaccount.yaml b/examples/helm-charts/cubestore/templates/router/serviceaccount.yaml deleted file mode 100644 index ab2173660fc78..0000000000000 --- a/examples/helm-charts/cubestore/templates/router/serviceaccount.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{- if .Values.router.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ template "cubestore.router.serviceAccountName" . }} - labels: - {{- include "cubestore.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.router.serviceAccount.annotations }} - annotations: - {{- toYaml .Values.router.serviceAccount.annotations | nindent 4 }} - {{- end }} -automountServiceAccountToken: {{ .Values.router.serviceAccount.automountServiceAccountToken }} -{{- end }} diff --git a/examples/helm-charts/cubestore/templates/router/statefulset.yaml b/examples/helm-charts/cubestore/templates/router/statefulset.yaml deleted file mode 100644 index 12adff826236e..0000000000000 --- a/examples/helm-charts/cubestore/templates/router/statefulset.yaml +++ /dev/null @@ -1,172 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ printf "%s-router" (include "cubestore.fullname" .) }} - labels: - {{- include "cubestore.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - serviceName: {{ printf "%s-router" (include "cubestore.fullname" .) }} - selector: - matchLabels: - app.kubernetes.io/component: router - {{- include "cubestore.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - app.kubernetes.io/component: router - {{- include "cubestore.selectorLabels" . | nindent 8 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 8 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 8 }} - {{- end }} - spec: - serviceAccountName: {{ template "cubestore.router.serviceAccountName" . }} - {{- with .Values.image.pullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - containers: - - name: cubestore - {{- if .Values.image.tag }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - {{- else }} - image: "{{ .Values.image.repository }}:v{{ .Chart.AppVersion }}" - {{- end }} - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - ports: - - name: http - containerPort: {{ .Values.router.httpPort }} - protocol: TCP - - name: meta - containerPort: {{ .Values.router.metaPort }} - protocol: TCP - - name: mysql - containerPort: {{ .Values.router.mysqlPort }} - protocol: TCP - - name: status - containerPort: {{ .Values.router.statusPort }} - protocol: TCP - env: - {{- include "cubestore.common-env" . | nindent 12 }} - {{- $fullName := include "cubestore.fullname" . }} - {{- $headlessServiceName := printf "%s-%s" $fullName "headless" }} - {{- $workerPort := .Values.workers.port | int }} - - name: CUBESTORE_SERVER_NAME - value: {{ printf "%s-router:%d" (include "cubestore.fullname" .) (.Values.router.metaPort | int) }} - - name: CUBESTORE_PORT - value: {{ .Values.router.mysqlPort | quote }} - - name: CUBESTORE_HTTP_PORT - value: {{ .Values.router.httpPort | quote }} - - name: CUBESTORE_META_PORT - value: {{ .Values.router.metaPort | quote }} - - name: CUBESTORE_STATUS_PORT - value: {{ .Values.router.statusPort | quote }} - {{ if gt (.Values.workers.workersCount | int) 0 }} - {{- $workers := list }} - {{- range $e, $i := until ($.Values.workers.workersCount | int) }} - {{- $workers = append $workers (printf "%s-workers-%d.%s:%d" $fullName $i $headlessServiceName $workerPort) }} - {{- end }} - - name: CUBESTORE_WORKERS - value: {{ join "," $workers | quote }} - {{- end }} - - name: CUBESTORE_DATA_DIR - value: /cube/.cubestore/data - {{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} - - name: CUBESTORE_REMOTE_DIR - value: /cube/data - {{- end }} - {{- if .Values.router.livenessProbe.enabled }} - livenessProbe: - initialDelaySeconds: {{ .Values.router.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.router.livenessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.router.livenessProbe.timeoutSeconds }} - successThreshold: {{ .Values.router.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.router.livenessProbe.failureThreshold }} - httpGet: - path: /livez - port: status - {{- else if .Values.router.customLivenessProbe }} - livenessProbe: - {{- toYaml .Values.router.customLivenessProbe | nindent 12 }} - {{- end }} - {{- if .Values.router.readinessProbe.enabled }} - readinessProbe: - initialDelaySeconds: {{ .Values.router.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.router.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.router.readinessProbe.timeoutSeconds }} - successThreshold: {{ .Values.router.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.router.readinessProbe.failureThreshold }} - httpGet: - path: /readyz - port: status - {{- else if .Values.router.customReadinessProbe }} - readinessProbe: - {{- toYaml .Values.router.customReadinessProbe | nindent 12 }} - {{- end }} - {{- if .Values.router.resources }} - resources: - {{- toYaml .Values.router.resources | nindent 12 }} - {{- end }} - volumeMounts: - - name: datadir - mountPath: /cube/.cubestore/data - {{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} - - name: remotedir - mountPath: /cube/data - {{- end }} - volumes: - {{- if not .Values.router.persistence.enabled }} - - name: datadir - emptyDir: {} - {{- end }} - {{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} - - name: remotedir - persistentVolumeClaim: - claimName: {{ printf "%s-remote-storage" (include "cubestore.fullname" .) }} - {{- end }} - {{- if .Values.router.affinity }} - affinity: - {{- toYaml .Values.router.affinity | nindent 8 }} - {{- end }} - {{- if .Values.router.spreadConstraints }} - {{- if .Values.router.tolerations }} - tolerations: - {{- toYaml .Values.router.tolerations | nindent 8 }} - {{- end }} - {{- if .Values.router.nodeSelector }} - nodeSelector: - {{- toYaml .Values.router.nodeSelector | nindent 8 }} - {{- end }} - topologySpreadConstraints: - {{- toYaml .Values.router.spreadConstraints | nindent 8 }} - {{- end }} - - {{- if .Values.router.persistence.enabled }} - volumeClaimTemplates: - - metadata: - name: datadir - labels: - app.kubernetes.io/component: router - {{- include "cubestore.selectorLabels" . | nindent 10 }} - {{- if .Values.router.persistence.annotations }} - annotations: {{- toYaml .Values.router.persistence.annotations | nindent 10 }} - {{- end }} - spec: - accessModes: - {{- range .Values.router.persistence.accessModes }} - - {{ . | quote }} - {{- end }} - resources: - requests: - storage: {{ .Values.router.persistence.size | quote }} - {{- end }} diff --git a/examples/helm-charts/cubestore/templates/workers/service-headless.yaml b/examples/helm-charts/cubestore/templates/workers/service-headless.yaml deleted file mode 100644 index 7a0a212443468..0000000000000 --- a/examples/helm-charts/cubestore/templates/workers/service-headless.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if gt (.Values.workers.workersCount | int) 0 }} -apiVersion: v1 -kind: Service -metadata: - name: {{ printf "%s-headless" (include "cubestore.fullname" .) }} - labels: - app.kubernetes.io/component: workers - {{- include "cubestore.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - type: ClusterIP - clusterIP: None - ports: - - name: worker - port: {{ .Values.workers.port }} - targetPort: worker - selector: - app.kubernetes.io/component: workers - {{- include "cubestore.selectorLabels" . | nindent 4 }} -{{- end }} diff --git a/examples/helm-charts/cubestore/templates/workers/serviceaccount.yaml b/examples/helm-charts/cubestore/templates/workers/serviceaccount.yaml deleted file mode 100644 index 58a6f38c7f4f6..0000000000000 --- a/examples/helm-charts/cubestore/templates/workers/serviceaccount.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{- if .Values.workers.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ template "cubestore.workers.serviceAccountName" . }} - labels: - {{- include "cubestore.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.workers.serviceAccount.annotations }} - annotations: - {{- toYaml .Values.workers.serviceAccount.annotations | nindent 4 }} - {{- end }} -automountServiceAccountToken: {{ .Values.workers.serviceAccount.automountServiceAccountToken }} -{{- end }} diff --git a/examples/helm-charts/cubestore/templates/workers/statefulset.yaml b/examples/helm-charts/cubestore/templates/workers/statefulset.yaml deleted file mode 100644 index 686b37a499cb0..0000000000000 --- a/examples/helm-charts/cubestore/templates/workers/statefulset.yaml +++ /dev/null @@ -1,140 +0,0 @@ -{{- if gt (.Values.workers.workersCount | int) 0 }} -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ printf "%s-workers" (include "cubestore.fullname" .) }} - labels: - {{- include "cubestore.labels" . | nindent 4 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 4 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 4 }} - {{- end }} -spec: - replicas: {{ .Values.workers.workersCount }} - serviceName: {{ printf "%s-headless" (include "cubestore.fullname" .) }} - selector: - matchLabels: - app.kubernetes.io/component: workers - {{- include "cubestore.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - app.kubernetes.io/component: workers - {{- include "cubestore.selectorLabels" . | nindent 8 }} - {{- if .Values.commonLabels }} - {{- toYaml .Values.commonLabels | nindent 8 }} - {{- end }} - {{- if .Values.commonAnnotations }} - annotations: - {{- toYaml .Values.commonAnnotations | nindent 8 }} - {{- end }} - spec: - serviceAccountName: {{ template "cubestore.workers.serviceAccountName" . }} - {{- with .Values.image.pullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - containers: - - name: cubestore - {{- if .Values.image.tag }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - {{- else }} - image: "{{ .Values.image.repository }}:v{{ .Chart.AppVersion }}" - {{- end }} - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - ports: - - name: worker - containerPort: {{ .Values.workers.port }} - protocol: TCP - env: - {{- include "cubestore.common-env" . | nindent 12 }} - {{- $fullName := include "cubestore.fullname" . }} - {{- $headlessServiceName := printf "%s-%s" $fullName "headless" }} - {{- $workerPort := .Values.workers.port | int }} - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: CUBESTORE_SERVER_NAME - value: {{ printf "$(MY_POD_NAME).%s:%d" $headlessServiceName $workerPort | quote }} - - name: CUBESTORE_WORKER_PORT - value: {{ .Values.workers.port | quote }} - {{- $workers := list }} - {{- range $e, $i := until ($.Values.workers.workersCount | int) }} - {{- $workers = append $workers (printf "%s-workers-%d.%s:%d" $fullName $i $headlessServiceName $workerPort) }} - {{- end }} - - name: CUBESTORE_WORKERS - value: {{ join "," $workers | quote }} - - name: CUBESTORE_META_ADDR - value: {{ printf "%s-router:%d" (include "cubestore.fullname" .) (.Values.router.metaPort | int) }} - - name: CUBESTORE_DATA_DIR - value: /cube/.cubestore/data - {{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} - - name: CUBESTORE_REMOTE_DIR - value: /cube/data - {{- end }} - {{- if .Values.workers.resources }} - resources: - {{- toYaml .Values.workers.resources | nindent 12 }} - {{- end }} - volumeMounts: - - name: datadir - mountPath: /cube/.cubestore/data - {{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} - - name: remotedir - mountPath: /cube/data - {{- end }} - initContainers: - - name: init-router - image: busybox - command: ['sh', '-c', 'until nc -vz {{ printf "%s-router" (include "cubestore.fullname" .)}} {{ .Values.router.metaPort }}; do echo "Waiting for router"; sleep 2; done;'] - volumes: - {{- if not .Values.workers.persistence.enabled }} - - name: datadir - emptyDir: {} - {{- end }} - {{- if and (not .Values.cloudStorage.gcp.bucket) (not .Values.cloudStorage.aws.bucket) (not .Values.cloudStorage.minio.bucket) }} - - name: remotedir - persistentVolumeClaim: - claimName: {{ printf "%s-remote-storage" (include "cubestore.fullname" .) }} - {{- end }} - {{- if .Values.workers.affinity }} - affinity: - {{- toYaml .Values.workers.affinity | nindent 8 }} - {{- end }} - {{- if .Values.workers.tolerations }} - tolerations: - {{- toYaml .Values.workers.tolerations | nindent 8 }} - {{- end }} - {{- if .Values.workers.nodeSelector }} - nodeSelector: - {{- toYaml .Values.workers.nodeSelector | nindent 8 }} - {{- end }} - {{- if .Values.workers.spreadConstraints }} - topologySpreadConstraints: - {{- toYaml .Values.workers.spreadConstraints | nindent 8 }} - {{- end }} - - {{- if .Values.workers.persistence.enabled }} - volumeClaimTemplates: - - metadata: - name: datadir - labels: - app.kubernetes.io/component: cubestore-router - {{- include "cubestore.selectorLabels" . | nindent 10 }} - {{- if .Values.workers.persistence.annotations }} - annotations: {{- toYaml .Values.workers.persistence.annotations | nindent 10 }} - {{- end }} - spec: - accessModes: - {{- range .Values.workers.persistence.accessModes }} - - {{ . | quote }} - {{- end }} - resources: - requests: - storage: {{ .Values.workers.persistence.size | quote }} - {{- end }} -{{- end }} diff --git a/examples/helm-charts/cubestore/values.yaml b/examples/helm-charts/cubestore/values.yaml deleted file mode 100644 index 61e9d98bec008..0000000000000 --- a/examples/helm-charts/cubestore/values.yaml +++ /dev/null @@ -1,311 +0,0 @@ -## Override the name -## -nameOverride: "" - -## Provide a name to substitute for the full names of resources -## -fullnameOverride: "" - -## Labels to add to all deployed objects -## -commonLabels: {} - -## Annotations to add to all deployed objects -## -commonAnnotations: {} - -image: - ## Docker image repository - ## - repository: cubejs/cubestore - - ## Docker image tag. - ## Defaults to Chart AppVersion - ## - tag: - - ## Specify a imagePullPolicy - ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images - ## - pullPolicy: IfNotPresent - - ## Specify a imagePullSecrets - ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - ## - pullSecrets: [] - -config: - ## The logging level for Cube Store. - ## - logLevel: "error" - - ## If true, prevents uploading serialized pre-aggregations to cloud storage - ## - noUpload: - - ## The number of parallel tasks that process non-interactive jobs like data insertion, compaction etc. Defaults to 4 - ## - jobRunners: - - ## The timeout for SQL queries in seconds. Defaults to 120 - ## - queryTimeout: - - ## The number of Cube Store sub-processes that handle SELECT queries. Defaults to 4 - ## - selectWorkers: - - ## The maximum number of rows to keep in a single chunk of data right after insertion. Defaults to 262144 - ## - walSplitThreshold: - -## Used to define the shared volume to store metadata and datasets -## Prefer use cloudStorage if your are running on "gcp" or "aws" -## If a cloudStorage configuration is used, no remoteDir will be created -## -remoteDir: - persistence: - ## Resource Policy - ## Setting it to "keep" to avoid removing PVCs during a helm delete operation - ## - resourcePolicy: keep - - ## Persistent Volume size - ## - size: 10Gi - - ## Additional custom annotations for the PVC - ## - annotations: {} - - ## Persistent Volume access modes - ## - accessModes: - - ReadWriteOnce - - ## @param remoteDir.persistence.storageClass The storage class to use for the remoteDir pvc - ## If defined, storageClassName: - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: - -cloudStorage: - gcp: - ## A Base64 encoded JSON key file for connecting to Google Cloud. Required when using Google Cloud Storage - ## - credentials: - # credentialsFromSecret: - # name: - # key: - - ## The name of a bucket in GCS. Required when using GCS - ## - bucket: - - ## The path in a GCS bucket to store pre-aggregations. Optional - ## - subPath: - - aws: - ## The Access Key ID for AWS. Required when using AWS S3 - ## - accessKeyID: - - ## The Secret Access Key for AWS. Required when using AWS S3 - ## - secretKey: - # secretKeyFromSecret: - # name: - # key: - - ## The name of a bucket in AWS S3. Required when using AWS S3 - ## - bucket: - - ## The region of a bucket in AWS S3. Required when using AWS S3 - ## - region: - - ## The path in a AWS S3 bucket to store pre-aggregations. Optional - ## - subPath: - - minio: - ## The Access Key ID for minIO. Required when using minIO - ## - accessKeyID: - - ## The Secret Access Key for minIO. Required when using minIO - ## - secretKey: - # secretKeyFromSecret: - # name: - # key: - - ## The name of the bucket that you want to use minIO. Required when using minIO - ## - bucket: - - ## The region of a bucket in S3 that you want to use minIO. Optional when using minIO - ## - region: - - ## The minIO server endpoint. Required when using minIO - ## - endpoint: - -router: - ## Service account for cubestore router to use - ## - serviceAccount: - create: false - name: "" - automountServiceAccountToken: true - annotations: {} - - ## The port for Cube Store to listen to HTTP connections on - ## - httpPort: 3030 - - ## The port for the router node to listen for connections on - ## - metaPort: 9999 - - ## The port for Cube Store to listen to connections on - ## - mysqlPort: 3306 - - ## The port for Cube Store to expose status probes - ## - statusPort: 3031 - - persistence: - ## Enable persistence for local data using Persistent Volume Claims - ## - enabled: false - - ## Persistent Volume size - ## - size: 10Gi - - ## Persistent Volume access modes - ## - accessModes: - - ReadWriteOnce - - ## Additional custom annotations for the PVC - ## - annotations: {} - - ## Affinity for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - ## - affinity: {} - - ## Topology spread constraint for pod assignment - ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ - ## - spreadConstraints: [] - - ## Define resources requests and limits for single Pods. - ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ - ## - resources: {} - - ## Configure options for liveness probes - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes - ## - livenessProbe: - enabled: true - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - - ## Configure options for liveness probes - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes - ## - readinessProbe: - enabled: true - initialDelaySeconds: 10 - periodSeconds: 30 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - - ## Custom livenessProbe that overrides the default one - ## - customLivenessProbe: {} - - ## Custom readinessProbe that overrides the default one - ## - customReadinessProbe: {} - - ## Tolerations for pod assignment - ## - tolerations: {} - - ## Node selector for pod assignment - ## - nodeSelector: {} - -workers: - ## Service account for cubestore workers to use - ## - serviceAccount: - create: false - name: "" - automountServiceAccountToken: true - annotations: {} - - ## Number of workers to deploy - ## - workersCount: 1 - - ## The port for Cube Store workers to listen to connections on - ## - port: 9001 - - persistence: - ## Enable persistence for local data using Persistent Volume Claims - ## - enabled: false - - ## Persistent Volume size - ## - size: 10Gi - - ## Persistent Volume access modes - ## - accessModes: - - ReadWriteOnce - - ## Additional custom annotations for the PVC - ## - annotations: {} - - ## Affinity for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - ## - affinity: {} - - ## topology spread constraint for pod assignment - ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ - ## - spreadConstraints: [] - - ## Define resources requests and limits for single Pods. - ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ - ## - resources: {} - - ## Tolerations for pod assignment - ## - tolerations: {} - - ## Node selector for pod assignment - ## - nodeSelector: {}