LinuxCommandLibrary

exo-dbaas

Manage Exoscale Database as a Service instances

TLDR

List available Database Service types

$ exo dbaas type list
copy

List available plans for a Database Service type
$ exo dbaas type show [database_service_type] --plans
copy

Create a new Database Service (an IP filter must be specified in order to access the service)
$ exo dbaas create [database_service_type] [database_service_type_plan] [database_service_name] --[database_service_type]-ip-filter [1.2.3.4/32]
copy

Show the connection URI for a Database Service
$ exo dbaas show [database_service_name] --uri
copy

Set a specified maintenance time and day of the week for a Database Service
$ exo dbaas update [database_service_name] --maintenance-dow [day_of_the_week] --maintenance-time [HH:MM:SS]
copy

Get help for a specific Database Service type
$ exo dbaas [subcommand] --help-[database_service_type]
copy

SYNOPSIS

exo-dbaas <subcommand> [options] [<args>]

PARAMETERS

-h, --help
    Display help and exit

--zone ZONE
    Specify Exoscale zone (e.g., ch-dk-2)

--name NAME
    Database service name

--plan PLAN
    Service plan (e.g., starter-1a, enterprise-4c)

--engine ENGINE
    Database engine/version (e.g., postgresql-15, mysql-8)

--nodes N
    Number of nodes (min 1 for starter, 3 for HA)

--backup-daily-backups N
    Number of daily backups to retain

--backup-weekly-backups N
    Number of weekly backups to retain

--output FORMAT
    Output format: table, json, yaml

DESCRIPTION

The exo-dbaas command is a specialized tool within the Exoscale CLI ecosystem for managing Database as a Service (DBaaS) instances on the Exoscale cloud platform. It enables users to provision, scale, monitor, backup, and terminate managed database clusters supporting engines like PostgreSQL, MySQL, and MongoDB.

Key functionalities include creating clusters with specified plans, node counts, and versions; listing and describing existing services; updating configurations such as backups, endpoints, and ACLs; managing users and their privileges; and handling maintenance operations. Authentication is required via Exoscale API keys, and operations are zone-specific (e.g., ch-dk-2, de-fra-1).

Designed for DevOps workflows, it integrates seamlessly with other exo commands for IaC automation via scripts or Terraform providers. Usage assumes the Exoscale CLI is installed and configured with exo org set and exo key create.

This command simplifies cloud-native database operations, reducing manual intervention for high-availability setups with automated backups and failover.

CAVEATS

Requires Exoscale account and API keys configured. Some operations (e.g., resize) trigger downtime. Not all plans support all engines. Rate limits apply to API calls.
Subcommands: create, delete, list, show, update, user-add, user-remove, acl-add, acl-remove.

SUBCOMMANDS

Common subcommands: create, list, update, backup, user, endpoint, maintenance.

AUTHENTICATION

Run exo key create first; supports organization switching with exo org list.

HISTORY

Introduced in Exoscale CLI v1.0 (2021) with PostgreSQL support; expanded to MySQL/MongoDB in v1.2 (2022); multi-zone and advanced backups in v1.4 (2023). Actively maintained for Exoscale's sovereign cloud offerings.

SEE ALSO

exo(1), terraform(1), aws(1)

Copied to clipboard