# Functions

NewPostgresRoleManager returns an implementation of RoleManager for postgres.
NewRoleSynchronizer creates a new RoleSynchronizer.
Reconcile triggers reconciliation of managed roles, gets their status, and updates it into the cluster Status.

# Structs

DatabaseRole represents the role information read from / written to the Database The password management in the apiv1.RoleConfiguration assumes the use of Secrets, so cannot cleanly be mapped to Postgres.
PostgresRoleManager is a RoleManager for a database instance.
RoleError is an EXPECTABLE error when performing role-related actions on the database.
A RoleSynchronizer is a Kubernetes manager.Runnable that makes sure the Roles in the PostgreSQL databases are in sync with the spec c.f.

# Interfaces

RoleManager abstracts the functionality of reconciling with PostgreSQL roles.