79 lines
2.4 KiB
YAML
Executable File
79 lines
2.4 KiB
YAML
Executable File
#!/usr/bin/env ansible-playbook
|
|
---
|
|
#==============================================================#
|
|
# File : slim.yml
|
|
# Desc : pure postgres installation with out infra
|
|
# Ctime : 2024-09-02
|
|
# Mtime : 2025-12-15
|
|
# Path : slim.yml
|
|
# Docs : https://pigsty.io/docs/setup/slim
|
|
# License : Apache-2.0 @ https://pigsty.io/docs/about/license/
|
|
# Copyright : 2018-2026 Ruohang Feng / Vonng (rh@vonng.com)
|
|
#==============================================================#
|
|
|
|
|
|
# The minimal installation focus on Pure HA-PostgreSQL Cluster
|
|
# It only install essential components for this purpose
|
|
#
|
|
# There's NO Infra modules, No monitoring, No software repo
|
|
# Just partial of NODE module, along with ETCD & PGSQL modules
|
|
#
|
|
# Systemd Service Installed in this mode:
|
|
#
|
|
# patroni, pgbouncer, vip-manager, haproxy, etcd, chronyd, tuned
|
|
|
|
|
|
#---------------------------------------------------------------
|
|
# setup node & pgsql identity
|
|
#---------------------------------------------------------------
|
|
- name: IDENTITY
|
|
hosts: all
|
|
gather_facts: no
|
|
tags: id
|
|
roles:
|
|
- { role: node_id ,tags: node-id }
|
|
- { role: pg_id ,tags: pg-id ,when: pg_cluster is defined }
|
|
|
|
#---------------------------------------------------------------
|
|
# Setup local CA
|
|
#---------------------------------------------------------------
|
|
- name: CA
|
|
become: true
|
|
hosts: localhost
|
|
gather_facts: no
|
|
tags: ca
|
|
roles: [ { role: ca } ]
|
|
|
|
#---------------------------------------------------------------
|
|
# init node and haproxy
|
|
#---------------------------------------------------------------
|
|
- name: NODE INIT
|
|
become: true
|
|
hosts: all
|
|
gather_facts: no
|
|
tags: node
|
|
roles:
|
|
- { role: node , tags: node } # prepare node for pigsty
|
|
- { role: haproxy , tags: haproxy } # init haproxy optional
|
|
|
|
#---------------------------------------------------------------
|
|
# ETCD INIT
|
|
#---------------------------------------------------------------
|
|
- name: ETCD INIT
|
|
become: true
|
|
hosts: etcd
|
|
gather_facts: no
|
|
tags: etcd
|
|
roles: [ { role: etcd } ] # init etcd on fixed group 'etcd'
|
|
|
|
#---------------------------------------------------------------
|
|
# INIT PGSQL
|
|
#---------------------------------------------------------------
|
|
- name: PGSQL INIT # init pgsql on all nodes
|
|
become: true # with pg_cluster defined
|
|
hosts: all
|
|
gather_facts: no
|
|
tags: pgsql
|
|
roles: [ { role: pgsql ,when: pg_cluster is defined } ]
|
|
|
|
... |