Skip to content

Latest commit

 

History

History
208 lines (134 loc) · 14.1 KB

clickhouse.md

File metadata and controls

208 lines (134 loc) · 14.1 KB
title
Clickhouse

Usage example

??? example ```yaml apiVersion: aiven.io/v1alpha1 kind: Clickhouse metadata: name: my-clickhouse spec: authSecretRef: name: aiven-token key: token

  connInfoSecretTarget:
    name: clickhouse-secret
    prefix: MY_SECRET_PREFIX_
    annotations:
      foo: bar
    labels:
      baz: egg

  project: my-aiven-project
  cloudName: google-europe-west1
  plan: startup-16

  maintenanceWindowDow: friday
  maintenanceWindowTime: 23:00:00
```

Clickhouse {: #Clickhouse }

Clickhouse is the Schema for the clickhouses API.

!!! Info "Exposes secret keys"

`CLICKHOUSE_HOST`, `CLICKHOUSE_PORT`, `CLICKHOUSE_USER`, `CLICKHOUSE_PASSWORD`.

Required

  • apiVersion{: name='apiVersion-property'} (string). Value aiven.io/v1alpha1.
  • kind{: name='kind-property'} (string). Value Clickhouse.
  • metadata{: name='metadata-property'} (object). Data that identifies the object, including a name string and optional namespace.
  • spec{: name='spec-property'} (object). ClickhouseSpec defines the desired state of Clickhouse. See below for nested schema.

spec {: #spec }

Appears on Clickhouse.

ClickhouseSpec defines the desired state of Clickhouse.

Required

  • plan{: name='spec.plan-property'} (string, MaxLength: 128). Subscription plan.
  • project{: name='spec.project-property'} (string, Immutable, MaxLength: 63, Format: ^[a-zA-Z0-9_-]+$). Identifies the project this resource belongs to.

Optional

  • authSecretRef{: name='spec.authSecretRef-property'} (object). Authentication reference to Aiven token in a secret. See below for nested schema.
  • cloudName{: name='spec.cloudName-property'} (string, MaxLength: 256). Cloud the service runs in.
  • connInfoSecretTarget{: name='spec.connInfoSecretTarget-property'} (object). Secret configuration. See below for nested schema.
  • connInfoSecretTargetDisabled{: name='spec.connInfoSecretTargetDisabled-property'} (boolean, Immutable). When true, the secret containing connection information will not be created, defaults to false. This field cannot be changed after resource creation.
  • disk_space{: name='spec.disk_space-property'} (string, Format: ^[1-9][0-9]*(GiB|G)*). The disk space of the service, possible values depend on the service type, the cloud provider and the project. Reducing will result in the service re-balancing.
  • maintenanceWindowDow{: name='spec.maintenanceWindowDow-property'} (string, Enum: monday, tuesday, wednesday, thursday, friday, saturday, sunday). Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
  • maintenanceWindowTime{: name='spec.maintenanceWindowTime-property'} (string, MaxLength: 8). Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
  • projectVPCRef{: name='spec.projectVPCRef-property'} (object). ProjectVPCRef reference to ProjectVPC resource to use its ID as ProjectVPCID automatically. See below for nested schema.
  • projectVpcId{: name='spec.projectVpcId-property'} (string, MaxLength: 36). Identifier of the VPC the service should be in, if any.
  • serviceIntegrations{: name='spec.serviceIntegrations-property'} (array of objects, Immutable, MaxItems: 1). Service integrations to specify when creating a service. Not applied after initial service creation. See below for nested schema.
  • tags{: name='spec.tags-property'} (object, AdditionalProperties: string). Tags are key-value pairs that allow you to categorize services.
  • technicalEmails{: name='spec.technicalEmails-property'} (array of objects, MaxItems: 10). Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability. See below for nested schema.
  • terminationProtection{: name='spec.terminationProtection-property'} (boolean). Prevent service from being deleted. It is recommended to have this enabled for all services.
  • userConfig{: name='spec.userConfig-property'} (object). OpenSearch specific user configuration options. See below for nested schema.

authSecretRef {: #spec.authSecretRef }

Appears on spec.

Authentication reference to Aiven token in a secret.

Required

  • key{: name='spec.authSecretRef.key-property'} (string, MinLength: 1).
  • name{: name='spec.authSecretRef.name-property'} (string, MinLength: 1).

connInfoSecretTarget {: #spec.connInfoSecretTarget }

Appears on spec.

Secret configuration.

Required

  • name{: name='spec.connInfoSecretTarget.name-property'} (string). Name of the secret resource to be created. By default, it is equal to the resource name.

Optional

  • annotations{: name='spec.connInfoSecretTarget.annotations-property'} (object, AdditionalProperties: string). Annotations added to the secret.
  • labels{: name='spec.connInfoSecretTarget.labels-property'} (object, AdditionalProperties: string). Labels added to the secret.
  • prefix{: name='spec.connInfoSecretTarget.prefix-property'} (string). Prefix for the secret's keys. Added "as is" without any transformations. By default, is equal to the kind name in uppercase + underscore, e.g. KAFKA_, REDIS_, etc.

projectVPCRef {: #spec.projectVPCRef }

Appears on spec.

ProjectVPCRef reference to ProjectVPC resource to use its ID as ProjectVPCID automatically.

Required

  • name{: name='spec.projectVPCRef.name-property'} (string, MinLength: 1).

Optional

  • namespace{: name='spec.projectVPCRef.namespace-property'} (string, MinLength: 1).

serviceIntegrations {: #spec.serviceIntegrations }

Appears on spec.

Service integrations to specify when creating a service. Not applied after initial service creation.

Required

  • integrationType{: name='spec.serviceIntegrations.integrationType-property'} (string, Enum: read_replica).
  • sourceServiceName{: name='spec.serviceIntegrations.sourceServiceName-property'} (string, MinLength: 1, MaxLength: 64).

technicalEmails {: #spec.technicalEmails }

Appears on spec.

Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.

Required

  • email{: name='spec.technicalEmails.email-property'} (string, Format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$). Email address.

userConfig {: #spec.userConfig }

Appears on spec.

OpenSearch specific user configuration options.

Optional

  • additional_backup_regions{: name='spec.userConfig.additional_backup_regions-property'} (array of strings, MaxItems: 1). Deprecated. Additional Cloud Regions for Backup Replication.
  • ip_filter{: name='spec.userConfig.ip_filter-property'} (array of objects, MaxItems: 1024). Allow incoming connections from CIDR address block, e.g. 10.20.0.0/16. See below for nested schema.
  • private_access{: name='spec.userConfig.private_access-property'} (object). Allow access to selected service ports from private networks. See below for nested schema.
  • privatelink_access{: name='spec.userConfig.privatelink_access-property'} (object). Allow access to selected service components through Privatelink. See below for nested schema.
  • project_to_fork_from{: name='spec.userConfig.project_to_fork_from-property'} (string, Immutable, Pattern: ^[a-z][-a-z0-9]{0,63}$|^$, MaxLength: 63). Name of another project to fork a service from. This has effect only when a new service is being created.
  • public_access{: name='spec.userConfig.public_access-property'} (object). Allow access to selected service ports from the public Internet. See below for nested schema.
  • service_log{: name='spec.userConfig.service_log-property'} (boolean). Store logs for the service so that they are available in the HTTP API and console.
  • service_to_fork_from{: name='spec.userConfig.service_to_fork_from-property'} (string, Immutable, Pattern: ^[a-z][-a-z0-9]{0,63}$|^$, MaxLength: 64). Name of another service to fork from. This has effect only when a new service is being created.
  • static_ips{: name='spec.userConfig.static_ips-property'} (boolean). Use static public IP addresses.

ip_filter {: #spec.userConfig.ip_filter }

Appears on spec.userConfig.

Allow incoming connections from CIDR address block, e.g. 10.20.0.0/16.

Required

  • network{: name='spec.userConfig.ip_filter.network-property'} (string, MaxLength: 43). CIDR address block.

Optional

  • description{: name='spec.userConfig.ip_filter.description-property'} (string, MaxLength: 1024). Description for IP filter list entry.

private_access {: #spec.userConfig.private_access }

Appears on spec.userConfig.

Allow access to selected service ports from private networks.

Optional

  • clickhouse{: name='spec.userConfig.private_access.clickhouse-property'} (boolean). Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
  • clickhouse_https{: name='spec.userConfig.private_access.clickhouse_https-property'} (boolean). Allow clients to connect to clickhouse_https with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
  • clickhouse_mysql{: name='spec.userConfig.private_access.clickhouse_mysql-property'} (boolean). Allow clients to connect to clickhouse_mysql with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
  • prometheus{: name='spec.userConfig.private_access.prometheus-property'} (boolean). Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.

privatelink_access {: #spec.userConfig.privatelink_access }

Appears on spec.userConfig.

Allow access to selected service components through Privatelink.

Optional

  • clickhouse{: name='spec.userConfig.privatelink_access.clickhouse-property'} (boolean). Enable clickhouse.
  • clickhouse_https{: name='spec.userConfig.privatelink_access.clickhouse_https-property'} (boolean). Enable clickhouse_https.
  • clickhouse_mysql{: name='spec.userConfig.privatelink_access.clickhouse_mysql-property'} (boolean). Enable clickhouse_mysql.
  • prometheus{: name='spec.userConfig.privatelink_access.prometheus-property'} (boolean). Enable prometheus.

public_access {: #spec.userConfig.public_access }

Appears on spec.userConfig.

Allow access to selected service ports from the public Internet.

Optional

  • clickhouse{: name='spec.userConfig.public_access.clickhouse-property'} (boolean). Allow clients to connect to clickhouse from the public internet for service nodes that are in a project VPC or another type of private network.
  • clickhouse_https{: name='spec.userConfig.public_access.clickhouse_https-property'} (boolean). Allow clients to connect to clickhouse_https from the public internet for service nodes that are in a project VPC or another type of private network.
  • clickhouse_mysql{: name='spec.userConfig.public_access.clickhouse_mysql-property'} (boolean). Allow clients to connect to clickhouse_mysql from the public internet for service nodes that are in a project VPC or another type of private network.
  • prometheus{: name='spec.userConfig.public_access.prometheus-property'} (boolean). Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.