################################ # 🦎 KOMODO PERIPHERY CONFIG 🦎 # ################################ ## This is the offical "Default" config file for Komodo Periphery. ## It serves as documentation for the meaning of the fields. ## It is located at `https://github.com/moghtech/komodo/blob/main/config/periphery.config.toml`. ## All fields with a "Default" provided are optional. If they are ## left out of the file, the "Default" value will be used. ## If Periphery was installed on the host (systemd install script), this ## file will be located either in `/etc/komodo/periphery.config.toml`, ## or for user installs, `$HOME/.config/komodo/periphery.config.toml`. ## Optional. The port the server runs on. ## Env: PERIPHERY_PORT ## Default: 8120 port = 8120 ## The directory periphery will use to manage repos. ## The periphery user must have write access to this directory. ## Env: PERIPHERY_REPO_DIR ## Default: /etc/komodo/repos repo_dir = "/etc/komodo/repos" ## The directory periphery will use to manage stacks. ## The periphery user must have write access to this directory. ## Env: PERIPHERY_STACK_DIR ## Default: /etc/komodo/stacks stack_dir = "/etc/komodo/stacks" ## How often Periphery polls the host for system stats, ## like CPU / memory usage. ## Env: PERIPHERY_STATS_POLLING_RATE ## Options: 1-sec, 5-sec, 10-sec, 30-sec, 1-min ## Default: 5-sec stats_polling_rate = "5-sec" ## Whether stack actions should use `docker-compose ...` ## instead of `docker compose ...`. ## Env: PERIPHERY_LEGACY_COMPOSE_CLI ## Default: false legacy_compose_cli = false ## Optional. Only include mounts at specific paths in the disk report. ## Env: PERIPHERY_INCLUDE_DISK_MOUNTS ## Default: empty, which won't filter down the disks. include_disk_mounts = [] ## Optional. Don't include these mounts in the disk report. ## Env: PERIPHERY_EXCLUDE_DISK_MOUNTS ## Default: empty, which won't exclude any disks. exclude_disk_mounts = [] ######## # AUTH # ######## ## Optional. Limit the ip addresses which can call the periphery api. ## Env: PERIPHERY_ALLOWED_IPS ## Default: empty, which will not block any request by ip. allowed_ips = [] ## Optional. Require callers to provide on of the provided passkeys to access the periphery api. ## Env: PERIPHERY_PASSKEYS or PERIPHERY_PASSKEYS_FILE ## Default: empty, which will not require any passkey to be passed by core. passkeys = [] ############ # Security # ############ ## Enable HTTPS server using the given key and cert. ## If true and a key / cert at the given paths are not found, ## self signed keys will be generated using openssl. ## Env: PERIPHERY_SSL_ENABLED ## Default: false (will change to `true` in later release) ssl_enabled = true ## Path to the ssl key. ## Env: PERIPHERY_SSL_KEY_FILE ## Default: /etc/komodo/ssl/key.pem ssl_key_file = "/etc/komodo/ssl/key.pem" ## Path to the ssl cert. ## Env: PERIPHERY_SSL_CERT_FILE ## Default: /etc/komodo/ssl/cert.pem ssl_cert_file = "/etc/komodo/ssl/cert.pem" ########### # LOGGING # ########### ## Specify the logging verbosity ## Options: off, error, warn, info, debug, trace ## Default: info ## Env: PERIPHERY_LOGGING_LEVEL logging.level = "info" ## Specify the logging format for stdout / stderr. ## Env: PERIPHERY_LOGGING_STDIO ## Options: standard, json, none ## Default: standard logging.stdio = "standard" ## Specify a opentelemetry otlp endpoint to send traces to. ## Example: http://localhost:4317. ## Env: PERIPHERY_LOGGING_OTLP_ENDPOINT ## Optional, no default logging.otlp_endpoint = "" ## Set the opentelemetry service name attached to the telemetry Periphery will send. ## Env: PERIPHERY_LOGGING_OPENTELEMETRY_SERVICE_NAME ## Default: "Komodo" logging.opentelemetry_service_name = "Periphery" ################# # GIT PROVIDERS # ################# ## configure Periphery based git providers # [[git_provider]] # domain = "github.com" # accounts = [ # { username = "mbecker20", token = "access_token_for_account" }, # { username = "moghtech", token = "access_token_for_other_account" }, # ] # [[git_provider]] # domain = "git.mogh.tech" # use a custom provider, like self-hosted gitea # accounts = [ # { username = "mbecker20", token = "access_token_for_account" }, # ] # [[git_provider]] # domain = "localhost:8000" # use a custom provider, like self-hosted gitea # https = false # use http://localhost:8000 as base-url for clone # accounts = [ # { username = "mbecker20", token = "access_token_for_account" }, # ] ###################### # REGISTRY PROVIDERS # ###################### ## Configure Periphery based docker registries # [[docker_registry]] # domain = "docker.io" # accounts = [ # { username = "mbecker2020", token = "access_token_for_account" } # ] # organizations = ["DockerhubOrganization"] # [[docker_registry]] # domain = "git.mogh.tech" # use a custom provider, like self-hosted gitea # accounts = [ # { username = "mbecker20", token = "access_token_for_account" }, # ] # organizations = ["Mogh"] # These become available in the UI ########### # SECRETS # ########### ## Provide periphery-based secrets # [secrets] # SECRET_1 = "value_1" # SECRET_2 = "value_2"