Google Cloud SQL Backups
Checks if a Google Cloud SQL instance has been successfully backed up recently.
gcs-database.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
  name: database-backup-example
spec:
  schedule: "@every 5m"
  databaseBackup:
    - name: backup
      maxAge: 6h
      gcp:
        project: google-project-name
        instance: cloudsql-instance-name
| Field | Description | Scheme | 
|---|---|---|
name* | Name of the check, must be unique within the canary  | string  | 
description | Description for the check  | string  | 
display | Expression to change the formatting of the display  | |
icon | Icon for overwriting default icon on the dashboard  | |
labels | Labels for check  | map[string]string  | 
metrics | Metrics to export from  | |
test | Evaluate whether a check is healthy  | |
transform | Transform data from a check into multiple individual checks  | 
Connecting to GCP
There are 3 options when connecting to GCP:
- GKE workload identity (the default if no 
connectionorcredentialsis specified) connection, this is the recommended method, connections are reusable and secure
database-backup-check.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
  name: database-backup-example
spec:
  schedule: "@every 5m"
  databaseBackup:
    - name: backup
      maxAge: 6h
      gcp:
        project: google-project-name
        instance: cloudsql-instance-name
        gcpConnection:
          connection: connection://gcp/internal
accessKeyandsecretKeyEnvVar with the credentials stored in a secret.
gcs-database-backup.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
  name: database-backup-example
spec:
  schedule: "@every 5m"
  databaseBackup:
    - name: backup
      maxAge: 6h
      gcp:
        project: google-project-name
        instance: cloudsql-instance-name
        gcpConnection:
          credentials:
            valueFrom:
              secretKeyRef:
                name: gcp-credentials
                key: AUTH_ACCESS_TOKEN