Skip to content

Commit c533701

Browse files
authored
Release 2.3.0 (#1160)
1 parent 9e48a37 commit c533701

File tree

23 files changed

+120
-122
lines changed

23 files changed

+120
-122
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![Molecule](https://github.com/vitabaks/autobase/actions/workflows/molecule.yml/badge.svg)](https://github.com/vitabaks/autobase/actions/workflows/molecule.yml)
1111
[![GitHub license](https://img.shields.io/github/license/vitabaks/autobase)](https://github.com/vitabaks/autobase/blob/master/LICENSE)
1212
<a href="https://algora.io/autobase/bounties/new">
13-
<img
13+
<img
1414
src="https://img.shields.io/endpoint?url=https%3A%2F%2Falgora.io%2Fapi%2Fshields%2Fautobase%2Fbounties%3Fstatus%3Dopen"
1515
alt="Open Bounties"
1616
/>
@@ -229,6 +229,7 @@ Alternatively, you can use [Ansible Collection](./automation/README.md)
229229
If you need to start from the very beginning, you can use the `remove_cluster` playbook.
230230

231231
Available variables:
232+
232233
- `remove_postgres`: stop the PostgreSQL service and remove data
233234
- `remove_etcd`: stop the ETCD service and remove data
234235
- `remove_consul`: stop the Consul service and remove data

automation/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ You can also include it in a `requirements.yml` file and install it via `ansible
2525
```yaml
2626
collections:
2727
- name: vitabaks.autobase
28-
version: 2.2.3
28+
version: 2.3.0
2929
```
3030
3131
#### Use Autobase playbook
@@ -67,6 +67,7 @@ Tip: Start with `deploy_pgcluster` for initial provisioning, then use `config_pg
6767
If you need to start from the very beginning, you can use the `remove_cluster` playbook.
6868

6969
Available variables:
70+
7071
- `remove_postgres`: stop the PostgreSQL service and remove data
7172
- `remove_etcd`: stop the ETCD service and remove data
7273
- `remove_consul`: stop the Consul service and remove data
@@ -85,19 +86,23 @@ Autobase adheres to a modular design separating atomic logic (roles) and orchest
8586
### List of Playbooks
8687

8788
###### 🚀 Deployment
89+
8890
- `deploy_pgcluster` – Deploy a new highly available PostgreSQL cluster. This playbook also includes:
8991
- `etcd_cluster` – Provision and configure a new etcd cluster as the DCS (used if dcs_type: etcd).
9092
- `consul_cluster` – Provision and configure a new Consul cluster as the DCS (used if dcs_type: consul).
9193
- `balancers` – Deploy HAProxy for routing client traffic (used if with_haproxy_load_balancing: true).
9294

9395
###### 🛠️ Maintenance
96+
9497
- `config_pgcluster` – Reconfigure PostgreSQL cluster settings (users, databases, extensions, etc.) after the initial deployment.
9598
- `update_pgcluster` – Perform rolling updates of PostgreSQL or system packages with minimal downtime.
9699
- `pg_upgrade` – Perform a major version in-place upgrade of PostgreSQL with minimal downtime.
97100

98101
###### ⬆️ Scaling
102+
99103
- `add_pgnode` – Add a new PostgreSQL replica node to an existing cluster.
100104
- `add_balancer` – Add a new HAProxy load balancer node to the cluster (used if with_haproxy_load_balancing: true).
101105

102106
###### 🧹 Removal
107+
103108
- `remove_cluster` – Remove the PostgreSQL cluster and optionally its DCS (etcd or Consul), including all data from the server.

automation/galaxy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
namespace: vitabaks
33
name: autobase
4-
version: 2.2.3
4+
version: 2.3.0
55

66
readme: README.md
77

automation/playbooks/consul_cluster.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
- name: Gather ansible_distribution from localhost
2424
ansible.builtin.setup:
2525
gather_subset:
26-
- '!all'
27-
- '!min'
28-
- distribution
26+
- "!all"
27+
- "!min"
28+
- distribution
2929
become: false
3030
delegate_to: localhost
3131
delegate_facts: true

automation/roles/bind_address/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
This role automatically detects and sets the available private IPv4 address for each host as the variable `bind_address`, unless it is already defined in inventory or group_vars.
44

55
#### How it works
6+
67
- Finds the first available private IPv4 address on the host (excluding the docker0 interface, if present).
78
- Sets this address as the Ansible fact bind_address using set_fact.
89
- If bind_address is already defined in inventory or variables, it will not be executed.

automation/roles/common/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ This role serves as a centralized place to define default variables shared acros
1010
## Usage Notes
1111

1212
- This role must be listed as a dependency in other roles via `meta/main.yml`:
13+
1314
```yaml
1415
dependencies:
1516
- role: vitabaks.autobase.common
@@ -22,16 +23,16 @@ This role serves as a centralized place to define default variables shared acros
2223

2324
## Important Guidelines
2425

25-
- Do not redefine variables in the `defaults/` directory of dependent roles if they already exist in `common/defaults`. Instead, comment them out or remove them to avoid duplication and priority conflicts. Example:
26+
- Do not redefine variables in the `defaults/` directory of dependent roles if they already exist in `common/defaults`. Instead, comment them out or remove them to avoid duplication and priority conflicts. Example:
2627

2728
```yaml
28-
# Defined in roles/common/defaults/main.yml. Commented out here to prevent conflicts.
29-
# mount:
30-
# - path: ""
31-
# src: ""
32-
# fstype: ""
33-
# opts: ""
34-
# state: ""
29+
# Defined in roles/common/defaults/main.yml. Commented out here to prevent conflicts.
30+
# mount:
31+
# - path: ""
32+
# src: ""
33+
# fstype: ""
34+
# opts: ""
35+
# state: ""
3536
```
3637

3738
- Variables from `common/defaults` are not available during playbook parsing. This affects conditional expressions such as `when:`
@@ -42,4 +43,3 @@ This role serves as a centralized place to define default variables shared acros
4243
```
4344

4445
- If a variable from `common` must be available during playbook parsing (e.g. used in 'when'), define it in `group_vars` or another appropriate location.
45-

automation/roles/consul/defaults/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ consul_install_remotely: false
4545
### Paths
4646
consul_bin_path: "/usr/local/bin"
4747
# consul_config_path: "/etc/consul"
48-
consul_config_type: 'hcl' # or json
48+
consul_config_type: "hcl" # or json
4949
consul_config_template_path: "templates/config.{{ consul_config_type }}.j2"
5050
# consul_configd_path: "/etc/consul.d"
5151
consul_bootstrap_state: "{{ consul_config_path }}/.consul_bootstrapped"

automation/roles/consul/tasks/nix.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109

110110
- name: Save gossip key
111111
ansible.builtin.set_fact:
112-
consul_raw_key: "{{ consul_config_b64.content | b64decode | regex_findall('^encrypt = \"(.+)\"$', multiline=True) | first }}"
112+
consul_raw_key: '{{ consul_config_b64.content | b64decode | regex_findall(''^encrypt = "(.+)"$'', multiline=True) | first }}'
113113

114114
no_log: false
115115
when:
@@ -338,7 +338,7 @@
338338
dest: /etc/profile.d/consul_profile.sh
339339
owner: root
340340
group: root
341-
mode: '755'
341+
mode: "755"
342342

343343
- ansible.builtin.include_tasks: ../tasks/dnsmasq.yml
344344
when: consul_dnsmasq_enable | bool

automation/roles/firewall/defaults/main.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ firewall_additional_rules: []
1818
firewall_enable_ipv6: true
1919
firewall_ip6_additional_rules: []
2020
firewall_log_dropped_packets: true
21-
2221
# Set to true to ensure other firewall management software is disabled.
2322
# firewall_disable_firewalld: false
2423
# firewall_disable_ufw: false

automation/roles/ntp/tasks/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
dest: /etc/ntp.conf
5555
owner: root
5656
group: root
57-
mode: '0644'
57+
mode: "0644"
5858
notify: "restart ntp"
5959
when: ntp_package == "ntp"
6060

@@ -64,7 +64,7 @@
6464
dest: "{{ '/etc/chrony/chrony.conf' if ansible_os_family == 'Debian' else '/etc/chrony.conf' }}"
6565
owner: root
6666
group: root
67-
mode: '0644'
67+
mode: "0644"
6868
notify: "{{ 'restart chrony' if ansible_os_family == 'Debian' else 'restart chronyd' }}"
6969
when: ntp_package == "chrony"
7070
when: ntp_enabled | default(false) | bool

0 commit comments

Comments
 (0)