Commit Graph

406 Commits

Author SHA1 Message Date
Claude
3b9d942725 tower 0.60.1 / tower-ui 0.61.1 — auto-create + auto-name S3 buckets
Tenant pastes endpoint + region + access keys. Tower auto-derives
3 bucket names from slug (<slug>-backups, -templates, -audit) and
HeadBucket+MakeBucket each at credential-save time. UI removes the
3 bucket-name inputs entirely; shows what will be created instead.

Removes the 'go to MEGA dashboard, click new bucket × 3' toil.
One credential save = three buckets ready.
2026-04-29 21:09:03 +03:00
Claude
b89c084ebd 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.
2026-04-29 20:58:26 +03:00
Claude
4922dd6e9c fix: restore backend image.repository (clobbered by chart bump again) 2026-04-29 20:37:11 +03:00
Claude
742adfff92 tower 0.59.2 — bring-your-own only: drop platform-Vault rung from CF resolver
Per docs/decisions/0001-platform-fallback-deferred.md, instance DNS
automation no longer silently falls back to v3/platform/cloudflare-token.
Tenants without a configured CF token get a clear error at instance
create instead of pretending to work via shared infrastructure.
The platform Vault entry stays seeded for future revival.
2026-04-29 20:36:46 +03:00
Claude
86b545cf40 fix: restore image.repository keys clobbered by chart bump 2026-04-29 20:02:59 +03:00
Claude
f230056e51 tower 0.59.1 / tower-ui 0.60.0 — partial settings updates + per-card Save
Backend: UpdateTenantSettingsReq → pointer fields. Each card saves
only its own keys without clobbering the other card.

Frontend:
- 'Save Domain & DNS' button inside the Domain & DNS card
- 'Save Backups target' button inside the S3 card
- Wildcard host hidden behind 'Advanced — customize wildcard host'
  disclosure. Default is shown as read-only display under Domain so
  the operator sees what URLs their instances will land at.
- Removed the global Save settings button (each card now self-saves)
2026-04-29 19:58:21 +03:00
Claude
7b62631489 tower-ui 0.59.1 — wildcard host: value-based custom detection
Replace event-based 'touched' flag with computed isCustomWildcard.
Empty wildcard or wildcard==derived → 'auto-derived', auto-fills
on domain change. Different from derived → 'custom', sticks.
Fixes the empty-after-delete trap that kept touched=true forever.
2026-04-29 19:44:38 +03:00
Claude
082feb1e58 tower 0.59.0 — Live DNS records panel + wildcard auto-derive
- new GET /api/tenants/{id}/dns/records endpoint lists A+CNAME records
  in the tenant's CF zone matching the wildcard pattern (read-only)
