Configuration Reference
The pgEdge Control Plane server can be configured with a JSON-formatted
configuration file, environment variables, or a combination of both. If you're
using a configuration file, you can provide it to the pgEdge Control Plane
server command with the -c or --config parameter.
This reference uses a JSON-path like syntax to denote nested properties; for example:
property.sub_property.
Required Settings
| JSON key | Environment variable | Type | Description | Constraints |
|---|---|---|---|---|
host_id |
PGEDGE_HOST_ID |
string | A logical identifier for the host that the Control Plane server is running on. This ID must be stable and unique to each Control Plane server instance. | Must be 1-63 characters long and contain only lower-cased letters, numbers, and hyphens (-). It must also start and end with either a lower-cased letter or number. |
data_dir |
PGEDGE_DATA_DIR |
string | A directory path where the Control Plane application data will be stored. This includes the server's internal database and configuration files as well as the data and configuration files for each Postgres database instance managed by this Control Plane server. |
Optional Settings
| JSON key | Environment variable | Type | Default | Description | Constraints |
|---|---|---|---|---|---|
ipv4_address |
PGEDGE_IPV4_ADDRESS |
string | Automatically detected | Can be used to override the automatically detected IP address of the host that runs this Control Plane server. | Must be a valid, stable IPv4 Address. |
hostname |
PGEDGE_HOSTNAME |
string | Automatically detected | Can be used to override the automatically detected hostname of the host that runs this Control Plane server. | Must be a valid, stable hostname. |
stop_grace_period_seconds |
PGEDGE_STOP_GRACE_PERIOD_SECONDS |
int | 30 |
Controls the graceful shutdown period of the Control Plane server. | |
etcd_mode |
PGEDGE_ETCD_MODE |
string | server |
Determines whether this Control Plane server acts as an Etcd server or as a client only. | Must be one of: server or client. |
mqtt.enabled |
PGEDGE_MQTT__ENABLED |
boolean | false |
Exposes the Control Plane API over MQTT in addition to the default HTTP server. | |
mqtt.broker_url |
PGEDGE_MQTT__BROKER_URL |
string | URL to an MQTT broker for the MQTT integration. | ||
mqtt.topic |
PGEDGE_MQTT__TOPIC |
string | The MQTT topic that the Control Plane server will subscribe to. | ||
mqtt.client_id |
PGEDGE_MQTT__CLIENT_ID |
string | The client ID that the Control Plane uses when connecting to the MQTT broker. | ||
mqtt.username |
PGEDGE_MQTT__USERNAME |
string | The username that the Control Plane uses when connecting to the MQTT broker. | ||
mqtt.password |
PGEDGE_MQTT__PASSWORD |
string | The password that the Control Plane uses when connecting to the MQTT broker. | ||
http.bind_addr |
PGEDGE_HTTP__BIND_ADDR |
string | 0.0.0.0 |
The address that the Control Plane HTTP server will listen on. Defaults to 0.0.0.0 to listen on all interfaces. |
Must be accessible by other Control Plane server instances in this cluster. |
http.port |
PGEDGE_HTTP__PORT |
int | 3000 |
The port that the Control Plane HTTP server will listen on. | |
logging.level |
PGEDGE_LOGGING__LEVEL |
string | info |
The log level for the Control Plane server. | |
logging.pretty |
PGEDGE_LOGGING__PRETTY |
boolean | false |
Enables human-readable logs and colorization. | |
etcd_server.log_level |
PGEDGE_ETCD_SERVER__LOG_LEVEL |
string | fatal |
The log level for the embedded Etcd server. | |
etcd_server.peer_port |
PGEDGE_ETCD_SERVER__PEER_PORT |
int | 2380 |
The port that the embedded Etcd server will listen on for peer connections. | |
etcd_server.client_port |
PGEDGE_ETCD_SERVER__CLIENT_PORT |
int | 2379 |
The port that the embedded Etcd server will listen on for client connections. | |
etcd_client.log_level |
PGEDGE_ETCD_CLIENT__LOG_LEVEL |
string | fatal |
The log level for Etcd client operations performed by this Control Plane server. | |
docker_swarm.image_repository_host |
PGEDGE_DOCKER_SWARM__IMAGE_REPOSITORY_HOST |
string | ghcr.io/pgedge |
The base URL of pgEdge Docker images. | |
docker_swarm.database_networks_cidr |
PGEDGE_DOCKER_SWARM__DATABASE_NETWORKS_CIDR |
string | 10.128.128.0/18 |
The CIDR used to allocate per-database networks. | Must not be changed after creating databases. |
docker_swarm.database_networks_subnet_bits |
PGEDGE_DOCKER_SWARM__DATABASE_NETWORKS_SUBNET_BITS |
int | 26 |
The subnet size for per-database networks. | Must not be changed after creating databases. |
database_owner_uid |
PGEDGE_DATABASE_OWNER_UID |
int | 26 |
The UID to use for database configuration and data. | Must match the UID that owns the Postgres server processes. |