Commit Graph

15 Commits

Author SHA1 Message Date
eedc463207 docs(deployment): mark Steps 17-18 and platform domains as completed
All checks were successful
CI / ruff (push) Successful in 12s
CI / pytest (push) Successful in 37m39s
CI / validate (push) Successful in 23s
CI / dependency-scanning (push) Successful in 32s
CI / docs (push) Successful in 42s
CI / deploy (push) Successful in 51s
All three platforms live with auto-SSL (wizard.lu, omsflow.lu, rewardflow.lu).
Monitoring stack deployed with Grafana dashboards. Hetzner backups active.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:57:28 +01:00
677e5211f9 docs: update observability and deployment docs to match production stack
Some checks failed
CI / ruff (push) Successful in 12s
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / pytest (push) Has been cancelled
Update observability.md with production container table, actual init code,
and correct env var names. Update docker.md with full 10-service table and
backup/monitoring cross-references. Add explicit AAAA records to DNS tables.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:44:05 +01:00
aad18c27ab refactor: remove all backward compatibility code across 70 files
Some checks failed
CI / ruff (push) Successful in 11s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has started running
Clean up 28 backward compatibility instances identified in the codebase.
The app is not live, so all shims are replaced with the target architecture:

- Remove legacy Inventory.location column (use bin_location exclusively)
- Remove dashboard _extract_metric_value helper (use flat metrics dict)
- Remove legacy stat field duplicates (total_stores, total_imports, etc.)
- Remove 13 re-export shims and class aliases across modules
- Remove module-enabling JSON fallback (use PlatformModule junction table)
- Remove menu_to_legacy_format() conversion (return dataclasses directly)
- Remove title/description from MarketplaceProductBase schema
- Clean billing convenience method docstrings
- Clean test fixtures and backward-compat comments
- Add PlatformModule seeding to init_production.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 13:20:29 +01:00
f84c5d903e docs(deployment): add detailed tomorrow checklist for Steps 17-18 server setup
Some checks failed
CI / ruff (push) Successful in 8s
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / validate (push) Has been cancelled
CI / pytest (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 22:43:49 +01:00
ef7187b508 feat: add automated backups and Prometheus/Grafana monitoring stack (Steps 17-18)
Some checks failed
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / ruff (push) Successful in 7s
CI / validate (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has started running
Backups: pg_dump scripts with daily/weekly rotation and Cloudflare R2 offsite sync.
Monitoring: Prometheus, Grafana, node-exporter, cAdvisor in docker-compose; /metrics
endpoint activated via prometheus_client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 22:40:08 +01:00
488d5a6f0e fix(ci): resolve 3 Gitea Actions pipeline failures
Some checks failed
CI / validate (push) Failing after 19s
CI / deploy (push) Has been skipped
CI / ruff (push) Successful in 8s
CI / pytest (push) Successful in 34m16s
CI / dependency-scanning (push) Successful in 28s
CI / docs (push) Has been skipped
- Remove upload-artifact step (unsupported on Gitea GHES)
- Replace architecture+audit jobs with unified validate job running validate_all.py
- Update docs: DEPLOY_HOST must be 172.17.0.1 (Docker bridge), not 127.0.0.1
- Add ufw rule for Docker bridge network SSH access

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:39:50 +01:00
3c2b559282 fix: consolidate CMS page seed scripts and fix 3 bugs
- Fix `ContentPage.store_id is None` (Python identity check, always
  False) → use `.is_(None)` for proper SQLAlchemy NULL filtering
- Create pages for ALL platforms instead of only OMS
- Merge create_platform_pages.py into create_default_content_pages.py
  (5 overlapping pages, only platform_homepage was unique)
- Delete redundant create_platform_pages.py
- Update Makefile, install.py, and docs references

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:18:47 +01:00
62e418c473 docs(deployment): add 2026-02-14 progress and update platform domains
Some checks failed
CI / pytest (push) Successful in 34m7s
CI / dependency-scanning (push) Successful in 26s
CI / audit (push) Successful in 7s
CI / ruff (push) Successful in 9s
CI / architecture (push) Successful in 11s
CI / docs (push) Failing after 36s
CI / deploy (push) Failing after 3s
Updates hetzner-server-setup.md with:
- Wizamart → Orion rename completion
- Production DB rebuild with orion_db/orion_user
- Platform domains: wizard.lu, oms.lu, rewardflow.lu
- .dockerignore and env_file additions
- CapacitySnapshot fix
- loyaltyplus.lu → rewardflow.lu throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:07:23 +01:00
e9253fbd84 refactor: rename Wizamart to Orion across entire codebase
Replace all ~1,086 occurrences of Wizamart/wizamart/WIZAMART/WizaMart
with Orion/orion/ORION across 184 files. This includes database
identifiers, email addresses, domain references, R2 bucket names,
DNS prefixes, encryption salt, Celery app name, config defaults,
Docker configs, CI configs, documentation, seed data, and templates.

Renames homepage-wizamart.html template to homepage-orion.html.
Fixes duplicate file_pattern key in api.yaml architecture rule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:46:56 +01:00
11f1909f68 feat(cd): add continuous deployment on push to master
Some checks failed
CI / ruff (push) Successful in 8s
CI / pytest (push) Successful in 36m19s
CI / architecture (push) Successful in 11s
CI / dependency-scanning (push) Successful in 27s
CI / audit (push) Successful in 9s
CI / docs (push) Failing after 59s
CI / deploy (push) Failing after 3s
Deploy job SSHes to production after ruff/pytest/architecture pass,
running scripts/deploy.sh (stash, pull, docker rebuild, migrate, health check).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 22:42:13 +01:00
9154eec871 docs(deployment): update progress for 2026-02-13 and add next steps
Some checks failed
CI / ruff (push) Successful in 8s
CI / architecture (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / audit (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / pytest (push) Has been cancelled
Steps 16-18 outlined: continuous deployment, backups, monitoring.
Deferred multi-platform DNS/Caddy until all platforms ready.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 22:15:13 +01:00
8abcea154b docs(deployment): expand maintenance section with deploy and debug commands
Some checks failed
CI / ruff (push) Failing after 8s
CI / pytest (push) Failing after 46s
CI / architecture (push) Failing after 10s
CI / dependency-scanning (push) Successful in 28s
CI / audit (push) Successful in 9s
CI / docs (push) Has been skipped
Add one-liner deploy command, log viewing/filtering, container status
checks, and update remaining tasks list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:09:48 +01:00
f20266167d fix(lint): auto-fix ruff violations and tune lint rules
Some checks failed
CI / ruff (push) Failing after 7s
CI / pytest (push) Failing after 1s
CI / architecture (push) Failing after 9s
CI / dependency-scanning (push) Successful in 27s
CI / audit (push) Successful in 8s
CI / docs (push) Has been skipped
- Auto-fixed 4,496 lint issues (import sorting, modern syntax, etc.)
- Added ignore rules for patterns intentional in this codebase:
  E402 (late imports), E712 (SQLAlchemy filters), B904 (raise from),
  SIM108/SIM105/SIM117 (readability preferences)
- Added per-file ignores for tests and scripts
- Excluded broken scripts/rename_terminology.py (has curly quotes)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 23:10:42 +01:00
bf5bb69409 docs(deployment): update server setup guide with wizard.lu domain
Some checks failed
CI / ruff (push) Failing after 1m34s
CI / pytest (push) Failing after 1s
CI / architecture (push) Failing after 7s
CI / dependency-scanning (push) Successful in 30s
CI / audit (push) Failing after 7s
CI / docs (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:27:15 +01:00
d9060ed6ea docs(deployment): add Hetzner Cloud server setup guide
Complete step-by-step guide documenting the server setup performed on 2026-02-11:
- Server hardening (non-root user, UFW, SSH lockdown, fail2ban)
- Docker & Docker Compose installation
- Gitea self-hosted git with PostgreSQL
- Wizamart deployment (API, DB, Redis, Celery, Flower)
- Database migration and production seeding
- Troubleshooting section for issues encountered during setup
- DNS and Caddy reverse proxy instructions (TODO for next session)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:23:24 +01:00