@msn-control/liftoff 0.9.8 → 0.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/governance/single-maintainer-gitflow/policy.md +52 -5
- package/dist/repository-governance.d.ts +1 -1
- package/dist/repository-governance.js +30 -3
- package/dist/repository-governance.js.map +1 -1
- package/docs/existing-repositories.md +2 -2
- package/docs/prerequisites.md +5 -0
- package/docs/repository-governance.md +46 -4
- package/docs/safety-and-consent.md +5 -0
- package/docs/troubleshooting.md +19 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
schemaVersion: 1
|
|
3
3
|
profile: single-maintainer-gitflow
|
|
4
|
-
policyVersion: "
|
|
4
|
+
policyVersion: "5"
|
|
5
5
|
state: handoff-generated
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -72,6 +72,7 @@ workload actually uses that component; a database default does not justify provi
|
|
|
72
72
|
| Storage redundancy | **Dev LRS · Staging ZRS · Production ZRS** |
|
|
73
73
|
| IaC state storage | **ZRS in every environment**, including bootstrap |
|
|
74
74
|
| Local bootstrap state retention | **30 days read-only after verified remote import, then securely delete.** |
|
|
75
|
+
| Azure provider registration | **Derive the minimal namespace set; when auto-registration is disabled, register every missing required provider explicitly before dependent resources.** |
|
|
75
76
|
| Database high availability | **Dev and Staging: no HA. Production: zone-redundant HA.** |
|
|
76
77
|
| Cloud identity for CI | **User-assigned managed identity with OIDC federation** per repository and environment. No app registrations, no client secrets, no long-lived credentials. |
|
|
77
78
|
| Workload scale | **Small — fewer than 1,000 users** |
|
|
@@ -115,8 +116,10 @@ Report before you change anything.
|
|
|
115
116
|
names; non-overlapping address space; Staging VNet, route, private DNS and security topology;
|
|
116
117
|
required outbound policy; current costs and service limits; and dependency-ordered teardown
|
|
117
118
|
owner. Determine whether an approved private management path can already reach the remote backend
|
|
118
|
-
and, if not, whether the private-backend cycle requires the bounded local bootstrap below.
|
|
119
|
-
|
|
119
|
+
and, if not, whether the private-backend cycle requires the bounded local bootstrap below. Derive
|
|
120
|
+
every Azure resource-provider namespace from the approved resource types, record the AzureRM
|
|
121
|
+
registration mode and subscription registration permission, and read each live registration
|
|
122
|
+
state. Any unresolved input is a blocker, not permission to begin a partial bootstrap.
|
|
120
123
|
6. What monitoring and alerting already exists — alert rules, action groups, where they route, and
|
|
121
124
|
which components have no coverage at all. Name the gaps explicitly.
|
|
122
125
|
7. Which components expose a health endpoint, and whether it is shallow (process is alive) or deep
|
|
@@ -176,6 +179,47 @@ private DNS resolution, and live Staging reachability. A standard hosted preflig
|
|
|
176
179
|
and labels before scheduling DAST; the larger-runner job proves the private target path. Missing,
|
|
177
180
|
stale, denied, skipped, or partial evidence fails closed.
|
|
178
181
|
|
|
182
|
+
**Make Azure resource providers ready before dependent provisioning.** Derive and deduplicate the
|
|
183
|
+
minimal namespace inventory from every approved bootstrap, state, network, identity, monitoring, and
|
|
184
|
+
application resource type. A hosted-runner network always requires at least `Microsoft.Network` and
|
|
185
|
+
`GitHub.Network`; include other namespaces only when approved resources use them.
|
|
186
|
+
|
|
187
|
+
Record whether AzureRM automatic provider registration is enabled and whether the execution identity
|
|
188
|
+
has the required subscription registration permission. When automatic registration is enabled and
|
|
189
|
+
sufficient for every planned namespace, do not add duplicate explicit registrations. When
|
|
190
|
+
`resource_provider_registrations = "none"` or equivalent disables it, explicitly register every
|
|
191
|
+
missing required namespace and no unrelated provider.
|
|
192
|
+
|
|
193
|
+
Provider inventory and registration form a `provider-ready` transition before `bootstrap-local`,
|
|
194
|
+
remote state, runner networking, or application resources. An already `Registered` namespace is a
|
|
195
|
+
no-op. An absent, unauthorized, `NotRegistered`, `Registering`, `Unregistering`, or failed namespace
|
|
196
|
+
blocks every dependent and billable resource. Wait for terminal `Registered` readback and order every
|
|
197
|
+
resource directly or transitively after its namespace registration. For the runner stack, all VNet,
|
|
198
|
+
subnet, private DNS, private endpoint, firewall, public IP, NAT, NSG, route, and peering resources
|
|
199
|
+
depend on `Microsoft.Network`; `GitHub.Network/networkSettings` also depends on `GitHub.Network`.
|
|
200
|
+
|
|
201
|
+
Treat successful provider registrations as retained subscription capabilities. Prevent repository
|
|
202
|
+
teardown from unregistering them: remove only repository-owned resources and record that the
|
|
203
|
+
registration may have consumers outside this change. Never infer that an empty resource group or a
|
|
204
|
+
partial apply proves provider readiness.
|
|
205
|
+
|
|
206
|
+
**Register subscription features only for intended capabilities.** A
|
|
207
|
+
`SubscriptionNotRegisteredForFeature` response is not permission to register the named feature.
|
|
208
|
+
First prove that the approved resource design intentionally uses that capability. If it does not,
|
|
209
|
+
correct the resource properties, pinned provider behavior, or API shape and regenerate the no-apply
|
|
210
|
+
plan. Do not broaden subscription features merely to make a failed apply pass.
|
|
211
|
+
|
|
212
|
+
Ordinary Firewall or NAT Standard public IPs do not require BYOIP. If one unexpectedly requests
|
|
213
|
+
`Microsoft.Network/AllowBringYourOwnPublicIpAddress` without an approved custom IP prefix, remove
|
|
214
|
+
properties that accidentally trigger BYOIP or use a reviewed supported API shape that does not
|
|
215
|
+
request BYOIP. Do not register the BYOIP feature as a workaround.
|
|
216
|
+
|
|
217
|
+
**Validate every network service tag's direction and action before apply.** `AzurePlatformDNS` is a
|
|
218
|
+
special outbound tag used only in a Deny rule to disable Azure's default platform DNS; never create an
|
|
219
|
+
Allow rule for that tag. When default Azure DNS remains enabled, no explicit NSG allow is required.
|
|
220
|
+
When approved custom resolvers replace it, allow TCP and UDP port 53 to the exact resolver addresses
|
|
221
|
+
and prove DNS reachability before dependent provisioning.
|
|
222
|
+
|
|
179
223
|
**Break a private-state bootstrap cycle without transferring state.** Prefer an existing approved
|
|
180
224
|
private management path that can reach the remote backend. If none exists and the private backend
|
|
181
225
|
cannot be reached until repository networking and its restricted execution runner exist, an explicitly
|
|
@@ -849,7 +893,9 @@ Inspect and report all of the following with evidence before changing anything:
|
|
|
849
893
|
private DNS, inbound denial, strict-domain-egress requirement, explicit
|
|
850
894
|
Firewall Basic or NAT Gateway mode, costs, limits, teardown ownership, remote
|
|
851
895
|
backend reachability, any bounded local-bootstrap need, state custody, remote
|
|
852
|
-
import evidence,
|
|
896
|
+
import evidence, the fixed 30-day deletion schedule, minimal Azure namespace
|
|
897
|
+
inventory, AzureRM registration mode, registration permission, and terminal
|
|
898
|
+
provider readiness.
|
|
853
899
|
7. Live deployment mechanisms, parallel-version support, version-specific
|
|
854
900
|
origins, traffic volume, statistically valid canary capacity, and provider
|
|
855
901
|
status sources.
|
|
@@ -880,7 +926,8 @@ Liftoff does not own, name, restore, or recreate that active change.
|
|
|
880
926
|
When the approved plan includes the runner provisioning exception, treat it as
|
|
881
927
|
a fail-closed state machine. Use an existing private state path when available;
|
|
882
928
|
otherwise progress through approved minimum `bootstrap-local`; delegated private
|
|
883
|
-
subnet and exactly one explicit egress
|
|
929
|
+
namespace inventory and `provider-ready`; subnet and exactly one explicit egress
|
|
930
|
+
mode; Azure network setting and GitHub ID;
|
|
884
931
|
organisation network configuration; selected-access group; bounded larger
|
|
885
932
|
runner; private backend proof; declarative remote import; identity, locking,
|
|
886
933
|
versioning and clean no-change verification; remote-ready state; private DNS and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GeneratedArtifact, ProjectPlan } from './types.js';
|
|
2
2
|
export declare const governancePolicySchemaVersion: 1;
|
|
3
|
-
export declare const governancePolicyVersion: '
|
|
3
|
+
export declare const governancePolicyVersion: '5';
|
|
4
4
|
export declare const governanceContextSchemaVersion: 1;
|
|
5
5
|
export declare const governanceArtifactPaths: {
|
|
6
6
|
readonly policy: readonly ['.liftoff', 'governance', 'policy.md'];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { supportedStack } from './supported-stack.js';
|
|
3
3
|
export const governancePolicySchemaVersion = 1;
|
|
4
|
-
export const governancePolicyVersion = '
|
|
4
|
+
export const governancePolicyVersion = '5';
|
|
5
5
|
export const governanceContextSchemaVersion = 1;
|
|
6
6
|
export const governanceArtifactPaths = {
|
|
7
7
|
policy: ['.liftoff', 'governance', 'policy.md'],
|
|
@@ -28,7 +28,7 @@ export function renderCanonicalGovernancePolicy() {
|
|
|
28
28
|
const requiredPolicyFragments = [
|
|
29
29
|
'schemaVersion: 1',
|
|
30
30
|
'profile: single-maintainer-gitflow',
|
|
31
|
-
'policyVersion: "
|
|
31
|
+
'policyVersion: "5"',
|
|
32
32
|
'develop` is the integration branch and the **default branch**',
|
|
33
33
|
'main` is production truth',
|
|
34
34
|
'release/X.Y.Z',
|
|
@@ -82,6 +82,26 @@ const requiredPolicyFragments = [
|
|
|
82
82
|
'Dev LRS',
|
|
83
83
|
'ZRS in every environment',
|
|
84
84
|
'30 days read-only after verified remote import',
|
|
85
|
+
'Derive the minimal namespace set',
|
|
86
|
+
'Microsoft.Network',
|
|
87
|
+
'GitHub.Network',
|
|
88
|
+
'resource_provider_registrations = "none"',
|
|
89
|
+
'missing required namespace and no unrelated provider',
|
|
90
|
+
'provider-ready',
|
|
91
|
+
'terminal `Registered` readback',
|
|
92
|
+
'directly or transitively after its namespace registration',
|
|
93
|
+
'retained subscription capabilities',
|
|
94
|
+
'teardown from unregistering them',
|
|
95
|
+
'Register subscription features only for intended capabilities',
|
|
96
|
+
'SubscriptionNotRegisteredForFeature',
|
|
97
|
+
'Do not broaden subscription features',
|
|
98
|
+
'Microsoft.Network/AllowBringYourOwnPublicIpAddress',
|
|
99
|
+
'Do not register the BYOIP feature as a workaround',
|
|
100
|
+
"Validate every network service tag's direction and action",
|
|
101
|
+
'AzurePlatformDNS',
|
|
102
|
+
'used only in a Deny rule',
|
|
103
|
+
'Allow rule for that tag',
|
|
104
|
+
'allow TCP and UDP port 53 to the exact resolver addresses',
|
|
85
105
|
'Production: zone-redundant HA',
|
|
86
106
|
'User-assigned managed identity with OIDC federation',
|
|
87
107
|
'Small — fewer than 1,000 users',
|
|
@@ -136,7 +156,14 @@ const forbiddenPolicyFragments = [
|
|
|
136
156
|
'retain local bootstrap state indefinitely',
|
|
137
157
|
'upload local bootstrap state as a GitHub artifact',
|
|
138
158
|
'delete local bootstrap state immediately after import',
|
|
139
|
-
'retained local state remains an active backend'
|
|
159
|
+
'retained local state remains an active backend',
|
|
160
|
+
'provider registration may remain pending while resources are created',
|
|
161
|
+
'register all Azure providers',
|
|
162
|
+
'unregister provider registrations during teardown',
|
|
163
|
+
'resource_provider_registrations = "none" requires no explicit registrations',
|
|
164
|
+
'register AllowBringYourOwnPublicIpAddress for every Standard public IP',
|
|
165
|
+
'Allow AzurePlatformDNS in an outbound NSG rule',
|
|
166
|
+
'register any feature named by SubscriptionNotRegisteredForFeature'
|
|
140
167
|
];
|
|
141
168
|
export function validateGovernancePolicy(policy) {
|
|
142
169
|
const missing = requiredPolicyFragments.filter((fragment) => !policy.includes(fragment));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-governance.js","sourceRoot":"","sources":["../src/repository-governance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository-governance.js","sourceRoot":"","sources":["../src/repository-governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAY,CAAC;AACpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAU,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC;IACnD,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;IAC9C,gBAAgB,EAAE;QAChB,SAAS;QACT,SAAS;QACT,yCAAyC;KAC1C;IACD,MAAM,EAAE;QACN,SAAS;QACT,UAAU;QACV,kCAAkC;KACnC;CACO,CAAC;AAEX,MAAM,cAAc,GAAG,YAAY,CACjC,IAAI,GAAG,CACL,0DAA0D,EAC1D,OAAO,IAAI,CAAC,GAAG,CAChB,EACD,MAAM,CACP,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAEnC,MAAM,UAAU,+BAA+B;IAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC;IAChC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,uBAAuB,GAAG;IAC9B,kBAAkB;IAClB,oCAAoC;IACpC,oBAAoB;IACpB,+DAA+D;IAC/D,2BAA2B;IAC3B,eAAe;IACf,cAAc;IACd,oCAAoC;IACpC,kCAAkC;IAClC,mCAAmC;IACnC,mCAAmC;IACnC,uBAAuB;IACvB,cAAc;IACd,wBAAwB;IACxB,kCAAkC;IAClC,kCAAkC;IAClC,sBAAsB;IACtB,wCAAwC;IACxC,yDAAyD;IACzD,yCAAyC;IACzC,+BAA+B;IAC/B,mDAAmD;IACnD,uBAAuB;IACvB,2EAA2E;IAC3E,0CAA0C;IAC1C,sBAAsB;IACtB,mBAAmB;IACnB,+CAA+C;IAC/C,4CAA4C;IAC5C,0CAA0C;IAC1C,8BAA8B;IAC9B,0CAA0C;IAC1C,+BAA+B;IAC/B,aAAa;IACb,6BAA6B;IAC7B,+CAA+C;IAC/C,8DAA8D;IAC9D,4BAA4B;IAC5B,4BAA4B;IAC5B,2BAA2B;IAC3B,6BAA6B;IAC7B,iBAAiB;IACjB,+CAA+C;IAC/C,qDAAqD;IACrD,mDAAmD;IACnD,8BAA8B;IAC9B,wBAAwB;IACxB,0CAA0C;IAC1C,gCAAgC;IAChC,mDAAmD;IACnD,+BAA+B;IAC/B,mDAAmD;IACnD,gCAAgC;IAChC,SAAS;IACT,0BAA0B;IAC1B,gDAAgD;IAChD,kCAAkC;IAClC,mBAAmB;IACnB,gBAAgB;IAChB,0CAA0C;IAC1C,sDAAsD;IACtD,gBAAgB;IAChB,gCAAgC;IAChC,2DAA2D;IAC3D,oCAAoC;IACpC,kCAAkC;IAClC,+DAA+D;IAC/D,qCAAqC;IACrC,sCAAsC;IACtC,oDAAoD;IACpD,mDAAmD;IACnD,2DAA2D;IAC3D,kBAAkB;IAClB,0BAA0B;IAC1B,yBAAyB;IACzB,2DAA2D;IAC3D,+BAA+B;IAC/B,qDAAqD;IACrD,gCAAgC;IAChC,2CAA2C;IAC3C,gDAAgD;IAChD,iBAAiB;IACjB,qCAAqC;IACrC,sBAAsB;IACtB,yDAAyD;IACzD,0BAA0B;IAC1B,gCAAgC;IAChC,0BAA0B;IAC1B,SAAS;IACT,OAAO;IACP,OAAO;IACP,WAAW;IACX,uBAAuB;IACvB,oEAAoE;IACpE,qCAAqC;IACrC,6BAA6B;IAC7B,gBAAgB;IAChB,mCAAmC;IACnC,YAAY;IACZ,2CAA2C;IAC3C,6BAA6B;IAC7B,qBAAqB;IACrB,cAAc;IACd,yBAAyB;IACzB,8BAA8B;IAC9B,oCAAoC;IACpC,2BAA2B;IAC3B,iBAAiB;IACjB,4BAA4B;IAC5B,0BAA0B;IAC1B,gBAAgB;IAChB,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB;IACxB,iCAAiC;IACjC,qCAAqC;IACrC,4BAA4B;IAC5B,wBAAwB;CAChB,CAAC;AAEX,MAAM,wBAAwB,GAAG;IAC/B,uCAAuC;IACvC,qDAAqD;IACrD,wCAAwC;IACxC,0CAA0C;IAC1C,kDAAkD;IAClD,6CAA6C;IAC7C,+DAA+D;IAC/D,2CAA2C;IAC3C,mDAAmD;IACnD,uDAAuD;IACvD,gDAAgD;IAChD,sEAAsE;IACtE,8BAA8B;IAC9B,mDAAmD;IACnD,6EAA6E;IAC7E,wEAAwE;IACxE,gDAAgD;IAChD,mEAAmE;CAC3D,CAAC;AAEX,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC3B,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,CAAC,CAAC,CAAC,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC1B,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,kEAAkE,SAAS,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,IACE,CAAC,mEAAmE,CAAC,IAAI,CAAC,MAAM,CAAC;QACjF,CAAC,MAAM,CAAC,QAAQ,CAAC,6EAA6E,CAAC,EAC/F,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG;IAC1B,0BAA0B;IAC1B,kCAAkC;IAClC,sDAAsD;IACtD,uBAAuB;IACvB,mDAAmD;CAC3C,CAAC;AAEX,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AASD,SAAS,WAAW,CAAC,IAA+D;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB;QACnD,CAAC,CAAC;YACE;gBACE,EAAE,EAAE,iBAAiB;gBACrB,YAAY,EAAE,CAAC,SAAS,CAAC;gBACzB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE;oBACJ,MAAM;oBACN,UAAU;oBACV,SAAS;oBACT,MAAM;oBACN,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;wBAClD,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC;wBAC1B,CAAC,CAAC,EAAE,CAAC;iBACR;aACF;YACD;gBACE,EAAE,EAAE,cAAc;gBAClB,YAAY,EAAE,CAAC,SAAS,CAAC;gBACzB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;aAC9C;SACF;QACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,cAAc;YACnC,CAAC,CAAC;gBACE;oBACE,EAAE,EAAE,iBAAiB;oBACrB,YAAY,EAAE,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC,IAAI,CAAC;iBACb;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,YAAY,EAAE,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvB;gBACD;oBACE,EAAE,EAAE,cAAc;oBAClB,YAAY,EAAE,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC,MAAM,CAAC;iBACf;aACF;YACH,CAAC,CAAC;gBACE;oBACE,EAAE,EAAE,iBAAiB;oBACrB,YAAY,EAAE,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;iBAC1B;gBACD;oBACE,EAAE,EAAE,cAAc;oBAClB,YAAY,EAAE,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;iBACxB;aACF,CAAC;IACR,OAAO;QACL,GAAG,OAAO;QACV,GAAG,CAAC,IAAI,CAAC,eAAe;YACtB,CAAC,CAAC;gBACE;oBACE,EAAE,EAAE,kBAAkB;oBACtB,YAAY,EAAE,CAAC,UAAU,CAAC;oBAC1B,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC,IAAI,CAAC;iBACb;gBACD;oBACE,EAAE,EAAE,gBAAgB;oBACpB,YAAY,EAAE,CAAC,UAAU,CAAC;oBAC1B,UAAU,EAAE,KAAK;oBACjB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;YAClD,CAAC,CAAC,CAAC;oBACC,EAAE,EAAE,sBAAsB;oBAC1B,YAAY,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;oBACxD,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE;wBACJ,KAAK;wBACL,WAAW;wBACX,eAAe;wBACf,aAAa;wBACb,GAAG;wBACH,QAAQ;wBACR,IAAI;wBACJ,QAAQ;wBACR,IAAI;qBACL;iBACF,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP;YACE,EAAE,EAAE,sBAAsB;YAC1B,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;SAClC;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,YAAY,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC;YACrD,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC;SACtC;QACD;YACE,EAAE,EAAE,qBAAqB;YACzB,YAAY,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC;YACrD,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;SACjC;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,YAAY,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC;YACrD,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,CAAC,UAAU,CAAC;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,8BAA8B;QAC7C,MAAM,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAClC,OAAO,EAAE,uBAAuB;YAChC,KAAK,EAAE,mBAAmB;YAC1B,eAAe,EAAE,YAAY;SAC9B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,QAAQ,KAAK,qBAAqB;gBACnD,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,IAAI,CAAC,eAAe;oBACpB,CAAC,CAAC,qCAAqC;oBACvC,CAAC,CAAC,mBAAmB;SAC1B;QACD,cAAc,EAAE;YACd,EAAE,EAAE,cAAc,CAAC,EAAE;YACrB,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO;YAC1C,GAAG,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO;YAC/C,SAAS,EAAE;gBACT,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;aAChC;SACF;QACD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,SAAS,EAAE;YACT,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YAC/B,GAAG,CAAC,IAAI,CAAC,YAAY;gBACnB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;gBACxC,CAAC,CAAC,EAAE,CAAC;SACR;QACD,SAAS,EAAE;YACT,gBAAgB,EAAE,cAAc;YAChC,aAAa,EAAE,cAAc;YAC7B,IAAI,EAAE,cAAc;YACpB,uBAAuB,EAAE,cAAc;YACvC,QAAQ,EAAE,cAAc;YACxB,eAAe,EAAE,cAAc;YAC/B,wBAAwB,EAAE,cAAc;YACxC,mBAAmB,EAAE,cAAc;YACnC,eAAe,EAAE,cAAc;YAC/B,yBAAyB,EAAE,cAAc;YACzC,mBAAmB,EAAE,cAAc;YACnC,mBAAmB,EAAE,cAAc;YACnC,mBAAmB,EAAE,cAAc;YACnC,cAAc,EAAE,cAAc;SAC/B;KACF,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;QAC5C,OAAO;YACL,GAAG,MAAM;YACT,cAAc,EAAE;gBACd,GAAG,MAAM,CAAC,cAAc;gBACxB,WAAW,EAAE;oBACX,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC;yBACrD,QAAQ,CAAC,YAAY,CAAC,KAAK;oBAC9B,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC;yBACpD,QAAQ,CAAC,eAAe,CAAC,IAAI;oBAChC,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC;yBAC1D,QAAQ,CAAC,eAAe,CAAC,UAAU;oBACtC,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC;yBAC5D,QAAQ,CAAC,YAAY,CAAC,uBAAuB,CAAC;iBAClD;aACF;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B;YACD,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;gBACzE,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;gBAC/E,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;aAClF;YACD,mBAAmB,EAAE;gBACnB,eAAe,EAAE,WAAW;gBAC5B,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,cAAc;gBACxB,eAAe,EAAE,cAAc;gBAC/B,wBAAwB,EAAE,cAAc;gBACxC,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,cAAc;gBAC7B,uBAAuB,EAAE,yBAAyB;aACnD;YACD,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAChE,OAAO;QACL,GAAG,MAAM;QACT,cAAc,EAAE;YACd,GAAG,MAAM,CAAC,cAAc;YACxB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB;gBACnD,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBACxC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,cAAc;oBACnC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO;oBACtC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO;YACxC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;SACnD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,CAAC,CAAC,EAAE,CAAC;SACR;QACD,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC;QAC3B,mBAAmB,EAAE;YACnB,OAAO,EAAE;gBACP,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB;YACD,QAAQ,EAAE,IAAI,CAAC,eAAe;gBAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE;gBACjD,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE;YAC7B,MAAM,EAAE,MAAM;gBACZ,CAAC,CAAC;oBACE,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;iBACtD;gBACH,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE;YAC7B,MAAM,EAAE;gBACN,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,CAAC,oBAAoB,CAAC;aAClC;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,wBAAwB;gBAC/B,SAAS,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC;aACnD;SACF;QACD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,UAAU,EAAE;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACxB,SAAS,EAAE,cAAc;YACzB,wBAAwB,EAAE,yBAAyB;YACnD,OAAO,EAAE,4CAA4C;SACtD;QACD,MAAM,EAAE;YACN;gBACE,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,2DAA2D;aACjE;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,8BAA8B,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IACE,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,2BAA2B;QACpD,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,uBAAuB;QAChD,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB;QAC1C,KAAK,CAAC,MAAM,CAAC,eAAe,KAAK,YAAY,EAC7C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAiB;IACvD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACvD,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAiB;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,KAAK,CAAC,EAAE,KAAK,gBAAgB;QAC3B,CAAC,CAAC,8EAA8E;QAChF,CAAC,CAAC,2EAA2E,CAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;;;;;;;;;;;;;;;EAeP,SAAS;;;;;;;;6CAQkC,IAAI,CAAC,YAAY,CAAC,KAAK;;;;;CAKnE,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,OAAO;;;;;;;;;;;gDAWuC,IAAI,CAAC,YAAY,CAAC,KAAK;;2CAE5B,IAAI,CAAC,YAAY,CAAC,KAAK;;;;CAIjE,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAiB;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,+BAA+B,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;IAC3D,MAAM,QAAQ,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;IAC5D,MAAM,SAAS,GAAwB;QACrC;YACE,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC;YAC9C,OAAO,EAAE,MAAM;SAChB;QACD;YACE,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC;YAC/C,OAAO,EAAE,OAAO;SACjB;QACD;YACE,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC;YAC7C,OAAO,EAAE,KAAK;SACf;QACD,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAqB,EAAE,CAAC,CAAC;YAChD,WAAW,EAAE,KAAK,CAAC,EAAE,KAAK,gBAAgB;gBACxC,CAAC,CAAC,wCAAwC;gBAC1C,CAAC,CAAC,uCAAuC;YAC3C,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;KACJ,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -98,10 +98,10 @@ Selecting `none` leaves previously managed handoff files as undeleted orphans
|
|
|
98
98
|
while unrecorded conflicts remain user-owned. No update mode runs an agent or
|
|
99
99
|
activates GitHub settings.
|
|
100
100
|
|
|
101
|
-
Projects carrying governance policy versions 2
|
|
101
|
+
Projects carrying governance policy versions 2 through 4 preview policy version 5 as
|
|
102
102
|
managed-core drift. Review the private-runner and bootstrap-state retirement
|
|
103
103
|
contracts before replacement. Updating the handoff never provisions Azure or
|
|
104
|
-
GitHub resources; reconcile any active downstream runner change with version
|
|
104
|
+
GitHub resources; reconcile any active downstream runner change with version 5
|
|
105
105
|
before applying its infrastructure.
|
|
106
106
|
|
|
107
107
|
The schema-v6 transition releases every legacy non-core artifact into project
|
package/docs/prerequisites.md
CHANGED
|
@@ -52,6 +52,11 @@ discovers an existing private management path or proposes the policy's bounded
|
|
|
52
52
|
encrypted local-state bootstrap. Liftoff itself neither creates nor transfers
|
|
53
53
|
state.
|
|
54
54
|
|
|
55
|
+
Azure governance plans also inspect the AzureRM provider-registration mode,
|
|
56
|
+
derive the minimal required namespace set, and verify subscription registration
|
|
57
|
+
permission. Disabled auto-registration is not a blocker when the approved plan
|
|
58
|
+
can register each missing namespace explicitly before dependent resources.
|
|
59
|
+
|
|
55
60
|
## Preview requirements without writes
|
|
56
61
|
|
|
57
62
|
`liftoff plan` shows both generated artifacts and workstation requirements
|
|
@@ -34,7 +34,7 @@ tools, fail-closed checks, immutable release evidence, build-once promotion,
|
|
|
34
34
|
deployment and rollback, monitoring and health, DORA metrics, ruleset
|
|
35
35
|
sequencing, negative tests, documentation, and workload adaptation.
|
|
36
36
|
|
|
37
|
-
Policy version
|
|
37
|
+
Policy version 5 also fixes platform decisions that generated projects should
|
|
38
38
|
not repeatedly ask users to make:
|
|
39
39
|
|
|
40
40
|
- Dev storage uses LRS; Staging and Production use ZRS. IaC state uses ZRS in
|
|
@@ -49,6 +49,9 @@ not repeatedly ask users to make:
|
|
|
49
49
|
alert path does not depend on private-vault connectivity.
|
|
50
50
|
- Encrypted local bootstrap state is retained read-only for 30 days after
|
|
51
51
|
verified remote import, then securely deleted with dated evidence.
|
|
52
|
+
- Azure resource-provider namespaces are derived from the approved plan. When
|
|
53
|
+
auto-registration is disabled, each missing required namespace is registered
|
|
54
|
+
explicitly before dependent resources.
|
|
52
55
|
|
|
53
56
|
These are applicable defaults, not reasons to create unused resources. A
|
|
54
57
|
managed service is included only when application code consumes it, after its
|
|
@@ -60,7 +63,7 @@ than creating a parallel stack or forcing replacement.
|
|
|
60
63
|
|
|
61
64
|
DAST for a privately networked Staging environment uses an ephemeral
|
|
62
65
|
GitHub-hosted larger runner with Azure VNet injection. Activation reuses a
|
|
63
|
-
suitable existing repository assignment. If none exists, policy version
|
|
66
|
+
suitable existing repository assignment. If none exists, policy version 5
|
|
64
67
|
permits one narrow post-approval exception to provision the Azure network
|
|
65
68
|
setting, organisation hosted-compute network configuration, selected-access
|
|
66
69
|
runner group, and bounded larger runner required by that repository.
|
|
@@ -99,6 +102,45 @@ qualification rather than leaving a required job queued or reporting success.
|
|
|
99
102
|
Teardown reverses those dependencies and removes the Azure network only after
|
|
100
103
|
GitHub scheduling, assignment, and service associations are gone.
|
|
101
104
|
|
|
105
|
+
### Azure resource-provider readiness
|
|
106
|
+
|
|
107
|
+
Phase 0 derives the minimal namespace inventory from every approved Azure
|
|
108
|
+
resource type and records AzureRM's registration mode and the execution
|
|
109
|
+
identity's subscription registration permission. A hosted-runner network always
|
|
110
|
+
requires at least `Microsoft.Network` and `GitHub.Network`; additional providers
|
|
111
|
+
are included only when approved state, identity, monitoring, or application
|
|
112
|
+
resources use them.
|
|
113
|
+
|
|
114
|
+
When AzureRM automatic registration is enabled and sufficient, no duplicate
|
|
115
|
+
explicit resources are added. When
|
|
116
|
+
`resource_provider_registrations = "none"` disables it, every missing required
|
|
117
|
+
namespace is registered explicitly. Dependent and billable resources remain
|
|
118
|
+
blocked until live subscription readback reports each namespace as
|
|
119
|
+
`Registered`.
|
|
120
|
+
|
|
121
|
+
Every explicit resource has a direct or transitive dependency on its namespace
|
|
122
|
+
registration. Existing registrations are no-ops. Pending, unauthorized,
|
|
123
|
+
unregistering, or failed states require a revised no-apply plan rather than
|
|
124
|
+
partial provisioning. Successful registrations remain subscription capabilities
|
|
125
|
+
during repository teardown and are not automatically unregistered.
|
|
126
|
+
|
|
127
|
+
Subscription features are narrower than provider namespaces. A
|
|
128
|
+
`SubscriptionNotRegisteredForFeature` error does not authorize registering the
|
|
129
|
+
named feature unless the approved resource design intentionally uses it.
|
|
130
|
+
Unexpected feature requests require correction of the resource properties,
|
|
131
|
+
provider behavior, or API shape and a revised no-apply plan.
|
|
132
|
+
|
|
133
|
+
Ordinary Firewall and NAT Standard public IPs do not require BYOIP. If such a
|
|
134
|
+
resource requests `Microsoft.Network/AllowBringYourOwnPublicIpAddress` without a
|
|
135
|
+
custom IP prefix, the plan must remove accidental BYOIP properties or use a
|
|
136
|
+
supported API shape; it must not register BYOIP merely to retry.
|
|
137
|
+
|
|
138
|
+
Network service-tag rules also require semantic validation.
|
|
139
|
+
`AzurePlatformDNS` is deny-only for intentionally disabling Azure platform DNS,
|
|
140
|
+
not a valid Allow target. Default platform DNS needs no explicit NSG allow.
|
|
141
|
+
Custom resolvers instead receive TCP and UDP port 53 allows to their exact IP
|
|
142
|
+
addresses.
|
|
143
|
+
|
|
102
144
|
### Private state bootstrap and retention
|
|
103
145
|
|
|
104
146
|
Phase 0 prefers an existing approved private execution path to the
|
|
@@ -202,10 +244,10 @@ conflict remains outside Liftoff ownership and produces `handoff-partial`.
|
|
|
202
244
|
After every conflict is removed or matches the current artifact, the next
|
|
203
245
|
update records the full artifact set as `handoff-generated`.
|
|
204
246
|
|
|
205
|
-
Projects generated with policy versions 2
|
|
247
|
+
Projects generated with policy versions 2 through 4 review the version-5 managed-core drift
|
|
206
248
|
before replacement. `liftoff update` changes only the local handoff; it never
|
|
207
249
|
provisions Azure or GitHub resources. Any active downstream runner change based
|
|
208
|
-
on an older contract must reconcile its plan and implementation with version
|
|
250
|
+
on an older contract must reconcile its plan and implementation with version 5
|
|
209
251
|
before applying cloud or organisation resources.
|
|
210
252
|
|
|
211
253
|
Setting `"governanceProfile": "none"` stops future rendering. Previously managed
|
|
@@ -29,6 +29,11 @@ single-writer. It is never transferred through GitHub artifacts or secrets,
|
|
|
29
29
|
becomes read-only after verified remote import, and is securely deleted after
|
|
30
30
|
the fixed 30-day retention period with non-sensitive evidence.
|
|
31
31
|
|
|
32
|
+
Explicit Azure resource-provider registration is limited to namespaces used by
|
|
33
|
+
the approved plan. Registration must reach `Registered` before dependent
|
|
34
|
+
resources, and repository teardown must not unregister the retained
|
|
35
|
+
subscription capability.
|
|
36
|
+
|
|
32
37
|
## CLI self-upgrade boundary
|
|
33
38
|
|
|
34
39
|
`liftoff upgrade` is itself the narrow authorization to replace a supported
|
package/docs/troubleshooting.md
CHANGED
|
@@ -205,6 +205,25 @@ imports from the private runner, verify identity parity, locking, versioning,
|
|
|
205
205
|
and a clean no-change plan, then retain the frozen local state read-only for 30
|
|
206
206
|
days before secure deletion.
|
|
207
207
|
|
|
208
|
+
If an Azure bootstrap fails with a namespace-not-registered error while
|
|
209
|
+
`resource_provider_registrations = "none"` is configured, do not retry the same
|
|
210
|
+
plan or enable broad auto-registration without review. Derive the provider set
|
|
211
|
+
from the planned resource types, add explicit missing registrations, confirm
|
|
212
|
+
subscription permission and terminal `Registered` readback, then regenerate a
|
|
213
|
+
no-apply plan. VNet-injected runner networking requires both
|
|
214
|
+
`Microsoft.Network` and `GitHub.Network`. Preserve successful registrations
|
|
215
|
+
during teardown.
|
|
216
|
+
|
|
217
|
+
If an ordinary Standard public IP requests
|
|
218
|
+
`Microsoft.Network/AllowBringYourOwnPublicIpAddress`, do not register BYOIP
|
|
219
|
+
unless the approved design actually imports a custom IP prefix. Remove
|
|
220
|
+
accidental feature-triggering properties or use a reviewed supported API shape,
|
|
221
|
+
then regenerate the no-apply plan.
|
|
222
|
+
|
|
223
|
+
Do not use `AzurePlatformDNS` in an Allow NSG rule. The special tag is deny-only
|
|
224
|
+
for disabling default platform DNS. Omit the rule when platform DNS is enabled,
|
|
225
|
+
or allow TCP and UDP 53 to exact custom resolver addresses.
|
|
226
|
+
|
|
208
227
|
Do not run an older Liftoff release to reverse a completed baseline migration.
|
|
209
228
|
Restore the affected generated files and `liftoff.manifest.json` through version
|
|
210
229
|
control, then reinstall from the restored locks.
|