mirror of
https://github.com/moghtech/komodo.git
synced 2026-08-18 16:01:06 +00:00
8708f0f600
* dockerfile builds use latest rust 1.96.0 * bump rust and js dependencies * deploy 2.3.0-dev-1 * omnisearch clear on close option (default true), fix omnisearch border radius cutting off search input * fix resource description responsive overflow in some screen size * kill process group * Start wiring through shell timeout / external cancel options * deploy 2.3.0-dev-2 * implement CommandOptions (timeout / cancel ability) throughout shell usage * Add timeouts to read child commands * deploy 2.3.0-dev-3 * remove periphery custom_timeout option, it doesn't function as timeout as expected * customize command timeouts * Ensure git is installed for clear error message * deploy 2.3.0-dev-4 * deploy 2.3.0-dev-5 * deploy 2.3.0-dev-6 * swarm completed in roadmap * unnecessary line * Komodo v2 march 2026 * remove debub container ports logs * remove log view console log * Fix deployment tabs disappear * align other resource store tab per resource id * disable terminal tab when attached to swarm * List All Docker Containers supports wildcard container name matching * improve container pagination situation * deploy 2.3.0-dev-7 * fix container data table search slowness * deploy 2.3.0-dev-8 * ListAllStackServices, add stack services to omni search, All containers filter by tags (based on server) * deploy 2.3.0-dev-9 * service icon correct size * list all containers / services support filtering by state * get latest image digest timeout 10s * deploy 2.3.0-dev-10 * send keepalive pings on user websockets to survive idle proxy timeouts (#1486) * bump mantine and other UI deps * deploy 2.3.0-dev-11 * fix containers page server filter * show server config always if no swarms exist * DeleteTerminal: fix incoming stack / deployment names to ids internally * single builder distribute to multiple specified servers * deploy 2.3.0-dev-12 * fix server type builder config comment * fix builder toml server_ids => server/s * sync: fix alerter resources / except_resources using ids instead of names * fix multi server builder resource page header * deploy 2.3.0-dev-13 * fix builder resource header with multiple servers styling * run dkf -> dku * white background favicon + gen resources schema * feat: break out cache/buffers and ZFS ARC from used memory (#1489) * deploy 2.3.0-dev-14 * onmisearch improve finding containers / services * refine service / container search * deploy 2.3.0-dev-15 * deploy 2.3.0-dev-16 * bump mogh auth server, remove authors from cargo toml in line with newer spec * deploy 2.3.0-dev-17 * improve selection of available building server, works when multiple builds sent simultaneously * deploy 2.3.0-dev-18 * show stack services even when down * improve stack services view when down * deploy 2.3.0-dev-19 * mogh ui 0.7.0 including login page back button if already logged in * deploy 2.3.0-dev-20 * fix containers pagination boundary * fix update permissions on swarm * deploy 2.3.0-dev-21 * skip alerting check on initial server cache refresh after startup * deploy 2.3.0-dev-22 * Fix build - deployment flow when build doesn't publish semver image tags * move check button to left of update available button * omnisearch containers only fetch when query types * Add cancel procedure / action apis * add procedure / action cancel buttons * deploy 2.3.0-dev-23 * Execution error * useIsCancelling hook for better state conveyance * fmt mem module * allow all builders build to cancel during build * deploy 2.3.0-dev-24 * bump rust to 1.96.1 * tweak ui index.html * build webhook cancel build before triggering another - better behavior for back-to-back pushes * deploy 2.3.0-dev-25 * De-vendor container apis from Docker * deploy 2.3.0-dev-26 * startup support for pagination * implement limit / page on the list routes * swarm pagination and add swarm read support to cli * use Option for limit * resource selector and omni search using pagination / search * deploy 2.3.0-dev-27 * update available disable action state polling in small * resources page support pagination * fix Image bug, improve resources page debounce * fix omni missing ! * procedure failure update log provides link to view failed update * fix omni search link ids with brute force query * improve command error message formatting * fix dashboard query for right resources * attach linked resource names in addition to ids for efficient usage with pagination * fix pagination bugs and improve pagination efficiency * some brute force pagination fixes still with limit: 0 * deploy 2.3.0-dev-28 * replace limit: 0 server query with proper search based multi selector * list api support filtering by state, use with dashboard active table * Fix state filter pagination and create terminal limit: 0 queries * deploy 2.3.0-dev-29 * deployment / stack filter by swarm id * deploy 2.3.0-dev-30 * improve database query efficiency on large resource sets * fix ListFull not filtering by query states * fix the list permits respect resource.base_permission * use saturating mul in skip computations * Fix list all containers / stack services - tags query, terms case insensitive * deploy 2.3.0-dev-31 * api based list resource sorting which works with pagination * ui implement server side table sort * fix cli usage * deploy 2.3.0-dev-32 * ensure required refetch intervals are still passed for data freshness * omni search services before containers * add Deployment custom_name configuration to set specific container name * GetResourceMatchingContainer fix empty container passed check * validate conatiner / docker compatible names protect against injection * track deployment deployed name for smooth swarm service renaming behavior * deploy 2.3.0-dev-33 * batch executions support filtering by tag * fix clippy lint * improve tag multi selector matching resource sync config * deploy 2.3.0-dev-34 * fix containers page networks / volumes wrapping * use enum cmp for sorting by state * container page uses api based sort * move list stack methods * deploy 2.3.0-dev-35 * stack / deployment state sorting prefers update available shown first * ensure name is always fallback sort * deploy 2.3.0-dev-36 * fix Source sorting for stacks, builds, syncs * deploy 2.3.0-dev-37 * keepPreviousData method to prevent lots of loading flashes * omni search tweaks / fixes * fix clear on close * paginated schedules * for efficient schedule sort * paginated terminals * fix terminals cli * fix clippy lint * deploy 2.3.0-dev-38 * configurable default pagination, including 0 (no pagination) * deploy 2.3.0-dev-39 * omnisearch use keepPreviousData * Fix omni search auto highlight first item * drop resource action guard / reset action state before pushing updates to clients for requery * deploy 2.3.0-dev-40 * builder instance type use divided children * default pagination limit 50 * UI: useDebouncedTermSearch hook * stats page * deploy 2.3.0-dev-41 * page description tweak * dashboard tables show template query mode * fix stats page legend over tooltip * setup-periphery.py: add "--core-public-keys" command line argument (#1524) * only log core public keys if provided * fix terminal execute echo colliding with output sentinels (#1522) Build the execute command as a single physical line so the PTY's local echo cannot reproduce a bare sentinel line before the real output. The `printf` format strings now use literal `\n` escapes (which printf expands) instead of embedded newline bytes, keeping the emitted output byte-identical while making the echoed command one line. Closes #1289 Claude-Session: https://claude.ai/code/session_01M1ZTEJFKv3BAW36VmBwe2v Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * deploy 2.3.0-dev-42 * nowrap on server stats containers table * improve Resources tabs with pagination support and multi select executions * allow simultaneous server container execs * Container page batch executions * use controlled selection state for resources for proper clearing selection state after delete * deploy 2.3.0-dev-43 * server docker resources multi select * server docker tabs move execute button * fix: log webhook branch-mismatch skips at debug instead of warn (#1528) Git providers send push webhooks for every branch and Komodo filters them server side (docs: Automate > Webhooks > Branch Filtering), so a push to a non-matching branch is routine operation, not a failure. It was surfaced through the generic 'Failed at running webhook' warn, indistinguishable from genuine failures, and a repo with active bot branches (e.g. Renovate) produces hundreds of these warns per day. Rename ExtractBranch::verify_branch to branch_matches, returning Ok(false) on a mismatch (logged at debug) so handlers skip quietly, matching the existing silent webhook_enabled=false skip. Branch EXTRACTION failures (e.g. a ref-less payload on a named-branch listener) still return Err and reach the warn, preserving the misconfiguration signal. * fix: parse compose config before sanitizing so secret replacers cannot corrupt service detection (#1529) Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Maxwell Becker <49575486+mbecker20@users.noreply.github.com> * clean up fix compose parse / sanitize ordering * deploy 2.3.0-dev-44 * user permissioning fix search * Fix GetHistoricalServerStats pagination * server stats list (avoiding lots of queries) and server side sorting by stats (cpu, mem, disk) * fix clippy lint * deploy 2.3.0-dev-45 * fix ui build after monaco bump * load average chart first in stats * Fix deployment build version selector * remove build version console log * provide logical core count, update load to reflect * deploy 2.3.0-dev-46 * add basic reporting functionality * Add / fix shell escaping for periphery commands * safe stdin token and prevent args passed through resource names on shell * deploy 2.3.0-dev-47 * Delete only batch executions just use delete button * add New / batch executions to dashboard tables * rust 1.97.1 * deploy 2.3.0-dev-48 * default key reporting.key * default reporting.key * redeploy on build for all running unhealthy states (rebuild to fix eg restarting issue) * resource updates query memo missing buildId in deps * deploy 2.3.0-dev-49 * Fix reporting signature * deploy 2.3.0-dev-50 --------- Co-authored-by: Remco Jongschaap <hey@dougley.com> Co-authored-by: ChanningHe <52875777+ChanningHe@users.noreply.github.com> Co-authored-by: Amos Shapira <amos.shapira@gmail.com> Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Christopher Plieger <917744+cplieger@users.noreply.github.com>
172 lines
6.5 KiB
Bash
172 lines
6.5 KiB
Bash
####################################
|
|
# 🦎 KOMODO COMPOSE - VARIABLES 🦎 #
|
|
####################################
|
|
|
|
## These compose variables can be used with all Komodo deployment options.
|
|
## Pass these variables to the compose up command using `--env-file komodo/compose.env`.
|
|
## Additionally, they are passed to both Komodo Core and Komodo Periphery with `env_file: ./compose.env`,
|
|
## so you can pass any additional environment variables to Core / Periphery directly in this file as well.
|
|
|
|
## Follows "major.minor.patch" semver.
|
|
COMPOSE_KOMODO_IMAGE_TAG="2"
|
|
## Store dated database backups on the host - https://komo.do/docs/setup/backup
|
|
COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups
|
|
|
|
## DB credentials
|
|
KOMODO_DATABASE_USERNAME=admin
|
|
KOMODO_DATABASE_PASSWORD=admin
|
|
|
|
## Set your time zone for schedules
|
|
## https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
TZ=Etc/UTC
|
|
|
|
#=-------------------------=#
|
|
#= Komodo Core Environment =#
|
|
#=-------------------------=#
|
|
|
|
## Full variable list + descriptions are available here:
|
|
## 🦎 https://github.com/moghtech/komodo/blob/main/config/core.config.toml 🦎
|
|
|
|
## Note. Secret variables also support `${VARIABLE}_FILE` syntax to pass docker compose secrets.
|
|
## Docs: https://docs.docker.com/compose/how-tos/use-secrets/#examples
|
|
|
|
## Used for Oauth / Webhook url suggestion.
|
|
KOMODO_HOST=https://example.komodo.com
|
|
## Displayed in the browser tab.
|
|
KOMODO_TITLE=Komodo
|
|
|
|
## Allow Periphery to connect via generated public key
|
|
KOMODO_PERIPHERY_PUBLIC_KEY=file:/config/keys/periphery.pub
|
|
|
|
## Enable login with username + password.
|
|
KOMODO_LOCAL_AUTH=true
|
|
## Set the initial admin username created upon first launch.
|
|
## Comment out to disable initial user creation,
|
|
## and create first user using signup button.
|
|
KOMODO_INIT_ADMIN_USERNAME=admin
|
|
## Set the initial admin password
|
|
KOMODO_INIT_ADMIN_PASSWORD=changeme
|
|
|
|
## Create a first Server with a custom name.
|
|
## Usually the system hostname is good.
|
|
KOMODO_FIRST_SERVER_NAME=Local
|
|
|
|
## Make execute buttons just double-click, rather than the full confirmation dialog.
|
|
KOMODO_DISABLE_CONFIRM_DIALOG=false
|
|
|
|
## Disable creating the default Procedures on first startup.
|
|
KOMODO_DISABLE_INIT_RESOURCES=false
|
|
|
|
## Change the default pagination limit for the API and UI to use.
|
|
KOMODO_DEFAULT_PAGINATION_LIMIT=50
|
|
|
|
## Used to auth incoming webhooks. Alt: KOMODO_WEBHOOK_SECRET_FILE
|
|
KOMODO_WEBHOOK_SECRET=a_random_secret
|
|
## Used to generate jwt. Alt: KOMODO_JWT_SECRET_FILE
|
|
KOMODO_JWT_SECRET=a_random_jwt_secret
|
|
## Time to live for jwt tokens.
|
|
## Options: 1-hr, 12-hr, 1-day, 3-day, 1-wk, 2-wk
|
|
KOMODO_JWT_TTL="1-day"
|
|
|
|
## Rate Komodo polls your servers for
|
|
## status / container status / system stats / alerting.
|
|
## Options: 1-sec, 5-sec, 15-sec, 1-min, 5-min, 15-min
|
|
## Default: 15-sec
|
|
KOMODO_MONITORING_INTERVAL="15-sec"
|
|
## Interval at which to poll Resources for any updates / automated actions.
|
|
## Options: 5-min, 15-min, 1-hr, 2-hr, 6-hr, 12-hr, 1-day
|
|
## Default: 1-hr
|
|
KOMODO_RESOURCE_POLL_INTERVAL="1-hr"
|
|
|
|
## Disable new user signups.
|
|
KOMODO_DISABLE_USER_REGISTRATION=false
|
|
## All new logins are auto enabled
|
|
KOMODO_ENABLE_NEW_USERS=false
|
|
## Disable non-admins from creating new resources.
|
|
KOMODO_DISABLE_NON_ADMIN_CREATE=false
|
|
## Allows all users to have Read level access to all resources.
|
|
KOMODO_TRANSPARENT_MODE=false
|
|
|
|
## OIDC Login
|
|
KOMODO_OIDC_ENABLED=false
|
|
## Must reachable from Komodo Core container
|
|
# KOMODO_OIDC_PROVIDER=https://oidc.provider.internal/application/o/komodo
|
|
## Change the host to one reachable be reachable by users (optional if it is the same as above).
|
|
## DO NOT include the `path` part of the URL.
|
|
# KOMODO_OIDC_REDIRECT_HOST=https://oidc.provider.external
|
|
## Your OIDC client id
|
|
# KOMODO_OIDC_CLIENT_ID= # Alt: KOMODO_OIDC_CLIENT_ID_FILE
|
|
## Your OIDC client secret.
|
|
## If your provider supports PKCE flow, this can be ommitted.
|
|
# KOMODO_OIDC_CLIENT_SECRET= # Alt: KOMODO_OIDC_CLIENT_SECRET_FILE
|
|
## Make usernames the full email.
|
|
## Note. This does not work for all OIDC providers.
|
|
# KOMODO_OIDC_USE_FULL_EMAIL=true
|
|
## Add additional trusted audiences for token claims verification.
|
|
## Supports comma separated list, and passing with _FILE (for compose secrets).
|
|
# KOMODO_OIDC_ADDITIONAL_AUDIENCES=abc,123 # Alt: KOMODO_OIDC_ADDITIONAL_AUDIENCES_FILE
|
|
|
|
## Github Oauth
|
|
KOMODO_GITHUB_OAUTH_ENABLED=false
|
|
# KOMODO_GITHUB_OAUTH_ID= # Alt: KOMODO_GITHUB_OAUTH_ID_FILE
|
|
# KOMODO_GITHUB_OAUTH_SECRET= # Alt: KOMODO_GITHUB_OAUTH_SECRET_FILE
|
|
|
|
## Google Oauth
|
|
KOMODO_GOOGLE_OAUTH_ENABLED=false
|
|
# KOMODO_GOOGLE_OAUTH_ID= # Alt: KOMODO_GOOGLE_OAUTH_ID_FILE
|
|
# KOMODO_GOOGLE_OAUTH_SECRET= # Alt: KOMODO_GOOGLE_OAUTH_SECRET_FILE
|
|
|
|
## Aws - Used to launch Builder instances.
|
|
KOMODO_AWS_ACCESS_KEY_ID= # Alt: KOMODO_AWS_ACCESS_KEY_ID_FILE
|
|
KOMODO_AWS_SECRET_ACCESS_KEY= # Alt: KOMODO_AWS_SECRET_ACCESS_KEY_FILE
|
|
|
|
## Prettier logging with empty lines between logs
|
|
KOMODO_LOGGING_PRETTY=false
|
|
## More human readable logging of startup config (multi-line)
|
|
KOMODO_PRETTY_STARTUP_CONFIG=false
|
|
|
|
#=------------------------------=#
|
|
#= Komodo Periphery Environment =#
|
|
#=------------------------------=#
|
|
|
|
## Full variable list + descriptions are available here:
|
|
## 🦎 https://github.com/moghtech/komodo/blob/main/config/periphery.config.toml 🦎
|
|
|
|
## Point Periphery to Core for connection
|
|
PERIPHERY_CORE_ADDRESS=ws://core:9120
|
|
## Use the same name as KOMODO_FIRST_SERVER_NAME to connect
|
|
PERIPHERY_CONNECT_AS=${KOMODO_FIRST_SERVER_NAME}
|
|
## Use the public key generated by Core.
|
|
PERIPHERY_CORE_PUBLIC_KEYS=file:/config/keys/core.pub
|
|
|
|
## Specify the root directory used by Periphery agent.
|
|
## All your compose files and repos need to be inside this directory
|
|
## for Periphery to interact with them.
|
|
## - ROOT_DIRECTORY (/etc/komodo)
|
|
## --- ./stacks
|
|
## ------ ./my_stack_1
|
|
## ------ ./my_stack_2
|
|
## --- ./repos
|
|
## ------ ./my_repo_1
|
|
## --- ./builds
|
|
PERIPHERY_ROOT_DIRECTORY=/etc/komodo
|
|
|
|
## Specify whether to disable the terminals feature
|
|
## and disallow remote shell access (inside the Periphery container).
|
|
PERIPHERY_DISABLE_TERMINALS=false
|
|
## Specify whether to disable the container exec / attach features
|
|
## and disallow remote container shell access.
|
|
PERIPHERY_DISABLE_CONTAINER_TERMINALS=false
|
|
|
|
## If the disk size is overreporting, can use one of these to
|
|
## whitelist / blacklist the disks to filter them, whichever is easier.
|
|
## Accepts comma separated list of paths.
|
|
## Usually whitelisting just /etc/hostname gives correct size.
|
|
PERIPHERY_INCLUDE_DISK_MOUNTS=/etc/hostname
|
|
# PERIPHERY_EXCLUDE_DISK_MOUNTS=/snap,/etc/repos
|
|
|
|
## Prettier logging with empty lines between logs
|
|
PERIPHERY_LOGGING_PRETTY=false
|
|
## More human readable logging of startup config (multi-line)
|
|
PERIPHERY_PRETTY_STARTUP_CONFIG=false
|