This is the multi-page printable view of this section. .
References
- 1: Supported Linux
- 2: Modules
- 3: File Hierarchy
- 4: Parameters
- 5: Playbooks
- 6: Port List
1 - Supported Linux
Pigsty runs on Linux, supporting amd64/x86_64 and arm64/aarch64 arch, plus 3 major distros: EL, Debian, Ubuntu.
Pigsty runs bare-metal without containers. Supports actively maintained mainstream releases across the 3 major distro families and both archs.
Overview
Recommended OS versions: Rocky Linux 9.8 / 10.2, Debian 12.15 / 13.6, Ubuntu 22.04.5 / 24.04.4 / 26.04.0.
| Distro | Arch | OS Code | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
| RHEL / Rocky / Alma 10 | x86_64 | el10.x86_64 |
|||||
| RHEL / Rocky / Alma 10 | aarch64 | el10.aarch64 |
|||||
| RHEL / Rocky / Alma 9 | x86_64 | el9.x86_64 |
|||||
| RHEL / Rocky / Alma 9 | aarch64 | el9.aarch64 |
|||||
Ubuntu 26.04 (resolute) |
x86_64 | u26.x86_64 |
|||||
Ubuntu 26.04 (resolute) |
aarch64 | u26.aarch64 |
|||||
Ubuntu 24.04 (noble) |
x86_64 | u24.x86_64 |
|||||
Ubuntu 24.04 (noble) |
aarch64 | u24.aarch64 |
|||||
Ubuntu 22.04 (jammy) |
x86_64 | u22.x86_64 |
|||||
Ubuntu 22.04 (jammy) |
aarch64 | u22.aarch64 |
|||||
Debian 13 (trixie) |
x86_64 | d13.x86_64 |
|||||
Debian 13 (trixie) |
aarch64 | d13.aarch64 |
|||||
Debian 12 (bookworm) |
x86_64 | d12.x86_64 |
|||||
Debian 12 (bookworm) |
aarch64 | d12.aarch64 |
These seven minor releases are the current validation baselines. The extension repository retains dual-architecture EL8 compatibility, so the complete package matrix covers 16 Linux platforms. EL8 is in its retirement transition and is no longer a recommended deployment baseline.
EL
Pigsty supports RHEL / Rocky / Alma / Anolis / CentOS 8, 9, 10.
| EL Distro | Arch | OS Code | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
| RHEL10 / Rocky10 / Alma10 | x86_64 | el10.x86_64 |
|||||
| RHEL10 / Rocky10 / Alma10 | aarch64 | el10.aarch64 |
|||||
| RHEL9 / Rocky9 / Alma9 | x86_64 | el9.x86_64 |
|||||
| RHEL9 / Rocky9 / Alma9 | aarch64 | el9.aarch64 |
|||||
| RHEL8 / Rocky8 / Alma8 | x86_64 | el8.x86_64 |
|||||
| RHEL8 / Rocky8 / Alma8 | aarch64 | el8.aarch64 |
|||||
| RHEL7 / CentOS7 | x86_64 | el7.x86_64 |
|||||
| RHEL7 / CentOS7 | aarch64 | - |
Rocky Linux 9.8 / 10.2 balances stability and fresh software. Recommended for EL users.
EL8 goes EOL in 2029. Plan upgrade ASAP. EL10 support is ready, EL8 will be dropped in next release.
RHEL 7 EOL since Jun 2024. PGDG stopped providing binary packages for PG 16/17/18 on EL7.
For extended support on legacy OS, consider Enterprise Subscription.
Ubuntu
Pigsty supports Ubuntu 26.04 / 24.04 / 22.04:
| Ubuntu Distro | Arch | OS Code | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
Ubuntu 26.04 (resolute) |
x86_64 | u26.x86_64 |
|||||
Ubuntu 26.04 (resolute) |
aarch64 | u26.aarch64 |
|||||
Ubuntu 24.04 (noble) |
x86_64 | u24.x86_64 |
|||||
Ubuntu 24.04 (noble) |
aarch64 | u24.aarch64 |
|||||
Ubuntu 22.04 (jammy) |
x86_64 | u22.x86_64 |
|||||
Ubuntu 22.04 (jammy) |
aarch64 | u22.aarch64 |
Ubuntu 26.04 provides the newest LTS baseline, while Ubuntu 24.04 remains the conservative default for Ubuntu users.
Debian
Pigsty supports Debian 12 / 13, latest Debian 13.6 recommended:
| Debian Distro | Arch | OS Code | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
Debian 13 (trixie) |
x86_64 | d13.x86_64 |
|||||
Debian 13 (trixie) |
aarch64 | d13.aarch64 |
|||||
Debian 12 (bookworm) |
x86_64 | d12.x86_64 |
|||||
Debian 12 (bookworm) |
aarch64 | d12.aarch64 |
|||||
Debian 11 (bullseye) |
x86_64 | d11.x86_64 (historical) |
|||||
Debian 11 (bullseye) |
aarch64 | - |
Debian 11 EOL since Jul 2024. For extended support on legacy OS, consider Enterprise Subscription.
Vagrant
For local VM deployment, use these Vagrant base images (same as used in Pigsty dev):
cloud-image/rocky-8: Rocky 8.10cloud-image/rocky-9: Rocky 9.8cloud-image/rocky-10: Rocky 10.2cloud-image/debian-12: Debian 12.15cloud-image/debian-13: Debian 13.6cloud-image/ubuntu-22.04: Ubuntu 22.04.5cloud-image/ubuntu-24.04: Ubuntu 24.04.4cloud-image/ubuntu-26.04: Ubuntu 26.04.0
Terraform
For cloud deployment, use these Terraform base image prefixes (Aliyun example):
| x86_64 | Aliyun Image Prefix |
|---|---|
| Rocky 8.10 | rockylinux_8_10_x64 |
| Rocky 9.8 | rockylinux_9_8_x64 |
| Rocky 10.2 | rockylinux_10_2_x64 |
| Ubuntu 22.04.5 | ubuntu_22_04_x64_20G |
| Ubuntu 24.04.4 | ubuntu_24_04_x64_20G |
| Ubuntu 26.04.0 | ubuntu_26_04_x64_20G |
| Debian 12.15 | debian_12_15_x64 |
| Debian 13.6 | debian_13_6_x64 |
| aarch64 | Aliyun Image Prefix |
|---|---|
| Rocky 8.10 | rockylinux_8_10_arm64 |
| Rocky 9.8 | rockylinux_9_8_arm64 |
| Rocky 10.2 | rockylinux_10_2_arm64 |
| Ubuntu 22.04.5 | ubuntu_22_04_arm64_20G |
| Ubuntu 24.04.4 | ubuntu_24_04_arm64_20G |
| Ubuntu 26.04.0 | ubuntu_26_04_arm64_20G |
| Debian 12.15 | debian_12_15_arm64 |
| Debian 13.6 | debian_13_6_arm64 |
2 - Modules
Official Modules
| Module | Category | Status | Docs Path | Summary |
|---|---|---|---|---|
PGSQL |
Core | GA | /docs/pgsql |
High-availability PostgreSQL clusters with built-in backup, monitoring, SOP, and extension ecosystem. |
INFRA |
Core | GA | /docs/infra |
Local software repository + VictoriaMetrics/Logs/Traces + Grafana infrastructure stack. |
NODE |
Core | GA | /docs/node |
Node initialization and convergence: system tuning, admin, HAProxy, Vector, Keepalived, etc. |
ETCD |
Core | GA | /docs/etcd |
DCS for PostgreSQL HA (service discovery, config, leader-election metadata). |
MINIO |
Extension | GA | /docs/minio |
Deploys Silo S3-compatible object storage, suitable for PostgreSQL backups. |
REDIS |
Extension | GA | /docs/redis |
Redis by default, or Valkey, in standalone, Sentinel, or native-cluster mode with monitoring. |
DOCKER |
Extension | GA | /docs/docker |
Docker daemon and the runtime capability for containerized apps. |
JUICE |
Extension | BETA | /docs/juice |
JuiceFS distributed file system using PostgreSQL as metadata engine. |
VIBE |
Extension | BETA | /docs/vibe |
Browser-based dev environment with Code-Server, JupyterLab, Node.js, Claude Code, and Codex CLI. |
KAFKA |
Extension | BETA | /docs/kafka |
Apache Kafka 4.x dynamic KRaft cluster deployment, security baseline, and monitoring. |
Core Modules
Pigsty provides four core modules that are important for delivering complete highly available PostgreSQL services:
PGSQL: Self-healing PostgreSQL clusters with HA, PITR, IaC, SOP, monitoring, and 575 extensions.INFRA: Local software repository, VictoriaMetrics, VictoriaLogs, VictoriaTraces, Grafana, Alertmanager, Blackbox Exporter…NODE: Node convergence for hostname, timezone, NTP, SSH, sudo, HAProxy, Vector, and Keepalived.ETCD: Distributed key-value store used as DCS for HA PostgreSQL clusters: consensus leader election/config management/service discovery.
Although these four modules are usually installed together, separate use is still feasible. In practice, only the NODE module is usually mandatory.
Extension Modules
Pigsty provides six extension modules. They are not mandatory for core functionality, but can enhance PostgreSQL capabilities:
MINIO: An S3-compatible object-storage module that deploys Silo and provides PostgreSQL backup integration and monitoring.REDIS: Redis server with standalone/sentinel/cluster production deployment and full monitoring support.DOCKER: Docker daemon service for one-click deployment of stateless software templates on Pigsty.JUICE: JuiceFS distributed filesystem module using PostgreSQL as metadata engine, providing shared POSIX storage.VIBE: Browser-based development environment with Code-Server, JupyterLab, Node.js, Claude Code, and Codex CLI.KAFKA: Apache Kafka 4.x dynamic KRaft clusters with TLS/SCRAM/ACL security baseline, declarative topics/users, and full monitoring.
Ecosystem Modules
The modules below are closely related to the PostgreSQL ecosystem. They are optional ecosystem capabilities and are not counted in the 10 official modules above:
SUPABASE,DUCKDB: peripheral ecosystem integration.MSSQL,IVORY,POLAR,CITUS,CLOUDBERRY,PGEDGE: kernel replacement, distributed, and MPP forms.MYSQL-compatible kernel (OpenHalo),ORIOLE,PGTDE,AGENS: protocol compatibility, storage engine, transparent encryption, and graph database kernels. Here,MYSQLmeans thepg_mode=mysqlPostgreSQL-compatible kernel, not a native MySQL service.GREENPLUM,NEON: historical docs retained, no longer default public capabilities.- Native
MYSQLpilot: the currentmysql.yml,mysql-rm.yml, androles/mysql*manage a fixed native MySQL 8.4 platform with either one node or a three-node single-primary InnoDB Cluster. It remains a PILOT and is not counted among the 10 official modules above. KUBE,VICTORIA,JUPYTER: other pilot modules, currently not open for public use.
3 - File Hierarchy
Pigsty FHS
Pigsty’s home directory is located at ~/pigsty by default. The file structure within this directory is as follows:
~/pigsty Source Tree
- app/
- Application template resources
- bin/
- Management and operations scripts
- files/
- victoria/
- Rules and operations scripts
- grafana/
- Grafana dashboards
- postgres/
- PostgreSQL management scripts
- migration/
- Data-migration task definitions
- pki/
- Self-signed CA and certificates
- victoria/
- roles/
- Ansible role implementations
- templates/
- Ansible templates
- vagrant/
- Vagrant sandbox definitions
- terraform/
- Terraform cloud-resource templates
- configure
- ansible.cfg
- pigsty.yml
- *.yml
/infra is a runtime symlink to /data/infra, which keeps observability data and generated configuration together:
CA FHS
Pigsty’s self-signed CA is located in files/pki/ under the Pigsty home directory.
You must keep the CA key file secure: files/pki/ca/ca.key. This key is generated by the ca role during deploy.yml or infra.yml execution.
Nodes managed by Pigsty will have the following certificate files installed:
All infra nodes will have the following certificates:
When your admin node fails, the files/pki directory and pigsty.yml file should be available on the backup admin node. You can use rsync to achieve this:
INFRA FHS
The infra role creates infra_data (default: /data/infra) and creates a symlink /infra -> /data/infra.
/data/infra permissions are root:infra 0771; subdirectories default to *:infra 0750 unless overridden:
This structure is created by: roles/infra/tasks/dir.yml, roles/infra/tasks/victoria.yml, roles/infra/tasks/register.yml, roles/infra/tasks/dns.yml, and roles/infra/tasks/env.yml.
NODE FHS
The node data directory is specified by node_data, defaulting to /data, owned by root:root with mode 0755.
Most core components place their default data directories here. Some pilot modules use fixed paths of their own; native MySQL 8.4 currently uses /var/lib/mysql.
HAProxy
Pigsty starts HAProxy with its own systemd unit and manages the main configuration separately from service fragments:
To append startup arguments in /etc/default/haproxy, use EXTRAOPTS and retain the default -S /run/haproxy-master.sock. The systemd unit already loads configuration with explicit -f arguments, so do not add another -f to EXTRAOPTS.
Victoria FHS
Monitoring config has moved from the legacy /etc/prometheus layout to the /infra runtime layout.
The main template is roles/infra/templates/victoria/prometheus.yml, rendered to /infra/prometheus.yml.
files/victoria/bin/* and files/victoria/rules/* are synced to /infra/bin/ and /infra/rules/, while each module registers FileSD targets under /infra/targets/*.
Pigsty-rendered INFRA units are consistently stored in /etc/systemd/system/, including vmetrics, vlogs, vtraces, vmalert, alertmanager, blackbox_exporter, nginx_exporter, and dnsmasq. Distribution package unit directories are not write targets for these roles.
PostgreSQL FHS
The following parameters and internal variables are related to PostgreSQL directory layout:
pg_dbsu_home: Postgres default user home directory, default:/var/lib/pgsqlpg_bin_dir: Postgres binary directory, default:/usr/pgsql/bin/pg_fs_main: Postgres primary data directory, default:/data/postgrespg_fs_backup: Postgres backup disk mount point, default:/data/backups(optional; can also be a subdirectory on primary disk)pg_data: Internal variable, fixed to the Postgres data-directory symlink/pg/datapg_cluster_dir: Derived variable,{{ pg_fs_main }}/{{ pg_cluster }}-{{ pg_version }}pg_backup_dir: Derived variable,{{ pg_fs_backup }}/{{ pg_cluster }}-{{ pg_version }}
Data File Structure
Binary File Structure
On EL-compatible distributions (using yum), PostgreSQL default installation location is:
Pigsty creates a symlink named /usr/pgsql pointing to the actual version specified by the pg_version parameter, for example:
Therefore, the default pg_bin_dir is /usr/pgsql/bin/, and this path is added to the system PATH environment variable, defined in: /etc/profile.d/pgsql.sh.
On Ubuntu/Debian, the default PostgreSQL Deb package installation location is:
Pigsty-rendered PostgreSQL runtime units are likewise stored in /etc/systemd/system/. They primarily include patroni.service, postgres.service, pgbouncer.service, pg_exporter.service, pgbackrest_exporter.service, pgbouncer_exporter.service, and vip-manager.service when VIP is enabled.
Pgbouncer FHS
Pgbouncer runs under the same user as {{ pg_dbsu }} (default postgres), with configs in /etc/pgbouncer.
pgbouncer.ini: main pool configuration (postgres:postgres 0640)database.txt: pooled database definitions (postgres:postgres 0600)useropts.txt: per-user connection options (postgres:postgres 0600)userlist.txt: password file maintained by/pg/bin/pgb-userpgb_hba.conf: access control file (postgres:postgres 0600)
Object Storage FHS
The MINIO module currently deploys only Silo, while retaining minio_* parameter and directory names for compatibility:
Silo certificates are stored in /home/minio/.minio/certs/. The module name, role parameters, data directory, and FileSD path retain the compatible MINIO / minio_* naming.
Redis FHS
Pigsty manages Redis or Valkey with the same directory layout and instance naming.
Service units call binaries according to redis_type (/bin/* is compatible with /usr/bin/* on most distributions):
For a Redis instance named redis-test-1-6379, the related resources are as follows:
Pigsty-rendered Redis/Valkey instance and exporter units are consistently stored in /etc/systemd/system/, and instance units use Type=notify. Package-provided units may still live in distribution directories, but those are not role write targets.
4 - Parameters
This is the parameter navigation page for Pigsty v4.x, without repeating full explanations for each parameter.
For parameter details, please read each module’s param page.
Cross-checked against the current source and parameter reference pages, the 10 official modules expose 373 public parameters. Native MySQL 8.4 remains a pilot module; its 13 public parameters are listed separately and are not included in the official-module total.
Module Parameter Navigation
| Module | Groups | Count | Description |
|---|---|---|---|
PGSQL |
9 | 124 | PostgreSQL HA cluster configuration |
INFRA |
10 | 73 | Software repository and Victoria-based observability infra |
NODE |
11 | 73 | Node initialization, system tuning, and ops baseline |
ETCD |
2 | 13 | ETCD cluster and removal safeguard parameters |
MINIO |
2 | 22 | Silo deployment, observability, and removal parameters |
REDIS |
2 | 22 | Redis/Valkey deployment and removal parameters |
DOCKER |
1 | 8 | Docker engine parameters |
JUICE |
1 | 2 | JuiceFS instance and cache parameters |
VIBE |
1 | 18 | Code/Jupyter/Node.js/Claude/Codex configuration |
KAFKA |
2 | 18 | Kafka deployment and removal safeguard parameters |
Pilot module: native MYSQL 8.4 currently exposes 13 public parameters: 11 for deployment and 2 for protected removal. Fixed ports, paths, software versions, and timers are not public parameters.
Parameter Group Quick View
| Module | Major Groups |
|---|---|
PGSQL |
PG_ID, PG_BUSINESS, PG_INSTALL, PG_BOOTSTRAP, PG_PROVISION, PG_BACKUP, PG_ACCESS, PG_MONITOR, PG_REMOVE |
INFRA |
META, CA, INFRA_ID, REPO, INFRA_PACKAGE, NGINX, DNS, VICTORIA, PROMETHEUS, GRAFANA |
NODE |
NODE_ID, NODE_DNS, NODE_PACKAGE, NODE_TUNE, NODE_SEC, NODE_ADMIN, NODE_TIME, NODE_VIPHAPROXY, NODE_EXPORTER, VECTOR |
ETCD |
ETCD, ETCD_REMOVE |
MINIO |
MINIO, MINIO_REMOVE |
REDIS |
REDIS, REDIS_REMOVE |
DOCKER |
DOCKER |
JUICE |
JUICE |
VIBE |
VIBE |
KAFKA |
KAFKA, KAFKA_REMOVE |
Recommendations
5 - Playbooks
This page summarizes Pigsty v4.x playbook entries and usage guidance by module. For detailed task tags, open each module’s playbook page.
Module Playbook Navigation
| Module | Count | Playbooks |
|---|---|---|
INFRA |
3 | deploy.yml infra.yml infra-rm.yml |
NODE |
2 | node.yml node-rm.yml |
ETCD |
2 | etcd.yml etcd-rm.yml |
PGSQL |
7 | pgsql.yml pgsql-rm.yml pgsql-user.yml pgsql-db.yml pgsql-monitor.yml pgsql-migration.yml pgsql-pitr.yml |
REDIS |
2 | redis.yml redis-rm.yml |
MINIO |
2 | minio.yml minio-rm.yml |
DOCKER |
1 | docker.yml |
JUICE |
1 | juice.yml |
VIBE |
1 | vibe.yml |
KAFKA |
2 | kafka.yml kafka-rm.yml |
MYSQL (pilot) |
2 | mysql.yml mysql-rm.yml |
Playbook Matrix
| Playbook | Module | Purpose |
|---|---|---|
deploy.yml |
INFRA |
One-pass deployment for the core chain (Infra/Node/Etcd/PGSQL, enabling MINIO by config) |
infra.yml |
INFRA |
Initialize infrastructure nodes |
infra-rm.yml |
INFRA |
Remove infrastructure components |
node.yml |
NODE |
Node onboarding and baseline convergence |
node-rm.yml |
NODE |
Node offboarding |
etcd.yml |
ETCD |
ETCD install/scale-out |
etcd-rm.yml |
ETCD |
ETCD remove/scale-in |
pgsql.yml |
PGSQL |
Initialize PostgreSQL cluster or add instance |
pgsql-rm.yml |
PGSQL |
Remove PostgreSQL cluster/instance |
pgsql-user.yml |
PGSQL |
Add business users |
pgsql-db.yml |
PGSQL |
Add business databases |
pgsql-monitor.yml |
PGSQL |
Register remote PostgreSQL for monitoring |
pgsql-migration.yml |
PGSQL |
Generate migration runbook and scripts |
pgsql-pitr.yml |
PGSQL |
Point-in-time recovery (PITR) |
redis.yml |
REDIS |
Deploy Redis |
redis-rm.yml |
REDIS |
Remove Redis |
minio.yml |
MINIO |
Deploy Silo |
minio-rm.yml |
MINIO |
Remove Silo, its configuration, and optional data |
docker.yml |
DOCKER |
Deploy Docker engine |
juice.yml |
JUICE |
Deploy/remove JuiceFS instances |
vibe.yml |
VIBE |
Deploy VIBE dev environment |
kafka.yml |
KAFKA |
Create or converge a complete dynamic KRaft cluster |
kafka-rm.yml |
KAFKA |
Remove a Kafka cluster, or safely retire a single member |
mysql.yml |
MYSQL |
Converge a native MySQL 8.4 single node or three-node InnoDB Cluster (pilot) |
mysql-rm.yml |
MYSQL |
Stop or retire a native MySQL instance or cluster while preserving local state (pilot) |
Auxiliary Playbooks
The following playbooks are cross-module helpers.
| Playbook | Description |
|---|---|
cache.yml |
Build offline installation package cache |
cert.yml |
Issue certificates using Pigsty CA |
app.yml |
Install Docker Compose app templates |
slim.yml |
Minimal component installation scenario |
Playbook Usage Notes
Protection Mechanism
Several modules provide deletion safeguards through *_safeguard parameters:
- PGSQL:
pg_safeguard - ETCD:
etcd_safeguard - MINIO:
minio_safeguard - REDIS:
redis_safeguard - KAFKA:
kafka_safeguard - MYSQL (pilot):
mysql_safeguardand an exact-matchmysql_rm_confirmjointly protect native MySQL retirement
The PGSQL, ETCD, MINIO, REDIS, and KAFKA role defaults are explicitly false; set them to true for initialized production clusters. Native MySQL is the exception: mysql_safeguard defaults to true, and even after disabling it you must provide a mysql_rm_confirm value that exactly matches the target instance or cluster.
When safeguard is true, corresponding *-rm.yml playbooks abort immediately. You can force override via CLI:
Limiting Execution Scope
Use -l to limit execution targets:
For large-scale rollout, validate on one cluster first, then deploy in batches.
Idempotency
Most playbooks are idempotent and safe to rerun, with caveats:
infra.ymldoes not clean data by default; all clean parameters (vmetrics_clean,vlogs_clean,vtraces_clean,grafana_clean,nginx_clean) default tofalse- To rebuild from a clean state, explicitly set relevant clean parameters to
true - Re-running
*-rm.ymldeletion playbooks requires extra caution
Task Tags
Use -t to run only selected task subsets:
Quick Command Reference
INFRA Module
NODE Module
ETCD Module
PGSQL Module
REDIS Module
MINIO Module
DOCKER Module
KAFKA Module
For ordinary convergence, -l must cover every declared member of the selected Kafka cluster; only kafka-rm.yml accepts a single member, for retirement.
MYSQL Pilot Module
mysql-rm.yml stops the service, writes a retirement marker, and deregisters monitoring, but does not delete data directories, backups, configuration, certificates, packages, or InnoDB Cluster metadata.
6 - Port List
This page lists default ports used by Pigsty module components. Adjust as needed or use as a reference for fine-grained firewall configuration.
| Module | Component | Port | Parameter | Status |
|---|---|---|---|---|
NODE |
node_exporter |
9100 |
node_exporter_port |
Enabled |
NODE |
haproxy |
9101 |
haproxy_exporter_port |
Enabled |
NODE |
vector |
9598 |
vector_port |
Enabled |
NODE |
keepalived_exporter |
9650 |
vip_exporter_port |
Optional |
NODE |
chronyd |
123 |
- | Enabled |
DOCKER |
docker |
9323 |
docker_exporter_port |
Optional |
INFRA |
nginx |
80 |
nginx_port |
Enabled |
INFRA |
nginx |
443 |
nginx_ssl_port |
Enabled |
INFRA |
nginx_exporter |
9113 |
nginx_exporter_port |
Enabled |
INFRA |
grafana |
3000 |
grafana_port |
Enabled |
INFRA |
victoriaMetrics |
8428 |
vmetrics_port |
Enabled |
INFRA |
victoriaLogs |
9428 |
vlogs_port |
Enabled |
INFRA |
victoriaTraces |
10428 |
vtraces_port |
Enabled |
INFRA |
vmalert |
8880 |
vmalert_port |
Enabled |
INFRA |
alertmanager |
9059 |
alertmanager_port |
Enabled |
INFRA |
blackbox_exporter |
9115 |
blackbox_port |
Enabled |
INFRA |
dnsmasq |
53 |
dns_port |
Enabled |
ETCD |
etcd |
2379 |
etcd_port |
Enabled |
ETCD |
etcd |
2380 |
etcd_peer_port |
Enabled |
MINIO |
Silo S3 API | 9000 |
minio_port |
Optional |
MINIO |
Silo admin port | 9001 |
minio_admin_port |
Optional |
REDIS |
Redis / Valkey | 6379 |
redis_instances |
Optional |
REDIS |
redis_exporter |
9121 |
redis_exporter_port |
Optional |
VIBE |
code-server |
8443 |
code_port |
Optional |
VIBE |
jupyterlab |
8888 |
jupyter_port |
Optional |
KAFKA |
broker |
9092 |
kafka_port |
🧪 BETA |
KAFKA |
KRaft controller |
9093 |
kafka_controller_port |
🧪 BETA |
KAFKA |
kafka_exporter |
9308 |
kafka_exporter_port |
🧪 BETA |
KAFKA |
JMX exporter |
9404 |
kafka_jmx_exporter_port |
🧪 BETA |
MYSQL |
mysqld |
3306 |
Fixed value (the current pilot exposes no port parameter) | 🧪 PILOT |
MYSQL |
MySQL X Protocol |
33060 |
Fixed value; loopback-only on a single node, member-facing in a 3-node topology | 🧪 PILOT |
MYSQL |
Group Replication |
33061 |
Fixed value; three-node InnoDB Cluster only | 🧪 PILOT |
MYSQL |
MySQL Router RW |
6446 |
Fixed value; three-node InnoDB Cluster only | 🧪 PILOT |
MYSQL |
MySQL Router RO |
6447 |
Fixed value; three-node InnoDB Cluster only | 🧪 PILOT |
MYSQL |
mysqld_exporter |
9104 |
Fixed value; controlled by mysql_exporter_enabled |
🧪 PILOT |
PGSQL |
postgres |
5432 |
pg_port |
Enabled |
PGSQL |
pgbouncer |
6432 |
pgbouncer_port |
Enabled |
PGSQL |
patroni |
8008 |
patroni_port |
Enabled |
PGSQL |
pg_exporter |
9630 |
pg_exporter_port |
Enabled |
PGSQL |
pgbouncer_exporter |
9631 |
pgbouncer_exporter_port |
Enabled |
PGSQL |
pgbackrest_exporter |
9854 |
pgbackrest_exporter_port |
Enabled |
PGSQL |
{{ pg_cluster }}-primary |
5433 |
pg_default_services |
Enabled |
PGSQL |
{{ pg_cluster }}-replica |
5434 |
pg_default_services |
Enabled |
PGSQL |
{{ pg_cluster }}-default |
5436 |
pg_default_services |
Enabled |
PGSQL |
{{ pg_cluster }}-offline |
5438 |
pg_default_services |
Enabled |
PGSQL |
{{ pg_cluster }}-<service> |
543x |
pg_services |
Optional |
The native MySQL pilot reuses port 3306 for MySQL Shell AdminAPI. XtraBackup is invoked by a local systemd timer and has no listening port, while the role explicitly disables the MySQL Router REST management interface. The table lists only network endpoints currently managed by the role.
Public Port Recommendations
If you use firewall zone mode, expose only minimum required ports via node_firewall_public_port:
- Minimal management surface:
22, 80, 443(recommended) - If public direct DB access is required: additionally expose
5432
Avoid exposing internal component ports directly to the public internet: etcd (2379/2380), patroni (8008), exporters (9xxx), object-storage S3/admin endpoints (9000/9001), redis (6379), ferretdb (27017/27018), Kafka (9092/9093), MySQL Group Replication (33061), etc.