Skip to content

v2.6.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@leggetter leggetter released this 14 Aug 17:15
640b00f

Summary

First beta of Outpost support in the CLI. Adds hookdeck outpost for managing tenants, their destinations, and the events delivered to them — the Outpost equivalent of what hookdeck gateway does for the Event Gateway.

This is a beta from a feature branch, published for real-world testing before merge. It requires an Outpost project; switch with hookdeck project use.

New features

hookdeck outpost — the full command tree:

Group Commands
tenant list get upsert delete token portal
destination list get create update delete enable disable
destination-type list get
event list get retry
attempt list get
publish
topic list
metrics events attempts
config get set custom-domain get|set|delete
status

Destination config is passed as key=value pairs, because the fields differ per type and are defined by your Outpost deployment rather than the CLI:

hookdeck outpost tenant upsert acme

hookdeck outpost destination create --tenant-id acme --type webhook \
  --config url=https://example.com/hooks --topics user.created

Per-type help. Since --config alone cannot tell you which keys are valid, ask it directly:

hookdeck outpost destination-type get kafka          # every field, with constraints
hookdeck outpost destination create --type kafka --help   # the same, inline

Both list each field with whether it is required, whether it is sensitive, and any values or format it accepts — read live from your deployment, so newly added types work without a CLI update.

outpost publish needs a Hookdeck Project API key. It is the one command that does not accept the credentials hookdeck login stores. Pass --api-key or set HOOKDECK_API_KEY:

hookdeck outpost publish --tenant-id acme --topic user.created \
  --data '{"user_id":"123"}' --api-key $HOOKDECK_API_KEY

What to test

Everything above is exercised by automated tests against a real Outpost project, but has not been used in anger. Most valuable feedback:

  • Destination creation across typeswebhook is well covered; the AWS, GCP, Azure, RabbitMQ and Kafka types are validated against the schema but have not been created against real infrastructure.
  • --config key=value ergonomics. Does it feel right, and is destination-type get a good enough answer to "what fields does this take"?
  • The tenant portal and custom domain commands (tenant portal, config custom-domain …) are the least proven surface — they are the four commands with no automated coverage, because they configure a real DNS-verified hostname. Please try them and report anything odd.
  • Error messages. They are meant to name the flag that fixes the problem; tell us where they do not.

Known limitations

  • Requires an Outpost project. Running these against an Event Gateway project reports the project type and how to switch, rather than failing obscurely.
  • outpost publish cannot use hookdeck login credentials, as above.
  • MCP support for Outpost is not in this release; it is in progress.

Installing this beta

npm install -g hookdeck-cli@beta

Or download a binary from the assets below.