Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

Breaking Changes

Redis Schema Migration Required

Existing deployments must migrate Redis keys to hash-tagged format before upgrading to v0.6.0. This enables Redis Cluster support for horizontal scaling.

Schema Change

The Redis key structure has been updated to support Redis Cluster by adding hash tags:

OLD SCHEMA NEW SCHEMA
tenant:123 tenant:{123}:tenant
tenant:123:destinations tenant:{123}:destinations
tenant:123:destination:abc tenant:{123}:destination:abc

Why?

Redis Cluster distributes keys across nodes using hash slots. Without hash tags, related keys like tenant:123 and tenant:123:destinations could be on different nodes, causing CROSSSLOT errors during transactions. Hash tags {...} ensure all tenant data maps to the same hash slot, enabling atomic multi-key operations.

outpost binary behavior change

The outpost binary is now a unified CLI that consolidates server and migration operations.
The binary interface has changed:

Before v0.6.0:

outpost # Start the server

v0.6.0 and later:

outpost serve    # Start the server
outpost migrate  # Run migrations
outpost --version
  • Docker service users (e.g., docker-compose up) - No changes required. The container
    still starts the server by default.
  • Docker CLI users (e.g., docker run hookdeck/outpost ...) - The entrypoint is now the
    unified CLI, so commands change as shown above.
  • Binary users - Update scripts/commands to use outpost serve instead of outpost.
    • NOTE: The outpost CLI orchestrates outpost-server and
      outpost-migrate-redis binaries. All three binaries must be in the same directory or
      available in your $PATH for the CLI to function correctly.

Migration Steps

Option 1: Using environment variables

docker run --rm \\
  -e REDIS_HOST=your-host \\
  -e REDIS_PASSWORD=your-password \\
  hookdeck/outpost:v0.6.0 migrate plan

Option 2: Using CLI flags

docker run --rm hookdeck/outpost:v0.6.0 migrate plan \\
  --redis-host=your-host \\
  --redis-password=your-password

Option 3: Using .env file

docker run --rm --env-file .env hookdeck/outpost:v0.6.0 migrate plan

Then proceed with apply, verify, deploy, and cleanup:

docker run --rm -it hookdeck/outpost:v0.6.0 migrate apply [options]
docker run --rm hookdeck/outpost:v0.6.0 migrate verify [options]
# Deploy v0.6.0 and test thoroughly
docker run --rm -it hookdeck/outpost:v0.6.0 migrate cleanup [options]

📖 Full guide: Outpost Migration Guide

Features

  • Core: Add Redis Cluster support with TLS and automatic node discovery (#465) by @leggetter
  • Core: Add unified Outpost CLI with migration tool (outpost migrate) (#498) by @alexluong

Fixes

  • Portal: Fix inline SVG icons inflating table row height (#501) by @leggetter

Full Changelog

Compare v0.5.1...v0.6.0


This discussion was created from the release v0.6.0.
You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant
Morty Proxy This is a proxified and sanitized view of the page, visit original site.