dms-on-lxd

Last updated: 2025-05-08 01:07:58.020622 File source: link on GitLab

DMS on LXD Environment Usage Guide

Using Environment-Specific Configurations

The scripts in this directory support running multiple isolated DMS-on-LXD environments by using the DMS_ON_LXD_ENV environment variable. This variable controls:

  • The config file name (config-{ENV}.yml)

  • The Terraform workspace name

  • The instance name prefix

  • The environment-specific LXD token file

Required Environment Variables

When using DMS_ON_LXD_ENV, you must set:

  • DMS_ON_LXD_ENV: Your environment name (e.g., "staging", "testing")

  • DMS_SOURCE: Path to the DMS debian package file

Optional Environment Variables

You can customize the environment further with:

  • INSTANCE_TYPE: Defaults to "virtual-machine"

  • DISTRO_VERSION: Defaults to "24.04"

  • DISTRO_NAME: Defaults to "ubuntu"

  • LXD_LOCAL_PORT: LXD API port (defaults to 8443)

  • LXD_LIMIT_MEM: Sets LXD VM memory limit (defaults to 4GB)

  • LXD_LIMIT_CPU: Sets LXD VM VCPU limit (defaults to 2)

  • DMS_ON_LXD_DOCKER: Controls whether to run commands in Docker (defaults to "true")

  • DMS_ON_LXD_VERBOSE: Verbose mode prints more info to the terminal (defaults to "false")

  • DMS_ON_LXD_APPLY_DOCKER_PATCH: Apply iptables fix for docker and lxd compatibility (defaults to "true")

  • MAX_ITER: Maximum number of iterations to wait for DMS (defaults to 30)

  • POLLING_INTERVAL_SECONDS: Time to wait between DMS checks (defaults to 10)

  • TF_APPLY_STRICT: If set, destroys infrastructure on apply failure

  • DMS_ON_LXD_DOCKER_PATCH: Apply iptables fix for docker and lxd compatibility (defaults to "true"). Possible values: "true", "false".

  • DMS_ON_LXD_OVERWRITE_DEB: Overwrite the existing DMS debian file if it exists (defaults to "false"). Possible values: "true", "false".

  • DMS_ON_LXD_INSTANCES_COUNT: Number of DMS instances to create (defaults to 2). Possible values: any positive integer.

Usage

Direct usage of the project is discouraged. The recommended way of interacting with it is via the CLI. Refer to the CLI Guide for more information.

Last updated