Skip to main content

GCP CloudSQL Backups

Checks if a GCP CloudSQL instance has been successfully backed up recently.

gcp-database.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: database-backup-check
spec:
interval: 60
databaseBackup:
- maxAge: 6h
gcp:
project: google-project-name
instance: cloudsql-instance-name
FieldDescriptionSchemeRequired
gcpConnect to GCP project and instanceGCPDatabaseYes
maxAgeMax age for backup allowed, eg. 5h30mDuration
nameName of the check, must be unique within the canarystringYes
descriptionDescription for the checkstring
iconIcon for overwriting default icon on the dashboardstring
labelsLabels for checkmap[string]string
testEvaluate whether a check is healthyExpression
displayExpression to change the formatting of the displayExpression
transformTransform data from a check into multiple individual checksExpression
metricsMetrics to export from[]Metrics

Duration

Durations are strings with an optional fraction and unit e.g. 300ms, 1.5h or 2h45m. Valid time units are ms, s, m, h.

GCPDatabase

FieldDescriptionSchemeRequired
projectGCP project\ namestringYes
instanceGoogle CloudSQL instance namestringYes
Connection
connectionPath of an existing connection e.g. connection://aws/instance/. Mutually exclusive with credentials
Connection
credentialsGCP Access Token File. Mutually exclusive with connection EnvVarYes

Connecting to GCP

There are 3 options when connecting to GCP:

  1. GKE workload identity (the default if no connection or credentials is specified)
  2. connection, this is the recommended method, connections are reusable and secure
aws-connection.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: database-backup-check
spec:
interval: 60
databaseBackup:
- maxAge: 6h
gcp:
project: google-project-name
instance: cloudsql-instance-name
connection: connection://gcp/internal
  1. accessKey and secretKey EnvVar with the credentials stored in a secret.
aws.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: database-backup-check
spec:
interval: 60
databaseBackup:
- name: gcp db check
maxAge: 6h
gcp:
project: google-project-name
credentials:
valueFrom:
secretKeyRef:
name: gcp-credentials
key: AUTH_ACCESS_TOKEN