Skip to content

Latest commit

 

History

History

helm

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

altinity-clickhouse-operator

Version: 0.21.1 Type: application AppVersion: 0.21.1

Helm chart to deploy altinity-clickhouse-operator.

The ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes.

Homepage: https://github.com/Altinity/clickhouse-operator

Maintainers

Name Email Url
altinity [email protected]

Values

Key Type Default Description
additionalResources list [] list of additional resources to create (are processed via tpl function)
affinity object {} affinity for scheduler pod assignment
configs object {"confdFiles":null,"configdFiles":{"01-clickhouse-01-listen.xml":"<!-- IMPORTANT -->\n<!-- This file is auto-generated -->\n<!-- Do not edit this file - all changes would be lost -->\n<!-- Edit appropriate template in the following folder: -->\n<!-- deploy/builder/templates-config -->\n<!-- IMPORTANT -->\n<yandex>\n <!-- Listen wildcard address to allow accepting connections from other containers and host network. -->\n <listen_host>::</listen_host>\n <listen_host>0.0.0.0</listen_host>\n <listen_try>1</listen_try>\n</yandex>\n","01-clickhouse-02-logger.xml":"<!-- IMPORTANT -->\n<!-- This file is auto-generated -->\n<!-- Do not edit this file - all changes would be lost -->\n<!-- Edit appropriate template in the following folder: -->\n<!-- deploy/builder/templates-config -->\n<!-- IMPORTANT -->\n<yandex>\n <logger>\n <!-- Possible levels: https://github.com/pocoproject/poco/blob/develop/Foundation/include/Poco/Logger.h#L105 -->\n <level>debug</level>\n <log>/var/log/clickhouse-server/clickhouse-server.log</log>\n <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>\n <size>1000M</size>\n <count>10</count>\n <!-- Default behavior is autodetection (log to console if not daemon mode and is tty) -->\n <console>1</console>\n </logger>\n</yandex>\n","01-clickhouse-03-query_log.xml":"<!-- IMPORTANT -->\n<!-- This file is auto-generated -->\n<!-- Do not edit this file - all changes would be lost -->\n<!-- Edit appropriate template in the following folder: -->\n<!-- deploy/builder/templates-config -->\n<!-- IMPORTANT -->\n<yandex>\n <query_log replace=\"1\">\n <database>system</database>\n <table>query_log</table>\n <engine>Engine = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + interval 30 day</engine>\n <flush_interval_milliseconds>7500</flush_interval_milliseconds>\n </query_log>\n <query_thread_log remove=\"1\"/>\n</yandex>\n","01-clickhouse-04-part_log.xml":"<!-- IMPORTANT -->\n<!-- This file is auto-generated -->\n<!-- Do not edit this file - all changes would be lost -->\n<!-- Edit appropriate template in the following folder: -->\n<!-- deploy/builder/templates-config -->\n<!-- IMPORTANT -->\n<yandex>\n <part_log replace=\"1\">\n <database>system</database>\n <table>part_log</table>\n <engine>Engine = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + interval 30 day</engine>\n <flush_interval_milliseconds>7500</flush_interval_milliseconds>\n </part_log>\n</yandex>\n","01-clickhouse-05-trace_log.xml":"<!-- IMPORTANT -->\n<!-- This file is auto-generated -->\n<!-- Do not edit this file - all changes would be lost -->\n<!-- Edit appropriate template in the following folder: -->\n<!-- deploy/builder/templates-config -->\n<!-- IMPORTANT -->\n<yandex>\n <trace_log replace=\"1\">\n <database>system</database>\n <table>trace_log</table>\n <engine>Engine = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + interval 30 day</engine>\n <flush_interval_milliseconds>7500</flush_interval_milliseconds>\n </trace_log>\n</yandex>"},"files":{"config.yaml":"# IMPORTANT\n# This file is auto-generated\n# Do not edit this file - all changes would be lost\n# Edit appropriate template in the following folder:\n# deploy/builder/templates-config\n# IMPORTANT\n#\n# Template parameters available:\n# WATCH_NAMESPACES=\n# CH_USERNAME_PLAIN=\n# CH_PASSWORD_PLAIN=\n# CH_CREDENTIALS_SECRET_NAMESPACE=\n# CH_CREDENTIALS_SECRET_NAME=clickhouse-operator\n\n################################################\n##\n## Watch Section\n##\n################################################\nwatch:\n # List of namespaces where clickhouse-operator watches for events.\n # Concurrently running operators should watch on different namespaces.\n #namespaces: [\"dev\", \"test\"]\n namespaces: []\n\nclickhouse:\n configuration:\n ################################################\n ##\n ## Configuration Files Section\n ##\n ################################################\n file:\n path:\n # Path to the folder where ClickHouse configuration files common for all instances within a CHI are located.\n common: config.d\n # Path to the folder where ClickHouse configuration files unique for each instance (host) within a CHI are located.\n host: conf.d\n # Path to the folder where ClickHouse configuration files with users' settings are located.\n # Files are common for all instances within a CHI.\n user: users.d\n ################################################\n ##\n ## Configuration Users Section\n ##\n ################################################\n user:\n # Default settings for user accounts, created by the operator.\n # NB. These are not access credentials or settings for 'default' user account,\n # it is a template for filling out missing fields for all user accounts to be created by the operator, except:\n # 1. 'default' account, which DOES NOT use provided password, but uses all the rest of the fields\n # Password for 'default' account as to be provided explicitly, if to be used\n # 2. CHOP account, which DOES NOT use profile, quota, password and regexp, but uses network IPs - extending them\n # Password for CHOP account is used from clickhouse.access.password` section\n default:\n # Default values for ClickHouse user configuration\n # 1. user/profile - string\n # 2. user/quota - string\n # 3. user/networks/ip - multiple strings\n # 4. user/password - string\n profile: "default"\n quota: "default"\n networksIP:\n - "::1"\n - "127.0.0.1"\n password: "default"\n ################################################\n ##\n ## Configuration Network Section\n ##\n ################################################\n network:\n # Default host_regexp to limit network connectivity from outside\n hostRegexpTemplate: "(chi-{chi}-[^.]+\\d+-\\d+ clickhouse\\-{chi})\\.{namespace}\\.svc\\.cluster\\.local$"\n\n ################################################\n ##\n ## Configuration Restart Policy Section\n ## Configuration restart policy describes what configuration changes require ClickHouse restart\n ##\n ################################################\n configurationRestartPolicy:\n rules:\n - version: ""\n rules:\n - settings/: "yes"\n - settings/dictionaries_config: "no"\n - settings/logger: "no"\n - settings/macros/: "no"\n - settings/max_server_memory_: "no"\n - settings/max__to_drop: "no"\n - settings/max_concurrent_queries: "no"\n - settings/models_config: "no"\n - settings/user_defined_executable_functions_config: "no"\n\n - zookeeper/: "yes"\n\n - files/config.d/.xml: "yes"\n - files/config.d/dict.xml: "no"\n\n - profiles/default/background_pool_size: "yes"\n - profiles/default/max_for_server: "yes"\n - version: "21."\n rules:\n - settings/logger: "yes"\n\n #################################################\n ##\n ## Access to ClickHouse instances\n ##\n ################################################\n access:\n # Possible values for scheme are:\n # 1. http\n # 2. https\n scheme: ""\n # ClickHouse credentials (username, password and port) to be used by the operator to connect to ClickHouse instances.\n # Used for:\n # 1. Metrics requests\n # 2. Schema maintenance\n # 3. DROP DNS CACHE\n # User with these credentials can be specified in additional ClickHouse .xml config files,\n # located in clickhouse.configuration.file.path.user folder\n username: ""\n password: ""\n rootCA: ""\n\n # Location of the k8s Secret with username and password to be used by the operator to connect to ClickHouse instances.\n # Can be used instead of explicitly specified username and password which are:\n # clickhouse.access.username\n # clickhouse.access.password\n # Secret should have two keys:\n # 1. username\n # 2. password\n secret:\n # Empty namespace means that k8s secret would be looked in the same namespace where operator's pod is running.\n namespace: ""\n # Empty name means no k8s Secret would be looked for\n name: "{{ include "altinity-clickhouse-operator.fullname" . }}"\n # Port where to connect to ClickHouse instances to\n port: 8123\n\n # Timeouts used to limit connection and queries from the operator to ClickHouse instances\n # Specified in seconds.\n timeouts:\n connect: 2\n query: 5\n\n metrics:\n timeouts:\n collect: 9\n\n################################################\n##\n## Templates Section\n##\n################################################\ntemplate:\n chi:\n # Path to the folder where ClickHouseInstallation .yaml manifests are located.\n # Manifests are applied in sorted alpha-numeric order.\n path: templates.d\n\n################################################\n##\n## Reconcile Section\n##\n################################################\nreconcile:\n runtime:\n # Max number of concurrent CHI reconciles in progress\n reconcileCHIsThreadsNumber: 10\n # Max number of concurrent shard reconciles in progress\n reconcileShardsThreadsNumber: 1\n # The maximum percentage of cluster shards that may be reconciled in parallel\n reconcileShardsMaxConcurrencyPercent: 50\n\n statefulSet:\n create:\n # What to do in case created StatefulSet is not in 'Ready' after reconcile.statefulSet.update.timeout seconds\n # Possible options:\n # 1. abort - do nothing, just break the process and wait for an admin to assist\n # 2. delete - delete newly created problematic StatefulSet\n # 3. ignore - ignore an error, pretend nothing happened and move on to the next StatefulSet\n onFailure: ignore\n\n update:\n # How many seconds to wait for created/updated StatefulSet to be 'Ready'\n timeout: 300\n # How many seconds to wait between checks/polls for created/updated StatefulSet status\n pollInterval: 5\n # What to do in case updated StatefulSet is not in 'Ready' after reconcile.statefulSet.update.timeout seconds\n # Possible options:\n # 1. abort - do nothing, just break the process and wait for an admin to assist\n # 2. rollback - delete Pod and rollback StatefulSet to previous Generation.\n # Pod would be recreated by StatefulSet based on rollback-ed configuration\n # 3. ignore - ignore an error, pretend nothing happened and move on to the next StatefulSet\n onFailure: rollback\n\n host:\n # Whether reconciler should wait for a host:\n # - to be excluded from a cluster\n # OR\n # - to be included into a cluster\n # respectfully\n wait:\n exclude: true\n include: false\n\n################################################\n##\n## Annotations management\n##\n################################################\nannotation:\n # Applied when:\n # 1. Propagating annotations from the CHI's metadata.annotations to child objects' metadata.annotations,\n # 2. Propagating annotations from the CHI Template's metadata.annotations to CHI's metadata.annotations,\n # Include annotations from the following list:\n # Applied only when not empty. Empty list means "include all, no selection"\n include: []\n # Exclude annotations from the following list:\n exclude: []\n\n################################################\n##\n## Labels management\n##\n################################################\nlabel:\n # Applied when:\n # 1. Propagating labels from the CHI's metadata.labels to child objects' metadata.labels,\n # 2. Propagating labels from the CHI Template's metadata.labels to CHI's metadata.labels,\n # Include labels from the following list:\n # Applied only when not empty. Empty list means "include all, no selection"\n include: []\n # Exclude labels from the following list:\n # Applied only when not empty. Empty list means "nothing to exclude, no selection"\n exclude: []\n # Whether to append Scope labels to StatefulSet and Pod.\n # Full list of available scope labels check in 'labeler.go'\n # LabelShardScopeIndex\n # LabelReplicaScopeIndex\n # LabelCHIScopeIndex\n # LabelCHIScopeCycleSize\n # LabelCHIScopeCycleIndex\n # LabelCHIScopeCycleOffset\n # LabelClusterScopeIndex\n # LabelClusterScopeCycleSize\n # LabelClusterScopeCycleIndex\n # LabelClusterScopeCycleOffset\n appendScope: "no"\n\n################################################\n##\n## StatefulSet management\n##\n################################################\nstatefulSet:\n revisionHistoryLimit: 0\n\n################################################\n##\n## Pod management\n##\n################################################\npod:\n # Grace period for Pod termination.\n # How many seconds to wait between sending\n # SIGTERM and SIGKILL during Pod termination process.\n # Increase this number is case of slow shutdown.\n terminationGracePeriod: 30\n\n################################################\n##\n## Log parameters\n##\n################################################\nlogger:\n logtostderr: "true"\n alsologtostderr: "false"\n v: "1"\n stderrthreshold: ""\n vmodule: ""\n log_backtrace_at: """},"templatesdFiles":{"001-templates.json.example":"{\n "apiVersion": "clickhouse.altinity.com/v1",\n "kind": "ClickHouseInstallationTemplate",\n "metadata": {\n "name": "01-default-volumeclaimtemplate"\n },\n "spec": {\n "templates": {\n "volumeClaimTemplates": [\n {\n "name": "chi-default-volume-claim-template",\n "spec": {\n "accessModes": [\n "ReadWriteOnce"\n ],\n "resources": {\n "requests": {\n "storage": "2Gi"\n }\n }\n }\n }\n ],\n "podTemplates": [\n {\n "name": "chi-default-oneperhost-pod-template",\n "distribution": "OnePerHost",\n "spec": {\n "containers" : [\n {\n "name": "clickhouse",\n "image": "clickhouse/clickhouse-server:22.3",\n "ports": [\n {\n "name": "http",\n "containerPort": 8123\n },\n {\n "name": "client",\n "containerPort": 9000\n },\n {\n "name": "interserver",\n "containerPort": 9009\n }\n ]\n }\n ]\n }\n }\n ]\n }\n }\n}\n","default-pod-template.yaml.example":"apiVersion: "clickhouse.altinity.com/v1"\nkind: "ClickHouseInstallationTemplate"\nmetadata:\n name: "default-oneperhost-pod-template"\nspec:\n templates:\n podTemplates:\n - name: default-oneperhost-pod-template\n distribution: "OnePerHost"\n","default-storage-template.yaml.example":"apiVersion: "clickhouse.altinity.com/v1"\nkind: "ClickHouseInstallationTemplate"\nmetadata:\n name: "default-storage-template-2Gi"\nspec:\n templates:\n volumeClaimTemplates:\n - name: default-storage-template-2Gi\n spec:\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 2Gi\n","readme":"Templates in this folder are packaged with an operator and available via 'useTemplate'"},"usersdFiles":{"01-clickhouse-operator-profile.xml":"\n\n\n\n\n\n\n\n \n \n <clickhouse_operator>\n <log_queries>0</log_queries>\n <skip_unavailable_shards>1</skip_unavailable_shards>\n <http_connection_timeout>10</http_connection_timeout>\n <max_concurrent_queries_for_all_users>0</max_concurrent_queries_for_all_users>\n <os_thread_priority>0</os_thread_priority>\n </clickhouse_operator>\n \n\n","02-clickhouse-default-profile.xml":"\n\n\n\n\n\n\n \n \n <os_thread_priority>2</os_thread_priority>\n <log_queries>1</log_queries>\n <connect_timeout_with_failover_ms>1000</connect_timeout_with_failover_ms>\n <distributed_aggregation_memory_efficient>1</distributed_aggregation_memory_efficient>\n <parallel_view_processing>1</parallel_view_processing>\n <do_not_merge_across_partitions_select_final>1</do_not_merge_across_partitions_select_final>\n <load_balancing>nearest_hostname</load_balancing>\n \n \n"}}`
dashboards.additionalLabels object {"grafana_dashboard":""} labels to add to a secret with dashboards
dashboards.annotations object {} annotations to add to a secret with dashboards
dashboards.enabled bool false provision grafana dashboards as secrets (can be synced by grafana dashboards sidecar https://github.com/grafana/helm-charts/blob/grafana-6.33.1/charts/grafana/values.yaml#L679 )
dashboards.grafana_folder string "clickhouse"
fullnameOverride string "" full name of the chart.
imagePullSecrets list [] image pull secret for private images
metrics.enabled bool true
metrics.env list [] additional environment variables for the deployment
metrics.image.pullPolicy string "IfNotPresent" image pull policy
metrics.image.repository string "altinity/metrics-exporter" image repository
metrics.image.tag string "" image tag (chart's appVersion value will be used if not set)
metrics.resources object {} custom resource configuration
nameOverride string "" override name of the chart
nodeSelector object {} node for scheduler pod assignment
operator.env list [] additional environment variables for the deployment
operator.image.pullPolicy string "IfNotPresent" image pull policy
operator.image.repository string "altinity/clickhouse-operator" image repository
operator.image.tag string "" image tag (chart's appVersion value will be used if not set)
operator.resources object {} custom resource configuration
podAnnotations object {"prometheus.io/port":"8888","prometheus.io/scrape":"true"} annotations to add to the pod
secret.create bool true create a secret with operator credentials
secret.password string "clickhouse_operator_password" operator credentials password
secret.username string "clickhouse_operator" operator credentials username
serviceAccount.annotations object {} annotations to add to the service account
serviceAccount.create bool true specifies whether a service account should be created
serviceAccount.name string nil the name of the service account to use; if not set and create is true, a name is generated using the fullname template
serviceMonitor.additionalLabels object {} additional labels for service monitor
serviceMonitor.enabled bool false ServiceMonitor CRD is created for a prometheus operator
tolerations list [] tolerations for scheduler pod assignment

Autogenerated from chart metadata using helm-docs v1.11.0