- TenantSettingsTab.vue: 'Live DNS records' panel with refresh button
- wildcard host auto-derives from domain (visible value, not placeholder)
- placeholder text now generic *.tenants.example.com
2026-04-29 19:33:11 +03:00
Claude
6f926cb3df tower-ui 0.58.2 — wildcard host auto-derives from domain
Placeholder text (*.tenants.acme-erp.com) was prescriptive and
indistinguishable from the saved value. Now wildcard auto-derives
from the domain field as a real value (visible, savable, editable).
'reset to default' button surfaces when user customises.
2026-04-29 18:45:16 +03:00
Claude
ea54300706 tower-ui 0.58.1 — sidebar 'Tenant' link for tenant owners
Tenant owners had no nav link to their own tenant settings page.
Adds a 'Tenant' workspace link visible to authenticated members
of any tenant. Super-admins still use /admin/tenants list (which
shows all tenants and lets them switch).
2026-04-29 18:19:48 +03:00
Claude
cfdffc9804 tower 0.58.2 — sync platform-store reload after commits
Fixes signup race: verify→/me 401 because activate ran async-reload
and lost the race with the very next /me call. Sync reload eliminates
the window. ~50ms slower per write, much cleaner.
2026-04-29 18:13:15 +03:00
Claude
6fd12d477b tower 0.58.1 — fix signup race: issue OTP without snap-reload gate 2026-04-29 18:08:42 +03:00
Claude
81841e542b tower 0.58.0 — Phase D: landing + signup + tenantless onboarding
- public POST /api/auth/signup + magic-link verify activates pending users
- POST /api/me/tenants — tenantless self-tenant creation
- /me.tenantless flag drives /welcome routing
- resolveEffectiveTenant picks user's primary tenant when JWT drifts
- new LandingView, SignupView, WelcomeView (lazy-loaded)
- LoginView simplified to magic-link only
2026-04-29 17:25:29 +03:00
Claude
2d9d7a52ed tower 0.57.10 — Phase C: per-tenant Cloudflare DNS lifecycle 2026-04-29 16:55:55 +03:00
Claude
902abb6254 tower 0.57.9 / tower-ui 0.57.11
- relax last-owner guard for super-admin in RemoveMember
- add DELETE /api/users/{id} + admin Users delete button (cascade memberships + grants)
2026-04-29 16:47:49 +03:00
pro-777
ede480f9eb tower: 0.57.7→0.57.8 / tower-ui: 0.57.9→0.57.10 (Delete tenant + capacity graceful) 2026-04-29 15:57:38 +03:00
pro-777
0877602eba tower: 0.57.6→0.57.7 / tower-ui: 0.57.8→0.57.9 (B4: Argo health badge on Server card) 2026-04-29 15:42:14 +03:00
pro-777
fe7e2cb093 tower: 0.57.5 → 0.57.6 (B3: trim bootstrap.sh + share prepareCluster) 2026-04-29 15:33:46 +03:00
pro-777
319da7d043 tower: 0.57.4 → 0.57.5 (B2: SubmitConnect orchestrates per-tenant prepare) 2026-04-29 15:24:59 +03:00
pro-777
1a53cd74be tower-ui: 0.57.7 → 0.57.8 (Tenant Settings tab) 2026-04-29 15:02:10 +03:00
pro-777
797832cd61 tower: 0.57.3 → 0.57.4 (per-tenant settings API) 2026-04-29 14:30:15 +03:00
pro-777
1834c5a944 tower: 0.57.2 → 0.57.3 (Connect trailer: IPv4 + check Tower status) 2026-04-29 14:05:44 +03:00
pro-777
1344f2638c tower: 0.57.1→0.57.2 / tower-ui: 0.57.6→0.57.7 (Disconnect cluster-loop + UX) 2026-04-29 13:45:17 +03:00
pro-777
87ab9655b0 tower-ui: 0.57.5 → 0.57.6 (api.ts authFetch fix for 401s) 2026-04-29 11:46:06 +03:00
pro-777
4709f97420 tower-ui: 0.57.4 → 0.57.5 (merge /activity + /admin/audit) 2026-04-29 11:20:28 +03:00
pro-777
ebcc715434 tower-ui: 0.57.2 → 0.57.4 (useReshape + useMfaEnrollment composables) 2026-04-29 11:14:46 +03:00
pro-777
70a6ce990d tower-ui: 0.57.0 → 0.57.2 (useInstance composable refactor) 2026-04-29 11:07:12 +03:00
4ff3315bc2 ship: tower 0.57.0 -> 0.57.1 (ServeMux pattern conflict fix)
0.57.0 had a Go ServeMux ambiguity between /api/servers/{name}/capacity and /api/servers/connect-token/{token}. Moved the new endpoints to /api/connect-tokens/* to break the wildcard collision.
2026-04-29 07:55:04 +00:00
5e5b4c464c ship: tower + tower-ui 0.56.x -> 0.57.0 (multi-auth Connect)
Adds SSH-key + token-installer auth methods to Connect Server (188d). Three-tab drawer; one-time URL primitive shared with Teardown (188e). All previous behavior preserved — password tab is the default.
2026-04-29 07:49:30 +00:00
a532004ce9 ship: tower 0.56.0 -> 0.56.1 (substrate version surfacing fix)
The original 0.56.0 backend image had a stripped-binary ldflag quirk that left the substrate endpoint reporting tower=dev. b25ffbe switches to TOWER_VERSION env (chart-injected from image tag) — this bump rolls the pod onto the new image so the env-var path takes effect.

Frontend stays at 0.56.0 — nothing changed there.
2026-04-29 07:37:45 +00:00
34c2b84081 ship: tower + tower-ui 0.55.0 -> 0.56.0
Bumps both image tags to 0.56.0 — the cumulative release of:
- argocd doAuth refactor + 4 tests
- instance lifecycle service extraction (179a/b/c) + 13 tests
- server lifecycle service (188a/b/c/e) + Disconnect + Teardown + 19 tests
- capability gates on lifecycle endpoints (197)
- tenant_filter + lockout primitive tests (180)
- tenant column + filter on Backups + Activity (172)
- Tenant Detail cockpit (173)

Backend tests 1 -> 58. Charter compliance pass.
2026-04-29 07:22:59 +00:00
OdooSky Bot
298cc07f3f Tower v3 0.55.0 — self-service profile (name, password, MFA, recovery, memberships, activity) 2026-04-28 21:37:19 +00:00
OdooSky Bot
d1c158ae88 Tower v3 0.54.1 — fleet-scale admin: tenant switcher pill + list/cards toggle + filters 2026-04-28 21:26:20 +00:00
OdooSky Bot
a8c3524b24 Tower v3 0.54.0 — admin panel: tenants, members, users 2026-04-28 21:22:44 +00:00
OdooSky Bot
b42160c391 Tower v3 0.53.2 — Phase H+ smtp2go magic-link delivery 2026-04-28 21:15:22 +00:00
OdooSky Bot
a7b345fad6 Tower v3 0.53.1 — Phase 3.H frontend MFA step 2026-04-28 21:11:08 +00:00
OdooSky Bot
6debe6f4bb Tower v3 0.53.0 — Phase 3.H: MFA TOTP + lockout + rate limit 2026-04-28 21:01:06 +00:00
OdooSky Bot
baeb250ce2 Tower v3 0.52.0 — Phase 3.G: S3 audit log + audit view 2026-04-28 20:55:49 +00:00
OdooSky Bot
2eed8944f8 Tower v3 0.51.0 — Phase 3.F: resource-level grants 2026-04-28 20:46:22 +00:00
OdooSky Bot
654997c662 Tower v3 0.50.0 — Phase 3.E: tenant overrides + matrix view 2026-04-28 20:42:35 +00:00
OdooSky Bot
c62e4644ba Tower v3 0.49.0 — Phase 3.D: useAuth + Can + v-can + route guards 2026-04-28 20:36:14 +00:00
OdooSky Bot
9a5f65561b Tower v3 0.48.1 — Phase 3.C: last-super-admin lockout protection 2026-04-28 20:31:33 +00:00
OdooSky Bot
36c185e238 Tower v3 0.48.0 — Phase 3.C: tenants + memberships + users API 2026-04-28 20:28:11 +00:00
OdooSky Bot
5b06681f8d Tower v3 0.47.0 — Phase 3.B: real Allow() + grant table + 14 unit tests 2026-04-28 19:59:15 +00:00
OdooSky Bot
e34fa4b264 Tower v3 0.46.0 — Phase 3.A: login + JWT + magic-link + /me 2026-04-28 19:50:10 +00:00
OdooSky Bot
bc9c47eb51 Tower v3 0.45.1 — review fixes (PATCH-during-build guard, Edit-button gating, drawer detail freshness) 2026-04-28 19:05:00 +00:00
OdooSky Bot
4bb8484830 Tower v3 Phase 2.12.1 — Templates polish + harden (0.45.0) 2026-04-28 18:59:38 +00:00
OdooSky Bot
c4ab92d7f2 Tower v3 Phase 2.12 — Templates feature (0.44.0) 2026-04-28 18:18:52 +00:00
439ebabf05 tower+ui 0.43.0 (Phase 2.11 hardening: addon-apply lock + usage cache + wave persistence + on-target visual + stale-fetch guard) 2026-04-28 16:51:36 +00:00
a3509812bd tower+ui 0.42.1 (audit fixes: semver-aware sort + AddonRow inspectable mode) 2026-04-28 16:42:18 +00:00