mirror of
https://github.com/moghtech/komodo.git
synced 2026-08-19 00: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>
Komodo CLI
Komodo CLI is a tool to execute actions on your Komodo instance from shell scripts.
Install
cargo install komodo_cli
Note: On Ubuntu, also requires apt install build-essential pkg-config libssl-dev.
Usage
Credentials
Configure a file ~/.config/komodo/creds.toml file with contents:
url = "https://your.komodo.address"
key = "YOUR-API-KEY"
secret = "YOUR-API-SECRET"
Note. You can specify a different creds file by using --creds ./other/path.toml.
You can also bypass using any file and pass the information using --url, --key, --secret:
komodo --url "https://your.komodo.address" --key "YOUR-API-KEY" --secret "YOUR-API-SECRET" ...
Run Executions
# Triggers an example build
komodo execute run-build test_build
Manual
komodo --help
Command line tool to execute Komodo actions
Usage: komodo [OPTIONS] <COMMAND>
Commands:
execute Runs an execution
help Print this message or the help of the given subcommand(s)
Options:
--creds <CREDS> The path to a creds file [default: /Users/max/.config/komodo/creds.toml]
--url <URL> Pass url in args instead of creds file
--key <KEY> Pass api key in args instead of creds file
--secret <SECRET> Pass api secret in args instead of creds file
-y, --yes Always continue on user confirmation prompts
-h, --help Print help (see more with '--help')
-V, --version Print version
komodo execute --help
Runs an execution
Usage: komodo execute <COMMAND>
Commands:
none The "null" execution. Does nothing
run-procedure Runs the target procedure. Response: [Update]
run-build Runs the target build. Response: [Update]
cancel-build Cancels the target build. Only does anything if the build is `building` when called. Response: [Update]
deploy Deploys the container for the target deployment. Response: [Update]
start-deployment Starts the container for the target deployment. Response: [Update]
restart-deployment Restarts the container for the target deployment. Response: [Update]
pause-deployment Pauses the container for the target deployment. Response: [Update]
unpause-deployment Unpauses the container for the target deployment. Response: [Update]
stop-deployment Stops the container for the target deployment. Response: [Update]
destroy-deployment Stops and destroys the container for the target deployment. Reponse: [Update]
clone-repo Clones the target repo. Response: [Update]
pull-repo Pulls the target repo. Response: [Update]
build-repo Builds the target repo, using the attached builder. Response: [Update]
cancel-repo-build Cancels the target repo build. Only does anything if the repo build is `building` when called. Response: [Update]
start-container Starts the container on the target server. Response: [Update]
restart-container Restarts the container on the target server. Response: [Update]
pause-container Pauses the container on the target server. Response: [Update]
unpause-container Unpauses the container on the target server. Response: [Update]
stop-container Stops the container on the target server. Response: [Update]
destroy-container Stops and destroys the container on the target server. Reponse: [Update]
start-all-containers Starts all containers on the target server. Response: [Update]
restart-all-containers Restarts all containers on the target server. Response: [Update]
pause-all-containers Pauses all containers on the target server. Response: [Update]
unpause-all-containers Unpauses all containers on the target server. Response: [Update]
stop-all-containers Stops all containers on the target server. Response: [Update]
prune-containers Prunes the docker containers on the target server. Response: [Update]
delete-network Delete a docker network. Response: [Update]
prune-networks Prunes the docker networks on the target server. Response: [Update]
delete-image Delete a docker image. Response: [Update]
prune-images Prunes the docker images on the target server. Response: [Update]
delete-volume Delete a docker volume. Response: [Update]
prune-volumes Prunes the docker volumes on the target server. Response: [Update]
prune-system Prunes the docker system on the target server, including volumes. Response: [Update]
run-sync Runs the target resource sync. Response: [Update]
deploy-stack Deploys the target stack. `docker compose up`. Response: [Update]
start-stack Starts the target stack. `docker compose start`. Response: [Update]
restart-stack Restarts the target stack. `docker compose restart`. Response: [Update]
pause-stack Pauses the target stack. `docker compose pause`. Response: [Update]
unpause-stack Unpauses the target stack. `docker compose unpause`. Response: [Update]
stop-stack Starts the target stack. `docker compose stop`. Response: [Update]
destroy-stack Destoys the target stack. `docker compose down`. Response: [Update]
sleep
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
--yes
You can use --yes to avoid any human prompt to continue, for use in automated environments.