src

module
v0.0.0-...-b7a81a2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2025 License: MIT

README

Develop Once, Deploy Anywhere.

Take your app from Docker Compose to a secure and scalable deployment on your favorite cloud in minutes.

Defang CLI

The Defang Command-Line Interface (CLI) is designed for developers who prefer to manage their workflows directly from the terminal. It offers full access to Defang’s capabilities, allowing you to build, test, and deploy applications efficiently to the cloud.

Getting started

  • Read our Getting Started page
  • Follow the installation instructions from the Installing page
  • Take a look at our Samples folder for example projects in various programming languages.
  • Try the AI integration by running defang generate
  • Start your new service with defang compose up

Support

  • File any issues here

Environment Variables

The Defang CLI recognizes the following environment variables:

  • COMPOSE_DISABLE_ENV_FILE - Whether to disable loading environment variables from a .env file in the current directory; defaults to false
  • COMPOSE_FILE - The Compose file(s) to use; defaults to compose.yaml, compose.yml, docker-compose.yaml, or docker-compose.yml in the current directory
  • COMPOSE_PATH_SEPARATOR - The path separator to use for COMPOSE_FILE; defaults to : on Unix/MacOS and ; on Windows
  • COMPOSE_PROJECT_NAME - The name of the project to use; overrides the name in the Compose file
  • DEFANG_ACCESS_TOKEN - The access token to use for authentication; if not specified, uses token from defang login
  • DEFANG_BUILD_CONTEXT_LIMIT - The maximum size of the build context when building container images; defaults to 100MiB
  • DEFANG_CD_BUCKET - The S3 bucket to use for the BYOC CD pipeline; defaults to defang-cd-bucket-…
  • DEFANG_CD_IMAGE - The image to use for the Continuous Deployment (CD) pipeline; defaults to public.ecr.aws/defang-io/cd:public-beta
  • DEFANG_DEBUG - set this to 1 or true to enable debug logging
  • DEFANG_DISABLE_ANALYTICS - If set to true, disables sending analytics to Defang; defaults to false
  • DEFANG_EDITOR - The editor to launch after new project generation; defaults to code (VS Code)
  • DEFANG_FABRIC - The address of the Defang Fabric to use; defaults to fabric-prod1.defang.dev
  • DEFANG_JSON - If set to true, outputs JSON instead of human-readable output; defaults to false
  • DEFANG_HIDE_HINTS - If set to true, hides hints in the CLI output; defaults to false
  • DEFANG_HIDE_UPDATE - If set to true, hides the update notification; defaults to false
  • DEFANG_ISSUER - The OAuth2 issuer to use for authentication; defaults to https://auth.defang.io
  • DEFANG_MODEL_ID - The model ID of the LLM to use for the generate/debug AI integration (Pro users only)
  • DEFANG_NO_CACHE - If set to true, disables pull-through caching of container images; defaults to false
  • DEFANG_PREFIX - The prefix to use for all BYOC resources; defaults to Defang
  • DEFANG_PROVIDER - The name of the cloud provider to use, auto (default), aws, digitalocean, gcp, or defang
  • DEFANG_PULUMI_BACKEND - The Pulumi backend URL or "pulumi-cloud"; defaults to a self-hosted backend
  • DEFANG_PULUMI_DEBUG - If set to true, enables debug logging for Pulumi operations; defaults to false
  • DEFANG_PULUMI_DIFF - If set to true, shows the Pulumi diff during deployments; defaults to false
  • DEFANG_PULUMI_DIR - Run Pulumi from this folder, instead of spawning a cloud task; requires --debug (BYOC only)
  • DEFANG_PULUMI_VERSION - Override the version of the Pulumi image to use (aws provider only)
  • DEFANG_SUFFIX - The suffix to use for all BYOC resources; defaults to the stack name, or beta if unset.
  • DEFANG_WORKSPACE - The workspace (name or ID) to use; preferred way to select which workspace the CLI uses
  • NO_COLOR - If set to any value, disables color output; by default, color output is enabled depending on the terminal
  • PULUMI_ACCESS_TOKEN - The Pulumi access token to use for authentication to Pulumi Cloud; see DEFANG_PULUMI_BACKEND
  • PULUMI_CONFIG_PASSPHRASE - Passphrase used to generate a unique key for your stack, and configuration and encrypted state values
  • TZ - The timezone to use for log timestamps: an IANA TZ name like UTC or Europe/Amsterdam; defaults to Local
  • XDG_STATE_HOME - The directory to use for storing state; defaults to ~/.local/state

Environment variables will be loaded from a .defang file in the current directory, if it exists. This file follows the same format as a .env file: KEY=VALUE pairs on each line, lines starting with # are treated as comments and ignored.

Directories

Path Synopsis
cmd
cli command
crun command
gendocs command
pkg
agent/tools
Package tools: consolidated interfaces for mocking CLI/tool dependencies
Package tools: consolidated interfaces for mocking CLI/tool dependencies
cli
dns
mcp
term
Package term provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package term provides support functions for dealing with terminals, as commonly found on UNIX systems.
protos

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL