Skip to content

config

Manage CLI configuration settings persistently in ~/.fw/config.yml.

Configuration Sources

The CLI loads configuration from multiple sources in this priority order (highest to lowest):

  1. Command-line arguments - Arguments passed directly to commands.
    See available CLI arguments
  2. Environment variables - Variables set directly in your shell (FW_CLI_*)
  3. .env file - A .env file in your current working directory
  4. Config file - The ~/.fw/config.yml file (managed by these commands)
  5. Defaults - Built-in default values

Configuration Options with CLI Arguments

The following configuration options can be overridden via command-line arguments:

Config Option Command-Line Argument
default_profile --profile NAME
container_client --container-client (docker\|podman)
connect_timeout --connect-timeout SEC
read_timeout --read-timeout SEC
insecure --insecure
ssl_cert --ssl-cert PATH (repeatable)
debug --debug

Available Configuration Options

Connection Settings

  • connect_timeout - HTTP connection timeout in seconds (default: 10)
  • read_timeout - HTTP read timeout in seconds (default: 30)
  • insecure - Disable SSL certificate validation entirely (default: false)
  • ssl_cert - Extra CA certificate bundle path(s) to trust, in addition to the default CA bundle (default: none)

Performance Settings

  • concurrent_file_uploads - Number of files to upload concurrently (default: 8)
  • concurrent_chunk_uploads - Number of chunks to upload concurrently per file (default: 4)
  • concurrent_file_downloads - Number of files to download concurrently (default: 8)
  • retry_backoff_factor - Exponential backoff factor for retries (default: 0.1)
  • retry_total - Total number of retry attempts (default: 3)

Logging Settings

  • debug - Enable debug mode with verbose logging (default: false)
  • logs_retained - Number of log files to retain (default: 50)

User Interface Settings

  • live_refresh_interval - Interval in seconds for live progress updates (default: 1.0)
  • container_client - Container client to use: "docker" or "podman" (default: docker)

Feature Flags

  • disable_compatibility_check - Disable version compatibility checks (default: false)
  • disable_auto_update - Disable automatic CLI updates (default: false)

Examples

High-performance upload configuration

# Increase concurrent uploads for faster transfers
flyw config set concurrent_file_uploads 16
flyw config set concurrent_chunk_uploads 8

# Increase timeouts for large files
flyw config set connect_timeout 30
flyw config set read_timeout 120

Using a .env file

Create a .env file in your PWD:

# .env
FW_CLI_CONCURRENT_FILE_UPLOADS=16
FW_CLI_CONCURRENT_CHUNK_UPLOADS=8
FW_CLI_DEBUG=true

The CLI automatically loads these settings when run from that directory.

Debugging connection issues

# Enable debug mode
flyw config set debug true

# Increase timeouts
flyw config set connect_timeout 30
flyw config set read_timeout 60

# Trust an extra CA certificate, on top of the default CA bundle
flyw config set ssl_cert /path/to/ca-bundle.crt

Configuration File Location

The configuration file is stored at ~/.fw/config.yml by default. Change this location by setting the FW_CLI_CONFIG_DIR environment variable:

export FW_CLI_CONFIG_DIR=/custom/path

Usage