Commit Graph

447 Commits

Author SHA1 Message Date
OdooSky Bot
e9056f861f tower 0.66.28: parallel filestore upload/restore (#349) 2026-05-02 20:38:49 +03:00
ship-bot
de4b6db1a8 chore: bump tower to 0.66.27 - #346 install loop resilience 2026-05-02 19:13:51 +02:00
ship-bot
41be4dce72 chore: bump tower to 0.66.26 - checkpoint + restore progress streaming 2026-05-02 17:37:49 +02:00
ship-bot
08e971b596 chore: bump tower to 0.66.25 - Promote accepts odoo-builtin entries 2026-05-02 17:00:07 +02:00
ship-bot
2463b9fc41 chore: bump tower to 0.66.24 - Step 2 installed flag + reconcile loop 2026-05-02 16:43:27 +02:00
ship-bot
53613b7533 chore: bump tower to 0.66.23 — Promote install-replay audit fixes
- partial-install visibility: error path now carries the modules
  installed before the failure, instead of silently dropping the list
- introspect log line: shows source-installed/target-installed/delta
  counts so the bell row narrates the comparison
- Authenticate calls: 15s timeout context (matches addon_lifecycle
  pattern; hung Odoo no longer pins the parent op)
- source readiness probe: 30s waitForOdooReady before introspect so
  source-down fails fast with clear message instead of cryptic auth
2026-05-02 15:58:56 +02:00
ship-bot
02097d8dd1 chore: bump tower to 0.66.22 — Promote install-delta replay (Step 1)
Promote no longer ships only code. After commit + sync it now:
- waits for target Odoo readiness
- queries source + target for installed-set across the recipe
- pre-checkpoint on target (best-effort)
- ButtonImmediate(install) on target for the delta

Op stays running until install hooks complete; complete means
prods Modules tab matches stages installed-set, not just mount layer.
2026-05-02 15:45:30 +02:00
ship-bot
c259e1a2c8 chore: bump tower to 0.66.21 — addon Dockerfile pip --break-system-packages
Odoo 19 image runs Python 3.12 (Bookworm), which enforces PEP 668.
pip install --user is blocked without --break-system-packages, so
every addon with even one external_dependencies.python entry failed
on Odoo 19. Build container is single-shot, so the lock does not
apply — the flag is the correct override here.
2026-05-02 15:15:42 +02:00
ship-bot
555a9297c8 chore: bump tower + tower-ui to 0.66.20
- Wizard: default Odoo to latest matrix entry; PG snaps to recommended
  on every Odoo change (was sticky-compatible, leaving PG 16 when
  switching to Odoo 19 even though 17 is recommended)
- export.go: pgClientImageFor(shape.PostgresVersion) — pg_dump tracks
  source instances actual PG version (17/18/whatever ships next)
2026-05-02 14:53:16 +02:00
ship-bot
08f5b12ab5 chore: bump tower to 0.66.19 — pg client images to 17-alpine (pg_dump 16 vs PG 17 server mismatch in export Job) 2026-05-02 14:48:39 +02:00
ship-bot
7c1c739555 chore: bump tower + tower-ui to 0.66.18
- ProjectsView: super-admin All-tenants mode now fans out across tenants
  (was falling back to platform tenant → empty Projects page)
- waitForJobTerminal: pod log tail spliced into job-failed errors
  (export, import, backup, restore — visibility into REAL cause)
- runSpawnEnv: register env BEFORE seed (was after) so a failed seed
  leaves a registered-but-empty env instead of a ghost instance
2026-05-02 14:22:08 +02:00
ship-bot
fea8246562 chore: bump tower-ui to 0.66.17 — unify tenant context (single source of truth across UI) 2026-05-02 14:03:11 +02:00
OdooSky Tower
e6afb17097 Bump tower to 0.66.16 — strict tenant isolation in /api/servers (#341) 2026-05-02 13:34:18 +02:00
OdooSky Tower
bb4edab194 Bump tower to 0.66.15 — DELETE /api/addons/{code} (full unpublish: tags + branch source) + ModuleDetailDrawer danger zone 2026-05-02 13:12:41 +02:00
OdooSky Tower
aee85dd453 Bump tower to 0.66.14 — fix manifest rewrite (#336) + slog visibility (#338) + addon delete button (UX) 2026-05-02 13:00:06 +02:00
OdooSky Tower
62455dbaf6 Bump tower to 0.66.13 — spawn-env confirm dialog (#333) + Promote disabled when in-sync (#334) 2026-05-02 11:58:16 +02:00
OdooSky Tower
7150de473c Bump tower to 0.66.12 — orphan project env sweep + RemoveProjectEnv writer (#321) 2026-05-02 11:47:54 +02:00
OdooSky Tower
ad2997a68c Bump tower to 0.66.11 — Domain Picker UI + smart deploy ETA + GET /api/tenants/{id}/cloudflare/zones 2026-05-02 11:40:05 +02:00
OdooSky Tower
681a572c06 Bump tower to 0.66.10 — close anonymous list-instance leak (fail-closed tenantFilter + requireAuth gates) 2026-05-02 11:30:38 +02:00
OdooSky Tower
07a178e0fc Bump tower image to 0.66.9 — CF/S3 token rotation propagates to all owned cluster Secrets (#330) 2026-05-02 11:00:12 +02:00
Tower deploy
388688bf71 feat: per-host TLS for non-wildcard instance domains — tower 0.66.8 + chart change 2026-05-02 10:11:32 +02:00
Tower deploy
0dbdcc4d59 fix: op actor can always see their own op (cross-tenant scope) — tower 0.66.7 2026-05-02 09:54:00 +02:00
Tower deploy
abbee48aad feat: addon publish is async (op + poll, no Traefik timeout) — tower 0.66.6 2026-05-02 09:34:11 +02:00
Tower deploy
98eca0184a feat: bulk Overwrite-all button in conflict wizard — tower-ui 0.66.5 2026-05-02 09:19:43 +02:00
Tower deploy
cb13cd3e33 fix: backfill handles canonical-already-exists case (delete orphan short tag) — tower 0.66.4 2026-05-02 09:16:05 +02:00
Tower deploy
80625e3123 perf: addon publish uses Gitea ChangeFiles batch (1 commit per addon, ~20x speedup) — tower 0.66.3 2026-05-02 09:10:15 +02:00
Tower deploy
20ece132a9 feat: bulk Odoo-major setter for multi-addon zips — tower-ui 0.66.2 2026-05-02 08:42:35 +02:00
Tower deploy
6376dc9357 feat: marketplace backfill admin endpoint — tower 0.66.1 2026-05-02 08:40:22 +02:00
Tower deploy
c2e39736a5 feat: addon upload wizard with operator-driven Odoo major picker + OCA-shape rewrite — tower 0.66.0 2026-05-02 08:31:08 +02:00
Tower deploy
5da802fe8d fix: catalog falls back to branch probe when version-derivation produces non-Odoo-major — tower 0.65.8 2026-05-02 08:15:11 +02:00
Tower deploy
57119556cb fix: ProjectsView uses tenant filter + super-admin fan-out — tower-ui 0.65.7 2026-05-02 08:06:33 +02:00
Tower deploy
443e69aac5 fix: Projects back in Admin sidebar for super-admin — tower-ui 0.65.6 2026-05-02 08:02:39 +02:00
Tower deploy
f0385dbc49 fix: hide tenant pill from non-super-admins — tower-ui 0.65.5 2026-05-02 07:48:41 +02:00
Tower deploy
b851071fc2 fix: spawn-env inherits source server URL + flat domain pattern — tower 0.65.4 2026-05-02 07:37:48 +02:00
Tower deploy
82424c2687 fix: spawn-env no-redirect + sticky tenant filter — tower-ui 0.65.3 2026-05-02 07:30:11 +02:00
Tower deploy
ece9a26bd7 fix: applicationExists treat 403 as missing — tower 0.65.2 2026-05-02 07:23:30 +02:00
Tower deploy
370b98e7fc fix: spawn-env stray 400 from projectEndpointAuth — bump tower 0.65.1 2026-05-02 07:19:14 +02:00
Tower deploy
57e15b25dd F-undo: tower 0.65.0 + tower-ui 0.65.0 (Instances primary + tenant pinning + spawn-env from instance card) 2026-05-02 07:11:21 +02:00
3c3f921854 ship 0.64.5 — resolve addon Odoo major from Gitea branch (fixes odoo:1.0 build error) 2026-05-02 04:48:38 +00:00
c625d9c29e ship 0.64.4 — derive Odoo major from filename when manifest version is short 2026-05-01 14:18:18 +00:00
820832a634 ship 0.64.3 — multi-addon zip + upload progress bar 2026-05-01 14:13:22 +00:00
8e0057b967 ship 0.64.2 — hide platform server from /servers (tower itself, not a deploy target) 2026-05-01 13:11:17 +00:00
dcfad63247 ship 0.64.1 — fix /instances → /projects links across views 2026-05-01 07:55:18 +00:00
89b80bca2d ship 0.64.0 — Phase F2 (Add Env buttons + sidebar reorder + Deploy Odoo CTA) 2026-05-01 07:48:37 +00:00
e8990f7f65 ship 0.63.2 — fix promotable null + bump frontend 2026-05-01 07:38:09 +00:00
183df42f1d ship 0.63.1 — Phase F1 fix: sweep reads actual env kind 2026-05-01 07:33:07 +00:00
baf04829a1 ship 0.63.0 — Phase F1 (Project as identity unit + spawn-env + sweep) 2026-05-01 07:28:52 +00:00
4d5aa41a91 ship 0.62.1 backend — pin k3s v1.34.6+k3s1 in bootstrap.sh (1.35.4 cloud-controller race) 2026-04-30 19:21:35 +00:00
6aabb11fff ship 0.62.0 — Phase E (Projects: dev/stage/prod + Promote ↑ + Refresh ↓ + Drift) 2026-04-30 18:38:47 +00:00
Claude
5f569ae2e0 tower-ui 0.61.25 — bell + activity follow the tenant filter
Backend SSE handler already accepts ?tenantId= as an additive filter
on top of canSeeOp (Phase G stays load-bearing); frontend now passes
the global tenant filter chip's value through both NotificationBell
and ActivityTab. Watcher clears + restarts the stream when the
super-admin switches tenant context. Dismissed Set is user-level
and survives the switch.
2026-04-30 18:38:59 +03:00