feat: rename service to galo, add halo branding and release build
- rename Go module, binary, systemd unit, PG_DATABASE default, frontend package and docs from shared-album to galo - add theme-aware halo emblem and favicon (new ui-branding capability) - add make build-release (versioned, stripped, static binary) and run the binary from the repo root
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Proposal
|
||||
|
||||
## Why
|
||||
|
||||
The product is named **galo** — the UI already shows "Galo" and the frontend persists state under `galo.*` keys — yet internal identifiers, build artifacts, the deploy unit, and the docs still carry the old working name `shared-album`. This mismatch confuses operators and readers, and the stale metadata default `shared_album` in `config.go` diverges from the actual deployment, whose `.env` already sets `PG_DATABASE=galo`.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Rename the Go module `shared-album` -> `galo` and update every internal import path (`shared-album/internal/...`, `assets "shared-album"`) across the backend (~63 files).
|
||||
- Rename the built binary `bin/shared-album` -> `bin/galo` in the Makefile.
|
||||
- Rename the systemd unit `deploy/shared-album.service` -> `deploy/galo.service` and its install path `/opt/shared-album` -> `/opt/galo`.
|
||||
- Change the metadata-layer DB name default `shared_album` -> `galo` in `config.go` and `.env.example`, aligning the default with the real deployment.
|
||||
- Rename the nginx upstream `shared_album` -> `galo`.
|
||||
- Rename the frontend package `shared-album-frontend` -> `galo-frontend` (package.json + regenerated lock).
|
||||
- **BREAKING** (operational): the deploy unit name and install path change, so an existing server needs the unit re-installed and the path re-created.
|
||||
- Update docs (`project.md`, including the §18 prompt log, and `README.md`) to the new name.
|
||||
- Leave immutable history untouched: the archived change `openspec/changes/archive/2026-10-10-shared-album` keeps its name.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
<!-- None: this is a pure identifier/refactor rename with no new behavior. -->
|
||||
|
||||
### Modified Capabilities
|
||||
<!-- None: no spec-level behavior changes. The change's .openspec.yaml must set skip_specs: true. -->
|
||||
|
||||
## Impact
|
||||
|
||||
- **Backend:** `backend/go.mod` module path + all `shared-album/internal/...` imports (~63 Go files); `internal/config/config.go` DB default.
|
||||
- **Build/deploy:** `Makefile`, `deploy/shared-album.service` (renamed), `deploy/nginx-sse.conf`, `.env.example`.
|
||||
- **Frontend:** `frontend/package.json` + `package-lock.json` (name only).
|
||||
- **Docs:** `project.md`, `README.md`.
|
||||
- **Behavior:** none at the API level; the only runtime-visible change is the default `PG_DATABASE` (affects fresh installs that omit the variable — the current `.env` already uses `galo`). Operational change: systemd unit/path rename.
|
||||
Reference in New Issue
Block a user