mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
Reason: the lookup only consulted services.ldap.enabled, so even with OIDC fully disabled it would still return "sociallogin" (or "oidc_login" when LDAP was on). Nextcloud's services.yml then enables the matching OIDC plugin, which redirects to Keycloak — but the Keycloak client's redirectUris correctly excludes apps with oidc.enabled=false, so the handoff dies with "Invalid parameter: redirect_uri". Caused all 3 nextcloud variant-1 Playwright errors (`nextcloud login`, `nextcloud talk admin settings`, `biber logs into nextcloud via OIDC`). The lookup now short-circuits to "" when oidc.enabled is falsy, which makes all three plugin gates (oidc_login, sociallogin, user_oidc) compare false and 06_setup_plugin.yml's disable branch take over. Existing flavor-selection paths (oidc.enabled=true) are unchanged. Adds two regression tests covering the new short-circuit and updates the `_apps` test helper to default oidc.enabled=true so existing flavor-selection tests stay focused on the ldap/flavor axis.
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.