Files
ansible-mln/infra/playbook-security.yml
T
2026-07-22 21:01:19 +02:00

156 lines
4.2 KiB
YAML

---
- name: Déploiement des solution de monitoring et de sécurité
hosts: infra
become: true
gather_facts: true
tasks:
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: 3600
- name: Install required packages
apt:
name:
- apt-transport-https
- ca-certificates
- curl
- gnupg
- acl
state: present
tags: docker
- name: Create directory for Docker GPG key
file:
path: /etc/apt/keyrings
state: directory
mode: "0755"
tags: docker
- name: Add Docker GPG key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
keyring: /etc/apt/keyrings/docker.gpg
state: present
tags: docker
- name: Get system architecture
command: dpkg --print-architecture
register: system_arch
changed_when: false
- name: Get Ubuntu codename
command: lsb_release -cs
register: ubuntu_codename
changed_when: false
- name: Add Docker repository
apt_repository:
repo: "deb [arch={{ system_arch.stdout }} signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ ubuntu_codename.stdout }} stable"
state: present
filename: docker
tags: docker
- name: Update apt cache after adding repo
apt:
update_cache: yes
tags: docker
- name: Install Docker packages
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
tags: docker
- name: Ensure Docker service is started and enabled
systemd:
name: docker
state: started
enabled: yes
tags: docker
- name: Create docker group
group:
name: "{{ docker_group }}"
state: present
tags: docker
- name: Create docker user
user:
name: "{{ docker_user }}"
group: "{{ docker_group }}"
groups: docker
append: yes
shell: /bin/bash
create_home: yes
state: present
tags: docker
- name: Add ansible user to docker group
user:
name: "{{ ansible_user }}"
groups: docker
append: yes
when: ansible_user is defined
tags: docker
- name: Verify Docker installation
command: docker --version
register: docker_version
changed_when: false
tags: docker
- name: Verify Docker Compose installation
command: docker compose version
register: compose_version
changed_when: false
tags: docker
- name: Display versions
debug:
msg:
- "{{ docker_version.stdout }}"
- "{{ compose_version.stdout }}"
tags: docker
- name: Copy Docker project
ansible.builtin.copy:
src: ../monitoring/security/
dest: "{{ docker_dir }}/"
owner: "{{ docker_user }}"
group: "{{ docker_group }}"
mode: "0755"
tags: project
- name: Ensure parent directory has correct permissions
ansible.builtin.file:
path: "{{ docker_dir }}"
state: directory
owner: "{{ docker_user }}"
group: "{{ docker_group }}"
mode: "0755"
tags: project
- name: Set correct permissions for Docker files
ansible.builtin.file:
path: "{{ docker_dir }}"
owner: "{{ docker_user }}"
group: "{{ docker_group }}"
recurse: yes
tags: project
- name: Set permissions for .env file
ansible.builtin.file:
path: "{{ docker_dir }}/.env"
owner: "{{ docker_user }}"
group: "{{ docker_group }}"
mode: "0640"
tags: project
ignore_errors: yes