feat(cli): functions update, executions group, webhooks get/update (PR B — capabilities)#20
Merged
Conversation
Brings the CLI to parity with the MCP/dashboard for mutate + inspect
(Tier-1/2 capability gaps), all backed by existing REST endpoints:
- functions update <fn>: partial in-place config update (PUT) built from
only the flags you pass — toggle network_mode, adjust limits/concurrency,
pause via --status — without a redeploy. Runtime stays create-fixed.
- executions <group>: the global, filterable execution surface that
complements per-fn `orva logs`:
list (--function/--status/--since/--until/--search/--limit/--offset +
truncation footer), get, logs, delete <id...>, replay <id> (invoke-style
output + non-zero exit on 4xx/5xx), and prune (--function/--status/
--older-than, lists+confirms the count, batch-deletes at the 1000/call
cap; requires a filter so it can't wipe everything by accident).
- webhooks get <id> + update <id> (partial; secret rotation stays
delete+recreate).
Registers the new `executions` group, wires fn-name completion for the new
fn args/flags, and extends the command-tree + required-flags tests. CLI-only
(no server change); the endpoints already exist.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR B — Missing capabilities (Tier 1/2)
Second of four back-to-back CLI gap-closure PRs. Brings the CLI to parity with the MCP/dashboard for mutate + inspect. CLI-only — every endpoint already exists server-side.
New
functions update <fn>— partial in-place config update viaPUT /api/v1/functions/{id}, body built from only the flags you pass (--name/--description/--entrypoint/--timeout-ms/--memory-mb/--cpus/--env/--network-mode/--max-concurrency/--concurrency-policy/--auth-mode/--rate-limit-per-min/--status). Toggle egress / adjust limits / pause without a redeploy. No--runtime(create-fixed; deploy to change code).executionsgroup — the global, filterable execution surface complementing per-fnorva logs:list(--function/--status/--since/--until/--search/--limit/--offset, truncation footer)get <id>,logs <id>delete <id...>(bulk-delete, confirm/--yes)prune(--function/--status/--older-than, lists+confirms the count, batch-deletes at the 1000/call cap; requires a filter so it can't wipe everything by accident)replay <id>(invoke-style output, non-zero exit on 4xx/5xx)webhooks get <id>+webhooks update <id>— partial update (--name/--url/--events/--enabled); secret rotation stays delete+recreate.Wiring/tests
Registers the
executionstop-level group; fn-name completion for the new fn args (functions update) and--functionflags (executions list/prune); command-tree + required-flags tests extended.go vet ./...+go test ./...green; command-tree parity green.Live-verified on the dev instance (:3000)
functions update --network-mode egress --max-concurrency 5then re-get(+ revert + no-flags guard);executions list(Showing N of 30),get,logs(clean 404 on a log-less row),replay(new execution + body),delete --yes(+-o json{deleted,failed}),prunefilter-required + fail-closed-on-non-TTY guards;webhooks get/update(enabled+events) + no-flags guard. All throwaway artifacts cleaned up.