Skip to content

Databases

SKE provisions managed database instances in your cloud account. On AWS, databases run on RDS. On GCP, they run on Cloud SQL.

Databases are created in the dashboard: go to Infrastructure, Databases and select Create database. Provisioning runs as a tracked job; follow it on the database’s page or with ske job list. Sync from AWS brings in a database that already exists in your AWS account.

A database must be attached to a network — create the network first (see Networks). Only active networks can be picked.

Engine Versions AWS GCP
MySQL 8.0, 8.4 (default) RDS Cloud SQL
PostgreSQL 13 to 18 (default 17) RDS Cloud SQL
Aurora MySQL 3 Aurora —
Aurora PostgreSQL 14 to 18 (default 17) Aurora —

Aurora engines are AWS-only.

For workloads with variable traffic, turn on Serverless mode (Aurora engines on AWS only) and set the minimum and maximum Aurora capacity units. Serverless databases scale compute automatically based on demand, using Aurora Serverless v2.

Field Description Default
Name Lowercase letters, numbers and hyphens Required
Network The network the database runs in Required
Engine, Version See Supported engines MySQL 8.4
Instance class The instance size, from the classes the provider offers for the engine The provider’s default
Min ACU, Max ACU Capacity range in serverless mode (0.5 to 128) 0.5 to 16
Storage (GB) Storage allocation (20 to 65,536) 20
Backup retention (days) 1 to 35 7
Public access Allow connections from outside the VPC Off
Encryption at rest Encrypt storage with a managed key On
Multi-AZ Cross-availability-zone replication (regional high availability on GCP) Off
Database name The database to create Generated
Username The master username ske

ske database metrics <name> prints a database’s CPU, connections, memory, IOPS, latency, storage and ACU, read live from the cloud provider.

When you attach a database to an environment, SKE automatically sets the following environment variables:

DB_CONNECTION=mysql
DB_HOST=my-db.abc123.us-east-1.rds.amazonaws.com
DB_PORT=3306
DB_DATABASE=my_app
DB_USERNAME=ske
DB_PASSWORD=<generated>

DB_CONNECTION is mysql for MySQL and Aurora MySQL, pgsql for PostgreSQL. A DB_* secret of the same name overrides the injected value.

Your Laravel application picks these up through the standard database configuration. No manual configuration needed.

Databases are provisioned inside the VPC of the associated network. They are reachable from your application (running on Lambda or Cloud Run with VPC attach) but not from the public internet unless Public access is on.

For development access, use a bastion host or VPN rather than making the database public.

The Databases page lists the workspace’s databases. Open one to see its details, edit it or delete it.

Deleting a database is irreversible and removes all data. SKE asks for confirmation.