WIP: BEACO-244: cover detached Coder home volumes in daily backups #287
Draft
multica-gitops
wants to merge 1 commit from
agent/gitops/540e437baad3 into main
pull from: agent/gitops/540e437baad3
merge into: infrastructure:main
infrastructure:main
infrastructure:renovate/ghcr.io-controlplaneio-fluxcd-charts-flux-operator-0.x
infrastructure:renovate/ghcr.io-controlplaneio-fluxcd-charts-flux-instance-0.x
infrastructure:renovate/actions-checkout-7.x
infrastructure:renovate/mirror.gcr.io-envoyproxy-gateway-helm-1.x
infrastructure:renovate/quay.io-jetstack-charts-cert-manager-1.x
infrastructure:renovate/quay.io-cilium-charts-cilium-1.x
infrastructure:renovate/ghcr.io-coredns-charts-coredns-1.x
infrastructure:agent/gitops/beaco-233-followup
infrastructure:agent/gitops/fe66ed081a06
infrastructure:renovate/ghcr.io-spegel-org-helm-charts-spegel-0.x
infrastructure:docs/agent-bootstrap-design
infrastructure:agent/gpt-5-6-sol-xhigh/ba6d9eecf1d4
infrastructure:feat/agent-runtime-docs
infrastructure:docs/gitops-merge-coordination
infrastructure:feat/rea-agent-lab
infrastructure:docs/agent-runtime-cli-contracts
infrastructure:feat/wanxiang-thunderbolt
infrastructure:fix/wanxiang-ms01b-network
infrastructure:fix/agent-lan-ssh
infrastructure:renovate/major-github-artifact-actions
infrastructure:fix/mac-mini-agent-access
infrastructure:agent/gitops/25296301b0f3
infrastructure:docs/strata-helper-128k-evaluation
infrastructure:fix/forgejo-tailnet-known-host
infrastructure:renovate/ghcr.io-home-operations-charts-mirror-external-dns-1.x
infrastructure:fix/qwen-thinking-effort
infrastructure:split-nix-collector-and-nix-builder
infrastructure:renovate/ghcr.io-prometheus-community-charts-kube-prometheus-stack-91.x
infrastructure:fix/darwin-runner-gc-drain
infrastructure:agent/gitops/5af13ca9
infrastructure:fix/gen10plus-nvidia-modules
infrastructure:renovate/actions-labeler-7.x
infrastructure:renovate/harvester-1.x
infrastructure:renovate/authentik-2026.x
infrastructure:renovate/mise-toolchain-dependencies
infrastructure:renovate/code.forgejo.org-forgejo-forgejo-16.x
infrastructure:renovate/ghcr.io-prometheus-community-charts-kube-prometheus-stack-83.x
infrastructure:docs/cicd-aarch64-coverage
infrastructure:renovate/aqua-kubernetes-kubernetes-kubectl-1.x
infrastructure:upgrade/cilium-1.19.8
infrastructure:renovate/ghcr.io-allenporter-flux-local-8.x
infrastructure:renovate/aqua-cue-lang-cue-0.x
infrastructure:renovate/aqua-cli-cli-2.x
infrastructure:renovate/aqua-getsops-sops-3.x
infrastructure:renovate/aqua-helmfile-helmfile-1.x
infrastructure:renovate/aqua-helm-helm-4.x
infrastructure:renovate/mshick-add-pr-comment-3.x
infrastructure:renovate/aqua-fluxcd-flux2-2.x
infrastructure:renovate/aqua-go-task-task-3.x
infrastructure:renovate/pipx-1.x
infrastructure:renovate/jdx-mise-action-4.x
infrastructure:renovate/aqua-cilium-cilium-cli-0.x
infrastructure:renovate/aqua-mikefarah-yq-4.x
infrastructure:renovate/pipx-makejinja-2.x
infrastructure:renovate/aqua-yannh-kubeconform-0.x
infrastructure:renovate/aqua-cloudflare-cloudflared-2026.x
infrastructure:renovate/actions-labeler-6.x
infrastructure:renovate/tj-actions-changed-files-47.x
infrastructure:renovate/uv-0.x
infrastructure:renovate/aqua-siderolabs-talos-1.x
infrastructure:renovate/python-3.x
infrastructure:renovate/aqua-filosottile-age-1.x
infrastructure:renovate/aqua-budimanjojo-talhelper-3.x
infrastructure:chore/rotate-multica-closer-token
infrastructure:feat/multica-issue-completion
infrastructure:docs/renovate-webhook-trigger
infrastructure:fix/policy-dependency-response
infrastructure:fix/policy-response-pairing
infrastructure:fix/policy-node-pairing
infrastructure:fix/policy-read-failures
infrastructure:feat/policy-observability
infrastructure:feat/single-use-review-capabilities
infrastructure:chore/agent-identities-and-reloader
infrastructure:feat/human-pr-approval
infrastructure:feat/multica-risk-triage
infrastructure:agent/gitops/ca87406d
infrastructure:prod
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
infrastructure/infra!287
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/gitops/540e437baad3"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
结论与修改
BEACO-244 的两卷都已命中
RecurringJob/storage/daily-backup的default组;缺口是它们处于 detached,而运行设置allow-recurring-job-while-volume-detached=false。不是 StorageClass 或卷标签漏选。defaultSettings.allowRecurringJobWhileVolumeDetached: true,让保留的停止工作区家目录继续受周期备份覆盖。wanxiang/docs/operations/database-backup.md,记录停止工作区的备份策略、集群级影响、运行值核验及新基线补备边界。system-backup-*本身也是卷数据备份;这两卷存在 2026-09-18 的旧 Completed 恢复点,不能把缺少backup-*前缀等同于完全没有卷数据备份。两卷内容恢复尚未验证。只读现场证据
2026-10-25 01:25–01:27 UTC:
pvc-b33f2fe9-07cd-4cb6-bf46-9d8af52c2ef8coder-860852a1-cc8c-420b-b5e9-c8295c6d2f32-homepvc-448b9e0e-0642-497d-9cb6-96ee2a22b164coder-beacon1096-test-nixos-home两卷均带
recurring-job-group.longhorn.io/default=enabled,没有 Pod 引用;54 个 Longhorn 卷中只有这两个 detached。集群未安装 VolumeBackupSchedule / CSI VolumeSnapshot CRD;本排期使用 Longhorn 原生备份。BackupTarget/default为 available,仅证明控制器观测。验证
kubectl kustomize wanxiang/kubernetes/apps/storage/longhorn/app通过。ConfigMap/longhorn-default-setting增加目标设置,其他渲染对象相同。git diff --check、仓库utils/check-secrets.py --staged和提交 hook 通过。Python/PyYAML 使用仓库固定的 nixpkgs 提供。上线审批、风险与验收
保持 WIP,等待两卷保留意图及本次存储策略变更的明确批准。 万象运行中的公开 Flux 来源直接跟随
infra/main;合并此 PR 会触发生产调谐,不能把合并当作纯离线集成。该开关为集群级,当前新增覆盖两卷,未来也覆盖其他已选中排期的 detached 卷。周期任务会临时 attach 卷并增加存储/异地上传负载。当前仍有
daily-backup-29879640active 及三条 InProgress Backup;上线前需重读并与 BEACO-233 的处置协调。本 PR 不授权另起整组 Job 或并发补备。获批上线后,核对设置为 true、Longhorn/Flux Ready,并逐卷确认修复后的
backup-*为 Completed,记录数据快照和备份完成时间,无消费者时确认卷回到 detached。task: backup会跳过未变化数据,且当前 Job 可能阻塞新一轮;不能承诺下一个 cron 时点即得到新记录。如需为两卷强制建立新基线,须另行审批仅针对这两卷的串行补备操作包。本轮没有新建快照、补备、挂载卷或恢复演练,未 suspend/resume Flux;issue 的生产验收尚未满足。旧恢复点只有 CR 证据,未验证这两卷的可恢复性,不以其他 coder-pg 演练替代。
回滚:通过审批的后续 PR 将该设置显式改为
false并调谐,确认运行值和无消费者卷的最终状态;不要只删 Helm value,因为 Longhorn 保留的运行设置未必随默认值恢复。已开始的上传需单独核验,不能假定回滚会取消它们;保留现有备份与快照。View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.