mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-28 18:30:24 +02:00
Added nginx-domains-cleanup draft
This commit is contained in:
parent
2fa5e57c5d
commit
39668a428c
25
roles/nginx-domains-cleanup/README.md
Normal file
25
roles/nginx-domains-cleanup/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# nginx-domains-cleanup
|
||||
|
||||
## Description
|
||||
|
||||
This Ansible role removes Nginx configuration files and revokes and deletes Certbot certificates for domains marked as deprecated.
|
||||
|
||||
## Overview
|
||||
|
||||
Optimized for idempotent cleanup operations, this role:
|
||||
|
||||
- Deletes Nginx server configuration files in `/etc/nginx/conf.d/http/servers/` for each domain listed in `deprecated_domains`.
|
||||
- Revokes and deletes corresponding Certbot certificates.
|
||||
- Ensures cleanup tasks execute only once per playbook run.
|
||||
- Notifies Nginx to restart after removing configurations.
|
||||
|
||||
## Purpose
|
||||
|
||||
Streamline the decommissioning of outdated or deprecated domains by automating the removal of Nginx server blocks and their SSL certificates.
|
||||
|
||||
## Features
|
||||
|
||||
- **Nginx Cleanup:** Safely removes server configuration files.
|
||||
- **Certbot Integration:** Revokes and deletes certificates without manual intervention.
|
||||
- **Idempotent Execution:** Utilizes a `run_once` flag to prevent repeated runs.
|
||||
- **Service Notification:** Triggers an Nginx restart handler upon cleanup.
|
24
roles/nginx-domains-cleanup/meta/main.yml
Normal file
24
roles/nginx-domains-cleanup/meta/main.yml
Normal file
@ -0,0 +1,24 @@
|
||||
galaxy_info:
|
||||
author: "Kevin Veen-Birkenbach"
|
||||
description: "Remove Nginx configuration files and revoke/delete Certbot certificates for deprecated domains"
|
||||
license: "CyMaIS NonCommercial License (CNCL)"
|
||||
license_url: "https://s.veen.world/cncl"
|
||||
company: |
|
||||
Kevin Veen-Birkenbach
|
||||
Consulting & Coaching Solutions
|
||||
https://www.veen.world
|
||||
min_ansible_version: "2.9"
|
||||
platforms:
|
||||
- name: Archlinux
|
||||
versions:
|
||||
- rolling
|
||||
galaxy_tags:
|
||||
- nginx
|
||||
- cleanup
|
||||
- certbot
|
||||
- domains
|
||||
repository: "https://s.veen.world/cymais"
|
||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||
documentation: "https://s.veen.world/cymais"
|
||||
dependencies:
|
||||
- nginx
|
39
roles/nginx-domains-cleanup/tasks/main.yml
Normal file
39
roles/nginx-domains-cleanup/tasks/main.yml
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: "Remove Nginx configuration for deprecated domains"
|
||||
ansible.builtin.file:
|
||||
path: "/etc/nginx/conf.d/http/servers/{{ item }}"
|
||||
state: absent
|
||||
loop: "{{ deprecated_domains }}"
|
||||
loop_control:
|
||||
label: "{{ item }}"
|
||||
notify: restart nginx
|
||||
when:
|
||||
- mode_cleanup | bool
|
||||
- run_once_nginx_domains_cleanup is not defined
|
||||
|
||||
- name: "Revoke Certbot certificate for {{ item }}"
|
||||
ansible.builtin.command:
|
||||
cmd: "certbot revoke -n --cert-name {{ item }}"
|
||||
become: true
|
||||
loop: "{{ deprecated_domains }}"
|
||||
loop_control:
|
||||
label: "{{ item }}"
|
||||
when:
|
||||
- mode_cleanup | bool
|
||||
- run_once_nginx_domains_cleanup is not defined
|
||||
|
||||
- name: "Delete Certbot certificate for {{ item }}"
|
||||
ansible.builtin.command:
|
||||
cmd: "certbot delete -n --cert-name {{ item }}"
|
||||
become: true
|
||||
loop: "{{ deprecated_domains }}"
|
||||
loop_control:
|
||||
label: "{{ item }}"
|
||||
when:
|
||||
- mode_cleanup | bool
|
||||
- run_once_nginx_domains_cleanup is not defined
|
||||
|
||||
- name: run the nginx_domains_cleanup role once
|
||||
set_fact:
|
||||
run_once_nginx_domains_cleanup: true
|
||||
when: run_once_nginx_domains_cleanup is not defined
|
Loading…
x
Reference in New Issue
Block a user