Adds the Offerings module and retargets the CI/CD pipeline to Api.SlpSoftware
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 22s
Continuous Integration / backend-build (pull_request) Successful in 5m53s
Continuous Integration / vulnerability-scan (pull_request) Successful in 5m46s
Continuous Integration / frontend-prepare (pull_request) Successful in 1m54s
Continuous Integration / backend-test (pull_request) Successful in 7m37s
Continuous Integration / frontend-build (pull_request) Successful in 2m14s
Continuous Integration / frontend-test (pull_request) Successful in 4m59s
Continuous Integration / frontend-lint (pull_request) Successful in 2m2s
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Continuous Integration / publish-test (pull_request) Successful in 7m34s
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 22s
Continuous Integration / backend-build (pull_request) Successful in 5m53s
Continuous Integration / vulnerability-scan (pull_request) Successful in 5m46s
Continuous Integration / frontend-prepare (pull_request) Successful in 1m54s
Continuous Integration / backend-test (pull_request) Successful in 7m37s
Continuous Integration / frontend-build (pull_request) Successful in 2m14s
Continuous Integration / frontend-test (pull_request) Successful in 4m59s
Continuous Integration / frontend-lint (pull_request) Successful in 2m2s
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Continuous Integration / publish-test (pull_request) Successful in 7m34s
Continuous Integration / deploy-test (pull_request) Skipped
Implements Unit 2 "Offerings" (backend module, admin CRUD UI with drag-and-drop reordering, public GET /api/v1/offerings endpoint) and executes the feature's D-15 CI/CD cutover, switching the deploy pipeline's build/publish target from SlpModularCms.Api to SlpModularCms.Api.SlpSoftware. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWyStNL2ZsjrS7FLd7xvvN
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Deployment Setup — slpsoftware-api (D-15 Cutover)
|
||||
|
||||
This feature does not own a separate deployment pipeline. Per D-7, its Operations phase **extends**
|
||||
the pipeline owned by `gitea-deployment-workflow` rather than duplicating it. Full instructions
|
||||
(host setup, systemd units, TLS, Gitea variables, database backup, rollback) remain at:
|
||||
|
||||
- `aidlc-docs/features/gitea-deployment-workflow/operations/deployment/deployment-instructions.md`
|
||||
- `aidlc-docs/features/gitea-deployment-workflow/operations/deployment/rollback-plan.md`
|
||||
|
||||
## What This Feature Changed
|
||||
|
||||
Per D-15 (cutover, not side-by-side): `SlpModularCms.Api.SlpSoftware` replaces `SlpModularCms.Api`
|
||||
as the artifact built, tested, and deployed to `test.slpsoftware.nl` / `slpsoftware.nl`.
|
||||
|
||||
| File | Change |
|
||||
|---|---|
|
||||
| `.gitea/workflows/continuous_integration.yaml` | `publish-test`/`publish-production`'s "Build admin frontend" and "Publish" steps retargeted from `src/SlpModularCms.Api` to `src/SlpModularCms.Api.SlpSoftware` (6 lines). Everything else — the six CI gates, `deploy-scp.yaml` calls, Gitea variables/secrets, `SlpModularCms.Api.Tests` (Unit 1's own regression suite, scoped to `Api` per NFR-CS-01) — is unchanged. |
|
||||
| `deploy-scp.yaml` | **No change.** It never hardcodes an entry-point `.dll` name; it uploads whatever the artifact contains and restarts a `service_name` input string. |
|
||||
| `gitea-deployment-workflow/operations/deployment/deployment-instructions.md` § 1.6 | systemd unit `ExecStart` documentation updated to `SlpModularCms.Api.SlpSoftware.dll`, with an explicit note that this is a manual, host-side edit for already-existing units — this session cannot reach the Pi to apply it. |
|
||||
| `rollback-plan.md` | **No change.** Operates on the release-directory/symlink level, not a specific `.dll` name. |
|
||||
| nginx (proxy Pi) | **No change** (D-6) — the proxy forwards to a port, not a named executable. |
|
||||
| Database, Gitea Actions variables/secrets | **No change** — same customer, same domain, same paths, same service names. |
|
||||
|
||||
## Action Required From You
|
||||
|
||||
The Pi's `slpsoftware-test.service`/`slpsoftware-production.service` unit files (created during the
|
||||
original `gitea-deployment-workflow` setup) still point at `SlpModularCms.Api.dll`. **Edit both by
|
||||
hand** on the Pi (see the updated § 1.6 above for the exact `ExecStart` line and login-shell caveat),
|
||||
then `systemctl --user daemon-reload` and restart both services — the CI pipeline deploys the new
|
||||
`SlpModularCms.Api.SlpSoftware` build correctly starting with the next run regardless, but the
|
||||
*existing* systemd unit will keep launching the old `SlpModularCms.Api.dll` from that release
|
||||
directory until you make this edit.
|
||||
|
||||
`SlpModularCms.Api` itself is not removed from the repository or decommissioned (D-8) — it remains
|
||||
the local development host, same role as `Api.Slave` today. Only its production/test deployment for
|
||||
the `slpsoftware` customer instance is retired, per this cutover.
|
||||
Reference in New Issue
Block a user