1.6 KiB
1.6 KiB
name, risk_class, inputs, verification, docs_update_checklist, transition
| name | risk_class | inputs | verification | docs_update_checklist | transition | ||||
|---|---|---|---|---|---|---|---|---|---|
| lifecycle-provision-node | config_mutation |
|
grep 'state: provisioning' inventory.yaml |
|
planned -> provisioning |
Lifecycle: provision a node
Per seeds/ontology.yaml lifecycle.transitions.
Policy note: provisioning nodes get a lifecycle override —
config_mutation actions downgrade to reversible_low because nothing
depends on the node yet (see seeds/policy.yaml lifecycle_overrides).
Requires (from ontology): inventory entry, IP reserved, storage pool chosen, doc page stub.
- Create the LXC/VM on its target Proxmox host (
pct create/qm create), choosing the storage pool deliberately — record it as thestorage:field once populated (Week 1 schema; not yet backfilled for existing nodes). - Add the inventory entry: a
hosts.<name>:block inseeds/inventory.yamlwithstate: provisioning,kind,host,pve_id,lan_ip, thenoikos seedto ingest it. For anything that will self-enroll as a client afterward (see CLIENTS.md), the entity must exist inplanned/provisioningstate beforebootstrap.shruns there. - Stub a document entity via MCP
upsert_knowledgewithkind: documentand about set to the new entity slug — even a one-line "provisioning, see plan X" is enough to satisfy the transition requirement. - Reserve the IP in DNS/DHCP notes if it's a fixed LAN address.
Next: lifecycle-activate-node.md.