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