Files
acdl/schemas/tagging-standard.json
T
Jon Chery d5bae868a4 feat(P2): Nova rebrand — code/env-vars/consumer-path (REQ-158/159/160)
core/env.py dual-read helper (D-108); 21 ACDL_*→NOVA_* env vars migrated
across core/scripts/adapters/tests/workflows + .env/.env.secrets (key
rename, values stay). G-106 binding: run_platform.sh:288-289 +
regression_verify.py:309-312 dual-read (NOVA first, ACDL fallback).
G-108 binding: Gitea NOVA_* secrets created via API + workflow secrets:
refs updated (deploy.yml + modules-lifecycle.yml, .gitea + .github).
acdl_tagging.py→nova_tagging.py (D-109 warn mode, nova:* enforced).
.acdl/→.nova/ consumer path (resolver + deploy workflow + schema +
tests + docs). Test fixtures updated; pytest + run_ci.sh PASS.

---ci---
project: acdl
phase: 2
milestone: v1.15
status: execute
---/ci---
2026-07-30 01:25:24 +00:00

46 lines
1.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://nova.dev/schemas/tagging-standard.json",
"title": "Nova Tagging Standard",
"description": "Required tags for all taggable AWS resources created by the platform. Enforced by a Checkov custom Python rule (adapters/terraform/policy/custom_rules/nova_tagging.py, D-109 warn mode in P2 — legacy acdl:* tag-key values are left for P3). The checkov adapter maps NOVA_TAG_NAMING as a real rule (D-054, D-043 closure; renamed from ACDL_TAG_NAMING in P2, REQ-158).",
"type": "object",
"properties": {
"required_tags": {
"type": "object",
"description": "The set of tags that must be present on every taggable AWS resource.",
"properties": {
"acdl:owner": {
"type": "string",
"description": "The consumer repository name (e.g. 'consumer-repo'). Injected from the ABAC session."
},
"acdl:contract": {
"type": "string",
"description": "The contract ID (UUID)."
},
"acdl:environment": {
"type": "string",
"enum": ["dev", "qa", "prod", "dr"],
"description": "The environment name."
},
"acdl:cost-center": {
"type": "string",
"description": "The cost center (consumer-provided or platform-default 'acdl-default')."
}
},
"required": ["acdl:owner", "acdl:contract", "acdl:environment", "acdl:cost-center"],
"additionalProperties": false
},
"default_values": {
"type": "object",
"description": "Default values used when the consumer does not supply the tag.",
"properties": {
"acdl:cost-center": {
"type": "string",
"default": "acdl-default"
}
}
}
},
"required": ["required_tags"],
"additionalProperties": false
}