Skip to main content

Google Cloud SQL Backups

Checks if a Google Cloud SQL instance has been successfully backed up recently.

google-cloud-sql-backup.yaml
apiVersion: 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
FieldDescriptionScheme
gcp.instance*

Cloud SQL instance ID

string

gcp.project*

GCP project ID

string

name*

Name of the check, must be unique within the canary

string

gcp.gcpConnection

Google Cloud connection credentials

GCPConnection

maxAge

Maximum backup age. Set this field to validate backup freshness.

Duration

dependsOn

Checks that must complete before this check runs

[]string

description

Description for the check

string

display

Expression to change the formatting of the display

Expression

icon

Icon for overwriting default icon on the dashboard

Icon

labels

Labels for check

[map[string]string]

markFailOnEmpty

If a transformation or datasource returns empty results, the check should fail

boolean

metrics

Metrics to export from

[]Metrics

namespace

Namespace to insert the check result into when it differs from the canary namespace

string

relationships

Relationships that link check results to components or configs

Relationship

test

Evaluate whether a check is healthy

Expression

transform

Transform data from a check into multiple individual checks

Expression

transformDeleteStrategy

Status to apply to transformed checks when the source check no longer returns them

string

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.
database-backup-check.yaml
apiVersion: 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
  1. credentials EnvVar with Google Cloud service account JSON stored in a secret.
google-cloud-sql-backup.yaml
apiVersion: 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