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 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.

SEE ALSO

exo(1), psql(1), mysql(1), redis-cli(1)

Copied to clipboard