Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,33 @@ Helm charts for deploying confidential computing operators and workloads on Kube
> [!NOTE]
> This is the general workflow for installing the charts. Always check each chart's `values.yaml` for available customizations and chart-specific instructions.

### Namespace

Each operator chart always creates the target namespace as part of the deployment. By default this is the Helm release namespace (`.Release.Namespace`). To deploy into a specific namespace, set `namespaceOverride`:

```bash
--set namespaceOverride=openshift-sandboxed-containers-operator # for OSC
--set namespaceOverride=trustee-operator-system # for Trustee
```

The operand charts reference `namespaceOverride` the same way but do not create the namespace — they expect the operator chart to have created it already.

### Two-Stage Installation

```bash
# Use OPERATOR=trustee or OPERATOR=osc
OPERATOR=trustee
NS=trustee-operator-system # optional: set a target namespace

# Stage 1: Deploy operator
helm template ${OPERATOR}-operator charts/${OPERATOR}-operator | kubectl apply -f -
# Stage 1: Deploy operator (creates the namespace)
helm template ${OPERATOR}-operator charts/${OPERATOR}-operator \
--set namespaceOverride=${NS} | kubectl apply -f -

# Stage 2: Wait for operator ready (check operator deployment is available)

# Stage 3: Deploy operands
helm template ${OPERATOR}-operands charts/${OPERATOR}-operands | kubectl apply -f -
# Stage 3: Deploy operands (into the same namespace)
helm template ${OPERATOR}-operands charts/${OPERATOR}-operands \
--set namespaceOverride=${NS} | kubectl apply -f -
```

### Using ArgoCD
Expand Down
16 changes: 6 additions & 10 deletions charts/osc-operator/templates/namespaces.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
# osc-namespace.yaml
{{- if .Values.namespaceOverride }}
{{- if ne .Values.namespaceOverride .Release.Namespace }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespaceOverride }}
annotations:
argocd.argoproj.io/sync-wave: "-3"
{{- end }}
{{- end }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespaceOverride | default .Release.Namespace }}
annotations:
argocd.argoproj.io/sync-wave: "-3"
5 changes: 5 additions & 0 deletions charts/osc-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
---
# Override the namespace where the operator is deployed.
# The chart always creates this namespace.
# If not set, defaults to the Helm release namespace.
# namespaceOverride: openshift-sandboxed-containers-operator

dev:
# Enable development mode for the operator.
# This means it will use a custom catalog source and image.
Expand Down
4 changes: 3 additions & 1 deletion charts/trustee-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ OpenShift.
## Installation

```bash
helm template trustee-operator charts/trustee-operator | kubectl apply -f -
helm template trustee-operator charts/trustee-operator \
--set namespaceOverride=trustee-operator-system | kubectl apply -f -
```

Wait for the operator to be ready before deploying operands.
Expand All @@ -25,6 +26,7 @@ Wait for the operator to be ready before deploying operands.

See `values.yaml` for available options:

- **namespaceOverride**: Target namespace for the operator. The chart always creates this namespace. Defaults to the Helm release namespace if not set.
- **Production mode**: Uses official Red Hat operators catalog
- **Development mode**: Uses custom catalog source with pre-release images and mirror sets

Expand Down
16 changes: 6 additions & 10 deletions charts/trustee-operator/templates/namespaces.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
# trustee-namespace.yaml
{{- if .Values.namespaceOverride }}
{{- if ne .Values.namespaceOverride .Release.Namespace }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespaceOverride }}
annotations:
argocd.argoproj.io/sync-wave: "-3"
{{- end }}
{{- end }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespaceOverride | default .Release.Namespace }}
annotations:
argocd.argoproj.io/sync-wave: "-3"
5 changes: 5 additions & 0 deletions charts/trustee-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
# Trustee Operator requires OpenShift Container Platform 4.16 or later.
# See: https://docs.redhat.com/en/documentation/red_hat_build_of_trustee

# Override the namespace where the operator is deployed.
# The chart always creates this namespace.
# If not set, defaults to the Helm release namespace.
# namespaceOverride: trustee-operator-system

dev:
# Enable development mode for the operator.
# This means it will use a custom catalog source, custom FBC image, and image mirrors.
Expand Down