Skip to main content
Version: v1.0.0-rc.1 (pre-release)

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 - Workflow 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
  • --tail - Number of lines to show from the end of logs (0 means no limit)

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

# Get the last 100 lines of logs
occ component logs my-app --env dev --tail 100

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

workflowplane​

Manage workflow planes in OpenChoreo.

Usage:

occ workflowplane <subcommand> [flags]

Aliases: wp, workflowplanes

workflowplane list​

List all workflow planes in a namespace.

Usage:

occ workflowplane list [flags]

Flags:

  • --namespace - Namespace name

Examples:

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

workflowplane get​

Get details of a specific workflow plane.

Usage:

occ workflowplane get [WORKFLOWPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Get a specific workflow plane
occ workflowplane get default --namespace acme-corp

workflowplane delete​

Delete a workflow plane.

Usage:

occ workflowplane delete [WORKFLOWPLANE_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a workflow plane
occ workflowplane 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

clusterworkflow​

Manage cluster-scoped workflows in OpenChoreo.

Usage:

occ clusterworkflow <subcommand> [flags]

Aliases: clusterworkflows

clusterworkflow list​

List all cluster workflows.

Usage:

occ clusterworkflow list

Examples:

# List all cluster workflows
occ clusterworkflow list

clusterworkflow get​

Get details of a specific cluster workflow.

Usage:

occ clusterworkflow get [CLUSTER_WORKFLOW_NAME]

Examples:

# Get a specific cluster workflow
occ clusterworkflow get build-go

clusterworkflow delete​

Delete a cluster workflow.

Usage:

occ clusterworkflow delete [CLUSTER_WORKFLOW_NAME]

Examples:

# Delete a cluster workflow
occ clusterworkflow delete build-go

clusterworkflow run​

Run a cluster workflow with optional parameters. Requires --namespace to specify where the workflow run will be created.

Usage:

occ clusterworkflow run CLUSTER_WORKFLOW_NAME [flags]

Flags:

  • --namespace - Namespace where the workflow run will be created (required)
  • --set - Workflow parameters (can be used multiple times)

Examples:

# Run a cluster workflow
occ clusterworkflow run dockerfile-builder --namespace acme-corp

# Run with parameters
occ clusterworkflow run dockerfile-builder --namespace acme-corp \
--set spec.workflow.parameters.repository.url=https://github.com/example/repo

clusterworkflow logs​

Get logs for a cluster workflow.

Usage:

occ clusterworkflow logs CLUSTER_WORKFLOW_NAME [flags]

Flags:

  • --namespace - Namespace where the workflow run exists (required)
  • -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 cluster workflow
occ clusterworkflow logs dockerfile-builder --namespace acme-corp

# Follow logs in real-time
occ clusterworkflow logs dockerfile-builder --namespace acme-corp -f

# Get logs for a specific workflow run
occ clusterworkflow logs dockerfile-builder --namespace acme-corp --workflowrun build-run-1

clusterdataplane​

Manage cluster-scoped data planes in OpenChoreo.

Usage:

occ clusterdataplane <subcommand>

Aliases: clusterdataplanes, cdp

clusterdataplane list​

List all cluster data planes.

Usage:

occ clusterdataplane list

Examples:

# List all cluster data planes
occ clusterdataplane list

clusterdataplane get​

Get details of a specific cluster data plane.

Usage:

occ clusterdataplane get [CLUSTER_DATA_PLANE_NAME]

Examples:

# Get a specific cluster data plane
occ clusterdataplane get default

clusterdataplane delete​

Delete a cluster data plane.

Usage:

occ clusterdataplane delete [CLUSTER_DATA_PLANE_NAME]

Examples:

# Delete a cluster data plane
occ clusterdataplane delete default

clusterobservabilityplane​

Manage cluster-scoped observability planes in OpenChoreo.

Usage:

occ clusterobservabilityplane <subcommand>

Aliases: clusterobservabilityplanes, cop

clusterobservabilityplane list​

List all cluster observability planes.

Usage:

occ clusterobservabilityplane list

Examples:

# List all cluster observability planes
occ clusterobservabilityplane list

clusterobservabilityplane get​

Get details of a specific cluster observability plane.

Usage:

occ clusterobservabilityplane get [CLUSTER_OBSERVABILITY_PLANE_NAME]

Examples:

# Get a specific cluster observability plane
occ clusterobservabilityplane get default

clusterobservabilityplane delete​

Delete a cluster observability plane.

Usage:

occ clusterobservabilityplane delete [CLUSTER_OBSERVABILITY_PLANE_NAME]

Examples:

# Delete a cluster observability plane
occ clusterobservabilityplane delete default

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

workflow delete​

Delete a workflow.

Usage:

occ workflow delete [WORKFLOW_NAME] [flags]

Flags:

  • --namespace - Namespace name

Examples:

# Delete a workflow
occ workflow delete database-migration --namespace acme-corp

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