feat(database): add declarative management of foreign servers#8401
Merged
leonardoce merged 26 commits intocloudnative-pg:mainfrom Sep 18, 2025
Merged
Conversation
Contributor
|
❗ By default, the pull request is configured to backport to all release branches.
|
e3214cd to
6695674
Compare
5d5bad3 to
48afc4c
Compare
48afc4c to
64c9170
Compare
Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu>
… of foreign servers Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu>
…WIP) Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu>
Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu>
Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
9d685ea to
50fb06a
Compare
Member
|
/test |
Contributor
|
@mnencia, here's the link to the E2E on CNPG workflow run: https://github.com/cloudnative-pg/cloudnative-pg/actions/runs/17805595546 |
mnencia
approved these changes
Sep 18, 2025
df73505 to
353d04f
Compare
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
353d04f to
07792bc
Compare
mnencia
reviewed
Sep 18, 2025
rossigee
pushed a commit
to rossigee/cloudnative-pg
that referenced
this pull request
Oct 2, 2025
…ative-pg#8401) Add support for managing PostgreSQL Foreign Data Wrappers (FDWs) with foreign servers declaratively via the `spec.servers` field in the `Database` custom resource. This enables Kubernetes-native, privilege-aware lifecycle management of foreign servers without requiring direct SQL execution or superuser privileges. Supported configuration includes `name`, `ensure`, `usage` grants/revokes, and `options`. A foreign data wrapper must already exist. Only foreign servers explicitly listed in `spec.servers` are reconciled; others remain untouched. Reconciliation uses PostgreSQL’s native `CREATE SERVER`, `ALTER SERVER`, and `DROP SERVER` commands. Closes cloudnative-pg#8063 Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu> Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com> Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com> Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com> Co-authored-by: Armando Ruocco <armando.ruocco@enterprisedb.com> Co-authored-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com> Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
THE-BRAHMA
pushed a commit
to THE-BRAHMA/cloudnative-pg
that referenced
this pull request
Oct 30, 2025
…ative-pg#8401) Add support for managing PostgreSQL Foreign Data Wrappers (FDWs) with foreign servers declaratively via the `spec.servers` field in the `Database` custom resource. This enables Kubernetes-native, privilege-aware lifecycle management of foreign servers without requiring direct SQL execution or superuser privileges. Supported configuration includes `name`, `ensure`, `usage` grants/revokes, and `options`. A foreign data wrapper must already exist. Only foreign servers explicitly listed in `spec.servers` are reconciled; others remain untouched. Reconciliation uses PostgreSQL’s native `CREATE SERVER`, `ALTER SERVER`, and `DROP SERVER` commands. Closes cloudnative-pg#8063 Signed-off-by: YingZhu <yingzhu3@andrew.cmu.edu> Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com> Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com> Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com> Co-authored-by: Armando Ruocco <armando.ruocco@enterprisedb.com> Co-authored-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com> Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com> Signed-off-by: theBrahma <office.utpal.brahma@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add support for managing PostgreSQL Foreign Data Wrappers (FDWs) with foreign servers declaratively via the
spec.serversfield in theDatabasecustom resource.This enables Kubernetes-native, privilege-aware lifecycle management of foreign servers without requiring direct SQL execution or superuser privileges.
Supported configuration includes
name,ensure,usagegrants/revokes, andoptions. A foreign data wrapper must already exist.Only foreign servers explicitly listed in
spec.serversare reconciled; others remain untouched. Reconciliation uses PostgreSQL’s nativeCREATE SERVER,ALTER SERVER, andDROP SERVERcommands.Closes #8063