Skip to content

Commit 8fd5dfe

Browse files
committed
docs: refresh role readmes for v4.5
1 parent ebbd772 commit 8fd5dfe

31 files changed

Lines changed: 569 additions & 482 deletions

File tree

README.md

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

33
[![Website: pigsty.io](https://img.shields.io/badge/website-pigsty.io-slategray?style=flat&logo=cilium&logoColor=white)](https://pigsty.io)
44
[![CN: pigsty.cc](https://img.shields.io/badge/CN-pigsty.cc-slategray?style=flat&logo=cilium&logoColor=white)](https://pigsty.cc)
5-
[![Version: v4.5.0](https://img.shields.io/badge/version-v4.5.0-slategray?style=flat&logo=cilium&logoColor=white)](https://github.com/pgsty/pigsty/releases)
5+
[![Version: v4.4.0](https://img.shields.io/badge/version-v4.4.0-slategray?style=flat&logo=cilium&logoColor=white)](https://github.com/pgsty/pigsty/releases)
66
[![License: Apache-2.0](https://img.shields.io/github/license/pgsty/pigsty?logo=opensourceinitiative&logoColor=green&color=slategray)](https://pigsty.io/docs/about/license/)
77
[![GitHub Stars](https://img.shields.io/github/stars/pgsty/pigsty?style=flat&logo=github&logoColor=black&color=slategray)](https://star-history.com/#pgsty/pigsty&Date)
88
[![Extensions: 555](https://img.shields.io/badge/extensions-555-%233E668F?style=flat&logo=postgresql&logoColor=white&labelColor=3E668F)](https://pigsty.io/ext/list)
@@ -16,10 +16,10 @@ Enterprise-Grade Open-Source **PostgreSQL** Distribution with HA, PITR, IaC, Mon
1616

1717
[![banner](https://pigsty.io/img/pigsty/banner.png)](https://pigsty.io)
1818

19-
Pigsty scales from [**laptop**](https://pigsty.io/docs/setup) to [**datacenter**](https://pigsty.io/docs/deploy). Enterprise-grade. Developer-friendly. [**Get Started**](https://pigsty.io/docs/setup/install) with the latest [**v4.5.0**](https://github.com/pgsty/pigsty/releases/tag/v4.5.0):
19+
Pigsty scales from [**laptop**](https://pigsty.io/docs/setup) to [**datacenter**](https://pigsty.io/docs/deploy). Enterprise-grade. Developer-friendly. [**Get Started**](https://pigsty.io/docs/setup/install) with the latest [**v4.4.0**](https://github.com/pgsty/pigsty/releases/tag/v4.4.0):
2020

2121
```bash
22-
curl -fsSL https://repo.pigsty.io/get | bash -s v4.5.0
22+
curl -fsSL https://repo.pigsty.io/get | bash -s v4.4.0
2323
```
2424

2525

@@ -81,7 +81,7 @@ And gather the synergistic superpowers of all [**555 PostgreSQL Extensions**](ht
8181
[![EL Support: 8/9/10](https://img.shields.io/badge/EL-8/9/10-red?style=flat&logo=redhat&logoColor=red)](https://pigsty.io/docs/ref/linux#el)
8282
[![Debian Support: 12/13](https://img.shields.io/badge/Debian-12/13-%23A81D33?style=flat&logo=debian&logoColor=%23A81D33)](https://pigsty.io/docs/ref/linux#debian)
8383
[![Ubuntu Support: 22/24/26](https://img.shields.io/badge/Ubuntu-22/24/26-%23E95420?style=flat&logo=ubuntu&logoColor=%23E95420)](https://pigsty.io/docs/ref/linux#ubuntu)
84-
[![Docker Image](https://img.shields.io/badge/Docker-v4.5.0-%232496ED?style=flat&logo=docker&logoColor=white)](https://pigsty.io/docs/setup/docker)
84+
[![Docker Image](https://img.shields.io/badge/Docker-v4.4.0-%232496ED?style=flat&logo=docker&logoColor=white)](https://pigsty.io/docs/setup/docker)
8585

8686
[**Prepare**](https://pigsty.io/docs/deploy/prepare) a fresh `x86_64` / `aarch64` node runs any [**compatible**](https://pigsty.io/docs/ref/linux) **Linux** OS Distros, then [**Install**](https://pigsty.io/docs/setup/install#install) **Pigsty** with:
8787

@@ -121,24 +121,24 @@ pig sty deploy # run the deploy.yml playbook
121121
<details><summary>Install with get script</summary><br>
122122

123123
```bash
124-
[root@pg-meta ~]# curl -fsSL https://repo.pigsty.io/get | bash -s v4.5.0
125-
[v4.5.0] ===========================================
124+
[root@pg-meta ~]# curl -fsSL https://repo.pigsty.io/get | bash -s v4.4.0
125+
[v4.4.0] ===========================================
126126
$ curl -fsSL https://repo.pigsty.io/get | bash
127127
[Docs] https://pigsty.io/docs
128128
[Demo] https://demo.pigsty.io
129129
[Repo] https://github.com/pgsty/pigsty
130130
[Download] ===========================================
131-
[ OK ] version = v4.5.0 (from arg)
132-
curl -fSL https://repo.pigsty.io/src/pigsty-v4.5.0.tgz -o /tmp/pigsty-v4.5.0.tgz
131+
[ OK ] version = v4.4.0 (from arg)
132+
curl -fSL https://repo.pigsty.io/src/pigsty-v4.4.0.tgz -o /tmp/pigsty-v4.4.0.tgz
133133
######################################################################## 100.0%
134-
[ OK ] md5sums = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /tmp/pigsty-v4.5.0.tgz
134+
[ OK ] md5sums = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /tmp/pigsty-v4.4.0.tgz
135135
[Install] ===========================================
136136
[WARN] os user = root , it's recommended to use a non-root sudo-able admin
137-
[ OK ] install = /root/pigsty, from /tmp/pigsty-v4.5.0.tgz
137+
[ OK ] install = /root/pigsty, from /tmp/pigsty-v4.4.0.tgz
138138
139139
[Bootstrap] ===========================================
140140
[WARN] ansible = not found, bootstrap
141-
bootstrap pigsty v4.5.0 begin
141+
bootstrap pigsty v4.4.0 begin
142142
[ OK ] region = china
143143
[ OK ] kernel = Linux
144144
[ OK ] machine = x86_64
@@ -175,7 +175,7 @@ proceed with ./configure
175175
> HINT: To install a specific version, pass the version string as the first parameter:
176176
>
177177
> ```bash
178-
> curl -fsSL https://repo.pigsty.io/get | bash -s v4.5.0
178+
> curl -fsSL https://repo.pigsty.io/get | bash -s v4.4.0
179179
> ```
180180
181181
</details>
@@ -186,7 +186,7 @@ proceed with ./configure
186186
You can also download the pigsty source with `git`, remember to check out a specific version tag, the `main` branch is for development.
187187
188188
```bash
189-
git clone https://github.com/pgsty/pigsty; cd pigsty; git checkout v4.5.0
189+
git clone https://github.com/pgsty/pigsty; cd pigsty; git checkout v4.4.0
190190
```
191191
192192
</details>

roles/ca/README.md

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
> Create and Manage Self-Signed Certificate Authority
44
5-
| **Module** | [INFRA](https://pigsty.io/docs/infra) |
6-
|-------------------|------------------------------------------|
7-
| **Docs** | https://pigsty.io/docs/infra/cert |
8-
| **Related Roles** | [`infra`](../infra), [`pgsql`](../pgsql) |
5+
| **Module** | [INFRA](https://pigsty.io/docs/infra) |
6+
|-------------------|---------------------------------------|
7+
| **Docs** | https://pigsty.io/docs/infra/cert |
8+
| **Related Roles** | `infra`, `pgsql` |
99

1010

1111
## Overview
@@ -17,21 +17,24 @@ The `ca` role creates a **self-signed Certificate Authority (CA)** for Pigsty:
1717
- Create PKI directory structure for all modules
1818

1919
The CA is used to sign certificates for:
20+
2021
- PostgreSQL server/client SSL
2122
- Patroni REST API
2223
- etcd cluster communication
2324
- MinIO cluster communication
25+
- Kafka cluster communication
26+
- MySQL cluster communication
2427
- Nginx HTTPS (self-signed fallback)
2528
- Infrastructure services
2629
- FerretDB/MongoDB TLS
2730

2831

2932
## Playbooks
3033

31-
| Playbook | Description |
32-
|--------------------------------|------------------------------------------|
33-
| [`infra.yml`](../../infra.yml) | Infrastructure deployment (includes CA) |
34-
| [`cert.yml`](../../cert.yml) | Issue additional certificates with CA |
34+
| Playbook | Description |
35+
|-------------|-----------------------------------------|
36+
| `infra.yml` | Infrastructure deployment (includes CA) |
37+
| `cert.yml` | Issue additional certificates with CA |
3538

3639

3740
## File Structure
@@ -83,7 +86,7 @@ ca (full role)
8386

8487
| Variable | Default | Description |
8588
|------------------|--------------|--------------------------------------------|
86-
| `ca_create` | `true` | Create CA if not exists, or abort |
89+
| `ca_create` | `true` | Allow creation of a missing CA private key |
8790
| `ca_cn` | `pigsty-ca` | CA certificate common name |
8891
| `cert_validity` | `7300d` | Default validity for issued certificates |
8992

@@ -92,7 +95,7 @@ ca (full role)
9295
Controls CA creation behavior:
9396

9497
- `true` (default): Create new CA if `files/pki/ca/ca.key` doesn't exist
95-
- `false`: Abort if CA files don't exist (use external CA)
98+
- `false`: Require an existing CA private key; create the certificate if missing
9699

97100
### ca_cn
98101

@@ -118,6 +121,8 @@ files/pki/
118121
│ └── *.crt, *.key # Miscellaneous certificates (cert.yml output)
119122
├── etcd/
120123
│ └── *.crt, *.key # ETCD server certificates
124+
├── kafka/
125+
│ └── *.crt, *.key # Kafka server certificates
121126
├── pgsql/
122127
│ └── *.crt, *.key # PostgreSQL server certificates
123128
├── minio/
@@ -126,8 +131,10 @@ files/pki/
126131
│ └── *.crt, *.key # Infrastructure certificates
127132
├── nginx/
128133
│ └── *.crt, *.key # Nginx HTTPS certificates
129-
└── mongo/
130-
└── *.crt, *.key # FerretDB/MongoDB certificates
134+
├── mongo/
135+
│ └── *.crt, *.key # FerretDB/MongoDB certificates
136+
└── mysql/
137+
└── *.crt, *.key # MySQL server certificates
131138
```
132139

133140
> **Security Note**: The `files/pki/ca/` directory contains sensitive CA private key. Ensure proper backup and access control. The CA key should never be exposed or committed to version control.
@@ -152,24 +159,28 @@ files/pki/
152159
CA key exists? CA cert exists? Action
153160
───────────────────────────────────────
154161
No No Create new CA key and cert
162+
No Yes Create a new key; keep the existing cert*
155163
Yes No Create cert using existing key
156164
Yes Yes Reuse existing CA (no changes)
157165
```
158166

167+
`*` This state produces a mismatched pair. Always provide the CA key and
168+
certificate together.
169+
159170
### ca_create = false
160171

161172
```
162173
CA key exists? CA cert exists? Action
163174
───────────────────────────────────────
164175
Yes Yes Reuse existing CA
176+
Yes No Create cert using existing key
165177
No * ABORT (fail the playbook)
166-
* No ABORT (fail the playbook)
167178
```
168179

169180

170-
## Using External CA
181+
## Using an Existing CA
171182

172-
To use your own enterprise or public CA:
183+
To provide an existing CA key pair:
173184

174185
1. Set `ca_create: false` in your configuration:
175186

@@ -198,7 +209,7 @@ To use your own enterprise or public CA:
198209

199210
## Issuing Additional Certificates
200211

201-
Use [`cert.yml`](../../cert.yml) to issue additional certificates with the CA:
212+
Use `cert.yml` to issue additional certificates with the CA:
202213

203214
```bash
204215
# Issue a client certificate for database user
@@ -273,8 +284,8 @@ chmod 644 files/pki/ca/ca.crt
273284

274285
## See Also
275286

276-
- [`infra`](../infra): Infrastructure deployment
277-
- [`pgsql`](../pgsql): PostgreSQL deployment (uses CA)
278-
- [`etcd`](../etcd): ETCD deployment (uses CA)
279-
- [`minio`](../minio): MinIO deployment (uses CA)
287+
- `infra`: Infrastructure deployment
288+
- `pgsql`: PostgreSQL deployment (uses CA)
289+
- `etcd`: ETCD deployment (uses CA)
290+
- `minio`: MinIO deployment (uses CA)
280291
- [Certificate Guide](https://pigsty.io/docs/infra/cert): SSL/TLS configuration

roles/cache/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
> Create Offline Package Cache Tarball for Distribution
44
5-
| **Module** | [INFRA](https://pigsty.io/docs/infra) |
6-
|-------------------|----------------------------------------|
7-
| **Docs** | https://pigsty.io/docs/setup/offline |
8-
| **Related Roles** | [`repo`](../repo), [`infra`](../infra) |
5+
| **Module** | [INFRA](https://pigsty.io/docs/infra) |
6+
|-------------------|---------------------------------------|
7+
| **Docs** | https://pigsty.io/docs/setup/offline |
8+
| **Related Roles** | `repo`, `infra` |
99

1010

1111
## Overview
@@ -37,9 +37,9 @@ Before running the cache role:
3737

3838
## Playbooks
3939

40-
| Playbook | Description |
41-
|--------------------------------|--------------------------------|
42-
| [`cache.yml`](../../cache.yml) | Create offline package tarball |
40+
| Playbook | Description |
41+
|-------------|--------------------------------|
42+
| `cache.yml` | Create offline package tarball |
4343

4444
```bash
4545
# Create offline package from infra node
@@ -254,7 +254,7 @@ ls -la /www/pigsty/
254254

255255
## See Also
256256

257-
- [`repo`](../repo): Build local repository (must run before cache)
258-
- [`infra`](../infra): Full infrastructure deployment
257+
- `repo`: Build local repository (must run before cache)
258+
- `infra`: Full infrastructure deployment
259259
- [Offline Installation](https://pigsty.io/docs/setup/offline): Complete offline setup guide
260260
- [Bootstrap](https://pigsty.io/docs/setup/install/#bootstrap): Bootstrap process documentation

roles/docker/README.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
> Deploy Docker Container Runtime
44
5-
| **Module** | [DOCKER](https://pigsty.io/docs/docker) |
6-
|-------------------|---------------------------------------------|
7-
| **Docs** | https://pigsty.io/docs/docker/ |
8-
| **Related Roles** | [`node`](../node), [`infra`](../infra) |
5+
| **Module** | [DOCKER](https://pigsty.io/docs/docker) |
6+
|-------------------|-----------------------------------------|
7+
| **Docs** | https://pigsty.io/docs/docker/ |
8+
| **Related Roles** | `node`, `infra` |
99

1010

1111
## Overview
@@ -25,9 +25,9 @@ Docker is used to run stateless applications alongside Pigsty.
2525

2626
## Playbooks
2727

28-
| Playbook | Description |
29-
|------------------------------------|----------------------|
30-
| [`docker.yml`](../../docker.yml) | Deploy Docker |
28+
| Playbook | Description |
29+
|--------------|---------------|
30+
| `docker.yml` | Deploy Docker |
3131

3232

3333
## File Structure
@@ -162,19 +162,28 @@ The role generates `/etc/docker/daemon.json`:
162162
{
163163
"data-root": "/data/docker",
164164
"exec-opts": ["native.cgroupdriver=systemd"],
165+
"storage-driver": "overlay2",
165166
"log-driver": "json-file",
166167
"log-opts": { "max-size": "100m" },
167-
"storage-driver": "overlay2",
168-
"metrics-addr" : "0.0.0.0:9323",
169-
"experimental" : true,
170-
"max-concurrent-downloads": 8,
171-
"registry-mirrors" : []
168+
"metrics-addr": "<inventory-host>:9323",
169+
"experimental": true,
170+
"registry-mirrors": [],
171+
"default-ulimits": {
172+
"nofile": {
173+
"Hard": 1048576,
174+
"Soft": 1048576,
175+
"Name": "nofile"
176+
}
177+
},
178+
"max-concurrent-downloads": 8
172179
}
173180
```
174181

182+
When `proxy_env` is defined, the role also renders Docker's `proxies` block.
183+
175184

176185
## See Also
177186

178-
- [`node`](../node): Node provisioning
179-
- [`infra`](../infra): Infrastructure deployment
187+
- `node`: Node provisioning
188+
- `infra`: Infrastructure deployment
180189
- [Docker Guide](https://pigsty.io/docs/docker/): Configuration documentation

roles/etcd/README.md

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
> Deploy ETCD Distributed Key-Value Store Cluster
44
5-
| **Module** | [ETCD](https://pigsty.io/docs/etcd) |
6-
|-------------------|---------------------------------------------------------------------|
7-
| **Docs** | https://pigsty.io/docs/etcd/ |
8-
| **Related Roles** | [`etcd_remove`](../etcd_remove), [`pgsql`](../pgsql), [`ca`](../ca) |
5+
| **Module** | [ETCD](https://pigsty.io/docs/etcd) |
6+
|-------------------|-------------------------------------|
7+
| **Docs** | https://pigsty.io/docs/etcd/ |
8+
| **Related Roles** | `etcd_remove`, `pgsql`, `ca` |
99

1010

1111
## Overview
@@ -24,10 +24,10 @@ ETCD is used by Patroni for PostgreSQL HA consensus.
2424

2525
## Playbooks
2626

27-
| Playbook | Description |
28-
|------------------------------------|---------------------|
29-
| [`etcd.yml`](../../etcd.yml) | Deploy ETCD cluster |
30-
| [`etcd-rm.yml`](../../etcd-rm.yml) | Remove ETCD cluster |
27+
| Playbook | Description |
28+
|---------------|---------------------|
29+
| `etcd.yml` | Deploy ETCD cluster |
30+
| `etcd-rm.yml` | Remove ETCD cluster |
3131

3232

3333
## File Structure
@@ -89,20 +89,25 @@ etcd (full role)
8989

9090
### Configuration
9191

92-
| Variable | Default | Description |
93-
|------------------|--------------|-------------------------|
94-
| `etcd_port` | `2379` | Client port |
95-
| `etcd_peer_port` | `2380` | Peer port |
96-
| `etcd_data` | `/data/etcd` | Data directory |
97-
| `etcd_init` | `new` | Init mode: new/existing |
98-
| `etcd_learner` | `false` | Add as learner node |
92+
| Variable | Default | Description |
93+
|---------------------------|--------------|-------------------------------|
94+
| `etcd_port` | `2379` | Client port |
95+
| `etcd_peer_port` | `2380` | Peer port |
96+
| `etcd_data` | `/data/etcd` | Data directory |
97+
| `etcd_init` | `new` | Init mode: new/existing |
98+
| `etcd_learner` | `false` | Add as learner node |
99+
| `etcd_election_timeout` | `1000` | Election timeout in ms |
100+
| `etcd_heartbeat_interval` | `100` | Heartbeat interval in ms |
101+
102+
The backend quota is fixed at 8 GiB in the managed configuration.
99103

100104
### Security
101105

102-
| Variable | Default | Description |
103-
|----------------------|-------------|----------------------------|
104-
| `etcd_root_password` | `Etcd.Root` | Root user password |
105-
| `etcd_safeguard` | `false` | Prevent accidental removal |
106+
| Variable | Default | Description |
107+
|----------------------|-------------|--------------------|
108+
| `etcd_root_password` | `Etcd.Root` | Root user password |
109+
110+
Removal protection is controlled by `etcd_safeguard` in the `etcd_remove` role.
106111

107112

108113
## Cluster Topology
@@ -147,6 +152,6 @@ To add a new member:
147152

148153
## See Also
149154

150-
- [`etcd_remove`](../etcd_remove): Remove ETCD cluster
151-
- [`pgsql`](../pgsql): PostgreSQL (uses ETCD for HA)
155+
- `etcd_remove`: Remove ETCD cluster
156+
- `pgsql`: PostgreSQL (uses ETCD for HA)
152157
- [ETCD Guide](https://pigsty.io/docs/etcd/): Configuration documentation

0 commit comments

Comments
 (0)