Repository navigation
Immutable
release. Only release title and notes can be modified.
Highlights
- Azure Database for PostgreSQL with Microsoft Entra Workload Identity. The operator and CLI can authenticate to Azure Database for PostgreSQL Flexible Server through AKS Workload Identity. Use
connection.params.auth.type: azure_workload_identityin a policy, or--auth azure-workload-identityon the CLI. The short-lived Entra access token is the password and is renewed before it expires, so no password Secret is needed. See operator connections. (#246) - pgroles no longer plans to revoke its own authority. On PostgreSQL 16+, a non-superuser executor never plans to revoke a membership that gives it
ADMINon a role, or to removeADMINfrom one. When the executor creates a role, PostgreSQL gives itADMINthrough a membership attributed to the bootstrap superuser (alloydbadminon AlloyDB,azuresuon Azure). The next reconcile inadoptorauthoritativemode planned to revoke it, and the authority preflight blocked the policy withUnsatisfiableRevoke. Those policies now converge, whether the executor's membership is undeclared or declared withoutadmin. (#254)
Upgrade notes
- Apply the 0.15 CRDs before upgrading the controller.
PostgresPolicyaddsazure_workload_identitytoconnection.params.auth.type. Until the CRDs are updated, the API server rejects policies that use it. Other connection settings are unchanged. See Upgrading the operator. (#246) - New chart value
operator.podLabels. It adds labels to the operator pod, such asazure.workload.identity/use: "true"for AKS Workload Identity. Existing values are unchanged. (#246) - Blocked executor revokes disappear from plans. A policy that was blocked on revoking the executor's own
ADMINmembership plans without that revoke after upgrading. Declarations added as a workaround, such as{ name: <executor>, admin: true, inherit: true }, can stay. Declaring the executor withadmin: falseno longer removes itsADMIN. (#254)
Added
- Azure Database for PostgreSQL Flexible Server authentication through Microsoft Entra Workload Identity in the CLI and Kubernetes operator, with short-lived token acquisition and operator pool renewal. (#246)
- AKS Workload Identity Helm settings and documentation for passwordless connections and externally managed Entra roles. (#246)
Fixed
- On PostgreSQL 16+, a non-superuser executor no longer plans to revoke its own
ADMIN OPTIONmemberships, or to removeADMINfrom them. That covers the membershipCREATE ROLEgives the executor and a superuser'sGRANT ... WITH ADMIN OPTIONto it. Executor memberships withoutADMIN, such as the separate onecreaterole_self_grantadds, are still reconciled as declared. The docs explorer derives the same memberships from its snapshot, so its plans match. (#254) - On PostgreSQL 16+, the authority preflight and the docs explorer judge a membership removal per grantor. Removing one of a member's grants no longer counts as losing the role's inherited privileges while another grant still supplies them, so a later default-privilege revoke for that role is no longer rejected. (#254)
UnsatisfiableMembershipOptionsno longer blames "earlier membership reductions" when the executor never inherited the recorded grantor's privileges, for example when turninginheritoff on a bootstrap-superuser membership. It now saysGRANTED BYneeds privileges the executor does not inherit. (#254)
For library users
RoleGraph::executor_authority_edgesholds the(role, member, grantor)memberships through which the inspecting executor holdsADMIN, andMembershipRow::executor_authorityflags them.diff()never removes them or reduces theirADMIN. Code that builds aRoleGraphwith a struct literal needs the new field. (#254)pgroles_inspect::authandpgroles_inspect::azure_authare public modules providing token-based authentication;AccessTokencarries a token and its expiry. (#246)