feat(phpldapadmin): add ansible role
This commit is contained in:
		
							
								
								
									
										3
									
								
								roles/phpldapadmin/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/phpldapadmin/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
# `finallycoffee.services.phpldapadmin`
 | 
			
		||||
 | 
			
		||||
Role to deploy and configure [phpldapadmin](https://github.com/leenooks/phpLDAPadmin).
 | 
			
		||||
							
								
								
									
										39
									
								
								roles/phpldapadmin/defaults/main/container.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								roles/phpldapadmin/defaults/main/container.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
---
 | 
			
		||||
phpldapadmin_container_name: phpldapadmin
 | 
			
		||||
phpldapadmin_container_image_registry: docker.io
 | 
			
		||||
phpldapadmin_container_image_namespace: phpldapadmin
 | 
			
		||||
phpldapadmin_container_image_name: phpldapadmin
 | 
			
		||||
phpldapadmin_container_image_repository: >-2
 | 
			
		||||
  {{
 | 
			
		||||
    [
 | 
			
		||||
      phpldapadmin_container_image_registry | default([], true),
 | 
			
		||||
      phpldapadmin_container_image_namespace | default([], true),
 | 
			
		||||
      phpldapadmin_container_image_name
 | 
			
		||||
    ] | flatten | join('/')
 | 
			
		||||
  }}
 | 
			
		||||
phpldapadmin_container_image: >-2
 | 
			
		||||
  {{
 | 
			
		||||
    [
 | 
			
		||||
      phpldapadmin_container_image_repository,
 | 
			
		||||
      phpldapadmin_container_image_tag | default(phpldapadmin_version, true)
 | 
			
		||||
    ] | join(':')
 | 
			
		||||
  }}
 | 
			
		||||
phpldapadmin_container_image_tag: ~
 | 
			
		||||
phpldapadmin_container_image_source: pull
 | 
			
		||||
phpldapadmin_container_image_force_source: >-2
 | 
			
		||||
  {{ phpldapadmin_container_image_tag | default(false, true) }}
 | 
			
		||||
phpldapadmin_container_env: ~
 | 
			
		||||
phpldapadmin_container_user: ~
 | 
			
		||||
phpldapadmin_container_ports: ~
 | 
			
		||||
phpldapadmin_container_labels: ~
 | 
			
		||||
phpldapadmin_container_volumes: ~
 | 
			
		||||
phpldapadmin_container_networks: ~
 | 
			
		||||
phpldapadmin_container_network_mode: ~
 | 
			
		||||
phpldapadmin_container_dns_servers: ~
 | 
			
		||||
phpldapadmin_container_etc_hosts: ~
 | 
			
		||||
phpldapadmin_container_memory: ~
 | 
			
		||||
phpldapadmin_container_memory_swap: ~
 | 
			
		||||
phpldapadmin_container_memory_reservation: ~
 | 
			
		||||
phpldapadmin_container_restart_policy: "on-failure"
 | 
			
		||||
phpldapadmin_container_state: >-2
 | 
			
		||||
  {{ (phpldapadmin_state == 'present') | ternary('started', 'absent') }}
 | 
			
		||||
							
								
								
									
										5
									
								
								roles/phpldapadmin/defaults/main/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								roles/phpldapadmin/defaults/main/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
phpldapadmin_version: "2.1.2"
 | 
			
		||||
 | 
			
		||||
phpldapadmin_state: present
 | 
			
		||||
phpldapadmin_deployment_method: docker
 | 
			
		||||
							
								
								
									
										27
									
								
								roles/phpldapadmin/tasks/deploy-docker.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								roles/phpldapadmin/tasks/deploy-docker.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Ensure phpldapadmin container image '{{ phpldapadmin_container_image }}' is {{ phpldapadmin_state }}
 | 
			
		||||
  community.docker.docker_image:
 | 
			
		||||
    name: "{{ phpldapadmin_container_image }}"
 | 
			
		||||
    state: "{{ phpldapadmin_state }}"
 | 
			
		||||
    source: "{{ phpldapadmin_container_image_source }}"
 | 
			
		||||
    force_source: "{{ phpldapadmin_container_image_force_source }}"
 | 
			
		||||
 | 
			
		||||
- name: Ensure phpldapadmin container '{{ phpldapadmin_container_name }}' is {{ phpldapadmin_container_state }}
 | 
			
		||||
  community.docker.docker_container:
 | 
			
		||||
    name: "{{ phpldapadmin_container_name }}"
 | 
			
		||||
    image: "{{ phpldapadmin_container_image }}"
 | 
			
		||||
    env: "{{ phpldapadmin_container_env | default(omit, true) }}"
 | 
			
		||||
    user: "{{ phpldapadmin_container_user | default(omit, true) }}"
 | 
			
		||||
    ports: "{{ phpldapadmin_container_ports | default(omit, true) }}"
 | 
			
		||||
    labels: "{{ phpldapadmin_container_labels | default(omit, true) }}"
 | 
			
		||||
    volumes: "{{ phpldapadmin_container_volumes | default(omit, true) }}"
 | 
			
		||||
    networks: "{{ phpldapadmin_container_networks | default(omit, true) }}"
 | 
			
		||||
    network_mode: "{{ phpldapadmin_container_network_mode | default(omit, true) }}"
 | 
			
		||||
    dns_servers: "{{ phpldapadmin_container_dns_servers | default(omit, true) }}"
 | 
			
		||||
    etc_hosts: "{{ phpldapadmin_container_etc_hosts | default(omit, true) }}"
 | 
			
		||||
    memory: "{{ phpldapadmin_container_memory | default(omit, true) }}"
 | 
			
		||||
    memory_swap: "{{ phpldapadmin_container_memory_swap | default(omit, true) }}"
 | 
			
		||||
    memory_reservation: >-2
 | 
			
		||||
      {{ phpldapadmin_container_memory_reservation | default(omit, true) }}
 | 
			
		||||
    restart_policy: "{{ phpldapadmin_container_restart_policy | default(omit, true) }}"
 | 
			
		||||
    state: "{{ phpldapadmin_container_state }}"
 | 
			
		||||
							
								
								
									
										18
									
								
								roles/phpldapadmin/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								roles/phpldapadmin/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Ensure 'phpldapadmin_state' is valid
 | 
			
		||||
  ansible.builtin.fail:
 | 
			
		||||
    msg: >-2
 | 
			
		||||
      Unsupported state '{{ phpldapadmin_state }}'!
 | 
			
		||||
      Supported states are {{ phpldapadmin_states | join(', ') }}
 | 
			
		||||
  when: phpldapadmin_state not in phpldapadmin_states
 | 
			
		||||
 | 
			
		||||
- name: Ensure 'phpldapadmin_deployment_method' is valid
 | 
			
		||||
  ansible.builtin.fail:
 | 
			
		||||
    msg: >-2
 | 
			
		||||
      Unsupported deployment method '{{ phpldapadmin_deployment_method }}'!
 | 
			
		||||
      Supported deployment methods are {{ phpldapadmin_deployment_methods | join(', ') }}
 | 
			
		||||
  when: phpldapadmin_deployment_method not in phpldapadmin_deployment_methods
 | 
			
		||||
 | 
			
		||||
- name: Deploy using {{ phpldapadmin_deployment_method }}
 | 
			
		||||
  ansible.builtin.import_tasks:
 | 
			
		||||
    file: "deploy-{{ phpldapadmin_deployment_method }}.yml"
 | 
			
		||||
							
								
								
									
										6
									
								
								roles/phpldapadmin/vars/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/phpldapadmin/vars/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
phpldapadmin_states:
 | 
			
		||||
  - "present"
 | 
			
		||||
  - "absent"
 | 
			
		||||
phpldapadmin_deployment_methods:
 | 
			
		||||
  - "docker"
 | 
			
		||||
		Reference in New Issue
	
	Block a user