tower 0.60.0 / tower-ui 0.61.0 — Phase F.1: three buckets per tenant

Data model: PlatformTenant.S3 = { Endpoint, Region, Buckets: { Backups, Templates, Audit } }
Vault: legacy v3/data/s3{,-templates,-audit} paths wiped (decision in
docs/decisions/0001 path is bring-your-own only; per-tenant only).
UI: 3 bucket fields (Backups / Templates / Audit), single endpoint +
region + credential pair. Test does HeadBucket on each configured
bucket and reports per-bucket pass/fail.

Note: writers (audit/templates/backups handlers) still read from old
paths. Phase F.2 (next) sweeps the ~30 call sites onto a tenant-scoped
s3Factory. Tower compiles + serves API; backups+audit+templates writes
are non-functional until F.2 lands. v3 has no customers, so the
breakage window is tolerable per memory feedback_v3_disposable_no_customers.
This commit is contained in:
Claude
2026-04-29 20:58:26 +03:00
parent 4922dd6e9c
commit b89c084ebd

View File

@@ -9,7 +9,7 @@ backend:
# so every cluster that runs Tower needs the same imagePullSecret # so every cluster that runs Tower needs the same imagePullSecret
# provisioned out-of-band (until cluster-platform-v3 owns it). # provisioned out-of-band (until cluster-platform-v3 owns it).
repository: registry.odoosky.cloud/odoosky/docker-mirror/tower repository: registry.odoosky.cloud/odoosky/docker-mirror/tower
tag: "0.59.2" tag: "0.60.0"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
imagePullSecrets: imagePullSecrets:
- name: docker-mirror-pull - name: docker-mirror-pull
@@ -29,7 +29,7 @@ frontend:
enabled: true enabled: true
image: image:
repository: registry.odoosky.cloud/odoosky/docker-mirror/tower-ui repository: registry.odoosky.cloud/odoosky/docker-mirror/tower-ui
tag: "0.60.0" tag: "0.61.0"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
imagePullSecrets: imagePullSecrets:
- name: docker-mirror-pull - name: docker-mirror-pull