Add pagination for resource and container list APIs and improved term based search. Use Komodo with thousands of resources without having issues with the UI due to over-querying.
API users can still avoid pagination for simplicity by passing limit: 0 in the request body json. The default limit is 100 resources per page.
UI / Containers: Improved page responsiveness and container search with arbitrarily many containers using pagination.
RAM / Monitoring
Break down memory usage into used / cache, supporting ZFS specifically, by @ChanningHe.
Cancellation
Build: All builds now support mid-build cancellation by terminating the running build command.
Build webhooks now cancel any running build before re-triggering, better handling cases with back-to-back git pushes.
Action / Procedure: Support mid-run cancellation.
Actions cancel immediately by killing the deno process executing the script.
Procedures cancel after the current parallel stage completes (before moving onto the next stage)
Misc.
Procedure: Batch executions now support matching by tags.
Specify a pattern of * to filter only by tags.
Builder: Server type builders can now attach multiple servers and simultaneous builds will be distributed between them.
Deployment: Support configuring custom name for container / swarm service
The container / service name still defaults to deployment name
Stack: Allow viewing service list even when down, enabling users to deploy single service without the whole Stack.
Auth: Improve Google auth integration with id token validation by @MP-Tool
UI: Add omni-search 'clear on close' option.
UI: Find Stack services from the omni-search.
Commands: Add command-specific timeouts on read requests through shell. Fixes issues like #1392.
Git: Fix giving clear log when git isn't installed, previously the message did not clearly identify the issue in logs.
UI: Fix resource description responsive overflow.
UI / Websocket: Send keepalive pings to help websocket maintain connection by @Dougley.
UI / Deployment: Fix deployment tabs disappearing sometimes when in swarm mode.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/moghtech/komodo/pull/1520
**Author:** [@mbecker20](https://github.com/mbecker20)
**Created:** 7/10/2026
**Status:** 🔄 Open
**Base:** `main` ← **Head:** `2.3.0`
---
### 📝 Commits (10+)
- [`61e4d7d`](https://github.com/moghtech/komodo/commit/61e4d7def07d33e232e0a9f028af7c176dbc44a4) dockerfile builds use latest rust 1.96.0
- [`bf4bc28`](https://github.com/moghtech/komodo/commit/bf4bc28b1f86204c424dbc42b1f5a0c535194328) bump rust and js dependencies
- [`a2865ca`](https://github.com/moghtech/komodo/commit/a2865cadc0005240b61b59bcce861bc7a87874a5) deploy 2.3.0-dev-1
- [`fbf3386`](https://github.com/moghtech/komodo/commit/fbf33867dfefe3c32148605a031ae87dfa17e0aa) omnisearch clear on close option (default true), fix omnisearch border radius cutting off search input
- [`cfd1962`](https://github.com/moghtech/komodo/commit/cfd196277a3772c72483e87e8d2351584af97e41) fix resource description responsive overflow in some screen size
- [`a339382`](https://github.com/moghtech/komodo/commit/a33938259bcc9c422fe15968e670f71d64c3be79) kill process group
- [`88438c0`](https://github.com/moghtech/komodo/commit/88438c0352e313d282eaf622e69dc875c4481657) Start wiring through shell timeout / external cancel options
- [`0581e7d`](https://github.com/moghtech/komodo/commit/0581e7df5f336525fc80c5af61a518b3fee63578) deploy 2.3.0-dev-2
- [`51c95ff`](https://github.com/moghtech/komodo/commit/51c95ff9ce44210ad52aabd654fbc7bd0c9a4859) implement CommandOptions (timeout / cancel ability) throughout shell usage
- [`6e51b6d`](https://github.com/moghtech/komodo/commit/6e51b6d0308e815ebf24e8cc261decf445367762) Add timeouts to read child commands
### 📊 Changes
**315 files changed** (+12625 additions, -5266 deletions)
<details>
<summary>View changed files</summary>
📝 `Cargo.lock` (+211 -174)
📝 `Cargo.toml` (+27 -25)
📝 `action/deploy-ui.ts` (+1 -1)
📝 `bin/binaries.Dockerfile` (+1 -1)
📝 `bin/chef.binaries.Dockerfile` (+1 -1)
📝 `bin/cli/Cargo.toml` (+0 -1)
📝 `bin/cli/aio.Dockerfile` (+1 -1)
📝 `bin/cli/src/command/container.rs` (+25 -27)
📝 `bin/cli/src/command/execute.rs` (+2 -0)
📝 `bin/cli/src/command/list.rs` (+189 -31)
📝 `bin/cli/src/command/terminal.rs` (+13 -3)
📝 `bin/core/Cargo.toml` (+0 -1)
📝 `bin/core/aio.Dockerfile` (+1 -1)
📝 `bin/core/src/api/execute/action.rs` (+92 -13)
📝 `bin/core/src/api/execute/alerter.rs` (+2 -0)
📝 `bin/core/src/api/execute/build.rs` (+24 -21)
📝 `bin/core/src/api/execute/deployment.rs` (+53 -22)
📝 `bin/core/src/api/execute/maintenance.rs` (+2 -2)
📝 `bin/core/src/api/execute/mod.rs` (+21 -3)
📝 `bin/core/src/api/execute/procedure.rs` (+65 -6)
_...and 80 more files_
</details>
### 📄 Description
# Changelog
## Pagination
- Add pagination for resource and container list APIs and improved term based search. Use Komodo with thousands of resources without having issues with the UI due to over-querying.
- API users can still avoid pagination for simplicity by passing `limit: 0` in the request body json. The default limit is 100 resources per page.
- **UI / Containers**: Improved page responsiveness and container search with arbitrarily many containers using pagination.
<img width="1273" height="378" alt="Screenshot 2026-07-11 at 1 28 37 AM" src="https://github.com/user-attachments/assets/a6ce20b9-4c64-4dbe-8706-3ee6091aa11d" />
## RAM / Monitoring
- Break down memory usage into used / cache, supporting ZFS specifically, by @ChanningHe.
<img width="1898" height="584" alt="Memory" src="https://github.com/user-attachments/assets/b5c5a2ab-0d23-4cd0-8744-e22b8fa33a03" />
## Cancellation
- **Build**: All builds now support mid-build cancellation by terminating the running build command.
- Build webhooks now cancel any running build before re-triggering, better handling cases with back-to-back git pushes.
- **Action / Procedure**: Support mid-run cancellation.
- Actions cancel immediately by killing the deno process executing the script.
- Procedures cancel after the current parallel stage completes (before moving onto the next stage)
<img width="1271" height="465" alt="Screenshot 2026-07-11 at 1 37 09 AM" src="https://github.com/user-attachments/assets/4e1722c0-b268-40f9-a2dd-bfa3da6bd68b" />
## Misc.
- **Procedure**: Batch executions now support matching by tags.
- Specify a pattern of `*` to filter only by tags.
- **Builder**: Server type builders can now attach multiple servers and simultaneous builds will be distributed between them.
- **Deployment**: Support configuring custom name for container / swarm service
- The container / service name still defaults to deployment name
- **Stack**: Allow viewing service list even when down, enabling users to deploy single service without the whole Stack.
- **Auth**: Improve Google auth integration with id token validation by @MP-Tool
- **UI**: Add omni-search 'clear on close' option.
- **UI**: Find Stack services from the omni-search.
- **Commands**: Add command-specific timeouts on read requests through shell. Fixes issues like #1392.
- **Build / Deployment**: Fix build -> deployment flow when build doesn't push semver tags.
- **Alerter / TOML**: Fix resource lists export resources IDs instead of names.
- **Git**: Fix giving clear log when `git` isn't installed, previously the message did not clearly identify the issue in logs.
- **UI**: Fix resource description responsive overflow.
- **UI / Websocket**: Send keepalive pings to help websocket maintain connection by @Dougley.
- **UI / Deployment**: Fix deployment tabs disappearing sometimes when in swarm mode.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/moghtech/komodo/pull/1520
Author: @mbecker20
Created: 7/10/2026
Status: 🔄 Open
Base:
main← Head:2.3.0📝 Commits (10+)
61e4d7ddockerfile builds use latest rust 1.96.0bf4bc28bump rust and js dependenciesa2865cadeploy 2.3.0-dev-1fbf3386omnisearch clear on close option (default true), fix omnisearch border radius cutting off search inputcfd1962fix resource description responsive overflow in some screen sizea339382kill process group88438c0Start wiring through shell timeout / external cancel options0581e7ddeploy 2.3.0-dev-251c95ffimplement CommandOptions (timeout / cancel ability) throughout shell usage6e51b6dAdd timeouts to read child commands📊 Changes
315 files changed (+12625 additions, -5266 deletions)
View changed files
📝
Cargo.lock(+211 -174)📝
Cargo.toml(+27 -25)📝
action/deploy-ui.ts(+1 -1)📝
bin/binaries.Dockerfile(+1 -1)📝
bin/chef.binaries.Dockerfile(+1 -1)📝
bin/cli/Cargo.toml(+0 -1)📝
bin/cli/aio.Dockerfile(+1 -1)📝
bin/cli/src/command/container.rs(+25 -27)📝
bin/cli/src/command/execute.rs(+2 -0)📝
bin/cli/src/command/list.rs(+189 -31)📝
bin/cli/src/command/terminal.rs(+13 -3)📝
bin/core/Cargo.toml(+0 -1)📝
bin/core/aio.Dockerfile(+1 -1)📝
bin/core/src/api/execute/action.rs(+92 -13)📝
bin/core/src/api/execute/alerter.rs(+2 -0)📝
bin/core/src/api/execute/build.rs(+24 -21)📝
bin/core/src/api/execute/deployment.rs(+53 -22)📝
bin/core/src/api/execute/maintenance.rs(+2 -2)📝
bin/core/src/api/execute/mod.rs(+21 -3)📝
bin/core/src/api/execute/procedure.rs(+65 -6)...and 80 more files
📄 Description
Changelog
Pagination
limit: 0in the request body json. The default limit is 100 resources per page.RAM / Monitoring
Cancellation
Misc.
*to filter only by tags.gitisn't installed, previously the message did not clearly identify the issue in logs.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.