Skip to content

ClickhouseUser

Usage example

Example
apiVersion: aiven.io/v1alpha1
kind: ClickhouseUser
metadata:
  name: my-clickhouse-user
spec:
  authSecretRef:
    name: aiven-token
    key: token

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

  project: my-aiven-project
  serviceName: my-clickhouse
  username: example-username

---

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

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

Info

To create this resource, a Secret containing Aiven token must be created first.

Apply the resource with:

kubectl apply -f example.yaml

Verify the newly created ClickhouseUser:

kubectl get clickhouseusers my-clickhouse-user

The output is similar to the following:

Name                  Username            Service Name     Project             
my-clickhouse-user    example-username    my-clickhouse    my-aiven-project    

To view the details of the Secret, use the following command:

kubectl describe secret clickhouse-user-secret

You can use the jq to quickly decode the Secret:

kubectl get secret clickhouse-user-secret -o json | jq '.data | map_values(@base64d)'

The output is similar to the following:

{
    "CLICKHOUSEUSER_HOST": "<secret>",
    "CLICKHOUSEUSER_PORT": "<secret>",
    "CLICKHOUSEUSER_USER": "<secret>",
    "CLICKHOUSEUSER_PASSWORD": "<secret>",
}

ClickhouseUser

ClickhouseUser is the Schema for the clickhouseusers API.

Exposes secret keys

CLICKHOUSEUSER_HOST, CLICKHOUSEUSER_PORT, CLICKHOUSEUSER_USER, CLICKHOUSEUSER_PASSWORD.

Required

  • apiVersion (string). Value aiven.io/v1alpha1.
  • kind (string). Value ClickhouseUser.
  • metadata (object). Data that identifies the object, including a name string and optional namespace.
  • spec (object). ClickhouseUserSpec defines the desired state of ClickhouseUser. See below for nested schema.

spec

Appears on ClickhouseUser.

ClickhouseUserSpec defines the desired state of ClickhouseUser.

Required

  • project (string, Immutable, Pattern: ^[a-zA-Z0-9_-]+$, MaxLength: 63). Identifies the project this resource belongs to.
  • serviceName (string, Immutable, Pattern: ^[a-z][-a-z0-9]+$, MaxLength: 63). Specifies the name of the service that this resource belongs to.

Optional

  • authSecretRef (object). Authentication reference to Aiven token in a secret. See below for nested schema.
  • connInfoSecretTarget (object). Secret configuration. See below for nested schema.
  • connInfoSecretTargetDisabled (boolean, Immutable). When true, the secret containing connection information will not be created, defaults to false. This field cannot be changed after resource creation.
  • username (string, Immutable, MaxLength: 63). Name of the Clickhouse user. Defaults to metadata.name if omitted.

Note

metadata.name is ASCII-only. For UTF-8 names, use spec.username, but ASCII is advised for compatibility.

authSecretRef

Appears on spec.

Authentication reference to Aiven token in a secret.

Required

  • key (string, MinLength: 1).
  • name (string, MinLength: 1).

connInfoSecretTarget

Appears on spec.

Secret configuration.

Required

  • name (string, Immutable). Name of the secret resource to be created. By default, it is equal to the resource name.

Optional

  • annotations (object, AdditionalProperties: string). Annotations added to the secret.
  • labels (object, AdditionalProperties: string). Labels added to the secret.
  • prefix (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.