Self-hosting ConfigHub Enterprise
This page describes what you need to run ConfigHub Enterprise in your own environment and how to install it.
Before you begin, read the Evaluation License if you do not yet have a commercial agreement with ConfigHub. Pulling the image is unrestricted; using the software is not.
Prerequisites
ConfigHub Enterprise runs on infrastructure and third-party software that you provide and operate. These are not part of ConfigHub Enterprise and are not covered by ConfigHub support.
- A Kubernetes cluster to run the ConfigHub server. For a first evaluation the installer can create a local cluster for you.
- A PostgreSQL database. ConfigHub stores all of its data in PostgreSQL. For a real deployment use an instance you manage, for example Amazon RDS, so that you own the data, the backups, and encryption at rest. The installer can bundle a database for evaluation.
- Keycloak, if your users sign in through your identity provider. ConfigHub brokers single sign-on through a Keycloak instance that federates to your identity provider over OpenID Connect or SAML. Run the upstream Keycloak image; ConfigHub does not distribute its own build. An evaluation install does not need it: the instance is created with a local administrator and a generated keypair.
- An ingress controller and TLS certificates for the ConfigHub endpoints, for anything beyond a local evaluation.
- Network access to a container registry, either
ghcr.iodirectly or a mirror you maintain.
Each release states the versions of these components it is tested against.
The image
The server is published as a multi-architecture image:
ghcr.io/confighubai/confighub:<version>
Pin an explicit version for a reproducible install. The latest tag moves with every release.
The image includes the license texts for all third-party components it contains, at /srv/app/THIRD_PARTY_LICENSES.txt, /srv/app/UI_THIRD_PARTY_LICENSES.txt, and /srv/app/OS_LICENSE_NOTICE.txt, and the Evaluation License at /srv/app/EVALUATION-LICENSE.txt.
Installation
The quickest way to get a running instance is the cub server plugin, published as open source at github.com/confighub/cub-server. It is intended to get you up and running quickly, for an evaluation on a laptop or a first install into a cluster you already have. It is not a full production deployment tool.
You need the cub CLI, and Docker running if you want the plugin to create a local cluster.
cub plugin install confighub/cub-server
cub server install -i
This creates a local Kubernetes cluster with kind, deploys ConfigHub and a bundled PostgreSQL into it, waits for the instance to answer, and signs you in as the local administrator. No identity provider is required. When it finishes you can use the CLI against your instance:
cub space list
and open the web UI in a browser session started from the authenticated CLI:
cub auth browser-session
To install into a cluster you already have, or to use your own database, point the plugin at them:
cub server install --target=context --kube-context=my-cluster --database=external
Both targets render the same manifests. Re-running the install is safe: generated values such as the token signing key and database password are read back from the previous run and reused, so a re-run resumes rather than replaces. cub server install --dry-run renders everything and creates nothing, which is a good way to review the manifests before applying them.
The plugin's README documents the generated files, uninstalling, and generating key material by hand.
Beyond the quick install
Connecting ConfigHub to your identity provider, running behind your own ingress with TLS, and hardening the deployment for production are not yet covered here. If you are evaluating ConfigHub Enterprise for such a deployment, contact us and we will work through it with you.