Merge branch 'chore/inventory-quartet' into 'main'
Inventory quartet and initial leases See merge request vaultsovereign/ops!1
This commit is contained in:
14
10-inventory/hosts/README.md
Normal file
14
10-inventory/hosts/README.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Hosts
|
||||
|
||||
Each host lives in its own directory:
|
||||
|
||||
```
|
||||
10-inventory/hosts/<role>-<scope>-<id>/
|
||||
```
|
||||
|
||||
Minimum:
|
||||
|
||||
- `README.md` (purpose + trust boundary)
|
||||
- `hardware.md` (what it is)
|
||||
- `os.md` (what it runs)
|
||||
|
||||
16
10-inventory/hosts/op-console-mac/README.md
Normal file
16
10-inventory/hosts/op-console-mac/README.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# op-console-mac
|
||||
|
||||
## Purpose
|
||||
|
||||
Console host used to run `op-core-vm`.
|
||||
|
||||
## Trust boundary
|
||||
|
||||
- The host is a console, not a source of trust.
|
||||
- Critical actions happen only inside `op-core-vm`.
|
||||
- No long-lived secrets are kept on the host if avoidable.
|
||||
|
||||
## References
|
||||
|
||||
- Doctrine: `00-doctrine/operator-charter.md`
|
||||
- Lease: `20-identity/leases/op-console-mac.md`
|
||||
10
10-inventory/hosts/op-console-mac/hardware.md
Normal file
10
10-inventory/hosts/op-console-mac/hardware.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Hardware (op-console-mac)
|
||||
|
||||
- Model:
|
||||
- Serial:
|
||||
- CPU:
|
||||
- RAM:
|
||||
- Storage:
|
||||
- Network:
|
||||
- Location:
|
||||
|
||||
12
10-inventory/hosts/op-console-mac/os.md
Normal file
12
10-inventory/hosts/op-console-mac/os.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# OS (op-console-mac)
|
||||
|
||||
- OS:
|
||||
- Version:
|
||||
- Install method:
|
||||
- Disk encryption:
|
||||
- Update policy:
|
||||
|
||||
## Notes
|
||||
|
||||
- The VM is the authority source; the host is replaceable.
|
||||
|
||||
15
10-inventory/hosts/op-witness-phone/README.md
Normal file
15
10-inventory/hosts/op-witness-phone/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# op-witness-phone
|
||||
|
||||
## Purpose
|
||||
|
||||
Witness device for verification (alerts, confirmations, second factors).
|
||||
|
||||
## Trust boundary
|
||||
|
||||
- The phone is a witness, not a workstation.
|
||||
- Prefer read-only access; no critical admin actions originate here.
|
||||
|
||||
## References
|
||||
|
||||
- Doctrine: `00-doctrine/operator-charter.md`
|
||||
- Lease: `20-identity/leases/op-witness-phone.md`
|
||||
7
10-inventory/hosts/op-witness-phone/hardware.md
Normal file
7
10-inventory/hosts/op-witness-phone/hardware.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Hardware (op-witness-phone)
|
||||
|
||||
- Model:
|
||||
- Serial/IMEI:
|
||||
- Storage:
|
||||
- Network:
|
||||
|
||||
7
10-inventory/hosts/op-witness-phone/os.md
Normal file
7
10-inventory/hosts/op-witness-phone/os.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# OS (op-witness-phone)
|
||||
|
||||
- OS:
|
||||
- Version:
|
||||
- Update policy:
|
||||
- Lock screen policy:
|
||||
|
||||
11
10-inventory/hosts/srv-local-core/README.md
Normal file
11
10-inventory/hosts/srv-local-core/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# srv-local-core
|
||||
|
||||
## Purpose
|
||||
|
||||
Local core server: stable services and state that must still be rebuildable.
|
||||
|
||||
## Authority boundary
|
||||
|
||||
- Provisioning and changes originate from `op-core-vm`.
|
||||
- Host state is treated as disposable; the source of truth lives in `ops/`.
|
||||
|
||||
10
10-inventory/hosts/srv-local-core/hardware.md
Normal file
10
10-inventory/hosts/srv-local-core/hardware.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Hardware (srv-local-core)
|
||||
|
||||
- Model:
|
||||
- Serial:
|
||||
- CPU:
|
||||
- RAM:
|
||||
- Storage:
|
||||
- Network:
|
||||
- Location:
|
||||
|
||||
8
10-inventory/hosts/srv-local-core/os.md
Normal file
8
10-inventory/hosts/srv-local-core/os.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# OS (srv-local-core)
|
||||
|
||||
- OS:
|
||||
- Version:
|
||||
- Install method:
|
||||
- Disk encryption:
|
||||
- Update policy:
|
||||
|
||||
11
10-inventory/hosts/srv-local-shield/README.md
Normal file
11
10-inventory/hosts/srv-local-shield/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# srv-local-shield
|
||||
|
||||
## Purpose
|
||||
|
||||
Local shield node: boundary services (gateway, filtering, segmentation).
|
||||
|
||||
## Authority boundary
|
||||
|
||||
- Provisioning and changes originate from `op-core-vm`.
|
||||
- Configuration is managed as code; rebuilds are expected.
|
||||
|
||||
10
10-inventory/hosts/srv-local-shield/hardware.md
Normal file
10
10-inventory/hosts/srv-local-shield/hardware.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Hardware (srv-local-shield)
|
||||
|
||||
- Model:
|
||||
- Serial:
|
||||
- CPU:
|
||||
- RAM:
|
||||
- Storage:
|
||||
- Network:
|
||||
- Location:
|
||||
|
||||
8
10-inventory/hosts/srv-local-shield/os.md
Normal file
8
10-inventory/hosts/srv-local-shield/os.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# OS (srv-local-shield)
|
||||
|
||||
- OS:
|
||||
- Version:
|
||||
- Install method:
|
||||
- Disk encryption:
|
||||
- Update policy:
|
||||
|
||||
12
20-identity/leases/README.md
Normal file
12
20-identity/leases/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Leases
|
||||
|
||||
Leases are time-bound grants of access tied to a device (or system) and a role.
|
||||
|
||||
Rules:
|
||||
|
||||
- A lease has an expiry.
|
||||
- A lease is revocable.
|
||||
- Every lease has a recorded grant and a recorded revoke/rotate event.
|
||||
|
||||
Use `20-identity/templates/lease.md` for new leases.
|
||||
|
||||
20
20-identity/leases/op-console-mac.md
Normal file
20
20-identity/leases/op-console-mac.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Lease: op-console-mac
|
||||
|
||||
## Grant
|
||||
|
||||
- Lease type: device (console)
|
||||
- Issued to role: operator
|
||||
- Issued at (UTC):
|
||||
- Expires at (UTC):
|
||||
- Revoked at (UTC):
|
||||
|
||||
## Scope
|
||||
|
||||
- Permits: physical and local access required to operate `op-core-vm`.
|
||||
- Forbids: treating the host OS as a source of trust.
|
||||
|
||||
## Rotation / revocation
|
||||
|
||||
- Revoke: remove local access, rotate any credentials that could have been exposed, and rebuild `op-core-vm` if integrity is in doubt.
|
||||
- Verify: confirm operator access is only possible from a trusted, rebuilt core.
|
||||
|
||||
20
20-identity/leases/op-witness-phone.md
Normal file
20
20-identity/leases/op-witness-phone.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Lease: op-witness-phone
|
||||
|
||||
## Grant
|
||||
|
||||
- Lease type: device (witness)
|
||||
- Issued to role: witness
|
||||
- Issued at (UTC):
|
||||
- Expires at (UTC):
|
||||
- Revoked at (UTC):
|
||||
|
||||
## Scope
|
||||
|
||||
- Permits: read-only verification and confirmations.
|
||||
- Forbids: initiating critical operational changes.
|
||||
|
||||
## Rotation / revocation
|
||||
|
||||
- Revoke: remove device access and rotate any linked factors.
|
||||
- Verify: confirm no critical role can originate from this device.
|
||||
|
||||
20
20-identity/roles/operator.md
Normal file
20
20-identity/roles/operator.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Role: operator
|
||||
|
||||
## Purpose
|
||||
|
||||
Execute critical operational actions from the core boundary.
|
||||
|
||||
## Scope
|
||||
|
||||
- Allowed: provisioning, configuration, recovery, decommission.
|
||||
- Forbidden: ad-hoc changes outside `op-core-vm`.
|
||||
|
||||
## Allowed origins
|
||||
|
||||
- `op-core-vm` only.
|
||||
|
||||
## Rotation / revocation
|
||||
|
||||
- Revoke: invalidate leases, rotate credentials, and sever device trust.
|
||||
- Prove: record the action in `70-audits/reports/`.
|
||||
|
||||
20
20-identity/roles/witness.md
Normal file
20
20-identity/roles/witness.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Role: witness
|
||||
|
||||
## Purpose
|
||||
|
||||
Observe and confirm (alerts, read-only checks, second-factor confirmations).
|
||||
|
||||
## Scope
|
||||
|
||||
- Allowed: read-only verification and confirmations.
|
||||
- Forbidden: provisioning and configuration changes.
|
||||
|
||||
## Allowed origins
|
||||
|
||||
- `op-witness-phone` only.
|
||||
|
||||
## Rotation / revocation
|
||||
|
||||
- Revoke: remove device access and rotate any linked factors.
|
||||
- Prove: record the action in `70-audits/reports/`.
|
||||
|
||||
7
20-identity/templates/README.md
Normal file
7
20-identity/templates/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Templates
|
||||
|
||||
Use these templates to keep identity material consistent:
|
||||
|
||||
- `role.md`
|
||||
- `lease.md`
|
||||
|
||||
24
20-identity/templates/lease.md
Normal file
24
20-identity/templates/lease.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Lease: <device-or-system>
|
||||
|
||||
## Grant
|
||||
|
||||
- Lease type:
|
||||
- Issued to role:
|
||||
- Issued at (UTC):
|
||||
- Expires at (UTC):
|
||||
- Revoked at (UTC):
|
||||
|
||||
## Scope
|
||||
|
||||
- What this lease permits:
|
||||
- What it explicitly forbids:
|
||||
|
||||
## Rotation / revocation
|
||||
|
||||
- Revocation procedure:
|
||||
- Post-revoke verification:
|
||||
|
||||
## Evidence
|
||||
|
||||
What you record when granting/rotating/revoking (timestamps, IDs, logs).
|
||||
|
||||
29
20-identity/templates/role.md
Normal file
29
20-identity/templates/role.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Role: <name>
|
||||
|
||||
## Purpose
|
||||
|
||||
What this role exists to do.
|
||||
|
||||
## Scope
|
||||
|
||||
- Allowed actions:
|
||||
- Forbidden actions:
|
||||
|
||||
## Allowed origins
|
||||
|
||||
Where this role is allowed to be used from (e.g., `op-core-vm`).
|
||||
|
||||
## Credentials
|
||||
|
||||
What mechanisms this role uses (keys/tokens), and where the encrypted material lives.
|
||||
|
||||
## Rotation / revocation
|
||||
|
||||
- How to revoke fast:
|
||||
- How to rotate predictably:
|
||||
- Proof you record:
|
||||
|
||||
## Notes
|
||||
|
||||
Anything future-you must remember.
|
||||
|
||||
Reference in New Issue
Block a user