Public betaOpen source. Built in the open.Explore the beta
Own the deployment

Install on your terms.

Start with a secure self-hosted control plane. Choose a binary, a container, or Kubernetes, then connect clients and governed agent workflows.

Updated · Public beta

Binary

The target is v0.2.0; until it is published, build the pinned source instead of downloading a nonexistent archive.

Build the evaluation binaryShell
git clone --branch vorflux/v0.2.0-foundation https://github.com/chiragkumarkakwani-ctrl/omniswitch.git
cd omniswitch
git checkout a8a594b
go build -o omniswitch ./cmd/gateway

Linux/macOS archives use omniswitch_0.2.0_<os>_<arch>.tar.gz. The version segment has no v prefix. Select the architecture that matches your host.

Docker

Build a local image from the same source checkout. The v0.2.0 registry image is not assumed to exist. Create a private .env.local with your provider key, OMNISWITCH_AUTH=true, and OMNISWITCH_BOOTSTRAP_API_KEY. Keep it out of git.

Build and run locallyShell
docker build -t omniswitch:local .
docker run --rm -p 8080:8080 --env-file .env.local \
  -v omniswitch-data:/data omniswitch:local

The named volume preserves the gateway’s data. Configure authentication and network access before exposing the port beyond your machine.

Homebrew

Homebrew tracks published stable releases, not source-branch evaluations.

Use the source-build path above for this pre-release. The tap will be updated only after a verified stable release.

Kubernetes

The product checkout contains manifests, Kustomize configuration, and a Helm chart. Configure a bootstrap secret and provider credentials before deploying.

Inspect the chart before deployingShell
helm lint deploy/helm/omniswitch\nhelm template omniswitch deploy/helm/omniswitch

Use one replica with SQLite. The v0.2.0 Postgres multi-replica chart requires shared database configuration; Redis is for shared rate-limit windows, not a control-state store.

Canonical deployment guide

Verify the download

When v0.2.0 is published, its release is intended to include signed checksums, per-archive SBOMs, and GitHub build attestations. The commands below are prepared for that release; these files are not available yet.

First verify the signature on checksums.txt with cosign verify-blob, pinned to the repository’s release workflow and GitHub OIDC issuer. Then verify your archive’s checksum and build provenance with gh attestation verify.

After publication: verify a Linux amd64 archiveShell
curl -fsSLO https://github.com/omniswitch-dev/omniswitch/releases/download/v0.2.0/omniswitch_0.2.0_linux_amd64.tar.gz
curl -fsSLO https://github.com/omniswitch-dev/omniswitch/releases/download/v0.2.0/checksums.txt
curl -fsSLO https://github.com/omniswitch-dev/omniswitch/releases/download/v0.2.0/checksums.txt.sig
curl -fsSLO https://github.com/omniswitch-dev/omniswitch/releases/download/v0.2.0/checksums.txt.pem

cosign verify-blob checksums.txt \
  --signature checksums.txt.sig \
  --certificate checksums.txt.pem \
  --certificate-identity https://github.com/omniswitch-dev/omniswitch/.github/workflows/release.yml@refs/tags/v0.2.0 \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

sha256sum --check --ignore-missing checksums.txt
gh attestation verify omniswitch_0.2.0_linux_amd64.tar.gz --repo omniswitch-dev/omniswitch

Do not proceed if any check fails. On macOS, use shasum -a 256 -c checksums.txt in a directory containing the selected archive; choose your platform’s release asset. Read the release’s final verification instructions for the signing asset names.

Release verification policy

Upgrade deliberately

Back up your configuration, SQLite files or Postgres database, and provider vault before changing versions. Read the release notes and upgrade guide; do not treat a pre-1.0 minor release as automatically configuration-compatible.

The v0.2.0 plan introduces versioned migrations and retention defaults of 30 days for request metadata and guardrail decisions, 7 days for payloads; 0 keeps data indefinitely. Review those settings before upgrading.

Read the release scope

Uninstall

Stop the process first. Remove the binary, or uninstall it with your package manager. Remove a container without deleting its volume unless you intend to delete gateway data.

Remove a locally built binaryShell
rm ./omniswitch

Data removal is a separate, explicit step. Keep a backup before deleting any gateway database or Docker volume.