Files
computer-playbook/docs/agents/files/group_vars/applications.md
kevinveenbirkenbachandClaude Opus 5 ef5ea7cb55 refactor(roles): name the credential file meta/secrets.yml
meta/schema.yml held credential definitions and their runtime values, but the
name said 'schema' and read like structural metadata next to services.yml and
volumes.yml. Nothing in the file is a schema in the sense the other meta files
use the word, and a contributor had to open it to learn it holds secrets.

62 role files renamed. ROLE_FILE_META_SCHEMA becomes ROLE_FILE_META_SECRETS and
keeps its role as the SPOT the path is built from.

Two readers bypassed that constant and spelled the name themselves:
utils/cache/applications.py built meta_dir / 'schema.yml' twice, and
plugins/lookup/application_gid.py carries the filename in the marker list it
detects application roles by. Left behind, the rename would not have raised —
credentials would have resolved empty and the role would have stopped counting
as an application.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 12:08:06 +02:00

1.4 KiB

applications lookup

This page describes how agents handle application defaults after the removal of group_vars/all/05_applications.yml.

Rules

  • Application defaults are discovered directly from each role's per-topic meta files: roles/*/meta/services.yml, roles/*/meta/server.yml, roles/*/meta/rbac.yml, roles/*/meta/volumes.yml, plus roles/*/meta/secrets.yml (post-apply_schema()). Variants in roles/*/meta/variants.yml deep-merge over the assembled per-role payload. See layout.md.
  • Agents MUST edit role-local meta sources, not recreate repository-wide generated application dictionaries.
  • Runtime consumers MUST access merged application data via lookup('applications') or a wrapper built on top of it.
  • Inventory overrides still belong in the normal applications variable path under inventories, group vars, host vars, or role vars.

Source Of Truth

Why

The repository no longer maintains a generated 05_applications.yml artifact. Keeping defaults close to the owning role reduces duplication and avoids stale generated state.