134 lines
4.2 KiB
YAML
Executable File
134 lines
4.2 KiB
YAML
Executable File
#!/usr/bin/env ansible-playbook
|
||
---
|
||
#==============================================================#
|
||
# File : infra-rm.yml
|
||
# Desc : uninstall pigsty infra module
|
||
# Ctime : 2022-02-22
|
||
# Mtime : 2025-12-11
|
||
# Path : infra-rm.yml
|
||
# Docs : https://pigsty.io/docs/infra/playbook
|
||
# License1 : Apache-2.0 @ https://pigsty.io/docs/about/license/
|
||
# Copyright : 2018-2026 Ruohang Feng / Vonng (rh@vonng.com)
|
||
#==============================================================#
|
||
|
||
|
||
#---------------------------------------------------------------
|
||
# Usage
|
||
#---------------------------------------------------------------
|
||
# ./infra-rm.yml # remove everything about infra
|
||
# ./infra-rm.yml -t service # stop infra services
|
||
# ./infra-rm.yml -t data # remove infra data
|
||
# ./infra-rm.yml -t package # uninstall infra packages
|
||
#---------------------------------------------------------------
|
||
|
||
|
||
#--------------------------------------------------------------#
|
||
# Remove Infrastructure
|
||
#--------------------------------------------------------------#
|
||
- name: INFRA REMOVE
|
||
become: true
|
||
hosts: infra
|
||
gather_facts: no
|
||
ignore_errors: true
|
||
tasks:
|
||
|
||
#---------------------------------------------
|
||
# Stop Service
|
||
#---------------------------------------------
|
||
- name: stop infra service
|
||
systemd: name={{ item }} state=stopped enabled=no daemon_reload=yes
|
||
tags: service
|
||
with_items:
|
||
- alertmanager
|
||
- blackbox_exporter
|
||
- vmetrics
|
||
- vlogs
|
||
- vtraces
|
||
- vmalert
|
||
- grafana-server
|
||
- nginx_exporter
|
||
- nginx
|
||
- dnsmasq
|
||
|
||
#---------------------------------------------
|
||
# Remove conf
|
||
#---------------------------------------------
|
||
- name: remove infra conf
|
||
file: state=absent path="{{ item }}"
|
||
tags: config
|
||
vars: { systemd_dir: "{% if os_package is defined and os_package == 'deb' %}/lib/systemd/system/{% else %}/usr/lib/systemd/system{% endif %}" }
|
||
with_items:
|
||
- /etc/pki/infra.crt
|
||
- /etc/pki/infra.key
|
||
- /etc/alertmanager.yml
|
||
- /etc/default/alertmanager
|
||
- "{{ systemd_dir }}/alertmanager.service"
|
||
- /etc/blackbox.conf
|
||
- /etc/default/blackbox_exporter
|
||
- "{{ systemd_dir }}/blackbox_exporter.service"
|
||
- "/etc/default/vlogs"
|
||
- "/etc/default/vmetrics"
|
||
- "/etc/default/vtraces"
|
||
- "/etc/default/vmalert"
|
||
- "{{ systemd_dir }}/vlogs.service"
|
||
- "{{ systemd_dir }}/vmetrics.service"
|
||
- "{{ systemd_dir }}/vtraces.service"
|
||
- "{{ systemd_dir }}/vmalert.service"
|
||
- /etc/grafana
|
||
- "{{ systemd_dir }}/grafana.service"
|
||
- /etc/nginx/conf.d
|
||
- /etc/default/nginx_exporter
|
||
- "{{ systemd_dir }}/nginx.service"
|
||
- "{{ systemd_dir }}/nginx_exporter.service"
|
||
#- /etc/dnsmasq.conf
|
||
#- "{{ systemd_dir }}/dnsmasq.service"
|
||
|
||
#---------------------------------------------
|
||
# Remove Env
|
||
#---------------------------------------------
|
||
- name: remove infra env
|
||
become: false
|
||
file: state=absent path="{{ item }}"
|
||
tags: env
|
||
with_items:
|
||
- '~/.pg_service.conf'
|
||
- '~/.servers.json'
|
||
- '~/.pgpass'
|
||
- '~/.pigsty'
|
||
- '~/.pgpass'
|
||
|
||
|
||
#---------------------------------------------
|
||
# Remove Infra Data (DANGEROUS)
|
||
#---------------------------------------------
|
||
- name: remove infra data
|
||
file: state=absent path="{{ item }}"
|
||
tags: data
|
||
with_items:
|
||
- "{{ infra_data|default('/data/infra') }}"
|
||
- "{{ nginx_data|default('/data/nginx') }}"
|
||
- "{{ nginx_home|default('/www') }}"
|
||
- /var/lib/grafana
|
||
- /infra/hosts
|
||
|
||
#---------------------------------------------
|
||
# Uninstall Packages
|
||
#---------------------------------------------
|
||
- name: uninstall infra packages
|
||
package: name={{ item }} state=absent
|
||
tags: package
|
||
with_items:
|
||
- alertmanager
|
||
- blackbox_exporter
|
||
- grafana
|
||
- nginx_exporter
|
||
- nginx
|
||
- mcli
|
||
- victoria-metrics
|
||
- victoria-logs
|
||
- victoria-traces
|
||
- vmutils
|
||
- vlogscli
|
||
#- dnsmasq
|
||
|
||
... |