cb02c69e0c
---ci--- project: acdl phase: 35 milestone: v1.8 status: execute ---/ci--- - modules/STANDARDS.md: comprehensive L1+L2 authoring + code review standards (9 sections: L1 standards, L2 standards, encryption by default, deletion protection by default, registry, README standards, adapter extension pattern, code review checklist). - modules/README.md: catalog index fixed — rds, kms-key, uptime added to the Primitives table. - modules/README-TEMPLATE.md: NFRs section added between Outputs and Usage. - tests/test_module_standards.py: automated enforcement test (12 tests) validating required files, NFRs, registration, README sections. Tests: +12 (332 -> 344). All pass.
62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
# <module-name> — <plain-language description>
|
|
|
|
> **Module kind:** primitive | **Version:** 1.0.0
|
|
|
|
## Overview
|
|
|
|
One or two sentences describing what this module provisions, in plain
|
|
language. No jargon. A reader should know after this paragraph whether
|
|
this module is what they need.
|
|
|
|
## Resources
|
|
|
|
Terraform resources this module creates:
|
|
|
|
| Resource | Type | Purpose |
|
|
|----------|------|---------|
|
|
| `<name>` | `aws_<type>` | what it does |
|
|
|
|
## Inputs
|
|
|
|
| Name | Type | Required | Default | Description |
|
|
|------|------|----------|---------|-------------|
|
|
| `<name>` | string | yes | — | description |
|
|
|
|
## Outputs
|
|
|
|
| Name | Type | Description |
|
|
|------|------|-------------|
|
|
| `<name>` | string | description |
|
|
|
|
## NFRs
|
|
|
|
Non-functional requirements declared by the module's interface. Every
|
|
L1 primitive MUST declare `deletion_protection` and `encryption_enabled`
|
|
(both boolean, default `true`); they are mandatory NFRs for every L1.
|
|
|
|
| Name | Type | Default | Description |
|
|
|------|------|---------|-------------|
|
|
| `deletion_protection` | boolean | true | Prevent resource destruction via Terraform lifecycle prevent_destroy. |
|
|
| `encryption_enabled` | boolean | true | Enable encryption (at rest or in transit, as applicable). |
|
|
| `<name>` | <type> | <default> | description |
|
|
|
|
## Usage
|
|
|
|
```
|
|
# A concrete snippet showing how to reference this module or what a
|
|
# consumer writes to use it.
|
|
```
|
|
|
|
## Compliance extension points
|
|
|
|
Resources this module could be extended with for the future compliance
|
|
milestone (GDPR, SOX, SOC2, HIPAA, DORA). Not implemented yet — listed
|
|
so the redesign can plan for them.
|
|
|
|
- **<area>** — <what could be added, e.g. KMS key for encryption>
|
|
|
|
## Versioning
|
|
|
|
`1.0.0` — interface MAJOR, behavior MINOR, lifecycle PATCH. MAJOR
|
|
bumps require a new registry entry (immutable publication); old entries
|
|
enter a 12-month deprecation window. |