mirror of
https://github.com/moghtech/komodo.git
synced 2025-12-05 19:17:36 -06:00
* start. 1.19.3 * deploy 1.19.3-dev-1 * repo state from db includes BuildRepo success * clean up version mismatch text * feat(containers): debounced search input and added filter by server name (#796) * Fix cleaning Alerter resource whitelist / blacklist on resource delete re #581 * fmt * Fix signup button not working correctly (#801) * Improve route protection and authentication flow (#798) * Improve route protection and authentication flow * Cleanup * fix: inconsistent behaviour of new resource create button (#800) * fix monaco crashing with absolute path config files * deploy 1.19.3-dev-2 * proofread config * Fix #427 * deploy 1.19.3-dev-3 * poll logs use println * Sync: Only show commit / execute when viewing pending tab * Improve sync UX * deploy 1.19.3-dev-4 * bold link * remove claims about database resource usage. * 1.19.3 --------- Co-authored-by: mbecker20 <max@mogh.tech> Co-authored-by: Antonio Sarro <tech@antoniosarro.dev> Co-authored-by: jack <45038833+jackra1n@users.noreply.github.com>
229 lines
7.4 KiB
TOML
229 lines
7.4 KiB
TOML
################################
|
|
# 🦎 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`.
|
|
|
|
## Most fields can also be configured using environment variables.
|
|
## Environment variables will override values set in this file.
|
|
|
|
## You can also use JSON or YAML if preferred. You can convert here:
|
|
## - YAML: https://it-tools.tech/toml-to-yaml
|
|
## - JSON: https://it-tools.tech/toml-to-json
|
|
|
|
## Optional. The port the server runs on.
|
|
## Env: PERIPHERY_PORT
|
|
## Default: 8120
|
|
port = 8120
|
|
|
|
## The IP address the periphery server will bind to.
|
|
## The default will allow it to accept external IPv4 and IPv6 connections.
|
|
## Env: PERIPHERY_BIND_IP
|
|
## Default: [::]
|
|
bind_ip = "[::]"
|
|
|
|
## The directory periphery will use as the default base for the directories it uses.
|
|
## The periphery user must have write access to this directory.
|
|
## Each specific directory (like stack_dir) can be overridden below.
|
|
## Env: PERIPHERY_ROOT_DIRECTORY
|
|
## Default: /etc/komodo
|
|
root_directory = "/etc/komodo"
|
|
|
|
## Optional. Override the directory periphery will use to manage repos.
|
|
## The periphery user must have write access to this directory.
|
|
## Env: PERIPHERY_REPO_DIR
|
|
## Default: ${root_directory}/repos
|
|
# repo_dir = "/etc/komodo/repos"
|
|
|
|
## Optional. Override the directory periphery will use to manage stacks.
|
|
## The periphery user must have write access to this directory.
|
|
## Env: PERIPHERY_STACK_DIR
|
|
## Default: ${root_directory}/stacks
|
|
# stack_dir = "/etc/komodo/stacks"
|
|
|
|
## Optional. Override the directory periphery will use to manage builds.
|
|
## The periphery user must have write access to this directory.
|
|
## Env: PERIPHERY_BUILD_DIR
|
|
## Default: ${root_directory}/builds
|
|
# build_dir = "/etc/komodo/builds"
|
|
|
|
## Disable the terminal APIs and disallow remote shell access through Periphery.
|
|
## Env: PERIPHERY_DISABLE_TERMINALS
|
|
## Default: false
|
|
disable_terminals = false
|
|
|
|
## Disable the container exec APIs and disallow remote container shell access through Periphery.
|
|
## This can be left enabled while general terminal access is disabled.
|
|
## Env: PERIPHERY_DISABLE_CONTAINER_EXEC
|
|
## Default: false
|
|
disable_container_exec = false
|
|
|
|
## How often Periphery polls the host for system stats, like CPU / memory usage.
|
|
## To effectively disable polling, set this to something like 1-hr.
|
|
## Env: PERIPHERY_STATS_POLLING_RATE
|
|
## Options: https://docs.rs/komodo_client/latest/komodo_client/entities/enum.Timelength.html
|
|
## Default: 5-sec
|
|
stats_polling_rate = "5-sec"
|
|
|
|
## How often Periphery polls the host for container stats,
|
|
## Env: PERIPHERY_CONTAINER_STATS_POLLING_RATE
|
|
## Options: https://docs.rs/komodo_client/latest/komodo_client/entities/enum.Timelength.html
|
|
## Default: 30-sec
|
|
container_stats_polling_rate = "30-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.
|
|
## Example: include_disk_mounts = ["/mnt/include/1", "/mnt/include/2"]
|
|
## 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.
|
|
## Example: exclude_disk_mounts = ["/mnt/exclude/1", "/mnt/exclude/2"]
|
|
## 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.
|
|
## Supports Ipv4 / Ipv6 addresses and subnets.
|
|
## Examples: allowed_ips = ["::ffff:12.34.56.78", "10.0.10.0/24"]
|
|
## 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.
|
|
## Example: passkeys = ["your-passkey"]
|
|
## 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: true
|
|
ssl_enabled = true
|
|
|
|
## Path to the ssl key.
|
|
## Env: PERIPHERY_SSL_KEY_FILE
|
|
## Default: ${root_directory}/ssl/key.pem
|
|
# ssl_key_file = "/etc/komodo/ssl/key.pem"
|
|
|
|
## Path to the ssl cert.
|
|
## Env: PERIPHERY_SSL_CERT_FILE
|
|
## Default: ${root_directory}/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"
|
|
|
|
## Specify whether logging is more human readable.
|
|
## Note. Single logs will span multiple lines.
|
|
## Env: PERIPHERY_LOGGING_PRETTY
|
|
## Default: false
|
|
logging.pretty = false
|
|
|
|
## Specify whether startup config log
|
|
## is more human readable (multi-line)
|
|
## Env: PERIPHERY_PRETTY_STARTUP_CONFIG
|
|
## Default: false
|
|
pretty_startup_config = false
|
|
|
|
#################
|
|
# 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" |