This check will try to connect to a specified Postgres database, run a query against it and verify the results.
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: postgres-check
spec:
interval: 30
postgres:
- name: postgres schemas check
url: "postgres://$(username):$(password)@postgres.default.svc:5432/postgres?sslmode=disable"
username:
valueFrom:
secretKeyRef:
name: postgres-credentials
key: USERNAME
password:
valueFrom:
secretKeyRef:
name: postgres-credentials
key: PASSWORD
query: SELECT current_schemas(true)
display:
template: |
{{- range $r := .results.rows }}
{{- $r.current_schemas}}
{{- end}}
results: 1
Field |
Description |
Scheme |
Required |
auth |
username and password value, configMapKeyRef or SecretKeyRef for Postgres server |
Authentication |
|
connection |
connection string to connect to the server |
string |
Yes |
query |
query that needs to be executed on the server |
string |
Yes |
results |
Number rows to check for |
int |
Yes |
* |
All other common fields |
Common |
|
Name |
Description |
Scheme |
rows |
|
[]map[string]interface{} |
count |
Number of rows returned |
int |