Installation

There are three ways to run the OPA Operator:

  1. Helm managed Docker container deployment on Kubernetes

  2. As a Docker container

  3. Build from source.

Helm

Helm allows you to download and deploy Stackable operators on Kubernetes and is by far the easiest installation method. First ensure that you have installed the Stackable Operators Helm repository:

$ helm repo add stackable https://repo.stackable.tech/repository/helm-dev/

Then install the Stackable Operator for OPA

$ helm install opa-operator stackable/opa-operator

Helm will deploy the operator in a Kubernetes container and apply the CRDs for the OPA service. You’re now ready to deploy OPA in Kubernetes.

Docker

This Operator is published as a Docker image:

docker.stackable.tech/stackable/opa-operator

When installing manually with Docker you will need to install the Stackable CRDs for OPA in your Kubernetes environment. These are available on the Stackable GitHub repository for this operator.

$ sudo kubectl apply -f opacluster.crd.yaml

To run it straight from Docker you can use this command:

docker run \
    --name opa-operator \
    --network host \
    --env KUBECONFIG=/home/stackable/.kube/config \
    --mount type=bind,source="$HOME/.kube/config",target="/home/stackable/.kube/config" \
    docker.stackable.tech/stackable/opa-operator:latest

Building the operator from source

This operator is written in Rust and is developed against the latest stable Rust release (1.56 at the time of writing).

cargo build