feat(guanghu-os): stage independent Forgejo continuity
This commit is contained in:
parent
ace87cfba7
commit
e4750c57a7
10 changed files with 467 additions and 3 deletions
|
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"schema": "guanghu.jd-independent-forgejo-continuity-contract/v1",
|
||||
"contract_id": "GHOS-JD-INDEPENDENT-FORGEJO-CONTINUITY-001",
|
||||
"state": "SOURCE_AND_TEST_ONLY",
|
||||
"trigger": "JD-FD-PRIMARY native residency stops the Linux-hosted Forgejo process and makes the current BS-GZ-006 tunnel return 502.",
|
||||
"causal_route": {
|
||||
"current": "BS-GZ-006 -> SSH tunnel -> JD Linux Forgejo",
|
||||
"shadow": "BS-GZ-006 -> dedicated SSH tunnel -> BS-SG-003 independent Forgejo",
|
||||
"reason_for_bs_sg": "BS-SG-003 has 7.5 GiB memory and 52 GiB free disk, remains available during JD native residency, and already carries the protected native relay role."
|
||||
},
|
||||
"source_binding": {
|
||||
"node_id": "JD-FD-PRIMARY",
|
||||
"forgejo_version": "16.0.1",
|
||||
"binary_sha256": "7a4c568136650c10498a9d3d62c7fd630a0cf09c166293ebd78708248f6398fc",
|
||||
"repository_count": 7,
|
||||
"work_path": "/var/lib/guanghu/personas/guanghu/hlcc-v16.0.1/data"
|
||||
},
|
||||
"shadow_binding": {
|
||||
"node_id": "BS-SG-003",
|
||||
"listen": "127.0.0.1:19224",
|
||||
"publicly_reachable": false,
|
||||
"data_root": "/var/lib/guanghu-code-shadow",
|
||||
"configuration_root": "/etc/guanghu-os/forgejo-shadow"
|
||||
},
|
||||
"required_exact_readback": [
|
||||
"FORGEJO_BINARY_SHA256",
|
||||
"FORGEJO_HTTP_VERSION",
|
||||
"SQLITE_INTEGRITY_OK",
|
||||
"DATABASE_REPOSITORY_COUNT",
|
||||
"DATABASE_USER_COUNT",
|
||||
"EXACT_REPOSITORY_PATH_SET",
|
||||
"EXACT_MAIN_COMMIT_FOR_EVERY_REPOSITORY"
|
||||
],
|
||||
"migration_policy": {
|
||||
"initial_shadow_snapshot_may_be_online": true,
|
||||
"online_snapshot_is_cutover_authority": false,
|
||||
"final_cutover_requires_bounded_write_freeze": true,
|
||||
"final_cutover_requires_second_exact_sync": true,
|
||||
"source_is_deleted_after_cutover": false,
|
||||
"rollback_keeps_jd_linux_forgejo_intact": true
|
||||
},
|
||||
"acceptance_gates": {
|
||||
"verifier_source": 100,
|
||||
"isolated_verifier_test": 100,
|
||||
"bs_sg_full_forgejo_shadow_deployed": 0,
|
||||
"bs_sg_exact_source_snapshot_readback": 0,
|
||||
"bs_gz_to_bs_sg_authenticated_tunnel": 0,
|
||||
"nginx_code_route_switched": 0,
|
||||
"public_code_during_jd_native_residency": 0,
|
||||
"full_forgejo_equivalence": 0,
|
||||
"production_native_cutover": 0
|
||||
},
|
||||
"prohibited_claims": [
|
||||
"ONLINE_DUMP_IS_FINAL_CUTOVER_SNAPSHOT",
|
||||
"REPOSITORY_GIT_HEADS_ALONE_ARE_FULL_FORGEJO",
|
||||
"DATABASE_ONLY_IS_FULL_FORGEJO",
|
||||
"SHADOW_HTTP_200_IS_PUBLIC_ROUTE_SWITCH",
|
||||
"BS_GZ_EXISTING_UNRELATED_FORGEJO_IS_JD_CODE_CHANNEL",
|
||||
"SOURCE_IMPLEMENTATION_IS_DEPLOYMENT"
|
||||
]
|
||||
}
|
||||
Loading…
Reference in a new issue