exo-dbaas
Manage Exoscale Database as a Service instances
TLDR
List available Database Service types
List available plans for a Database Service type
Create a new Database Service (an IP filter must be specified in order to access the service)
Show the connection URI for a Database Service
Set a specified maintenance time and day of the week for a Database Service
Get help for a specific Database Service type
SYNOPSIS
exo dbaas command [options...]
Common commands:
exo dbaas list
exo dbaas show ID|NAME
exo dbaas create [options...]
exo dbaas update ID|NAME [options...]
exo dbaas delete ID|NAME
PARAMETERS
list
Lists all active DBaaS service instances in your Exoscale account.
show ID|NAME
Displays detailed information for a specific DBaaS service instance identified by its ID or name.
create
Provisions a new DBaaS service instance. Requires various options to define the service.
--type DB_TYPE
(Required for create) Specifies the type of database service (e.g., 'pg', 'mysql', 'redis').
--name SERVICE_NAME
(Required for create) Assigns a unique name to the new DBaaS service instance.
--plan PLAN_CODE
(Required for create) Defines the resource plan for the service (e.g., 'starter.micro', 'business.medium').
--version VERSION
Specifies the database engine version (e.g., '14' for PostgreSQL, '8' for MySQL).
--zone ZONE_NAME
The Exoscale zone where the service will be provisioned (e.g., 'ch-dk-2').
--ip-filter CIDR[,CIDR...]
A comma-separated list of IP CIDR ranges allowed to connect to the database service.
--disk-size GB
The size of the disk allocated to the service instance in GiB.
update ID|NAME
Modifies an existing DBaaS service instance. Options include updating name, plan, IP filters, disk size, and service version.
delete ID|NAME
Terminates and permanently deletes a DBaaS service instance.
DESCRIPTION
The exo dbaas command is a crucial component of the Exoscale Command Line Interface (CLI), designed for efficient management of Database as a Service (DBaaS) offerings within the Exoscale cloud platform. It provides a robust interface for orchestrating various database types, including PostgreSQL, MySQL, Redis, OpenSearch, and Apache Kafka.
Users leverage exo dbaas to perform a wide array of operations, from provisioning new database instances and configuring their specifications (like instance type, disk size, and service version) to managing network access via IP filters, and overseeing backups. It significantly streamlines routine database administration tasks, enabling both interactive control and automation through scripting. This command is an indispensable tool for developers, system administrators, and DevOps teams looking to deploy, scale, and maintain high-availability database solutions effortlessly on Exoscale.
CAVEATS
The exo dbaas command is not a standalone executable but a subcommand of the main exo CLI tool. It requires the Exoscale CLI to be installed and properly configured with valid API keys. Operations interact directly with your Exoscale cloud resources, so ensure you understand the implications (e.g., billing, data loss upon deletion). Network connectivity to the Exoscale API endpoint is essential for command execution.
AUTHENTICATION AND CONFIGURATION
Before using exo dbaas, ensure the exo CLI is authenticated using your Exoscale API key and secret. This is typically done via exo configure
or by setting environment variables EXOSCALE_API_KEY
and EXOSCALE_API_SECRET
. The default zone can also be configured to avoid specifying it with every command.
SUBCOMMANDS FOR SPECIFIC DB TYPES
Beyond the general commands, exo dbaas often includes type-specific subcommands for advanced configuration, for example:
exo dbaas pg settings ID|NAME
exo dbaas mysql users ID|NAME
These allow fine-grained control over database-specific parameters and user management, offering capabilities beyond the generic create and update operations.
HISTORY
The exo dbaas command is an integral part of the Exoscale CLI tool, which was developed to provide a unified command-line interface for managing all Exoscale cloud services. Its development closely mirrors the expansion of Exoscale's managed database offerings, evolving to support new database types and features as they become available on the platform. It represents Exoscale's commitment to providing a robust and programmable interface for cloud resource orchestration, enabling greater automation for its users.