Skip to main content
Version: v0.17.x

CLI Reference

The occ (OpenChoreo CLI) is a command-line interface tool for interacting with OpenChoreo. It provides commands to manage namespaces, projects, components, deployments, and other OpenChoreo resources.

Global Options

All commands support the following global options through context configuration:

  • --namespace - Namespace name
  • --project - Project name
  • --component - Component name
  • --environment - Environment name
  • --dataplane - Data plane name

These can be set in a configuration context to avoid repeating them in every command. See the config command for details.

Commands

login

Login to OpenChoreo CLI.

Usage:

occ login [flags]

Flags:

  • --client-credentials - Use OAuth2 client credentials flow for authentication
  • --client-id - OAuth2 client ID for service account authentication
  • --client-secret - OAuth2 client secret for service account authentication
  • --credential - Name to save the credential as in config

Examples:

# Interactive login (default PKCE flow)
occ login

# Service account login with client credentials
occ login --client-credentials --client-id <client-id> --client-secret <client-secret>

logout

Logout from OpenChoreo CLI.

Usage:

occ logout

Examples:

occ logout

version

Print version information for both the CLI client and the OpenChoreo server.

Usage:

occ version

Examples:

occ version

apply

Apply a configuration file to create or update OpenChoreo resources.

Usage:

occ apply -f <file>

Flags:

  • -f, --file - Path to the YAML file containing resource definitions

Examples:

# Apply a namespace configuration
occ apply -f namespace.yaml

# Apply a component configuration
occ apply -f my-component.yaml

config

Manage CLI configuration including contexts, control planes, and credentials.

Usage:

occ config <subcommand> [flags]

The CLI stores its configuration in ~/.occ/config.yaml. The configuration is made up of three concepts:

  • Control planes: API server endpoints that the CLI connects to (see config controlplane)
  • Credentials: Authentication tokens for connecting to control planes (see config credentials)
  • Contexts: Named sets of defaults (namespace, project, etc.) that reference a control plane and credentials (see config context)

A typical setup flow is: add a control plane, add credentials, then create a context that ties them together.

Configuration file structure:

currentContext: my-context
controlplanes:
- name: production
url: https://api.openchoreo.example.com
credentials:
- name: my-creds
clientId: <client-id>
clientSecret: <client-secret>
token: <access-token>
refreshToken: <refresh-token>
authMethod: pkce # or "client_credentials"
contexts:
- name: my-context
controlplane: production
credentials: my-creds
namespace: acme-corp
project: online-store
component: product-catalog
mode: api-server # or "file-system"
rootDirectoryPath: /path/to/resources # for file-system mode

Modes:

The CLI supports two modes:

  1. API Server Mode (api-server): Connects to an OpenChoreo API server to manage resources remotely. This is the default mode.
  2. File System Mode (file-system): Works with resources stored as YAML files in a directory structure. Useful for GitOps workflows and local development.

config controlplane

Manage control plane configurations that define OpenChoreo API server endpoints. A control plane must be configured before it can be referenced in a context.

config controlplane add

Add a new control plane configuration.

Usage:

occ config controlplane add <name> [flags]

Flags:

  • --url - OpenChoreo API server endpoint URL (required)

Examples:

# Add a remote control plane
occ config controlplane add production --url https://api.openchoreo.example.com

# Add a local control plane (for development)
occ config controlplane add local --url http://api.openchoreo.localhost:8080
config controlplane list

List all control plane configurations.

Usage:

occ config controlplane list

Examples:

# Show all control planes
occ config controlplane list
config controlplane update

Update a control plane configuration.

Usage:

occ config controlplane update <name> [flags]

Flags:

  • --url - OpenChoreo API server endpoint URL

Examples:

# Update control plane URL
occ config controlplane update production --url https://new-api.openchoreo.example.com
config controlplane delete

Delete a control plane configuration.

Usage:

occ config controlplane delete <name>

Examples:

# Delete a control plane
occ config controlplane delete old-prod

config credentials

Manage authentication credentials for connecting to control planes. Credentials must be configured before they can be referenced in a context.

config credentials add

Add new authentication credentials.

Usage:

occ config credentials add <name>

Examples:

# Add new credentials (prompts for login)
occ config credentials add my-creds
config credentials list

List all saved credentials.

Usage:

occ config credentials list

Examples:

# Show all credentials
occ config credentials list
config credentials delete

Delete saved credentials.

Usage:

occ config credentials delete <name>

Examples:

# Delete credentials
occ config credentials delete old-creds

config context

Manage configuration contexts that store default values (e.g., namespace, project, component) for occ commands. A context references a control plane and credentials, which must be configured first.

config context add

Create a new configuration context.

Usage:

occ config context add <context-name> [flags]

Flags:

  • --controlplane - Control plane name (required, see config controlplane add)
  • --credentials - Credentials name (required, see config credentials add)
  • --namespace - Namespace name stored in this configuration context
  • --project - Project name stored in this configuration context
  • --component - Component name stored in this configuration context

Examples:

# Create a new context with control plane and credentials
occ config context add acme-corp-context --controlplane production \
--credentials my-creds --namespace acme-corp --project online-store

# Create a minimal context
occ config context add dev-context --controlplane local --credentials dev-creds
config context list

List all available configuration contexts.

Usage:

occ config context list

Examples:

# Show all configuration contexts
occ config context list
config context update

Update an existing configuration context.

Usage:

occ config context update <context-name> [flags]

Flags:

  • --namespace - Namespace name stored in this configuration context
  • --project - Project name stored in this configuration context
  • --component - Component name stored in this configuration context
  • --controlplane - Control plane name
  • --credentials - Credentials name

Examples:

# Update namespace and project
occ config context update acme-corp-context --namespace acme-corp --project online-store

# Update control plane
occ config context update acme-corp-context --controlplane production
config context use

Switch to a specified configuration context.

Usage:

occ config context use <context-name>

Examples:

# Switch to the configuration context named acme-corp-context
occ config context use acme-corp-context
config context describe

Display details of the currently active configuration context.

Usage:

occ config context describe

Examples:

# Display the currently active configuration context
occ config context describe
config context delete

Delete a configuration context.

Usage:

occ config context delete <context-name>

Examples:

# Delete a context
occ config context delete old-context

Resource Management Commands

namespace

Manage namespaces in OpenChoreo.

Usage:

occ namespace <subcommand> [flags]

Aliases: ns, namespaces

namespace list

List all namespaces.

Usage:

occ namespace list

Examples:

# List all namespaces
occ namespace list

namespace get

Get details of a specific namespace.

Usage:

occ namespace get [NAMESPACE_NAME]

Examples:

# Get a specific namespace
occ namespace get acme-corp

namespace delete

Delete a namespace.

Usage:

occ namespace delete [NAMESPACE_NAME]

Examples:

# Delete a namespace
occ namespace delete acme-corp

project

Manage projects in OpenChoreo.

Usage:

occ project <subcommand> [flags]

Aliases: proj, projects

project list

List all projects in a namespace.

Usage:

occ project list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all projects in a namespace
occ project list --namespace acme-corp

project get

Get details of a specific project.

Usage:

