Skip to content

feat(webhooks): add objgit-webhook-set SSH command - #19

Merged
Xe merged 1 commit into
mainfrom
Xe/per-repo-webhook-admin
Sep 24, 2026
Merged

Xe merged 1 commit into
mainfrom
Xe/per-repo-webhook-admin

Conversation

@Xe

@Xe Xe commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add an objgit-webhook-set org/repo [-url URL] [-rotate-secret] SSH command. It changes a repository's webhook settings and prints them, secret included.
  • Temporarily grant Admin to every client in the default AllowAnonymous authorizer.

Details

Flags that are left out keep their current values. A secret is generated when none exists, and the URL is validated before anything is written. Security: with this change, any client that can reach the HTTP or SSH listener can read every webhook secret and change every webhook target. Do not deploy it where untrusted clients can reach it.

Test plan

  • Code compiles with go build ./...
  • Code formatted with npm run format (goimports and prettier checked on the changed files)
  • Manual testing
  • go test ./... passes, including TestSSHWebhookSet (12 cases over a real ssh client) and TestWriteSettings

Before this change, the only way to change a repository's webhook was
to write its settings object into the bucket by hand. The new
objgit-webhook-set SSH command sets the URL with -url and rotates the
signing secret with -rotate-secret. Flags that are left out keep their
current values. A secret is generated when none exists, and the stored
settings (secret included) are printed. The URL goes through the same
validation as delivery before anything is written.

The default AllowAnonymous authorizer now grants Admin to every
client, as a temporary measure until an ACL-backed authorizer exists.
Any client that can reach the HTTP or SSH listener can therefore read
every webhook secret and change every webhook target.

Assisted-by: Claude Opus 5.5 via Claude Code
Signed-off-by: Xe Iaso <xe@tigrisdata.com>
@Xe
Xe merged commit 6d1f575 into main Sep 24, 2026
8 checks passed
Xe pushed a commit that referenced this pull request Sep 24, 2026
# [1.12.0](v1.11.0...v1.12.0) (2026-09-24)

### Features

* **webhooks:** add objgit-webhook-set SSH command ([#19](#19)) ([6d1f575](6d1f575))

Signed-off-by: Tigris Data <social@tigrisdata.com>
Xe pushed a commit that referenced this pull request Sep 24, 2026
# [1.12.0](v1.11.0...v1.12.0) (2026-09-24)

### Features

* **webhooks:** add objgit-webhook-set SSH command ([#19](#19)) ([6d1f575](6d1f575))

Signed-off-by: Tigris Data <social@tigrisdata.com>
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.12.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants