Add check ssl cert and get, if not ssl cert
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
- name: Создание пользователя и директорий для метрик
|
||||
ansible.builtin.import_tasks: create_user_metrics_and_dir.yml
|
||||
|
||||
- name: Подключение роли установки Docker
|
||||
ansible.builtin.import_role:
|
||||
name: install_Docker_and_utilities
|
||||
|
||||
- name: Получаем сертификат, если его нет
|
||||
ansible.builtin.import_role:
|
||||
name: get_ssl_cert
|
||||
|
||||
- name: Скопировать конфигурации сервисов
|
||||
ansible.builtin.template:
|
||||
src: "{{ item.src }}"
|
||||
@@ -17,11 +28,3 @@
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ monitoring_dir }}"
|
||||
state: present
|
||||
|
||||
- name: Создание пользователя и директорий для метрик
|
||||
ansible.builtin.import_tasks: create_user_metrics_and_dir.yml
|
||||
|
||||
- name: Подключение роли установки Docker
|
||||
ansible.builtin.import_role:
|
||||
name: install_Docker_and_utilities
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
- name: Проверка наличия SSL сертификата
|
||||
ansible.builtin.stat:
|
||||
path: "/etc/letsencrypt/live/{{ domain }}/fullchain.pem"
|
||||
register: cert_status
|
||||
|
||||
- name: Собрать факты о сервисах
|
||||
ansible.builtin.service_facts:
|
||||
when: not cert_status.stat.exists
|
||||
|
||||
- name: Остановить nginx (если запущен) перед получением сертификата
|
||||
ansible.builtin.service:
|
||||
name: nginx
|
||||
state: stopped
|
||||
when:
|
||||
- not cert_status.stat.exists
|
||||
- "'nginx.service' in services"
|
||||
- "services['nginx.service'].state == 'running'"
|
||||
|
||||
- name: Получение SSL сертификата через --standalone
|
||||
ansible.builtin.command: >
|
||||
certbot certonly --standalone
|
||||
--non-interactive --agree-tos
|
||||
-m "{{ email }}"
|
||||
-d "{{ domain }}"
|
||||
when: not cert_status.stat.exists
|
||||
notify: Restart nginx
|
||||
|
||||
- name: Запустить nginx
|
||||
ansible.builtin.service:
|
||||
name: nginx
|
||||
state: started
|
||||
when:
|
||||
- not cert_status.stat.exists
|
||||
- "'nginx.service' in services"
|
||||
- "services['nginx.service'].state == 'running'"
|
||||
@@ -0,0 +1,5 @@
|
||||
- name: Restart nginx
|
||||
ansible.builtin.systemd_service:
|
||||
name: nginx
|
||||
state: restarted
|
||||
daemon_reload: true
|
||||
@@ -8,5 +8,6 @@
|
||||
- git
|
||||
- htop
|
||||
- rsync
|
||||
- certbot
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
Reference in New Issue
Block a user