Skip to content

feat: Add healthchecks and tool subcommand#12

Merged
ogrman merged 12 commits intomasterfrom
feat/tool-subcommand
Jan 12, 2026
Merged

feat: Add healthchecks and tool subcommand#12
ogrman merged 12 commits intomasterfrom
feat/tool-subcommand

Conversation

@ogrman
Copy link
Owner

@ogrman ogrman commented Jan 12, 2026

Summary

  • Healthchecks for tasks: Tasks with run action can now specify a healthcheck. Dependent tasks wait for the healthcheck to pass before starting, similar to how ensure tasks block dependents until complete.
  • Built-in healthcheck tools: Three tools available: is-port-open <port>, http-get <port or URL>, and http-get-ok <port or URL>. Using tool is more efficient than cmd since it doesn't spawn a new process for each check.
  • rote tool subcommand: Run built-in tools directly from the CLI (e.g., rote tool is-port-open 5432). Useful for scripting and debugging.

Example usage

tasks:
  postgres:
    run: docker run --rm -p 5432:5432 postgres
    healthcheck:
      tool: is-port-open 5432
      interval: 0.5

  api:
    run: ./server
    require: [postgres]  # Won't start until postgres healthcheck passes

Test plan

  • Unit tests for healthcheck config parsing
  • Integration tests for healthcheck functionality
  • Tests for rote tool subcommand
  • Updated README and example.yaml

🤖 Generated with Claude Code

ogrman and others added 12 commits January 9, 2026 22:46
Add a new built-in tool `http-get` that makes an HTTP GET request to
localhost:port and checks for a successful (2xx) response. This can be
used both via CLI (`rote tool http-get 8080`) and in healthcheck
configurations (`tool: http-get 8080`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The http-get tool now accepts either:
- A port number (e.g., `8080`) - assumes http://127.0.0.1:{port}/
- A full http(s) URL (e.g., `https://localhost:8443/health`)

This works both via CLI and in healthcheck configurations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ogrman ogrman merged commit 976d8b9 into master Jan 12, 2026
1 check passed
@ogrman ogrman deleted the feat/tool-subcommand branch January 12, 2026 07:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant