Lewati ke isi

Instalasi

Tenax terdiri dari satu chart Helm dan satu image. Image tersebut berisi biner tenax serta alat klien Postgres 15/16/17 dan MySQL 8.4 yang dijalankan oleh data mover; biner yang sama juga merupakan CLI.

Dapatkan image dan chart

Rilis hanya dibangun dari tag: tag v1.2.3 menerbitkan image <registry>/tenax/tenax:v1.2.3, chart tenax:1.2.3 (OCI), dan biner CLI untuk Linux dan macOS di rilis GitHub. Tidak ada yang diterbitkan dari main.

helm install tenax oci://registry.example.com/helm/tenax --version 1.2.3 -n tenax-system --create-namespace \
  -f values.yaml

Dari checkout, helm install tenax charts/tenax … bekerja dengan cara yang sama.

Nilai minimal

values.yaml
image:
  repository: registry.example.com/tenax/tenax
  tag: v1.2.3
  pullSecrets: [registry-pull]        # also copied into sandbox namespaces
targetNamespaces: [team-a, team-b]    # where BackupTargets and their tenax-* secrets live
examplePolicies:                      # prod, dev and critical presets in tenax-system
  enabled: true
  store: main
metrics:
  serviceMonitor: { enabled: true }
  prometheusRule: { enabled: true }
  grafanaDashboard: { enabled: true }

Tenax tidak membawa nilai bawaan khusus organisasi mana pun: setiap endpoint, hostname, dan kredensial Anda yang menetapkan (ADR 0002). Semua nilai: Nilai Helm.

Autentikasi dan eksposur

Keduanya dapat diganti (pluggable) dan nonaktif secara bawaan.

Pengaturan Nilai Fungsinya
auth.provider none · cloudflare-access none: setiap permintaan konsol mendapat auth.devRole (konsol hanya dijangkau melalui tenax console, sebuah kubectl port-forward). cloudflare-access: memverifikasi JWT Cloudflare Access pada setiap permintaan dan memetakan pengguna serta grup ke peran; port-forward mendapat auth.portForwardRole.
auth.roles viewer · operator · restorer · restorer-admin Siapa yang boleh melihat, mencadangkan dan memulihkan ke sandbox, memulihkan ke basis data baru atau unduhan, serta memulihkan di tempat atau menyematkan.
expose.provider none · service · cloudflare Cara sandbox dijangkau dari luar klaster: none, tenax sandbox connect melakukan port-forward melalui kubeconfig; service, satu Service Kubernetes per sandbox (load balancer, MetalLB, Tailscale, external-dns) yang dapat dihubungi klien basis data apa pun melalui TLS; cloudflare, tunnel di balik login Access. Lihat Sandbox.
expose.cloudflared.enabled true / false Dengan cloudflare: menjalankan konektor cloudflared untuk rute sandbox (dan konsol, jika consoleHostname diatur).

Lihat Konsol, CLI, dan akses untuk detailnya.

Apa yang dipasang

Objek Kegunaan
6 CRD BackupStore, BackupPolicy, BackupTarget, Backup, Restore, Sandbox (referensi)
Deployment tenax-controller (2 replika, leader election) menjadwalkan pencadangan, menjalankan streamer, pemulihan, sandbox, verifikasi, dan garbage collection
Deployment tenax-api (2 replika) dan Service konsol, API JSON, dan server-sent events
RBAC baca resource Tenax di seluruh klaster; per namespace target, hanya baca secret tenax-*
PrometheusRule, ServiceMonitor, dasbor Grafana opsional, lihat Pemantauan

Pod berjalan sebagai non-root dengan filesystem root baca-saja, tanpa eskalasi hak istimewa, dan semua capability dilepas. Data hanya berpindah di Job (mover, restorer) dan Deployment streamer per target; controller dan API tidak pernah membawa data cadangan.

Peningkatan versi

helm upgrade mengganti CRD (installCRDs: true) dan melakukan rollout controller serta API. Pencadangan yang sedang berjalan akan selesai atau dicoba ulang: setiap jalur data bersifat crash-only, dan sebuah cadangan baru ada setelah manifest-nya ditulis.