- set ownership and permissions on Pixelfed .env for www-data (uid/gid 33)
- mount managed env file path instead of local ./env
- remove forced APP_KEY generation flag and quote MAIL_FROM_NAME
- prevent premature handler flush during stack load
https://chatgpt.com/share/697a4a0e-8ebc-800f-85f8-e8e21c23fe9c
Rename docker_git_repository_branch to docker_git_repository_version
to correctly reflect git refs (branch, tag, commit) and pin
universal-logout to v1.1.0 for reproducible deployments.
https://chatgpt.com/share/697a2741-bc3c-800f-9713-1b43d353e962
- Generate firstname and lastname fields in CLI user setup
- Add meaningful default description including primary domain
- Pass firstname/lastname explicitly to OpenLDAP givenName/sn
- Remove LDAP-side fallbacks to item.key to ensure consistent user data
https://chatgpt.com/share/6978d573-a8c4-800f-8670-c9344f594a3a
- move realm import toggle from actions.import_realm to docker.services.keycloak.realm.import_enabled
- add docker.services.keycloak.realm.totp_enabled flag
- conditionally include CONFIGURE_TOTP for users and realm required actions
- prepare realm import for optional OTP enforcement
https://chatgpt.com/share/6978cf00-196c-800f-abd6-5d0a11f7fcf8
- Replace users.*.full_name with firstname/lastname across inventory and roles
- Update desk-git configuration to use firstname + lastname for author identity
- Refactor OpenLDAP user provisioning:
- Stop setting userPassword via ldap_entry
- Always set passwords via ldap_passwd (server-side SSHA hashing)
- Add givenName support and align attributes with inetOrgPerson
- Improve administrator user metadata and descriptions
https://chatgpt.com/share/6978cebb-3c9c-800f-ac1b-d67920a9cb23
Snipe-IT expects LDAP attribute keys in lowercase when mapping user fields.
Previously, the FIRSTNAME attribute was passed through unchanged (e.g. givenName),
causing LDAP sync to fail with "The first name field is required" despite the
attribute being present in LDAP.
This change introduces a dedicated variable and normalizes the firstname
attribute to lowercase, aligning Ansible configuration with Snipe-IT's LDAP
import behavior without modifying filters or LDAP data.
https://chatgpt.com/share/6978caca-9170-800f-b227-037c2f4bbf1d
- Make ldap_auth_filter_query explicitly configurable instead of hardcoded
- Pass LDAP auth filter via Ansible to Snipe-IT settings model
- Use minimal LDAP filter fragment for correct Snipe-IT query composition
- Fail fast if LDAP_AUTH_FILTER_QUERY is missing
- Align LDAP configuration with actual UI persistence behavior
https://chatgpt.com/share/6978a387-bd50-800f-b804-e1115a9434cb
- Normalize LDAP user filter to a canonical, valid LDAP form
- Keep LOGIN filter composition consistent across consumers
- Strip outer parentheses for Snipe-IT to avoid UI validation errors
- Align Nextcloud user directory condition handling
- Improve variable formatting and clarity in Snipe-IT role
https://chatgpt.com/share/6977bc80-cd10-800f-b51f-00768d8c8e3e
- Always attempt DB purge by stack name
- Try both PostgreSQL and MariaDB backends
- Support DROP or TRUNCATE via --wipe-data-only
- Keep compose/volume cleanup best-effort and safe
- Improve robustness for orphaned databases
https://chatgpt.com/share/6977a100-0e00-800f-8bb0-320b00e94c7e
Ensure dotenv_quote escapes `$` as `$$` so secrets are not
expanded by docker compose when rendered into .env files.
Add unit tests covering $, quotes, backslashes, unicode and
edge cases to prevent regressions.
https://chatgpt.com/share/6977825f-d8f8-800f-bafb-aae3b3704945
- Isolate each stack purge in a subshell to prevent early termination
- Detach all docker/docker-compose calls from STDIN to avoid TTY issues inside containers
- Harden MariaDB drop/truncate logic against nested docker exec behavior
- Allow cleanup.sh to accept multiple APP values (whitespace or comma-separated)
- Deduplicate derived entities before purging and iterate deterministically
https://chatgpt.com/share/69774b3d-611c-800f-8cf0-422d11d50c1c
- Extract LDAP configuration logic into reusable ldap.sh script
- Pass all LDAP and auth parameters via environment for clarity and safety
- Ensure idempotent wait for settings table before applying LDAP config
- Encrypt and persist LDAP bind password via Laravel Crypt API
- Clear Laravel config and application cache after LDAP changes
- Replace deprecated docker-compose calls with docker compose
- Simplify Ansible LDAP task to a single script invocation
https://chatgpt.com/share/6977420f-d514-800f-b408-a91ed4b47f83
- Add --wipe-data-only flag to truncate DB tables instead of dropping databases
- Implement best-effort Postgres TRUNCATE for all public tables (CASCADE)
- Implement best-effort MariaDB TRUNCATE with FOREIGN_KEY_CHECKS handling
- Keep compose down -v and stack/volumes cleanup behavior unchanged
- Improve env parsing/readability and harden DB backend detection
https://chatgpt.com/share/6976642a-d6f8-800f-976d-7e27a5b45276