Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ nfpms:
- rpm
- deb
bindir: /usr/sbin
scripts:
preremove: packaging/preremove.sh
overrides:
rpm:
scripts:
postinstall: packaging/rpm/postinstall.sh
preremove: packaging/rpm/preremove.sh
deb:
scripts:
postinstall: packaging/deb/postinstall.sh
preremove: packaging/deb/preremove.sh
contents:
- src: packaging/pgedge-control-plane.service
dst: /usr/lib/systemd/system/pgedge-control-plane.service
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## v0.9.0 - 2026-06-16

### Added

- Added a feature to enable manual Postgres minor version updates in systemd clusters. The Control Plane will now update its copy of the database spec when it detects changes to an instance's Postgres or Spock version.
- Added post-update and pre-remove scriptlets to our RPM and deb packages to automatically restart the Control Plane service during upgrades and to stop and disable the service during uninstallation.
- Added support for Debian-based distributions to the systemd orchestrator.
- Added deb packages to our releases for Debian-based distributions.
- Added the ability to configure a separate override for the database owner GID to complement the existing UID override.
- Added support for Spock 5.0.9 on Postgres 16.14, 17.10, and 18.4.
- Added `pg_hba_conf` and `pg_ident_conf` fields to the database spec — Operators can now supply custom `pg_hba.conf` and `pg_ident.conf` entries at the database or per-node level, giving full control over client authentication rules and ident mappings. Per-node entries take first-match priority over database-level entries.
- Added Knowledge Base search support to the MCP service — Enable the `search_knowledgebase` tool via the `kb_enabled` option in the MCP service configuration, with support for OpenAI and Voyage AI embedding providers. The Knowledge Base file is loaded from a configurable host path and mounted read-only into the container.

### Changed

- Changed the instance monitoring system to query the Postgres and Spock versions for replica instances and report them in the databases API.

### Fixed

- Fixed global Patroni parameters not being applied to running database clusters. Dynamic configuration changes are now patched directly via the Patroni API on the primary instance, ensuring parameters that cannot be changed via config file reload take effect immediately.
- Fixed valid instance IDs being incorrectly rejected by the API when the database ID was at its maximum allowed length — Instance IDs are an internal aggregate of the database ID, node name, and host hash, and are no longer subject to the same length limit as user-supplied identifiers.
- Database specs with duplicate allocated ports on a single host are now rejected by the API.

## v0.8.1 - 2026-05-19

### Added
Expand Down
2 changes: 1 addition & 1 deletion api/apiv1/gen/control_plane/service.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion api/apiv1/gen/http/openapi.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion api/apiv1/gen/http/openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion api/apiv1/gen/http/openapi3.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion api/apiv1/gen/http/openapi3.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion api/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v0.8.1
v0.9.0
3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260504-150235.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260511-090000.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260511-090010.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260511-090020.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260511-100000.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260610-000000.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260611-090000.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Added-20260611-090010.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Changed-20260504-152348.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Fixed-20260611-090000.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Fixed-20260611-090010.yaml

This file was deleted.

3 changes: 0 additions & 3 deletions changes/unreleased/Fixed-20260616-150152.yaml

This file was deleted.

22 changes: 22 additions & 0 deletions changes/v0.9.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## v0.9.0 - 2026-06-16

### Added

- Added a feature to enable manual Postgres minor version updates in systemd clusters. The Control Plane will now update its copy of the database spec when it detects changes to an instance's Postgres or Spock version.
- Added post-update and pre-remove scriptlets to our RPM and deb packages to automatically restart the Control Plane service during upgrades and to stop and disable the service during uninstallation.
- Added support for Debian-based distributions to the systemd orchestrator.
- Added deb packages to our releases for Debian-based distributions.
- Added the ability to configure a separate override for the database owner GID to complement the existing UID override.
- Added support for Spock 5.0.9 on Postgres 16.14, 17.10, and 18.4.
- Added `pg_hba_conf` and `pg_ident_conf` fields to the database spec — Operators can now supply custom `pg_hba.conf` and `pg_ident.conf` entries at the database or per-node level, giving full control over client authentication rules and ident mappings. Per-node entries take first-match priority over database-level entries.
- Added Knowledge Base search support to the MCP service — Enable the `search_knowledgebase` tool via the `kb_enabled` option in the MCP service configuration, with support for OpenAI and Voyage AI embedding providers. The Knowledge Base file is loaded from a configurable host path and mounted read-only into the container.

