Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

Latest commit

 

History

History
66 lines (52 loc) · 3.39 KB

README.md

File metadata and controls

66 lines (52 loc) · 3.39 KB

⚠️ Deprecated ⚠️: agent is now part of mariadb-operator glued CLI: mariadb-operator/mariadb-operator#384

mariadb

CI Release Go Report Card Go Reference Slack

🤖 agent

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

How to use it

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
  ...

HTTP API

You can consume the agent API using the pkg/client. Alternatively, take a look at our Postman collection.

Run in Postman