Files
computer-playbook/plugins/lookup
kevinveenbirkenbachandClaude Opus 5.5 afb82f57a1 feat(web-app-dashboard): let a role name the canonical domain its card opens
The dashboard card of every app opened its primary domain, so Matrix led to the Synapse status page and Stalwart to its admin UI. A role can now declare services.dashboard.card: <key of meta/domains.yml canonical>; docker_cards builds the card URL with lookup('canonical_url', app, key), the Apps menu reuses it, and roles_with_service('dashboard') hands the same domain to the tile e2e spec. Matrix sets card: element, Stalwart card: webmail. Without card nothing changes, and the prometheus/matomo target lists are untouched. A lint requires the key to resolve in the role's own domains.canonical.

The Matrix ansible flavor also sets Synapse's web_client_location to Element through matrix_synapse_configuration_extension_yaml, as the compose flavor already does, so matrix.<domain>/ redirects there. Merge note: feature/iam-profile-rbac defines the same extension variable inside the OIDC block; the next merge must combine both into one block (agreed with that session).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 21:01:06 +01:00
..
…
…
…
…
…
…
…
…
…
…
…
…

Custom Lookup Plugins for Infinito.Nexus

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

When to Use a Lookup Plugin

  • Load external data: Use lookups to retrieve data from files, APIs, databases, environment variables, or other external sources.
  • Context-aware data access: Lookups can access the full Ansible context, including inventory, facts, and runtime variables.
  • Generate dynamic lists: Lookups are often used to build inventories, secrets, or host lists dynamically.

Examples

# Load the contents of a file as a variable
my_secret: "{{ lookup('file', '/path/to/secret.txt') }}"

# Retrieve a list of hostnames from an external source
host_list: "{{ lookup('infinito_inventory_hosts', 'group_name') }}"

When not to Use a Lookup Plugin

  • If you only need to manipulate or transform data already available in your playbook, prefer a filter plugin instead.

Further Reading