Files
komodo/config_example/core.config.example.toml
Maxwell Becker 7740d36f49 v1.12 Custom Git Providers / Docker Registries (#8)
* update deps

* remove patch when 0 for deployments using specific build version

* implement custom git provider and image registry support

* common providers api

* toml array alias

* username alias account

* get fe to build

* http or https

* fix frontend build

* improve registry / provider config

* frontend build

* rework deployment / builds image registry

* frontend builds

* update build config fe

* configure builder additional accounts / secrets

* guard against managing non-github repo webhooks

* fmt

* md size dashboard

* lowercase organization in image name

* update config docs

* update example env

* provider configuration

* distribute migrator

* fix casing mismatch

* docs
2024-07-29 18:23:58 -07:00

167 lines
5.7 KiB
TOML

## this will be the document title on the web page (shows up as text in the browser tab).
## default: 'Monitor'
# title = "Monitor-02"
## required for oauth functionality. this should be the url used to access monitor in browser, potentially behind DNS.
## eg https://monitor.dev or http://12.34.56.78:9000. this should match the address configured in your oauth app.
## no default
host = "https://monitor.dev"
## the port the core system will run on. if running core in docker container, leave as this port as 9000 and use port bind eg. -p 9001:9000
## default: 9000
# port = 9001
## required to match a passkey in periphery config. token used to authenticate core requests to periphery
## no default
passkey = "a_random_passkey"
## token that has to be given to git provider during repo webhook config as the secret
## default: empty (none)
webhook_secret = "a_random_webhook_secret"
## an alternate base url that is used to recieve git webhook requests
## if empty or not specified, will use 'host' address as base
## default: empty (none)
# webhook_base_url = "https://git-webhook.monitor.dev"
## specify the log level of the monitor core application
## default: info
## options: off, error, warn, info, debug, trace
# logging.level = "info"
## specify the logging format for stdout / stderr.
## default: standard
## options: standard, json, none
# logging.stdio = "standard"
## specify a opentelemetry otlp endpoint to send traces to
## optional, default unassigned
# logging.otlp_endpoint = "http://localhost:4317"
## Set the opentelemetry service name attached to the telemetry this core will send.
## Default: "Monitor"
# logging.opentelemetry_service_name = "Monitor-02"
## specify how long an issued jwt stays valid. all jwts are invalidated on application restart.
## default: 1-day.
## options: 1-hr, 12-hr, 1-day, 3-day, 1-wk, 2-wk, 30-day
# jwt_valid_for = "3-day"
## controls the granularity of the system stats collection by monitor core
## default: 15-sec
## options: 5-sec, 15-sec, 30-sec, 1-min, 2-min, 5-min, 15-min
# monitoring_interval = "5-sec"
## number of days to keep stats around, or 0 to disable pruning.
## stats older than this number of days are deleted daily
## default: 0 (pruning disabled)
# keep_stats_for_days = 14
## number of days to keep alerts around, or 0 to disable pruning.
## alerts older than this number of days are deleted daily
## default: 0 (pruning disabled)
# keep_alerts_for_days = 14
## allows all users to have read access on all resources
## default: false
# transparent_mode = true
## disables write support on resources in the UI
## default: false
# ui_write_disabled = true
## allow or deny user login with username / password
## default: false
# local_auth = true
# google_oauth.enabled = true
# google_oauth.id = "your_google_client_id"
# google_oauth.secret = "your_google_client_secret"
# github_oauth.enabled = true
# github_oauth.id = "your_github_client_id"
# github_oauth.secret = "your_github_client_secret"
## Configure github webhook app. Enables webhook management apis.
# github_webhook_app.app_id = 1234455 # Find on the app page.
# github_webhook_app.installations = [
# ## Find the id after installing the app to user / organization. "namespace" is the username / organization name.
# { id = 1234, namespace = "mbecker20" }
# ]
## Path to github webhook app private key.
## This is defaulted to `/github/private-key.pem`, and doesn't need to be changed if running in Docker.
## Just mount the private key pem file on the host to `/github/private-key.pem` in the container.
# github_webhook_app.pk_path = "/path/to/pk.pem"
# mongo.uri = "mongodb://username:password@localhost:27017"
## ==== or ====
mongo.address = "localhost:27017"
# mongo.username = "username"
# mongo.password = "password"
## ==== other ====
## default: monitor. this is the name of the mongo database that monitor will create its collections in.
# mongo.db_name = "monitor"
## default: monitor_core. this is the assigned app_name of the mongo client
# mongo.app_name = "monitor_core"
## provide aws api keys for ephemeral builders / server launch
# aws.access_key_id = "your_aws_key_id"
# aws.secret_access_key = "your_aws_secret_key"
## provide hetzner api token for ephemeral builders / server launch
# hetzner.token = "your_hetzner_token"
## provide core-base secrets
# [secrets]
# SECRET_1 = "value_1"
# SECRET_2 = "value_2"
## configure 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" },
# ]
## configure 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
## configure aws ecr registries
# [aws_ecr_registry.label_1]
# region = "us-east-1"
# account_id = "1234455"
# access_key_id = "your_aws_key_id_1"
# secret_access_key = "your_aws_secret_key_1"
# [aws_ecr_registry.label_2]
# region = "us-west-1"
# account_id = "1234455"
# access_key_id = "your_aws_key_id_2"
# secret_access_key = "your_aws_secret_key_2"