diff --git a/group_vars/all/vault.yml b/group_vars/all/vault.yml index 2bcfdc5..07bba5e 100644 --- a/group_vars/all/vault.yml +++ b/group_vars/all/vault.yml @@ -1,20 +1,23 @@ $ANSIBLE_VAULT;1.1;AES256 -31613364333637343830653564643662323365306334656633626339356261613161323564666234 -3431373364663734626539353264343633303862616133320a363739313230616566316234656262 -62396666633634323339316265393136383232386566653364626436623939323362353063373835 -3132386436313536660a306334653032353038383166303535353262373335343361626564353366 -34316439303334323839396535343237613437356632336131373561323862363864666161656137 -64663231316337343838386338313065336135313535333738616162646430343863393961396432 -34383066666335386330353536333664353566623964616132323964613961663732336565343066 -31643031626261326138633131303638336465376664653366646331333961396139636336643232 -66323339373133346439646237303732383138393762643331336636333965336335643433343265 -61306533373932396366613233356539393339346133616631663738613862373464306434396538 -37626566326532363131356239656339386662363931343930633630393636383261613832313037 -38623766653133626238393165356630623238653765343262613832313230653334393764326466 -37383630343830636630313964303731623363383234626632626236333035636465356365353863 -36636531613762396364643732356635336232336334633561623632633931613339303230383639 -62343963636531343939623965656263306631356435626236623232616636643939393038353135 -63636665633835623034353566323530613762623361363535316634363034626264393738613938 -39633631663631666163623562666163386634336631343439646238323733303333346431376433 -36373036323631316164656131626530646339323939316630626438376632386337643862383330 -613532623061623364333765363739386564 +38393662663161356233646332336136363365633235656430363164336363363337633631626238 +6436646231663738626138393730316535316635356533320a636164373361613630323932616436 +31316135393966316133373333303630326435633361336634393262396665386564346264653335 +3636353436366430380a656566646364356330333536306362353631616264646165313465643763 +63396166613632376630363935616436653736663637313463666362323439323133313563613837 +33353636326466626163663736316134666464373264663539333837336463626362323738636466 +34396330333931323038316464363138386161633532613032366563636235373735343737633334 +63363865313937626637626432613065353763643334373533333365643634623539613362383535 +61313238363662626433333534613566326466303364346639653266626131356637643739336436 +33396135363037613030643237376334613433306464366532353030373532303665363463323839 +66383234626563653633373266326133333434343631656139383265626537636239343163613865 +38383131306462616334313261336534396166616164393736356565396562356361623765666633 +35386263626566346137343434303563626531626336363966643436383263363562626632613138 +31303234376339376339323561343464636666326361356236343231306138333766363832353933 +35613035643437613235343661636133636462383236326361346137333662633663313662386535 +37383933623436396663396365303831323061353937376264613431666264626161643938386237 +37356166373736323761656261323934643739663265636630663734363438386138313332386130 +39376436363936613435323032356235613563633333336332323838643331623966643130383566 +65323839653633373331373139636465663238633861623431306362343662333730656430633266 +63323131343735326264366337393432303363623362316133363335386434653932623063323037 +63373334663735373962626337346365326537663363633739316133643930616538323766663563 +3963316330643230666636303563626333373830326561636631 diff --git a/playbook.yml:Zone.Identifier b/playbook.yml:Zone.Identifier deleted file mode 100644 index d6c1ec6..0000000 Binary files a/playbook.yml:Zone.Identifier and /dev/null differ diff --git a/roles/deploy_prometheus_and_grafana/tasks/main.yml b/roles/deploy_prometheus_and_grafana/tasks/main.yml index 1f06ec1..b491df5 100644 --- a/roles/deploy_prometheus_and_grafana/tasks/main.yml +++ b/roles/deploy_prometheus_and_grafana/tasks/main.yml @@ -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 - diff --git a/roles/get_ssl_cert/tasks/cert_bot.yml b/roles/get_ssl_cert/tasks/cert_bot.yml new file mode 100644 index 0000000..88889cb --- /dev/null +++ b/roles/get_ssl_cert/tasks/cert_bot.yml @@ -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'" \ No newline at end of file diff --git a/roles/get_ssl_cert/tasks/handlers.yml b/roles/get_ssl_cert/tasks/handlers.yml new file mode 100644 index 0000000..74b3695 --- /dev/null +++ b/roles/get_ssl_cert/tasks/handlers.yml @@ -0,0 +1,5 @@ +- name: Restart nginx + ansible.builtin.systemd_service: + name: nginx + state: restarted + daemon_reload: true \ No newline at end of file diff --git a/roles/install_Docker_and_utilities/tasks/main.yml b/roles/install_Docker_and_utilities/tasks/main.yml index 60a754e..823cbe1 100644 --- a/roles/install_Docker_and_utilities/tasks/main.yml +++ b/roles/install_Docker_and_utilities/tasks/main.yml @@ -8,5 +8,6 @@ - git - htop - rsync + - certbot state: present update_cache: true diff --git a/templates/docker-compose.yml.j2 b/templates/docker-compose.yml.j2 index 63aa3ea..ccc5ef9 100644 --- a/templates/docker-compose.yml.j2 +++ b/templates/docker-compose.yml.j2 @@ -22,7 +22,7 @@ services: image: grafana/grafana:latest container_name: grafana ports: - - "3001:3000" + - "127.0.0.1:3001:3000" volumes: - ./grafana_provisioning/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml:ro - grafana_data:/var/lib/grafana diff --git a/terraform-infra/inventory.ini:Zone.Identifier b/terraform-infra/inventory.ini:Zone.Identifier deleted file mode 100644 index d6c1ec6..0000000 Binary files a/terraform-infra/inventory.ini:Zone.Identifier and /dev/null differ diff --git a/terraform-infra/playbook.yml:Zone.Identifier b/terraform-infra/playbook.yml:Zone.Identifier deleted file mode 100644 index d6c1ec6..0000000 Binary files a/terraform-infra/playbook.yml:Zone.Identifier and /dev/null differ