Files
computer-playbook/roles/svc-db-openldap/tasks/schemas/moodle.yml
kevinveenbirkenbachandClaude Opus 4.8 cddb0dc59b feat(lint): require emoji-prefixed task/step/job names + convert existing
Add tests/lint/repository/test_name_emoji_and_length.py: every Ansible task
name and GitHub Actions workflow/job/step name must start with an emoji (first
char not 0-9/A-Za-z) and be <= 80 chars.

- emit emoji names at the source: cli/build/include generator now writes
  "🔧 setup <app>" / "🚿 flush handlers after <app>" so generated
  tasks/groups/*-roles.yml satisfy the convention too
- convert existing task/step/job/workflow names to emoji-prefixed, choosing a
  task-fitting icon per action (📦 install, ✅ ensure, 🔍 probe, 🥾 bootstrap,
  🚀 deploy, 🧩 service-module load, ⬇️ checkout, 📂 include-routines, ...)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 22:45:06 +02:00

38 lines
1.7 KiB
YAML

---
# Moodle custom-attribute LDAP schema. Three attributes that have
# no equivalent in core inetOrgPerson: phonetic given/family name
# and IANA timezone name.
- name: ✅ Ensure custom LDAP schema snippet via ldapsm (moodle)
vars:
schema_name: "moodle"
attribute_defs:
- "( 1.3.6.1.4.1.99999.10 NAME 'infinitoNamePhoneticGiven' DESC 'Phonetic given name (Moodle field firstnamephonetic)' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )"
- "( 1.3.6.1.4.1.99999.11 NAME 'infinitoNamePhoneticFamily' DESC 'Phonetic family name (Moodle field lastnamephonetic)' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )"
- "( 1.3.6.1.4.1.99999.12 NAME 'infinitoTimezone' DESC 'IANA timezone name (Moodle field timezone)' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )"
objectclass_defs:
- "( 1.3.6.1.4.1.99999.13 NAME 'infinitoMoodleUser' DESC 'Auxiliary class for Moodle-only user attributes' AUXILIARY MAY ( infinitoNamePhoneticGiven $ infinitoNamePhoneticFamily
$ infinitoTimezone ) )"
command: >
ldapsm
-s {{ OPENLDAP_SERVER_URI }}
-D '{{ OPENLDAP_BIND_DN }}'
-W '{{ OPENLDAP_BIND_PW }}'
-n {{ schema_name }}
{% for at in attribute_defs %}
-a "{{ at }}"
{% endfor %}
{% for oc in objectclass_defs %}
-c "{{ oc }}"
{% endfor %}
register: ldapsm_moodle_result
changed_when: "'Created schema entry' in ldapsm_moodle_result.stdout"
check_mode: false
- name: 👁️ Show ldapsm output (moodle)
debug:
var: ldapsm_moodle_result.stdout_lines