githubEdit

Configuration

Cedana configuration lives in /etc/cedana/config.json. You can initialize this file with default values by using the --init-config flag. Any configuration in environment variables will override the default values when this file is initialized.

Environment variables

You may also override the configuration file using environment variables. The environment variables are prefixed with CEDANA_ and are in uppercase. For example, Checkpoint.Dir can be set with CEDANA_CHECKPOINT_DIR. Similarly, Connection.URL can be set with CEDANA_CONNECTION_URL, or its alias CEDANA_URL.

Each of the below fields can also be set through an environment variable with the same name, prefixed, and in uppercase. E.g. Checkpoint.Dir can be set with CEDANA_CHECKPOINT_DIR. The env_aliases tag below specifies alternative (alias) environment variable names (comma-separated).

type Config struct {
    // Address to use for incoming/outgoing connections
    Address string `json:"address" key:"address" yaml:"address" mapstructure:"address"`
    // Protocol to use for incoming/outgoing connections (TCP, UNIX, VSOCK)
    Protocol string `json:"protocol" key:"protocol" yaml:"protocol" mapstructure:"protocol"`
    // LogLevel is the default log level used by the server
    LogLevel string `json:"log_level" key:"log_level" yaml:"log_level" mapstructure:"log_level"`
		// Metrics is whether to enable metrics collection and observability
    Metrics Metrics `json:"metrics" key:"metrics" yaml:"metrics" mapstructure:"metrics"`

    // Connection settings
    Connection Connection `json:"connection" key:"connection" yaml:"connection" mapstructure:"connection"`
    // Checkpoint and storage settings
    Checkpoint Checkpoint `json:"checkpoint" key:"checkpoint" yaml:"checkpoint" mapstructure:"checkpoint"`
    // Database details
    DB  DB  `json:"db" key:"db" yaml:"db" mapstructure:"db"`
    // Profiling settings
    Profiling Profiling `json:"profiling" key:"profiling" yaml:"profiling" mapstructure:"profiling"`
    // Client settings
    Client Client `json:"client" key:"client" yaml:"client" mapstructure:"client"`
    // CRIU settings and defaults
    CRIU CRIU `json:"criu" key:"criu" yaml:"criu" mapstructure:"criu"`
    // GPU is settings for the GPU plugin
    GPU GPU `json:"gpu" key:"gpu" yaml:"gpu" mapstructure:"gpu"`
    // Plugin settings
    Plugins Plugins `json:"plugins" key:"plugins" yaml:"plugins" mapstructure:"plugins"`

    // AWS settings
    AWS AWS `json:"aws" key:"aws" yaml:"aws" mapstructure:"aws"`
}

Last updated

Was this helpful?