Config
Generates a default config.toml
file for you.
distant generate config --output $HOME/.config/distant/config.toml
Flags
--output <FILE>
: indicates that config file should be saved to a file instead of printed to stdout.
Examples
Saving to the default location on MacOS
distant generate config --output "$HOME/Library/Application Support/distant/config.toml"
Saving to the default location on Unix/Linux
distant generate config --output "$HOME/.config/distant/config.toml"
Saving to the default location on Windows
distant generate config --output "$env:USERPROFILE\AppData\Roaming\distant\config\config.toml"
Default config.toml
###############################################################################
# All configuration specific to the distant client will be found under
# this heading
###############################################################################
[client]
# Specifies an alternative path to use when logging information while the
# client is running
# log_file = "path/to/file"
# Specifies the log level used when logging information while the client
# is running
#
# Choices are off, error, warn, info, debug, trace
# The default setting is info
log_level = "info"
# Configuration related to the client's api command
[client.api]
# Maximum time (in seconds) to wait for a network request before timing out
# where 0 indicates no timeout will occur
timeout = 0
# Alternative unix domain socket to connect to when using a manger (Unix only)
# unix_socket = "path/to/socket"
# Alternative name for a local named Windows pipe to connect to when using a
# manager (Windows only)
# windows_pipe = "some_name"
# Configuration related to the client's connect command
[client.connect]
# Additional options to provide, typically forwarded to the handler within
# the manager facilitating the connection. Options are key-value pairs separated
# by comma.
#
# E.g. `key="value",key2="value2"`
options = ""
# Configuration related to the client's launch command
[client.launch]
# Path to distant program on remote machine to execute via ssh; by default,
# this program needs to be available within PATH as specified when compiling
# ssh (not your login shell).
bin = "distant"
# Control the IP address that the server binds to.
#
# The default is `ssh', in which case the server will reply from the IP address
# that the SSH connection came from (as found in the SSH_CONNECTION environment
# variable). This is useful for multihomed servers.
#
# With --bind-server=any, the server will reply on the default interface and
# will not bind to a particular IP address. This can be useful if the
# connection is made through sslh or another tool that makes the SSH connection
# appear to come from localhost.
#
# With --bind-server=IP, the server will attempt to bind to the specified IP
# address.
bind_server = "ssh"
# Additional arguments to provide to the server when launching it.
args = ""
# Additional options to provide, typically forwarded to the handler within the
# manager facilitating the launch of a distant server. Options are key-value
# pairs separated by comma.
#
# E.g. `key="value",key2="value2"`
options = ""
###############################################################################
# All configuration specific to the distant generate option will be found under
# this heading
###############################################################################
[generate]
# Specifies an alternative path to use when logging information related
# to generation
# log_file = "path/to/file"
# Specifies the log level used when logging information related to generation
# Choices are off, error, warn, info, debug, trace
# The default setting is info
log_level = "info"
###############################################################################
# All configuration specific to the distant manager will be found under
# this heading
###############################################################################
[manager]
# Specifies an alternative path to use when logging information while the
# manager is running
# log_file = "path/to/file"
# Specifies the log level used when logging information while the manager
# is running
#
# Choices are off, error, warn, info, debug, trace
# The default setting is info
log_level = "info"
# Level of access control to the unix socket or windows pipe.
#
# * "owner": equates to `0o600` on Unix (read & write for owner).
# * "group": equates to `0o660` on Unix (read & write for owner and group).
# * "anyone": equates to `0o666` on Unix (read & write for owner, group, and other).
access = "owner"
# Alternative unix domain socket to listen on (Unix only)
# unix_socket = "path/to/socket"
# Alternative name for a local named Windows pipe to listen on (Windows only)
# windows_pipe = "some_name"
###############################################################################
# All configuration specific to the distant server will be found under
# this heading
###############################################################################
[server]
# Specifies an alternative path to use when logging information while the
# server is running
# log_file = "path/to/file"
# Specifies the log level used when logging information while the server
# is running
#
# Choices are off, error, warn, info, debug, trace
# The default setting is info
log_level = "info"
# Configuration related to the server's listen command
[server.listen]
# IP address that the server will bind to. This can be one of three things:
#
# 1. "ssh": the server will reply from the IP address that the SSH connection
# came from (as found in the SSH_CONNECTION environment variable).
# This is useful for multihomed servers.
# 2. "any": the server will reply on the default interface and will not bind to
# a particular IP address. This can be useful if the connection is
# made through ssh or another tool that makes the SSH connection
# appear to come from localhost.
# 3. "{IP}": the server will attempt to bind to the specified IP address.
host = "any"
# Set the port(s) that the server will attempt to bind to.
#
# This can be in the form of PORT1 or PORT1:PORTN to provide a range of ports.
# With "0", the server will let the operating system pick an available TCP port.
#
# Please note that this option does not affect the server-side port used by SSH.
port = "0"
# If true, will bind to the ipv6 interface if host is any instead of ipv4
use_ipv6 = false
# Logic to apply to server when determining when to shutdown automatically.
#
# 1. "never" means the server will never automatically shut down
# 2. "after=<N>" means the server will shut down after N seconds
# 3. "lonely=<N>" means the server will shut down after N seconds with no connections
shutdown = "never"
# Changes the current working directory (cwd) to the specified directory.
# current_dir = "path/to/dir"
# Configuration related to filesystem watching done by the server
[server.watch]
# If true, will attempt to use native filesystem watching (more efficient),
# otherwise will leverage polling of watched files and directories to detect changes
native = true
# If specified, represents the time (in seconds) between polls of files being watched,
# only relevant when using the polling watcher implementation
#poll_interval = 30
# If true, will attempt to load a file and compare its contents to detect file changes,
# only relevant when using the polling watcher implementation (VERY SLOW)
compare_contents = false
# Represents the maximum time (in seconds) to wait for filesystem changes before
# reporting them, which is useful to avoid noisy changes as well as serves to consolidate
# different events that represent the same action
# debounce_timeout = 0.5
# Represents how often (in seconds) to check for new events before the debounce timeout
# occurs. Defaults to 1/4 the debounce timeout if not set.
# debounce_tick_rate = 0.125
distant generate config --help
Generate configuration file with base settings
Usage: distant generate config [OPTIONS]
Options:
--log-level <LOG_LEVEL> Log level to use throughout the application [possible values: off, error, warn, info, debug, trace]
-o, --output <FILE> Write output to a file instead of stdout
--log-file <LOG_FILE> Path to file to use for logging
--config <CONFIG_PATH> Configuration file to load instead of the default paths
-h, --help Print help