feat(infra_manifest): v0.2.0 — host∈mesh-hosts rule, broaden provider (mac/bare-metal/local)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3dc5a9b321
commit
578233c1b4
1 changed files with 7 additions and 4 deletions
|
|
@ -1,11 +1,11 @@
|
|||
apiVersion: conventions/v1
|
||||
version: 0.1.0
|
||||
version: 0.2.0
|
||||
updated: "2026-06-29"
|
||||
name: infra_manifest
|
||||
title: Per-project infra manifest (.infra.yaml)
|
||||
scope: general
|
||||
status: draft
|
||||
summary: Every deployable project declares its infrastructure in a root .infra.yaml; a future infra-apply tool renders it to the provider (DO / Terraform).
|
||||
summary: Every deployable project declares its infrastructure in a root .infra.yaml; `service.host` must be a host in net-tools mesh-hosts.json, so the infra-net reconciler can build the live picture. A future infra-apply renders the DO parts.
|
||||
appliesTo: ["@applications/*", "@projects/@cocottetech", "@projects/@magic-civilization"]
|
||||
rules:
|
||||
- id: own_db
|
||||
|
|
@ -18,6 +18,9 @@ rules:
|
|||
- id: gpu_ondemand
|
||||
level: should
|
||||
text: GPU workloads are on-demand — provision, keep warm while the queue is deep, release on idle. Never a standing GPU.
|
||||
- id: host_in_mesh
|
||||
level: must
|
||||
text: "`service.host` is a host name from net-tools mesh-hosts.json (lime, fennel, redroid, …) — the infra-net reconciler validates this and regenerates the mesh-hosts services map from all .infra.yaml."
|
||||
providesFile:
|
||||
path: .infra.yaml
|
||||
schema:
|
||||
|
|
@ -29,7 +32,7 @@ providesFile:
|
|||
properties:
|
||||
apiVersion: { type: string, const: "infra/v1", description: "Manifest contract version (independent of the convention's own version)." }
|
||||
project: { type: string }
|
||||
provider: { type: string, enum: [digitalocean] }
|
||||
provider: { type: string, enum: [digitalocean, mac, bare-metal, local], description: "Where it physically runs: digitalocean droplet, a mac (e.g. fennel), bare-metal, or local." }
|
||||
database:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
|
@ -42,7 +45,7 @@ providesFile:
|
|||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
host: { type: string }
|
||||
host: { type: string, description: "A host name from net-tools mesh-hosts.json (lime, fennel, redroid, …)." }
|
||||
runtime: { type: string }
|
||||
port: { type: integer }
|
||||
systemd_unit: { type: string }
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue