From olm
Installs a day-2 operator via OLM: creates namespace, OperatorGroup, Subscription, verifies CSV, supports custom channel, source, and approval mode.
How this command is triggered — by the user, by Claude, or both
Slash command
/olm:install <operator-name> [namespace] [channel] [source] [--approval=Automatic|Manual]The summary Claude sees in its command listing — used to decide when to auto-load this command
## Name olm:install ## Synopsis ## Description The `olm:install` command installs a day-2 operator in an OpenShift cluster using Operator Lifecycle Manager (OLM). It automates the creation of the required namespace, OperatorGroup, and Subscription resources needed to install an operator. This command handles the complete operator installation workflow: - Creates or verifies the target namespace exists - Creates an OperatorGroup if needed - Creates a Subscription to install the operator - Verifies the installation by checking the operator's CSV (ClusterServiceVersion) status - Provides d...
olm:install
/olm:install <operator-name> [namespace] [channel] [source] [--approval=Automatic|Manual]
The olm:install command installs a day-2 operator in an OpenShift cluster using Operator Lifecycle Manager (OLM). It automates the creation of the required namespace, OperatorGroup, and Subscription resources needed to install an operator.
This command handles the complete operator installation workflow:
The command is designed to work with operators from the OperatorHub catalog, including Red Hat certified operators, community operators, and custom catalog sources.
The command performs the following steps:
Parse Arguments:
$1: Operator name (required) - The name of the operator to install (e.g., "openshift-cert-manager-operator")$2: Namespace (optional) - Target namespace for the operator. If not provided, defaults to {operator-name}-operator (e.g., "cert-manager-operator")$3: Channel (optional) - Subscription channel. If not provided, discovers the default channel from the operator's PackageManifest$4: Source (optional) - CatalogSource name. Defaults to "redhat-operators" for Red Hat operators$5+: Flags (optional):
--approval=Automatic|Manual: InstallPlan approval mode (default: Automatic)/olm:approve or oc patchPrerequisites Check:
oc CLI is installed: which ococ whoamiDiscover Operator Metadata (if channel or source not provided):
oc get packagemanifests -n openshift-marketplace | grep {operator-name}
oc get packagemanifest {operator-name} -n openshift-marketplace -o json
.status.defaultChannel.status.catalogSource.status.catalogSourceNamespaceCreate Namespace:
oc get namespace {namespace} --ignore-not-foundoc create namespace {namespace}
Create OperatorGroup:
oc get operatorgroup -n {namespace} --ignore-not-found
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: {namespace}-operatorgroup
namespace: {namespace}
spec:
targetNamespaces:
- {namespace}
oc apply -f /tmp/operatorgroup-{operator-name}.yaml
Create Subscription:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: {operator-name}
namespace: {namespace}
spec:
channel: {channel}
name: {operator-name}
source: {source}
sourceNamespace: openshift-marketplace
installPlanApproval: {Automatic|Manual}
oc apply -f /tmp/subscription-{operator-name}.yaml
ℹ️ InstallPlan approval set to Manual
You will need to manually approve InstallPlans for this operator.
Use: /olm:approve {operator-name} {namespace}
Reference: https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/operators/administrator-tasks#olm-approving-operator-upgrades_olm-updating-operators
Verify Installation:
oc get installplan -n {namespace} -l operators.coreos.com/operator={operator-name}
oc get installplan -n {namespace} -o json | jq '.items[] | select(.spec.approved==false)'
⏸️ InstallPlan created but requires manual approval
InstallPlan: {installplan-name}
To approve: /olm:approve {operator-name} {namespace}
Or manually: oc patch installplan {installplan-name} -n {namespace} \
--type merge --patch '{"spec":{"approved":true}}'
Waiting for approval...
oc get csv -n {namespace} -w
Display Results:
oc get deployments -n {namespace}
oc get pods -n {namespace}
Cleanup Temporary Files:
rm -f /tmp/operatorgroup-{operator-name}.yaml /tmp/subscription-{operator-name}.yaml
Install cert-manager-operator with defaults:
/olm:install openshift-cert-manager-operator
This will:
cert-manager-operatorredhat-operators catalog sourceInstall cert-manager-operator with custom namespace:
/olm:install openshift-cert-manager-operator my-cert-manager
This will install the operator in the my-cert-manager namespace.
Install with specific channel:
/olm:install openshift-cert-manager-operator cert-manager-operator stable-v1
This will install from the stable-v1 channel.
Install from community catalog:
/olm:install prometheus community-operators stable community-operators
This will install Prometheus from the community-operators catalog.
Install Red Hat Advanced Cluster Security:
/olm:install rhacs-operator rhacs-operator stable
Install with manual approval mode:
/olm:install openshift-cert-manager-operator cert-manager-operator stable-v1 redhat-operators --approval=Manual
This will install the operator but require manual approval for all upgrades.
Install with all parameters specified:
/olm:install external-secrets-operator eso-operator stable-v0.10 redhat-operators --approval=Automatic
{operator-name} (operator name without "openshift-" prefix if present)--approval=Automatic|Manual: InstallPlan approval mode
{operator-name}-operator--approval=Manual flag--approval=Manual:
/olm:approve commandoc get packagemanifests -n openshift-marketplace to see available operatorsoc get installplan -n {namespace}
oc get csv -n {namespace}
oc describe csv -n {namespace}
oc logs -n {namespace} deployment/{operator-deployment}
npx claudepluginhub jluhrsen/ai-helpers --plugin olm/openshiftDiagnoses and resolves OpenShift cluster issues across SCC, Routes, GitOps, and upgrades. Also supports a debug mode for general troubleshooting.
/prereqsChecks current OS and installs missing prerequisites for Kubernetes operator development: kind, kubectl, kustomize, tilt, go, kubebuilder.
/installInstalls VoiceMode, FFmpeg, and local voice services (Whisper, Kokoro) for voice conversations in Claude Code.
/installInstalls all dotai registry items (dotai, prompt) in one command, and adds a postinstall script to auto-generate agent instructions.
/installInstalls a hookify rule from the catalog. Supports single rule, category, or all rules installation with optional force overwrite and custom target.
/installInstalls ComfyUI custom node packs from pack name, registry ID, or GitHub URL; searches registry if needed, clones repo to custom_nodes/, installs venv dependencies, and offers restart.