Skip to content
Aa

Resource cleanup

Canada and Multi-Cloud Networking have separate infrastructure and Terraform states. Canada owns its application namespace, registration token, Canadian Azure resources, CE sites, application objects, and allocation selector binding. The reserved public-IP allocation remains platform-owned in its existing namespace.

BoundaryLifecycle treatment
Owned Canadian application/infrastructureIncluded in an ownership-scoped saved destroy plan
Reserved public-IP allocationRetained; only the demonstration’s binding is released
Protected local state and backupsKept outside repository and infrastructure teardown
MCN infrastructure and stateIndependently owned; outside Canada teardown
Shared Marketplace acceptanceSubscription prerequisite retained independently

The lifecycle validates the saved plan against owned scope, applies it with the exclusive deployment and state locks, then checks direct Azure/XC absence and allocation retention. A rebuild uses the exact clean merged source and independent inputs. A fresh zero-change plan and the verification observations describe the rebuilt candidate; deletion alone does not prove recovery.

Destroy mode changes owned demonstration infrastructure and collects absence/retention receipts:

Terminal window
python3 scripts/lifecycle.py --mode destroy \
--tfvars "$CANADA_PRIVATE/canada.tfvars" \
--backend-config="$CANADA_PRIVATE/backend.hcl" \
--private-root "$CANADA_PRIVATE/destroy-receipts"

--mode full combines build, destroy, direct absence and a second verified build. These modes use reviewed inputs in the authorized lab window. Documentation work does not invoke them or remove protected state/backups. Deploy the demo explains the independent backend and source identity.