aiven-operator

command module
v0.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

README

Aiven Operator

Provision and manage Aiven Services from your Kubernetes cluster.

See the full documentation here.

Installation

To install the Operator, please follow the installation instructions.

Deploying PostgreSQL at Aiven

Now let's create a PostgreSQL resource with the following YAML – please fill in your project name under in the project field:

apiVersion: aiven.io/v1alpha1
kind: PostgreSQL
metadata:
  name: aiven-pg
spec:
  # reads the authentication token
  authSecretRef:
    name: aiven-token
    key: token

  # stores the PostgreSQL connection information on the specified Secret
  connInfoSecretTarget:
    name: pg-connection

  project: <your-project-name>
  cloudName: google-europe-west1
  plan: hobbyist
  maintenanceWindowDow: friday
  maintenanceWindowTime: 23:00:00
  userConfig:
    pg_version: "15"

Watch the resource being created and wait until its status is RUNNING:

watch kubectl get postgresql.aiven.io aiven-pg

After created, the Operator will create a Kubernetes Secret containing the PostgreSQL connection information:

kubectl describe secret pg-connection

Use the following jq command to decode the Secret:

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

Connecting to PostgreSQL

Let's run a psql command to test the database connection using the generated Secret:

apiVersion: v1
kind: Pod
metadata:
  name: psql-test-connection
spec:
  restartPolicy: Never
  containers:
    - image: postgres:11
      name: postgres
      command: ["psql", "$(DATABASE_URI)", "-c", "SELECT version();"]
      envFrom:
        - secretRef:
            name: pg-connection

The Pod should the PostgreSQL version. You can verify with the following command:

$ kubectl logs psql-test-connection
                                           version
---------------------------------------------------------------------------------------------
 PostgreSQL 11.12 on x86_64-pc-linux-gnu, compiled by gcc, a 68c5366192 p 6b9244f01a, 64-bit
(1 row)

Contributing

We welcome and encourage contributions to this project. Please take a look at our Contribution guide line.

License

Apache 2.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
+kubebuilder:object:generate=true +groupName=aiven.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=aiven.io +versionName=v1alpha1
generators

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL