SolidHooks Connect agent — deliver webhooks to private endpoints with no inbound firewall holes
308
The customer agent for SolidHooks Connect, private webhook delivery.
It lets SolidHooks deliver webhooks to endpoints inside your network, services with no public DNS, no public IP, and no inbound firewall rule. The connector dials out to the SolidHooks overlay and hosts your endpoint on it, so nothing needs to be exposed to the internet.
Built on OpenZiti — a re-badged openziti/ziti-host running in host mode, plus a small bootstrap step that exchanges your enrollment key for a Ziti identity.
Get an enrollment key from the SolidHooks dashboard (Connectors → Create), then:
docker run -d \
--name solidhooks-connector \
-v solidhooks_connector_identity:/ziti \
-e ENROLLMENT_KEY=cbt_your_key_here \
interstellarlabs/solidhooks-connector:v1.15.0
Mount a writable volume at /ziti. The connector enrols once and persists its identity there, renewing its own certificate in place. An ephemeral identity cannot reconnect after a restart.
A Helm chart is published alongside this image and is the recommended way to run it in production — it handles per-replica identity volumes, pod disruption budgets, and graceful deregistration on scale-down:
helm repo add interstellar-labs https://interstellar-labs.github.io/charts/
helm repo update
helm install solidhooks-connector interstellar-labs/solidhooks-connector \
--set enrollmentKey=cbt_your_key_here
| Variable | Required | Default | Meaning |
|---|---|---|---|
ENROLLMENT_KEY | On first boot | — | The reveal-once bootstrap token (cbt_…) from the dashboard. |
ZITI_IDENTITY_DIR | No | /ziti | Where the enrolled identity is persisted. Must be writable. |
Fresh boot (no identity on the volume) — exchanges ENROLLMENT_KEY for a one-time Ziti enrollment token via POST /v1/connectors/bootstrap, enrols, and writes the identity to /ziti.
Restart (identity present) — loads the existing identity and renews its certificate in place. The bootstrap endpoint is only contacted on genuine scale-up or volume loss, so your enrollment key is used once per replica, not on every start.
Run more than one replica. Each enrols its own distinct identity and persists it to its own volume, and all of them share the connector's service through a role attribute. Every replica therefore registers its own terminator on the overlay, and the controller load-balances across them and fails over automatically.
No shared identity, no shared secret, no manual certificate rotation. Replica counts are bounded by your plan's per-connector limit, enforced at enrolment.
https://interstellar-labs.github.io/charts/Tags follow the SolidHooks release train (vX.Y.Z). There is no latest tag — pin an explicit version.
Content type
Image
Digest
sha256:cbbef150e…
Size
57.5 MB
Last updated
3 months ago
docker pull interstellarlabs/solidhooks-connector