### Changed

- Changed the instance monitoring system to query the Postgres and Spock versions for replica instances and report them in the databases API.

### Fixed

- Fixed global Patroni parameters not being applied to running database clusters. Dynamic configuration changes are now patched directly via the Patroni API on the primary instance, ensuring parameters that cannot be changed via config file reload take effect immediately.
- Fixed valid instance IDs being incorrectly rejected by the API when the database ID was at its maximum allowed length — Instance IDs are an internal aggregate of the database ID, node name, and host hash, and are no longer subject to the same length limit as user-supplied identifiers.
- Database specs with duplicate allocated ports on a single host are now rejected by the API.
8 changes: 4 additions & 4 deletions docs/api/openapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The Control Plane server serves a JSON OpenAPI v3 specification from the

You can also access offline copies of the OpenAPI specification in the pgEdge Control Plane repository. We generate a few versions of the specification to accommodate different tools and use cases:

- [OpenAPI v3 YAML](https://github.com/pgEdge/control-plane/blob/v0.8.1/api/apiv1/gen/http/openapi3.yaml)
- [OpenAPI v3 JSON](https://github.com/pgEdge/control-plane/blob/v0.8.1/api/apiv1/gen/http/openapi3.json)
- [OpenAPI v2 YAML](https://github.com/pgEdge/control-plane/blob/v0.8.1/api/apiv1/gen/http/openapi.yaml)
- [OpenAPI v2 JSON](https://github.com/pgEdge/control-plane/blob/v0.8.1/api/apiv1/gen/http/openapi.json)
- [OpenAPI v3 YAML](https://github.com/pgEdge/control-plane/blob/v0.9.0/api/apiv1/gen/http/openapi3.yaml)
- [OpenAPI v3 JSON](https://github.com/pgEdge/control-plane/blob/v0.9.0/api/apiv1/gen/http/openapi3.json)
- [OpenAPI v2 YAML](https://github.com/pgEdge/control-plane/blob/v0.9.0/api/apiv1/gen/http/openapi.yaml)
- [OpenAPI v2 JSON](https://github.com/pgEdge/control-plane/blob/v0.9.0/api/apiv1/gen/http/openapi.json)
2 changes: 1 addition & 1 deletion docs/api/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ hide:

</style>

<redoc src="https://raw.githubusercontent.com/pgEdge/control-plane/refs/tags/v0.8.1/api/apiv1/gen/http/openapi3.json"/>
<redoc src="https://raw.githubusercontent.com/pgEdge/control-plane/refs/tags/v0.9.0/api/apiv1/gen/http/openapi3.json"/>
23 changes: 23 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## v0.9.0 - 2026-06-16

### Added

- Added a feature to enable manual Postgres minor version updates in systemd clusters. The Control Plane will now update its copy of the database spec when it detects changes to an instance's Postgres or Spock version.
- Added post-update and pre-remove scriptlets to our RPM and deb packages to automatically restart the Control Plane service during upgrades and to stop and disable the service during uninstallation.
- Added support for Debian-based distributions to the systemd orchestrator.
- Added deb packages to our releases for Debian-based distributions.
- Added the ability to configure a separate override for the database owner GID to complement the existing UID override.
- Added support for Spock 5.0.9 on Postgres 16.14, 17.10, and 18.4.
- Added `pg_hba_conf` and `pg_ident_conf` fields to the database spec — Operators can now supply custom `pg_hba.conf` and `pg_ident.conf` entries at the database or per-node level, giving full control over client authentication rules and ident mappings. Per-node entries take first-match priority over database-level entries.
- Added Knowledge Base search support to the MCP service — Enable the `search_knowledgebase` tool via the `kb_enabled` option in the MCP service configuration, with support for OpenAI and Voyage AI embedding providers. The Knowledge Base file is loaded from a configurable host path and mounted read-only into the container.

### Changed

- Changed the instance monitoring system to query the Postgres and Spock versions for replica instances and report them in the databases API.

### Fixed

- Fixed global Patroni parameters not being applied to running database clusters. Dynamic configuration changes are now patched directly via the Patroni API on the primary instance, ensuring parameters that cannot be changed via config file reload take effect immediately.
- Fixed valid instance IDs being incorrectly rejected by the API when the database ID was at its maximum allowed length — Instance IDs are an internal aggregate of the database ID, node name, and host hash, and are no longer subject to the same length limit as user-supplied identifiers.
- Database specs with duplicate allocated ports on a single host are now rejected by the API.

## v0.8.1 - 2026-05-19

### Added
Expand Down
2 changes: 1 addition & 1 deletion docs/development/e2e-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ specifying `FIXTURE_CONTROL_PLANE_IMAGE` with the
`{deploy,update,reset}-{lima,ec2}-fixture` targets. For example:

```sh
make update-lima-fixture FIXTURE_CONTROL_PLANE_IMAGE='ghcr.io/pgedge/control-plane:v0.8.1-rc.1'
make update-lima-fixture FIXTURE_CONTROL_PLANE_IMAGE='ghcr.io/pgedge/control-plane:v0.9.0-rc.1'
```

### Fixture variants
Expand Down
10 changes: 5 additions & 5 deletions docs/installation/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Given that output, the following stack definition file will deploy a single Cont
```yaml
services:
host-1:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-1
Expand All @@ -113,7 +113,7 @@ services:
constraints:
- node.id==vzou89zyd4n3xz6p6jvoohqxx
host-2:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-2
Expand All @@ -128,7 +128,7 @@ services:
constraints:
- node.id==5sa7m11ub62t1n22feuhg0mbp
host-3:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-3
Expand Down Expand Up @@ -191,7 +191,7 @@ For example:

```yaml
host-4:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-4
Expand Down Expand Up @@ -227,7 +227,7 @@ Paste the output below and click "Generate Stack." This generator is fully local

<textarea id="nodes" rows="8" style="width:100%; font-family:monospace;"></textarea>

<button id="generateBtn" data-input="nodes" data-output="global-output" data-version="v0.8.1" class="md-button yaml-generate">Generate Stack Definition</button>
<button id="generateBtn" data-input="nodes" data-output="global-output" data-version="v0.9.0" class="md-button yaml-generate">Generate Stack Definition</button>

``` yaml {#global-output}
# Once submitted, the generated stack will appear here.
Expand Down
8 changes: 4 additions & 4 deletions docs/installation/mtls.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ For example, if you've placed the certificates in a `/opt/pgedge/control-plane`
```yaml
services:
host-1:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-1
Expand Down Expand Up @@ -195,7 +195,7 @@ Now that our certificates are available on each machine, we can update our stack
```yaml
services:
host-1:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-1
Expand All @@ -219,7 +219,7 @@ services:
constraints:
- node.id==81kw1zwmh9y8hk4rd7igylry0
host-2:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-2
Expand All @@ -240,7 +240,7 @@ services:
constraints:
- node.id==xz7069ytbdq7uzd2tvrj2wlf2
host-3:
image: ghcr.io/pgedge/control-plane:v0.8.1
image: ghcr.io/pgedge/control-plane:v0.9.0
command: run
environment:
- PGEDGE_HOST_ID=host-3
Expand Down
Loading
Loading