feat(migration): phase 5 provision the production target and validate an isolated canary
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- docker-compose, python
- Lĩnh vực
- devops, infrastructure
Hướng nghiên cứu
Read the linked implementation plan, agent execution contract, and the migration, validation, and ownership documents before starting. Then inspect .doco-cd.yml, deploy/doco/local-stack-deployer/entrypoint.sh, and traefik/docker-compose.yml, checking changes since the stated baseline. Implement and use the three required make platform-* commands from validation.md; done means the isolated production canary, evidence checks, and cutover manifest meet the listed acceptance criteria while source traffic and writes remain unchanged.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Work ID: P5-01 · Phase 5: Production migration
Parent: #652 · Documentation PR: #651
Goal and current context
The existing host continues serving while a separately provisioned Dokploy target is validated. This step must not create duplicate background workers, mutate production data or change public traffic.
Source of truth
Read the implementation plan and agent execution contract before editing. Task-specific contracts:
These are immutable planning references. After the documentation PR merges, maintain the corresponding repository paths as the current canonical contract. Do not silently override an ADR; update it and affected issue criteria together.
Prerequisites
- P4-01: #664 has merged implementation and applicable passing evidence.
Existing source entry points
Baseline commit: e80a48a8b8d7d4d9732840b618e73a2f4b58a1c3. Confirm newer dev changes before implementation; repository evidence is not proof of live state.
Implementation scope and deliverables
-
Prepare the concrete production preview from the passing rehearsal commit, confirmed budget, actual inventory and current backup. Record replacement/deletion analysis and obtain the configured production environment approval before applying.
-
Provision the fresh target, apply the validated baseline, bootstrap Dokploy and restore only approved configuration. Keep the old host/controller intact and serving.
-
Deploy canary services using synthetic or isolated restored data and test hostnames. Disable workers, cron jobs, webhooks and integrations that could send mail, ingest data, bill, mutate flags or write to live stores.
-
Verify private access, real public routing on test names, image architectures, resource headroom, backups and restart recovery. Match real release digests to the approved record.
-
Prepare the cutover manifest with concrete old/new resource and volume identifiers, DNS TTL/records, writers/queues, maintenance window, backup IDs, freeze/resume commands, stop thresholds, recovery instructions and contacts.
-
Re-check drift between inventory/rehearsal and production immediately before cutover. Material changes invalidate only the affected gate and require that gate to rerun.
Validation and acceptance
- The new target passes health/network/backup checks using the same tested release; the old host remains unchanged and authoritative.
- Canary traffic cannot reach production write paths or trigger external side effects; this is verified with tests/logs, not only an environment name.
- Production cutover manifest has no unresolved required field and references restorable backups and tested recovery.
- No public DNS or live writer has switched in this issue. Approval evidence and resource budget are attached privately where sensitive.
Required command interfaces to implement/use, as specified in validation.md; these did not exist at planning baseline:
make platform-preview ENV=production
make platform-canary ENV=production
make platform-evidence-validate ENV=production
Run the actual assertions appropriate to this scope. Missing infrastructure, credentials or a daemon means blocked/skipped evidence, not a passed gate. Existing repository lint, semantic stack-drift and relevant risk-policy checks must continue to pass for changed paths.
Completion evidence
Attach the implementation PR and tested commit, exact commands/results, environment/tier, versions/digests/architecture, meaningful positive/negative assertions, cleanup/rollback results and remaining blockers. Required acceptance must be complete and merged through repository policy before closing. Keep public evidence sanitized; never upload secret values, raw inspect/env dumps, database contents or private keys.
Rollback and safety boundary
Remove or stop only target canary services and retain diagnostic evidence. Keep live traffic and writes on the source. Do not destroy the source host, volumes or backups.
Issue creation itself does not authorize cloud spend, production mutation or destruction. Use existing execution authorization and the plan's concrete environment gates; complete preparatory work before requesting any genuinely missing final approval.
Downstream handoff
Primary technical references
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Merge trung bình
- 21 giờ 11 phút
- Pull request đã merge (30 ngày)
- 19
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của AniTrend/local-stack
-
refactor(gateway): phase 7 evaluate APISIX standalone against Kong without blocking migrationĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
AniTrend/local-stack#668 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chore(platform): phase 6 retire legacy deployment ownership and complete operations handoverĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
AniTrend/local-stack#667 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
AniTrend/local-stack#666 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
AniTrend/local-stack#664 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
AniTrend/local-stack#663 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của AniTrend/local-stack
Issue tương tự
-
app: scripts status: backlog type: documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
netbox-community/netbox-scripts#68 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
marin-community/marin#10765 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 70/100
flathub/com.unity.UnityHub#230 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Claiming namespace `lang2hong`Đang mởnamespace operations
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 63/100
EclipseFdn/open-vsx.org#14910 ·
Maintainer thường phản hồi trong vòng 1 ngày