Skip to content

fix: add missing ownerRef+ownerSelector field#377

Open
fernandezcuesta wants to merge 3 commits into
masterfrom
372-support-roleref-for-postgres-database-1
Open

fix: add missing ownerRef+ownerSelector field#377
fernandezcuesta wants to merge 3 commits into
masterfrom
372-support-roleref-for-postgres-database-1

Conversation

@fernandezcuesta

@fernandezcuesta fernandezcuesta commented May 18, 2026

Copy link
Copy Markdown
Collaborator

Description of your changes

Implements ownerRef+ownerSelector for PG Database resource.
Fixes #372

I have:

  • Read and followed Crossplane's contribution process.
  • Run make reviewable to ensure this PR is ready for review.

How has this code been tested

Added an integration test with ownerSelector matching labels for the owner.

Signed-off-by: Jesús Fernández <7312236+fernandezcuesta@users.noreply.github.com>
@fernandezcuesta fernandezcuesta linked an issue May 18, 2026 that may be closed by this pull request
@fernandezcuesta fernandezcuesta changed the title fix: add missing ownerRef and ownerSelector fields fix: add missing ownerSelector field May 18, 2026
@fernandezcuesta fernandezcuesta changed the title fix: add missing ownerSelector field fix: add missing ownerRef+ownerSelector field May 18, 2026
Signed-off-by: Jesús Fernández <7312236+fernandezcuesta@users.noreply.github.com>
@fernandezcuesta fernandezcuesta marked this pull request as ready for review May 18, 2026 20:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Crossplane reference & selector support for the PostgreSQL Database owner role, allowing spec.forProvider.owner to be resolved via ownerRef / ownerSelector rather than requiring a literal role name.

Changes:

  • Add ownerRef and ownerSelector fields to the Database API (cluster + namespaced) and generate reference resolvers/deepcopy updates.
  • Update CRDs and examples to demonstrate selecting the owner Role via labels.
  • Add an integration test assertion that validates the resolved database owner in PostgreSQL.

Reviewed changes

Copilot reviewed 9 out of 13 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
package/crds/postgresql.sql.m.crossplane.io_databases.yaml Adds ownerRef / ownerSelector schema for namespaced Database CRD.
package/crds/postgresql.sql.crossplane.io_databases.yaml Adds ownerRef / ownerSelector schema for cluster-scoped Database CRD.
apis/namespaced/postgresql/v1alpha1/database_types.go Introduces OwnerRef / OwnerSelector fields for namespaced Database parameters.
apis/namespaced/postgresql/v1alpha1/zz_generated.resolvers.go Adds reference resolution for spec.forProvider.owner.
apis/namespaced/postgresql/v1alpha1/zz_generated.deepcopy.go Deep-copies the new reference/selector fields.
apis/cluster/postgresql/v1alpha1/database_types.go Introduces OwnerRef / OwnerSelector fields for cluster Database parameters.
apis/cluster/postgresql/v1alpha1/zz_generated.resolvers.go Adds reference resolution for spec.forProvider.owner.
apis/cluster/postgresql/v1alpha1/zz_generated.deepcopy.go Deep-copies the new reference/selector fields.
examples/namespaced/postgresql/role.yaml Adds labels used by ownerSelector.
examples/namespaced/postgresql/database.yaml Adds an example Database using ownerSelector.
examples/cluster/postgresql/role.yaml Adds labels used by ownerSelector.
examples/cluster/postgresql/database.yaml Adds an example Database using ownerSelector.
cluster/local/postgresdb_functions.sh Adds an integration test check for the resolved database owner.
Files not reviewed (4)
  • apis/cluster/postgresql/v1alpha1/zz_generated.deepcopy.go: Language not supported
  • apis/cluster/postgresql/v1alpha1/zz_generated.resolvers.go: Language not supported
  • apis/namespaced/postgresql/v1alpha1/zz_generated.deepcopy.go: Language not supported
  • apis/namespaced/postgresql/v1alpha1/zz_generated.resolvers.go: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +48 to +49
// +immutable
// +optional
Comment on lines +53 to +54
// +immutable
// +optional
Comment on lines +47 to +48
// +immutable
// +optional
Comment on lines +52 to +53
// +immutable
// +optional
}

check_database_owner_ref() {
echo_step "check if database created with ownerRef has correct owner"
owner=$(echo "${owner}" | xargs)

if [ "${owner}" = "ownerrole" ]; then
echo_info "ownerRef resolved correctly: owner=${owner}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support ownerRef for postgres database

2 participants