68 lines
2.5 KiB
YAML
68 lines
2.5 KiB
YAML
- name: Создание пользователя и директорий для метрик
|
|
ansible.builtin.import_tasks: create_user_metrics_and_dir.yml
|
|
|
|
- name: Подключение роли установки Docker
|
|
ansible.builtin.import_role:
|
|
name: install_Docker_and_utilities
|
|
|
|
- name: Установка nginx
|
|
ansible.builtin.apt:
|
|
name: nginx
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Получаем сертификат, если его нет
|
|
ansible.builtin.import_role:
|
|
name: get_ssl_cert
|
|
when: domain is defined and domain | length > 0
|
|
|
|
- name: Скопировать конфигурации сервисов
|
|
ansible.builtin.template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ monitoring_dir }}/{{ item.dest }}"
|
|
mode: '0644'
|
|
owner: metrics
|
|
group: metrics
|
|
loop:
|
|
- { src: "prometheus.yml.j2", dest: "prometheus.yml" }
|
|
- { src: "prometheus-web.yml.j2", dest: "prometheus-web.yml" }
|
|
- { src: "node-exporter-web.yml.j2", dest: "node-exporter-web.yml" }
|
|
- { src: "grafana-datasource.yml.j2", dest: "grafana_provisioning/datasource.yml" }
|
|
- { src: "docker-compose.yml.j2", dest: "docker-compose.yml" }
|
|
- { src: "docker-compose-https.yml.j2", dest: "docker-compose-https.yml" }
|
|
- { src: "alertmanager.yml.j2", dest: "alertmanager.yml" }
|
|
- { src: "alerts.rules.yml.j2", dest: "alerts.rules.yml" }
|
|
notify: Restart docker-compose
|
|
|
|
- name: Скопировать конфиг nginx
|
|
ansible.builtin.template:
|
|
src: "nginx-https.conf.j2"
|
|
dest: "/etc/nginx/sites-available/nginx-https.conf"
|
|
mode: '0644'
|
|
when: domain is defined and domain | length > 0
|
|
|
|
- name: Включить nginx конфиг (symlink)
|
|
ansible.builtin.file:
|
|
src: /etc/nginx/sites-available/nginx-https.conf
|
|
dest: /etc/nginx/sites-enabled/nginx-https.conf
|
|
state: link
|
|
when: domain is defined and domain | length > 0
|
|
|
|
- name: Удалить дефолтную конфигурацию nginx
|
|
ansible.builtin.file:
|
|
path: /etc/nginx/sites-enabled/default
|
|
state: absent
|
|
|
|
- name: Перезагрузить nginx
|
|
ansible.builtin.systemd:
|
|
name: nginx
|
|
enabled: true
|
|
state: reloaded
|
|
when: domain is defined and domain | length > 0
|
|
|
|
- name: Запуск нужного compose-файла в зависимости от наличия domain
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ monitoring_dir }}"
|
|
files:
|
|
- "{{ 'docker-compose-https.yml' if (domain is defined and domain | length > 0) else 'docker-compose.yml' }}"
|
|
state: present |