Files
computer-playbook/plugins/filter
kevinveenbirkenbachandClaude Opus 4.7 c8bd32c056 fix(svc-db-postgres): hoist resource vars to group_vars/all so app-only matrix-deploys resolve them
A set_fact run_once: true at role scope in svc-db-postgres/tasks/01_core.yml
did not survive the matrix-deploy round split: rounds whose include set did
not contain svc-db-postgres failed at template-render time with
'POSTGRES_ALLOWED_AVG_CONNECTIONS' is undefined.

- Hoist POSTGRES_VCPUS, POSTGRES_TOTAL_RAM_MB, POSTGRES_MAX_CONNECTIONS,
  POSTGRES_ALLOWED_AVG_CONNECTIONS, POSTGRES_SUPERUSER_RESERVED_CONNECTIONS,
  POSTGRES_SHARED_BUFFERS*, POSTGRES_WORK_MEM*, POSTGRES_MAINTENANCE_WORK_MEM*,
  POSTGRES_DELAY to group_vars/all/17_resource.yml (lazy Jinja evaluation
  per round).
- Drop the set_fact from tasks/01_core.yml; the value is now derived
  globally on every play.
- Relocate the split_postgres_connections filter plugin from
  roles/svc-db-postgres/filter_plugins/ to plugins/filter/ so it is always
  loaded via the global filter_plugins = ./plugins/filter declaration in
  ansible.cfg.
- Move the matching unit test from
  tests/unit/roles/svc-db-postgres/filter_plugins/ to
  tests/unit/plugins/filter/ to mirror the plugin's new location.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 04:25:06 +02:00
..
…

Custom Filter Plugins for Infinito.Nexus

This directory contains custom Ansible filter plugins used within the Infinito.Nexus project.

When to Use a Filter Plugin

  • Transform values: Use filters to transform, extract, reformat, or compute values from existing variables or facts.
  • Inline data manipulation: Filters are designed for inline use in Jinja2 expressions (in templates, tasks, vars, etc.).
  • No external lookups: Filters only operate on data you explicitly pass to them and cannot access external files, the Ansible inventory, or runtime context.

Examples

{{ role_name | get_entity_name }}
{{ my_list | unique }}
{{ user_email | regex_replace('^(.+)@.*$', '\\1') }}

When not to Use a Filter Plugin

  • If you need to load data from an external source (e.g., file, environment, API), use a lookup plugin instead.
  • If your logic requires access to inventory, facts, or host-level information that is not passed as a parameter.

Further Reading