Skip to content

feat(deploy): switch to docker compose for v2.1#2

Open
dyakovri wants to merge 2 commits into
mainfrom
claude/redirect-ci/v2.1-compose-deploy
Open

feat(deploy): switch to docker compose for v2.1#2
dyakovri wants to merge 2 commits into
mainfrom
claude/redirect-ci/v2.1-compose-deploy

Conversation

@dyakovri
Copy link
Copy Markdown
Member

@dyakovri dyakovri commented May 18, 2026

Summary

  • New deploy/compose.yaml with control-panel-service + web on the existing external web network. DB is external (DB_DSN); no db service in compose. Container names com_profcomff_{api,ui}_redirect[_test] preserved for existing reverse-proxy configs; added redirector-api/redirector-www network aliases for parity with upstream.
  • Workflow rewritten: actions/checkout@v4docker/login-action@v3 to git.dyakov.space as robot-profcomff (secrets.DYAKOVSPACE_CI_TOKEN) → docker compose pulldocker compose run --rm control-panel-service alembic upgrade headdocker compose up -d --remove-orphans. Testing job runs on push to main with dev-latest; Production runs on v* tags with latest. Both environments migrate their own DB.
  • README rewritten as a brief service overview + deploy reference. Application source is no longer open source, so upstream repo links were dropped.
  • Design spec committed under docs/superpowers/specs/.

Environment setup

GitHub Environments already populated:

  • Vars (Testing/Production): BASE_URL, OIDC_CONFIGURATION_URI, OIDC_CLIENT_ID=redirector, OIDC_ADMIN_CLAIM=groups, OIDC_ADMIN_CLAIM_VALUE=redirector-admin, ALLOWED_DOMAINS
  • Secrets: DB_DSN (pre-existing), freshly generated JWT_SECRET_KEY

Still TODO before first deploy — set per environment:

  • DYAKOVSPACE_CI_TOKEN — read-token to git.dyakov.space
  • OIDC_CLIENT_SECRET — OIDC client secret
  • (optional) OIDC_TRUSTED_TOKEN — dev bypass, leave unset in production

The legacy SECRET in Production is unused by the new compose flow and can be deleted at convenience.

Test plan

  • Set DYAKOVSPACE_CI_TOKEN and OIDC_CLIENT_SECRET in both Environments
  • Merge to main → Testing workflow runs end-to-end
  • https://to.test.profcomff.com/ opens, auth + redirect smoke test passes
  • Tag v2.1.0 → Production workflow runs end-to-end (gated by required reviewers)
  • https://to.profcomff.com/ opens, auth + redirect smoke test passes

claude and others added 2 commits May 18, 2026 19:21
Replace imperative `docker run` deploys (images from ghcr.io) with a
`docker compose` based pipeline pulling from `git.dyakov.space`:

- New `deploy/compose.yaml` with `control-panel-service` and `web`
  services on the existing external `web` network. No DB service: an
  external Postgres is reached via `DB_DSN`. Container names
  `com_profcomff_{api,ui}_redirect[_test]` are preserved for the
  existing reverse-proxy configs; `redirector-api`/`redirector-www`
  aliases are added for parity with upstream.
- Workflow now does `compose pull` → `compose run --rm
  control-panel-service alembic upgrade head` → `compose up -d` per
  environment. Testing deploys `dev-latest` on push to `main`,
  Production deploys `latest` on `v*` tags. Login uses
  `secrets.DYAKOVSPACE_CI_TOKEN` as `robot-profcomff`.
- README rewritten as a service overview + deploy reference; the
  application source is no longer open source so the old upstream
  links are dropped.
@dyakovri dyakovri requested review from MarkShidran and Temmmmmo May 18, 2026 17:00
@dyakovri dyakovri self-assigned this May 18, 2026
@dyakovri dyakovri added the new feature Новая фича или запрос на нее label May 18, 2026
@dyakovri
Copy link
Copy Markdown
Member Author

@Temmmmmo если что, я не смогу это раскатать, у меня нет ключей на сервера

@dyakovri
Copy link
Copy Markdown
Member Author

Вроде все нужное я поменял в репозитории, секреты создал и все такое. Надо только вмержить, удалить старые контейнеры и удостовериться, что поднялись новые

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature Новая фича или запрос на нее

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants