Sidecar agent for MariaDB that co-operates with mariadb-operator. Remotely manage Galera via HTTP instead of configuration *.cnf
files.
- HTTP API to manage Galera and expose the MariaDB state to
mariadb-operator
- Query and update Galera state without mounting
/var/lib/mysql/grastate.dat
- Perform Galera cluster recovery remotely
- Bootstrap new Galera cluster as a result of the cluster recovery
- Idiomatic Go HTTP client pkg/client
- Authentication using Kubernetes service accounts via TokenReview API
Specify the agent image in the MariaDB
spec.galera.agent
field.
apiVersion: mariadb.mmontes.io/v1alpha1
kind: MariaDB
metadata:
name: mariadb-galera
spec:
...
image:
repository: mariadb
tag: "10.11.3"
pullPolicy: IfNotPresent
port: 3306
replicas: 3
galera:
sst: mariabackup
replicaThreads: 1
agent:
image:
repository: ghcr.io/mariadb-operator/agent
tag: "v0.0.2"
pullPolicy: IfNotPresent
port: 5555
kubernetesAuth:
enabled: true
authDelegatorRoleName: mariadb-galera-auth
gracefulShutdownTimeout: 5s
...
You can consume the agent API using the pkg/client. Alternatively, take a look at our Postman collection.