Skip to content

Kubernetes and Helm

If your organization uses Kubernetes, you can the Helm Chart to deploy Precept quickly and easily.

Prerequisites

  • Kubernetes 1.20+
  • kubectl 1.20+ (pre-configured against your cluster.)
  • Helm 3.0.0+
  • Docker Registry Token (issued by the Precept team.)
  • A valid Precept License File (issed by the Precept team.)

Docker Registry Credentials

Upon activation of your subscription agreement, your organization will be issued with a Docker Registry Token. This Token is used by the Helm CLI to fetch the Helm Chart, and the Kubernetes cluster to pull container images.

Helm CLI Authentication

  1. Configure Helm to authenticate using the Token:

    helm registry login --username precept-docker ghcr.io/precept.sh
  2. Paste the Token into the Password: prompt.

  3. Verify that Helm is able to read the chart:

    helm show chart oci://ghcr.io/precept-sh/helm/precept-server

Kubernetes Image Pull Secret

Use kubectl to register the Image Pull Secret in the same namespace that Precept will be deployed to, replacing <NAMESPACE> and <TOKEN> accordingly:

kubectl -n <NAMESPACE> create secret docker-registry precept \
  --docker-server=ghcr.io/precept-sh \
  --docker-username=precept-docker \
  --docker-password=<TOKEN>

Deployment with Helm

  1. Create a values.yaml file containing custom configuration parameters.

    touch precept-values.yaml
  2. Customize precept-values.yaml according to the Chart Values reference document. At a minimum, you must specify:

    • imagePullSecrets must be populated to reference the Image Pull Secret created above:
    yaml
    imagePullSecrets:
      - name: precept
    • image.tag must be a specific version number as communicated by the Precept team
  3. Use helm to install the Precept Chart using the values.yaml file created previously, replacing <NAMESPACE> accordingly:

helm install precept oci://ghci.io/precept-sh/helm/precept-server \
  --namespace <NAMESPACE> \
  --values precept-values.yaml

Verifying Installation

The default Values configure Liveness and Readiness probes to the /health API endpoint. The status of the Precept Server deployment can be queried with the following kubectl command:

kubectl -n <NAMESPACE> get deployments