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 with amd64/x86_64 and arm64/aarch64 architectures. It supports three major distribution families: EL, Debian, and Ubuntu.
Pigsty runs directly on the host without containers. It supports actively maintained mainstream releases in these three families on both architectures.
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 EL8 compatibility on both architectures. Thus, 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 recent software. We recommend these versions for EL users.
EL8 reaches end of life in 2029. Plan an upgrade as soon as possible. EL10 support is ready. The next release will remove EL8 support.
RHEL 7 reached end of life in June 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. We recommend the latest Debian 13.6:
| 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 reached end of life in July 2024. For extended support on legacy OS, consider Enterprise Subscription.
Vagrant
For local VM deployment, use these Vagrant base images. Pigsty development uses the same images:
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. Together, they deliver complete, highly available PostgreSQL services:
PGSQL: Self-healing PostgreSQL clusters with HA, PITR, IaC, SOP, monitoring, and 600 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.
These four modules are usually installed together. You can also use them separately. In practice, only the NODE module is usually mandatory.
Extension Modules
Pigsty provides six extension modules. They add capabilities to PostgreSQL. Core functions do not require them:
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 provide optional PostgreSQL ecosystem capabilities. The count of 10 official modules above does not include them:
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. It supports 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
The default Pigsty home directory is ~/pigsty. It has this file structure:
~/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. This directory contains observability data and generated configuration:
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. The ca role generates this key when you run deploy.yml or infra.yml.
Pigsty installs these certificate files on managed nodes:
All infra nodes have these certificates:
If the admin node fails, files/pki and pigsty.yml should be available on the backup admin node. Use rsync to copy them:
INFRA FHS
The infra role creates infra_data (default: /data/infra) and creates a symlink /infra -> /data/infra.
The permissions for /data/infra 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
node_data specifies the node data directory. The default is /data, with owner root:root and mode 0755.
Most core components place their default data directories here. Some pilot modules use their own fixed paths. 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 loads configuration with explicit -f arguments. 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.
Pigsty copies files/victoria/bin/* to /infra/bin/ and files/victoria/rules/* to /infra/rules/. Each module registers FileSD targets under /infra/targets/*.
Pigsty stores generated INFRA units in /etc/systemd/system/. These include 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 the /usr/pgsql symlink. It points to the version specified by pg_version. For example:
The default pg_bin_dir is therefore /usr/pgsql/bin/. Pigsty adds this path to the system PATH environment variable in /etc/profile.d/pgsql.sh.
On Ubuntu/Debian, the default PostgreSQL Deb package installation location is:
Pigsty also stores generated PostgreSQL runtime units in /etc/systemd/system/. These primarily include patroni.service, postgres.service, pgbouncer.service, pg_exporter.service, pgbackrest_exporter.service, and pgbouncer_exporter.service. If VIP is enabled, they also include vip-manager.service.
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. It retains 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 stores generated Redis/Valkey instance and exporter units in /etc/systemd/system/. Instance units use Type=notify. Packages can provide units in distribution directories. The roles do not write to those directories.
4 - Parameters
Use this page to find Pigsty v4.x parameters. For full explanations, read each module’s param page.
The current source and parameter reference pages confirm 373 public parameters across the 10 official modules. Native MySQL 8.4 remains a pilot module. Its 13 public parameters appear separately and are not part of 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
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.ymlpgsql-user.yml pgsql-db.ymlpgsql-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 their safeguards to true for initialized production clusters.
Native MySQL uses mysql_safeguard: true by default. After you disable it, you must still set mysql_rm_confirm to exactly match the target instance or cluster.
If the safeguard is true, the corresponding *-rm.yml playbook aborts immediately. To override it, use the command line:
Limiting Execution Scope
Use -l to limit execution targets:
For a large deployment, validate 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 cleanup parameters default tofalse:vmetrics_clean,vlogs_clean,vtraces_clean,grafana_clean, andnginx_clean.- 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 include 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. It preserves data directories, backups, configuration, certificates, packages, and InnoDB Cluster metadata.
6 - Port List
This page lists the default ports for Pigsty module components. Adjust them as needed. Use this list to configure specific firewall rules.
| 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. A local systemd timer runs XtraBackup, which has no listening port. 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 direct public exposure of internal component ports. Examples include:
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.