Files
computer-playbook/docs/contributing/tools/ansible.md
T
Environment Test 212cc39052 test(external): split live registry checks
Keep live registry lookups out of the default make test flow.

Add a dedicated external suite, workflow, and docs so the check stays opt-in but still gates code CI when enabled.
2026-04-10 22:31:42 +02:00

1.7 KiB

Ansible 🎭

Use this section for Ansible-specific guidance that applies across the repository.

Common 📌

Use these shared rules as the default baseline for role values and path handling.

Paths 📂

You MUST build filesystem paths with path_join instead of concatenating path segments as strings.

Variables and Constants 🔧

These rules keep shared role values explicit, reusable, and easy to read.

  • You MUST prefer defining shared fixed role variables once in vars/main.yml as the single source of truth instead of recomputing them with lookup() or dotted variable composition in *.j2 or *.yml.
  • Variables that are defined once and treated as constants MUST be uppercase.

Role Design 🏗️

Use this section for role-structure guidance around images, files, and constants.

Container Images 🐳

Use this rule when a role needs a Docker image definition.

  • You SHOULD prefer Dockerfile over Dockerfile.j2; only use Dockerfile.j2 when build-time templating is genuinely required.

Image Versions 🏷️

Use this rule when a role pins container image versions in roles/web-*/config/main.yml.

  • You MUST keep semver-like image versions current when the upstream image publishes matching newer tags.
  • You MUST use # nocheck: docker-version directly above a version: key only for intentional exceptions that should not be flagged by the external image-version check.
  • You SHOULD prefer explicit version pinning over drifting tags when the role depends on stable, reproducible deploys.

For documentation, comments, semantics, and writing guidance, see documentation.md.

For test commands and testing standards, see testing.md.