Documentation
¶
Overview ¶
pkg/provider/postgres/provider.go
PostgreSQL provider for Orkestra.
Handles the "postgres" block in Katalog declarations. Uses pgx/v5 — the standard PostgreSQL driver for Go.
Supported resource kinds:
database — PostgreSQL database (create, drop) role — Database role/user (create, update password and privileges, drop) extension — PostgreSQL extension (CREATE EXTENSION IF NOT EXISTS, drop)
Installation:
go get github.com/jackc/pgx/v5
Registration:
p, err := pgsprovider.NewFromAuth(ctx, auth) registry.Register(p)
Auth keys (providers[].auth block):
host — server hostname or IP (default: localhost) port — server port (default: 5432) user — superuser name (must be able to CREATE DATABASE/ROLE) password — superuser password (or set PGPASSWORD env var) sslmode — disable | require | verify-ca | verify-full (default: require)
Katalog:
providers:
- name: postgres
required: true
auth:
host: "$PG_HOST"
user: "$PG_USER"
password: "$PG_PASSWORD"
operatorBox:
providers:
postgres:
- database:
name: "{{ .metadata.name }}"
owner: "{{ .spec.dbUser }}"
- role:
name: "{{ .spec.dbUser }}"
password: "{{ .spec.dbPassword }}"
privileges: "LOGIN NOSUPERUSER"
credentials:
secretName: "{{ .metadata.name }}-pg-creds" # PG_PASSWORD key
- extension:
name: pgcrypto
database: "{{ .metadata.name }}"
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider implements orktypes.Provider for the "postgres" block.
func New ¶
New creates a PostgreSQL provider from a DSN string. DSN format: "postgres://user:password@host:port/postgres?sslmode=require"
func NewFromAuth ¶
NewFromAuth creates a PostgreSQL provider from a Katalog auth map. Keys: host, port, user, password, sslmode.
Click to show internal directories.
Click to hide internal directories.