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
  spec:
    postgres:
      - connection: "postgres://$(username):$(password)@postgres.default.svc:5432/postgres?sslmode=disable"
        auth:
          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 | 
| description | Description for the check | string |  | 
| display | Template to display query results in text (overrides default bar format for UI) | Template |  | 
| icon | Icon for overwriting default icon on the dashboard | *string |  | 
|  |  |  |  | 
| query | query that needs to be executed on the server | string | Yes | 
|  |  |  |  | 
|  |  |  |  |