occ project get [PROJECT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific project
occ project get online-store --namespace acme-corp

project delete

Delete a project.

Usage:

occ project delete [PROJECT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a project
occ project delete online-store --namespace acme-corp

component

Manage components in OpenChoreo.

Usage:

occ component <subcommand> [flags]

Aliases: comp, components

component list

List all components in a project.

Usage:

occ component list [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name

Examples:

# List all components in a project
occ component list --namespace acme-corp --project online-store

component get

Get details of a specific component.

Usage:

occ component get [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name

Examples:

# Get a specific component
occ component get product-catalog --namespace acme-corp --project online-store

component delete

Delete a component.

Usage:

occ component delete [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name

Examples:

# Delete a component
occ component delete product-catalog --namespace acme-corp --project online-store

component scaffold

Scaffold a Component YAML from ComponentType and Traits.

Usage:

occ component scaffold [flags]

Flags:

  • --name - Component name
  • --type - Component type in format workloadType/componentTypeName (e.g., deployment/web-app)
  • --traits - Comma-separated list of trait names to include
  • --workflow - ComponentWorkflow name to include in the scaffold
  • --namespace - Namespace name (can be omitted if set in context)
  • --project - Project name (can be omitted if set in context)
  • -o, --output-file - Write output to specified file instead of stdout
  • --skip-comments - Skip section headers and field description comments for minimal output
  • --skip-optional - Skip fields with defaults

Examples:

# Scaffold a basic component
occ component scaffold --name my-app --type deployment/web-app

# Scaffold with traits
occ component scaffold --name my-app --type deployment/web-app --traits storage,ingress

# Scaffold with workflow
occ component scaffold --name my-app --type deployment/web-app --workflow docker-build

# Output to file
occ component scaffold --name my-app --type deployment/web-app -o my-app.yaml

# Minimal output without comments
occ component scaffold --name my-app --type deployment/web-app --skip-comments --skip-optional

component deploy

Deploy or promote a component to an environment.

Usage:

occ component deploy [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name
  • --release - Specific component release to deploy
  • --to - Target environment to promote to
  • --set - Override values (can be used multiple times)
  • -o, --output - Output format

Examples:

# Deploy latest release to root environment
occ component deploy api-service --namespace acme-corp --project online-store

# Deploy specific release
occ component deploy api-service --release api-service-20260126-143022-1

# Promote to next environment
occ component deploy api-service --to staging

# Deploy with overrides
occ component deploy api-service --set spec.componentTypeEnvOverrides.replicas=3

component logs

Retrieve and display logs for a component from a specific environment.

Usage:

occ component logs COMPONENT_NAME [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name
  • --env - Environment where the component is deployed (e.g., dev, staging, production). If not specified, uses the lowest environment from the deployment pipeline
  • -f, --follow - Follow the logs in real-time (streams new logs as they appear)
  • --since - Only return logs newer than a relative duration (e.g., 5m, 1h, 24h). Default: 1h

Examples:

# Get logs for a component (auto-detects lowest environment)
occ component logs my-app --namespace acme-corp --project online-store

# Get logs from a specific environment
occ component logs my-app --env dev

# Get logs from the last 30 minutes
occ component logs my-app --env dev --since 30m

# Follow logs in real-time
occ component logs my-app --env dev -f

# Follow logs with custom since duration
occ component logs my-app --env dev -f --since 5m

component workflow

Manage workflows for a specific component.

component workflow run

Run a component's workflow.

Usage:

occ component workflow run [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name
  • --set - Build parameters (can be used multiple times)

Examples:

# Run a component workflow
occ component workflow run api-service --namespace acme-corp --project online-store

# Run with parameters
occ component workflow run api-service --set spec.workflow.parameters.source.org=openchoreo
component workflow logs

Get logs for a component's workflow.

Usage:

occ component workflow logs [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • -f, --follow - Follow the logs in real-time
  • --since - Only return logs newer than a relative duration (e.g., 5m, 1h, 24h)
  • --workflowrun - Workflow run name (defaults to latest run)

Examples:

# Get workflow logs for a component
occ component workflow logs api-service --namespace acme-corp

# Follow workflow logs
occ component workflow logs api-service -f

component workflowrun

Manage workflow runs for a specific component.

component workflowrun list

List workflow runs for a component.

Usage:

occ component workflowrun list [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all workflow runs for a component
occ component workflowrun list api-service --namespace acme-corp
component workflowrun logs

Get logs for a component's workflow run.

Usage:

occ component workflowrun logs [COMPONENT_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • -f, --follow - Follow the logs in real-time
  • --since - Only return logs newer than a relative duration (e.g., 5m, 1h, 24h)
  • --workflowrun - Workflow run name (defaults to latest run)

Examples:

# Get workflow run logs for a component
occ component workflowrun logs api-service --namespace acme-corp

# Follow workflow run logs
occ component workflowrun logs api-service -f

environment

Manage environments in OpenChoreo.

Usage:

occ environment <subcommand> [flags]

Aliases: env, environments, envs

environment list

List all environments in a namespace.

Usage:

occ environment list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all environments in a namespace
occ environment list --namespace acme-corp

environment get

Get details of a specific environment.

Usage:

occ environment get [ENVIRONMENT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific environment
occ environment get dev --namespace acme-corp

environment delete

Delete an environment.

Usage:

occ environment delete [ENVIRONMENT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete an environment
occ environment delete dev --namespace acme-corp

dataplane

Manage data planes in OpenChoreo.

Usage:

occ dataplane <subcommand> [flags]

Aliases: dp, dataplanes

dataplane list

List all data planes in a namespace.

Usage:

occ dataplane list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all data planes in a namespace
occ dataplane list --namespace acme-corp

dataplane get

Get details of a specific data plane.

Usage:

occ dataplane get [DATAPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific data plane
occ dataplane get us-west-1 --namespace acme-corp

dataplane delete

Delete a data plane.

Usage:

occ dataplane delete [DATAPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a data plane
occ dataplane delete us-west-1 --namespace acme-corp

buildplane

Manage build planes in OpenChoreo.

Usage:

occ buildplane <subcommand> [flags]

Aliases: bp, buildplanes

buildplane list

List all build planes in a namespace.

Usage:

occ buildplane list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all build planes in a namespace
occ buildplane list --namespace acme-corp

buildplane get

Get details of a specific build plane.

Usage:

occ buildplane get [BUILDPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific build plane
occ buildplane get default --namespace acme-corp

buildplane delete

Delete a build plane.

Usage:

occ buildplane delete [BUILDPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a build plane
occ buildplane delete default --namespace acme-corp

observabilityplane

Manage observability planes in OpenChoreo.

Usage:

occ observabilityplane <subcommand> [flags]

Aliases: op, observabilityplanes

observabilityplane list

List all observability planes in a namespace.

Usage:

occ observabilityplane list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all observability planes in a namespace
occ observabilityplane list --namespace acme-corp

observabilityplane get

Get details of a specific observability plane.

Usage:

occ observabilityplane get [OBSERVABILITYPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific observability plane
occ observabilityplane get default --namespace acme-corp

observabilityplane delete

Delete an observability plane.

Usage:

occ observabilityplane delete [OBSERVABILITYPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete an observability plane
occ observabilityplane delete default --namespace acme-corp

deploymentpipeline

Manage deployment pipelines in OpenChoreo.

Usage:

occ deploymentpipeline <subcommand> [flags]

Aliases: deppipe, deppipes, deploymentpipelines

deploymentpipeline list

List all deployment pipelines in a namespace.

Usage:

occ deploymentpipeline list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all deployment pipelines in a namespace
occ deploymentpipeline list --namespace acme-corp

deploymentpipeline get

Get details of a specific deployment pipeline.

Usage:

occ deploymentpipeline get [DEPLOYMENT_PIPELINE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific deployment pipeline
occ deploymentpipeline get default-pipeline --namespace acme-corp

deploymentpipeline delete

Delete a deployment pipeline.

Usage:

occ deploymentpipeline delete [DEPLOYMENT_PIPELINE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a deployment pipeline
occ deploymentpipeline delete default-pipeline --namespace acme-corp

componenttype

Manage component types in OpenChoreo.

Usage:

occ componenttype <subcommand> [flags]

Aliases: ct, componenttypes

componenttype list

List all component types available in a namespace.

Usage:

occ componenttype list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all component types in a namespace
occ componenttype list --namespace acme-corp

componenttype get

Get details of a specific component type.

Usage:

occ componenttype get [COMPONENT_TYPE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific component type
occ componenttype get web-app --namespace acme-corp

componenttype delete

Delete a component type.

Usage:

occ componenttype delete [COMPONENT_TYPE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a component type
occ componenttype delete web-app --namespace acme-corp

clustercomponenttype

Manage cluster-scoped component types in OpenChoreo.

Usage:

occ clustercomponenttype <subcommand> [flags]

Aliases: cct, clustercomponenttypes

clustercomponenttype list

List all cluster component types.

Usage:

occ clustercomponenttype list

Examples:

# List all cluster component types
occ clustercomponenttype list

clustercomponenttype get

Get details of a specific cluster component type.

Usage:

occ clustercomponenttype get [CLUSTER_COMPONENT_TYPE_NAME]

Examples:

# Get a specific cluster component type
occ clustercomponenttype get web-app

clustercomponenttype delete

Delete a cluster component type.

Usage:

occ clustercomponenttype delete [CLUSTER_COMPONENT_TYPE_NAME]

Examples:

# Delete a cluster component type
occ clustercomponenttype delete web-app

trait

Manage traits in OpenChoreo.

Usage:

occ trait <subcommand> [flags]

Aliases: traits

trait list

List all traits available in a namespace.

Usage:

occ trait list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all traits in a namespace
occ trait list --namespace acme-corp

trait get

Get details of a specific trait.

Usage:

occ trait get [TRAIT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific trait
occ trait get ingress --namespace acme-corp

trait delete

Delete a trait.

Usage:

occ trait delete [TRAIT_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a trait
occ trait delete ingress --namespace acme-corp

clustertrait

Manage cluster-scoped traits in OpenChoreo.

Usage:

occ clustertrait <subcommand> [flags]

Aliases: clustertraits

clustertrait list

List all cluster traits.

Usage:

occ clustertrait list

Examples:

# List all cluster traits
occ clustertrait list

clustertrait get

Get details of a specific cluster trait.

Usage:

occ clustertrait get [CLUSTER_TRAIT_NAME]

Examples:

# Get a specific cluster trait
occ clustertrait get ingress

clustertrait delete

Delete a cluster trait.

Usage:

occ clustertrait delete [CLUSTER_TRAIT_NAME]

Examples:

# Delete a cluster trait
occ clustertrait delete ingress

workflow

Manage workflows in OpenChoreo.

Usage:

occ workflow <subcommand> [flags]

Aliases: wf, workflows

workflow list

List all workflows available in a namespace.

Usage:

occ workflow list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all workflows in a namespace
occ workflow list --namespace acme-corp

workflow get

Get details of a specific workflow.

Usage:

occ workflow get [WORKFLOW_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific workflow
occ workflow get database-migration --namespace acme-corp

workflow run

Run a workflow with optional parameters.

Usage:

occ workflow run WORKFLOW_NAME [flags]

Flags:

  • --namespace - Namespace name
  • --set - Workflow parameters (can be used multiple times)

Examples:

# Run a workflow
occ workflow run database-migration --namespace acme-corp

# Run with parameters
occ workflow run github-stats-report --namespace acme-corp --set spec.workflow.parameters.source.org=openchoreo --set spec.workflow.parameters.output.format=json

workflow logs

Get logs for a workflow.

Usage:

occ workflow logs WORKFLOW_NAME [flags]

Flags:

  • --namespace - Namespace name
  • -f, --follow - Follow the logs in real-time
  • --since - Only return logs newer than a relative duration (e.g., 5m, 1h, 24h)
  • --workflowrun - Workflow run name (defaults to latest run)

Examples:

# Get logs for a workflow
occ workflow logs database-migration --namespace acme-corp

# Follow logs in real-time
occ workflow logs database-migration --namespace acme-corp -f

# Get logs for a specific workflow run
occ workflow logs database-migration --workflowrun migration-run-1

workflowrun

Manage workflow runs in OpenChoreo.

Usage:

occ workflowrun <subcommand> [flags]

Aliases: wr, workflowruns

workflowrun list

List all workflow runs in a namespace.

Usage:

occ workflowrun list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all workflow runs in a namespace
occ workflowrun list --namespace acme-corp

workflowrun get

Get details of a specific workflow run.

Usage:

occ workflowrun get [WORKFLOW_RUN_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific workflow run
occ workflowrun get migration-run-1 --namespace acme-corp

workflowrun logs

Get logs for a workflow run.

Usage:

occ workflowrun logs [WORKFLOW_RUN_NAME] [flags]

Flags:

  • --namespace - Namespace name
  • -f, --follow - Follow the logs in real-time
  • --since - Only return logs newer than a relative duration (e.g., 5m, 1h, 24h)

Examples:

# Get logs for a workflow run
occ workflowrun logs migration-run-1 --namespace acme-corp

# Follow logs in real-time
occ workflowrun logs migration-run-1 --namespace acme-corp -f

secretreference

Manage secret references in OpenChoreo.

Usage:

occ secretreference <subcommand> [flags]

Aliases: sr, secretreferences, secret-ref

secretreference list

List all secret references in a namespace.

Usage:

occ secretreference list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all secret references in a namespace
occ secretreference list --namespace acme-corp

secretreference get

Get details of a specific secret reference.

Usage:

occ secretreference get [SECRET_REFERENCE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific secret reference
occ secretreference get db-credentials --namespace acme-corp

secretreference delete

Delete a secret reference.

Usage:

occ secretreference delete [SECRET_REFERENCE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a secret reference
occ secretreference delete db-credentials --namespace acme-corp

workload

Manage workloads in OpenChoreo.

Usage:

occ workload <subcommand> [flags]

Aliases: wl, workloads

workload create

Create a workload from a descriptor file.

Usage:

occ workload create [flags]

Flags:

  • --name - Name of the workload
  • --namespace - Namespace name
  • --project - Project name
  • --component - Component name
  • --image - Docker image name (e.g., product-catalog:latest)
  • --descriptor - Path to the workload descriptor file
  • -o, --output - Output format (yaml)
  • --dry-run - Preview changes without writing files
  • --mode - Operational mode: api-server (default) or file-system
  • --root-dir - Root directory path for file-system mode (defaults to current directory)

Examples:

# Create a workload from a descriptor
occ workload create --name my-workload --namespace acme-corp --project online-store \
--component product-catalog --descriptor workload.yaml

# Create a workload from an image
occ workload create --name my-workload --namespace acme-corp --project online-store \
--component product-catalog --image product-catalog:latest

# Dry run to preview
occ workload create --name my-workload --namespace acme-corp --project online-store \
--component product-catalog --descriptor workload.yaml --dry-run

workload list

List all workloads in a namespace.

Usage:

occ workload list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all workloads in a namespace
occ workload list --namespace acme-corp

workload get

Get details of a specific workload.

Usage:

occ workload get [WORKLOAD_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific workload
occ workload get my-workload --namespace acme-corp

workload delete

Delete a workload.

Usage:

occ workload delete [WORKLOAD_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a workload
occ workload delete my-workload --namespace acme-corp

componentrelease

note

This command only works in file-system mode. Set your context mode to file-system before using this command.

Manage component releases in OpenChoreo.

Usage:

occ componentrelease <subcommand> [flags]

Aliases: component-release

componentrelease generate

Generate ComponentRelease resources from Component, Workload, ComponentType, and Trait definitions.

Usage:

occ componentrelease generate [flags]

Flags:

  • --all - Process all resources
  • --project - Project name
  • --component - Component name (requires --project)
  • --output-path - Custom output directory path
  • --dry-run - Preview changes without writing files

Examples:

# Generate releases for all components
occ componentrelease generate --all

# Generate releases for all components in a specific project
occ componentrelease generate --project demo-project

# Generate release for a specific component (requires --project)
occ componentrelease generate --project demo-project --component greeter-service

# Dry run (preview without writing)
occ componentrelease generate --all --dry-run

# Custom output path
occ componentrelease generate --all --output-path /custom/path

componentrelease list

List all component releases for a specific component.

Usage:

occ componentrelease list [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name
  • --component - Component name

Examples:

# List all component releases for a component
occ componentrelease list --namespace acme-corp --project online-store --component product-catalog

componentrelease get

Get details of a specific component release.

Usage:

occ componentrelease get [COMPONENT_RELEASE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific component release
occ componentrelease get product-catalog-20260126-143022-1 --namespace acme-corp

releasebinding

note

This command only works in file-system mode. Set your context mode to file-system before using this command.

Manage release bindings in OpenChoreo.

Usage:

occ releasebinding <subcommand> [flags]

Aliases: release-binding

releasebinding generate

Generate ReleaseBinding resources that bind component releases to environments.

Usage:

occ releasebinding generate [flags]

Flags:

  • -e, --target-env - Target environment for the release binding (required)
  • --use-pipeline - Deployment pipeline name for environment validation (required)
  • --all - Process all resources
  • --project - Project name
  • --component - Component name (requires --project)
  • --component-release - Explicit component release name (only valid with --project and --component)
  • --output-path - Custom output directory path
  • --dry-run - Preview changes without writing files

Examples:

# Generate bindings for all components in development environment
occ releasebinding generate --target-env development --use-pipeline default-pipeline --all

# Generate bindings for all components in a specific project
occ releasebinding generate --target-env staging --use-pipeline default-pipeline \
--project demo-project

# Generate binding for a specific component
occ releasebinding generate --target-env production --use-pipeline default-pipeline \
--project demo-project --component greeter-service

# Generate binding with explicit component release
occ releasebinding generate --target-env production --use-pipeline default-pipeline \
--project demo-project --component greeter-service \
--component-release greeter-service-20251222-3

# Dry run (preview without writing)
occ releasebinding generate --target-env development --use-pipeline default-pipeline \
--all --dry-run

# Custom output path
occ releasebinding generate --target-env development --use-pipeline default-pipeline \
--all --output-path /custom/path

releasebinding list

List all release bindings for a specific component.

Usage:

occ releasebinding list [flags]

Flags:

  • --namespace - Namespace name
  • --project - Project name
  • --component - Component name

Examples:

# List all release bindings for a component
occ releasebinding list --namespace acme-corp --project online-store --component product-catalog

releasebinding get

Get details of a specific release binding.

Usage:

occ releasebinding get [RELEASE_BINDING_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific release binding
occ releasebinding get product-catalog-dev-binding --namespace acme-corp

releasebinding delete

Delete a release binding.

Usage:

occ releasebinding delete [RELEASE_BINDING_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a release binding
occ releasebinding delete product-catalog-dev-binding --namespace acme-corp

observabilityalertsnotificationchannel

Manage observability alerts notification channels in OpenChoreo.

Usage:

occ observabilityalertsnotificationchannel <subcommand> [flags]

Aliases: oanc, obsnotifchannel

observabilityalertsnotificationchannel list

List all observability alerts notification channels in a namespace.

Usage:

occ observabilityalertsnotificationchannel list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all notification channels in a namespace
occ observabilityalertsnotificationchannel list --namespace acme-corp

observabilityalertsnotificationchannel get

Get details of a specific notification channel.

Usage:

occ observabilityalertsnotificationchannel get [CHANNEL_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific notification channel
occ observabilityalertsnotificationchannel get slack-alerts --namespace acme-corp

observabilityalertsnotificationchannel delete

Delete a notification channel.

Usage:

occ observabilityalertsnotificationchannel delete [CHANNEL_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a notification channel
occ observabilityalertsnotificationchannel delete slack-alerts --namespace acme-corp

authzclusterrole

Manage authorization cluster roles in OpenChoreo.

Usage:

occ authzclusterrole <subcommand> [flags]

Aliases: authzclusterroles, cr

authzclusterrole list

List all authorization cluster roles.

Usage:

occ authzclusterrole list

Examples:

# List all authz cluster roles
occ authzclusterrole list

authzclusterrole get

Get details of a specific authorization cluster role.

Usage:

occ authzclusterrole get [NAME]

Examples:

# Get a specific authz cluster role
occ authzclusterrole get platform-admin

authzclusterrole delete

Delete an authorization cluster role.

Usage:

occ authzclusterrole delete [NAME]

Examples:

# Delete an authz cluster role
occ authzclusterrole delete platform-admin

authzclusterrolebinding

Manage authorization cluster role bindings in OpenChoreo.

Usage:

occ authzclusterrolebinding <subcommand> [flags]

Aliases: authzclusterrolebindings, crb

authzclusterrolebinding list

List all authorization cluster role bindings.

Usage:

occ authzclusterrolebinding list

Examples:

# List all authz cluster role bindings
occ authzclusterrolebinding list

authzclusterrolebinding get

Get details of a specific authorization cluster role binding.

Usage:

occ authzclusterrolebinding get [NAME]

Examples:

# Get a specific authz cluster role binding
occ authzclusterrolebinding get admin-binding

authzclusterrolebinding delete

Delete an authorization cluster role binding.

Usage:

occ authzclusterrolebinding delete [NAME]

Examples:

# Delete an authz cluster role binding
occ authzclusterrolebinding delete admin-binding

authzrole

Manage authorization roles in OpenChoreo.

Usage:

occ authzrole <subcommand> [flags]

Aliases: authzroles

authzrole list

List all authorization roles in a namespace.

Usage:

occ authzrole list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all authz roles in a namespace
occ authzrole list --namespace acme-corp

authzrole get

Get details of a specific authorization role.

Usage:

occ authzrole get [NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific authz role
occ authzrole get developer --namespace acme-corp

authzrole delete

Delete an authorization role.

Usage:

occ authzrole delete [NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete an authz role
occ authzrole delete developer --namespace acme-corp

authzrolebinding

Manage authorization role bindings in OpenChoreo.

Usage:

occ authzrolebinding <subcommand> [flags]

Aliases: authzrolebindings, rb

authzrolebinding list

List all authorization role bindings in a namespace.

Usage:

occ authzrolebinding list [flags]

Flags:

  • --namespace - Namespace name

Examples:

# List all authz role bindings in a namespace
occ authzrolebinding list --namespace acme-corp

authzrolebinding get

Get details of a specific authorization role binding.

Usage:

occ authzrolebinding get [NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific authz role binding
occ authzrolebinding get dev-binding --namespace acme-corp

authzrolebinding delete

Delete an authorization role binding.

Usage:

occ authzrolebinding delete [NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete an authz role binding
occ authzrolebinding delete dev-binding --namespace acme-corp