Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

โ€œInvest in yourself โ€” your confidence is always worth it.โ€

Explore Cosmetic Hospitals

Start your journey today โ€” compare options in one place.

Openshift Local: crc command lines guide with example

Most important daily commands

FlowCommands
First setupcrc version โ†’ crc setup โ†’ crc start -p ~/Downloads/pull-secret.txt
Start workcrc start โ†’ crc status โ†’ crc console
Use oceval "$(crc oc-env)" โ†’ crc console --credentials โ†’ oc login ...
Stop workcrc stop
Reset clustercrc stop โ†’ crc delete --force โ†’ crc cleanup โ†’ crc setup โ†’ crc start -p ~/Downloads/pull-secret.txt
Change CPU/RAMcrc stop โ†’ crc delete โ†’ crc config set cpus 6 โ†’ crc config set memory 14336 โ†’ crc start
Switch presetcrc delete โ†’ crc config set preset okd โ†’ crc setup โ†’ crc start
CommandPurposeWhen to UseCommon ExampleExpected Output / Result
crcBase CRC commandTo see general CLI help or available commandscrcShows CRC help and available commands
crc helpShow helpWhen you need command syntaxcrc help startDisplays help for the selected command
crc versionShow CRC and bundled OpenShift/MicroShift versionsFirst command to run after installation or upgradecrc versionShows CRC version, OpenShift version, MicroShift version
crc setupPrepare local virtualization and networkingFirst-time setup, after upgrade, or after cleanupcrc setupYour system is correctly setup for using CRC.
crc setup --check-onlyValidate setup onlyTo check prerequisites without changing the systemcrc setup --check-onlyReports whether system is ready
crc startStart CRC instanceStart local OpenShift / OKD / MicroShiftcrc start -p ~/Downloads/pull-secret.txtStarts cluster and prints console URL and credentials
crc start -pStart with pull secret fileOpenShift preset startupcrc start -p ~/Downloads/pull-secret.txtStarts OpenShift using pull secret
crc start --pull-secret-fileLong form of pull secret optionSame as -pcrc start --pull-secret-file ~/Downloads/pull-secret.txtStarts OpenShift using pull secret
crc start -cStart with custom CPU countWhen default CPU is not enoughcrc start -c 6Starts CRC with 6 CPUs
crc start -mStart with custom memoryFor heavier demos, monitoring, operatorscrc start -m 14336Starts CRC with 14 GiB memory
crc start -dStart with custom disk sizeWhen more disk space is neededcrc start -d 80Starts CRC with 80 GiB disk
crc statusShow CRC statusCheck whether VM and cluster are runningcrc statusShows VM status, OpenShift status, RAM, disk, cache
crc status --watchWatch status continuouslyDuring startup or troubleshootingcrc status --watchContinuously refreshes CRC resource/status view
crc stopStop CRC instanceEnd daily work while keeping VM datacrc stopStopped the instance
crc stop --forceForce stop CRCIf normal stop hangs or failscrc stop --forceForcibly stopped the instance
crc deleteDelete CRC instanceReset cluster, switch preset, reclaim diskcrc deletePrompts for confirmation, then deletes instance
crc delete --forceDelete without promptAutomation or forced cleanupcrc delete --forceDeletes instance without confirmation
crc delete --clear-cacheDelete instance and cacheFull cleanup including cached bundlecrc delete --clear-cache --forceDeletes VM and cached CRC files
crc cleanupUndo host setup changesAfter deleting CRC or fixing broken networkingcrc cleanupCleanup finished
crc consoleOpen web consoleAccess OpenShift web UIcrc consoleOpens console in browser
crc console --urlPrint console URLWhen you only need the URLcrc console --urlPrints console URL
crc console --credentialsPrint login credentialsTo log in with oc or web consolecrc console --credentialsShows developer and kubeadmin login commands
crc dashboardAlias for crc consoleSame as consolecrc dashboardOpens OpenShift console
crc oc-envPrint shell config for embedded ocTo add CRCโ€™s oc binary to PATHcrc oc-envPrints export/eval instructions
eval "$(crc oc-env)"Apply oc environmentBefore running oc commandseval "$(crc oc-env)"Current shell can use CRCโ€™s oc
crc generate-kubeconfigPrint kubeconfigTo use CRC cluster with oc/Kubernetes toolscrc generate-kubeconfig > crc-kubeconfigWrites kubeconfig content
crc ipPrint CRC VM IP addressNetworking/debuggingcrc ipPrints VM IP, for example 192.168.130.11
crc podman-envPrint Podman remote environmentLegacy Podman access to CRC VMcrc podman-envPrints Podman environment variables
crc podman-env --rootRootful Podman environmentIf rootful Podman socket is neededcrc podman-env --rootPrints rootful Podman environment
crc configConfig command groupView/change CRC settingscrc config --helpShows config subcommands
crc config viewShow changed config valuesReview active custom settingscrc config viewLists non-default config values
crc config view --show-secretsShow config including secretsOnly when you intentionally need secret valuescrc config view --show-secretsShows secret config values too
crc config getGet one config valueCheck a specific settingcrc config get memoryShows configured value or default notice
crc config setSet config valueBefore setup/start or before recreating instancecrc config set memory 14336Saves config value
crc config unsetRemove config overrideReturn setting to defaultcrc config unset memoryRemoves custom value
crc bundleBundle command groupAdvanced bundle operationscrc bundle --helpShows bundle help
crc bundle generateGenerate custom bundleAdvanced/custom CRC bundle creationcrc bundle generateGenerates bundle from running instance
crc bundle generate --force-stopForce stop during bundle generationIf bundle generation needs forced VM stopcrc bundle generate --force-stopStops VM as needed and generates bundle
crc daemonHidden/internal daemon commandDebugging CRC internals onlycrc daemonStarts CRC daemon process
crc daemon --watchdogDaemon watchdog modeInternal/debug onlycrc daemon --watchdogRuns daemon with watchdog behavior

Below is a CRC / OpenShift Local command-line tutorial based on the latest CRC docs and v2.61.0 source I found. Iโ€™m being careful here: no invented flags, no old crc setup --pull-secret, and no fake subcommands.

As of June 23, 2026, the latest upstream CRC release I found is v2.61.0 / 2.61.0-4.21.14, with OpenShift 4.21.14 and OKD 4.21.0-okd-scos.8. (GitHub)
Your local help output also matches this generation because your bundle default shows crc_vfkit_4.21.14_arm64.crcbundle.

Common config keys summary

Config KeyPurposeExample
presetChoose runtime: OpenShift, OKD, MicroShiftcrc config set preset openshift
cpusSet CPU countcrc config set cpus 6
memorySet memory in MiBcrc config set memory 14336
disk-sizeSet disk size in GiBcrc config set disk-size 80
pull-secret-fileSave pull secret pathcrc config set pull-secret-file ~/Downloads/pull-secret.txt
nameserverSet DNS resolvercrc config set nameserver 8.8.8.8
disable-update-checkDisable CRC update checkcrc config set disable-update-check true
consent-telemetryEnable/disable telemetrycrc config set consent-telemetry no
developer-passwordSet developer user passwordcrc config set developer-password developer
kubeadmin-passwordSet kubeadmin passwordcrc config set kubeadmin-password 'StrongPassword'
http-proxyConfigure HTTP proxycrc config set http-proxy http://proxy.example.com:8080
https-proxyConfigure HTTPS proxycrc config set https-proxy http://proxy.example.com:8080
no-proxyConfigure proxy bypass listcrc config set no-proxy 127.0.0.1,localhost,.testing
proxy-ca-fileConfigure proxy CA certificatecrc config set proxy-ca-file /path/to/ca.crt
host-network-accessAllow CRC to access host servicescrc config set host-network-access true
enable-cluster-monitoringEnable OpenShift monitoring stackcrc config set enable-cluster-monitoring true
ingress-http-portChange HTTP ingress portcrc config set ingress-http-port 8080
ingress-https-portChange HTTPS ingress portcrc config set ingress-https-port 8443
enable-shared-dirsEnable shared directoriescrc config set enable-shared-dirs true
persistent-volume-sizeSet default persistent volume sizecrc config set persistent-volume-size 20g
modify-hosts-fileLet CRC modify hosts filecrc config set modify-hosts-file true

CRC is the CLI behind Red Hat OpenShift Local, which runs a local single-node OpenShift / OKD / MicroShift development instance. It is for local development and testing, not production. (crc.dev)


1. Commands verified from CRC v2.61.0

The v2.61.0 source tree contains these top-level command files: cleanup, console, daemon, delete, generate-kubeconfig, ip, oc-env, podman-env, setup, start, status, stop, and version, plus the config and bundle command groups. (GitHub)

The config group contains exactly these subcommands in v2.61.0:

crc config get
crc config set
crc config unset
crc config view
Code language: JavaScript (javascript)

(GitHub)

The bundle group contains exactly this visible subcommand in v2.61.0:

crc bundle generate

(GitHub)

So the full verified command list is:

crc
crc help
crc version
crc setup
crc start
crc status
crc stop
crc delete
crc cleanup
crc console
crc dashboard
crc oc-env
crc generate-kubeconfig
crc ip
crc podman-env
crc config
crc config get
crc config set
crc config unset
crc config view
crc bundle
crc bundle generate
crc daemon
Code language: JavaScript (javascript)

Important: crc dashboard is an alias for crc console, and crc daemon is marked hidden/internal in the source. (GitHub)


2. Golden CRC lifecycle flow

Use this as the normal flow:

crc version
crc config view
crc setup
crc start -p ~/Downloads/pull-secret.txt
crc status
crc oc-env
eval "$(crc oc-env)"
crc console --credentials
oc login -u developer -p <developer-password> https://api.crc.testing:6443
crc console
Code language: JavaScript (javascript)

For daily use after first setup:

crc start
crc status
crc console
crc stop
Code language: JavaScript (javascript)

For a clean reset:

crc stop
crc delete
crc cleanup
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

The official troubleshooting flow also uses crc stop, crc delete, crc cleanup, crc setup, and crc start for a clean state. (crc.dev)


3. Pull secret correction

Your earlier command failed because this is wrong in current CRC:

crc setup --pull-secret ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Use one of these instead:

crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

or:

crc start --pull-secret-file ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

The v2.61.0 source defines -p / --pull-secret-file on crc start, not on crc setup. (GitHub)

You can also save it into config:

crc config set pull-secret-file ~/Downloads/pull-secret.txt
crc start
Code language: JavaScript (javascript)

The pull-secret-file configurable property exists in v2.61.0 settings. (GitHub)


4. Command reference and tutorial

4.1 crc version

Use case

Use this first to confirm your CRC binary, embedded OpenShift version, and MicroShift version.

Command

crc version

Expected output shape

CRC version: 2.61.0+<commit>
OpenShift version: 4.21.14
MicroShift version: <microshift-version>
Code language: CSS (css)

The v2.61.0 version command prints CRC version, OpenShift version, and MicroShift version. (GitHub)

JSON output

crc version -o json

Expected shape:

{
 "version": "2.61.0",
 "commit": "<commit>",
 "openshiftVersion": "4.21.14",
 "microshiftVersion": "<microshift-version>"
}
Code language: JSON / JSON with Comments (json)

-o/--output json is the only supported structured output format for commands that expose the output flag. (GitHub)


4.2 crc setup

Use case

Run once after installing CRC, after changing some host-level settings, or after upgrading CRC. It prepares local virtualization and networking infrastructure.

The official docs say crc setup sets up the host machine and creates ~/.crc if needed. (crc.dev)

Basic command

crc setup

Expected successful output

Your system is correctly setup for using CRC.
Use 'crc start' to start the instance
Code language: JavaScript (javascript)

That exact success message comes from the v2.61.0 source. (GitHub)

Useful flags

From your installed help and v2.61.0 source:

crc setup --check-only
crc setup --show-progressbars
crc setup --enable-experimental-features
crc setup -b /path/to/bundle.crcbundle
crc setup --bundle /path/to/bundle.crcbundle
crc setup -o json

When to use each

Use crc setup for normal setup.

Use this to only validate prerequisites without changing your system:

crc setup --check-only

Use this if you want visible progress bars for download/extraction:

crc setup --show-progressbars

Use -b only when you intentionally want to use a specific local, HTTP(S), or Docker bundle URI. Your current help output shows the default bundle path under ~/.crc/cache.

Do not use

crc setup --pull-secret ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

That flag is not valid on setup.


4.3 crc start

Use case

Creates/starts the CRC VM and starts the selected runtime: OpenShift, OKD, or MicroShift. The official docs describe crc start as starting the CRC instance and configured container runtime. (crc.dev)

Basic OpenShift start

crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

or:

crc start --pull-secret-file ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Interactive start

crc start

If no pull secret is configured or supplied, CRC can ask for it during startup. The getting-started docs show crc start as the command and explain that OpenShift startup asks for the pull secret. (crc.dev)

Start with custom resources

crc start -c 6 -m 14336 -d 80 -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Meaning:

-c / --cpus       CPU cores
-m / --memory     memory in MiB
-d / --disk-size  disk size in GiB
-p                pull secret file

The v2.61.0 source defines --cpus, --memory, --disk-size, --nameserver, --bundle, --pull-secret-file, and --disable-update-check on crc start. (GitHub)

Full practical examples

Start with specific DNS resolver:

crc start -n 8.8.8.8 -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Start without checking for new CRC versions:

crc start --disable-update-check -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Start using a specific bundle:

crc start -b ~/.crc/cache/crc_vfkit_4.21.14_arm64.crcbundle -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Expected successful OpenShift output

Started the OpenShift cluster.

The server is accessible via web console at:
  https://console-openshift-console.apps-crc.testing

Log in as administrator:
  Username: kubeadmin
  Password: <generated-or-configured-password>

Log in as user:
  Username: developer
  Password: <developer-password>

Use the 'oc' command line interface:
  $ eval "$(crc oc-env)"
  $ oc login -u developer https://api.crc.testing:6443
Code language: PHP (php)

That output shape is from the v2.61.0 start template. (GitHub)

JSON output

crc start -p ~/Downloads/pull-secret.txt -o json
Code language: JavaScript (javascript)

Expected shape:

{
 "success": true,
 "clusterConfig": {
  "clusterType": "openshift",
  "cacert": "<certificate>",
  "webConsoleUrl": "https://console-openshift-console.apps-crc.testing",
  "url": "https://api.crc.testing:6443",
  "adminCredentials": {
   "username": "kubeadmin",
   "password": "<password>"
  },
  "developerCredentials": {
   "username": "developer",
   "password": "<password>"
  }
 }
}
Code language: JSON / JSON with Comments (json)

4.4 crc status

Use case

Check VM status, OpenShift/OKD/MicroShift status, resource usage, cache usage, and cache directory.

Command

crc status

Expected output shape

CRC VM:          Running
OpenShift:       Running (v4.21.14)
RAM Usage:       <used> of <total>
Disk Usage:      <used> of <total> (Inside the CRC VM)
Cache Usage:     <size>
Cache Directory: /Users/rajesh/.crc/cache
Code language: HTML, XML (xml)

The v2.61.0 status command prints CRC VM status, preset status/version, RAM usage, disk usage, cache usage, and cache directory. (GitHub)

Watch mode

crc status --watch

or:

crc status -w

Use this when you want continuous status with CPU/RAM load bars. The --watch flag is present in v2.61.0. (GitHub)

JSON output

crc status -o json

Expected shape:

{
 "success": true,
 "crcStatus": "Running",
 "openshiftStatus": "Running",
 "openshiftVersion": "4.21.14",
 "diskUsage": 123456789,
 "diskSize": 85899345920,
 "cacheUsage": 1234567890,
 "cacheDir": "/Users/rajesh/.crc/cache",
 "ramSize": 15032385536,
 "ramUsage": 9876543210,
 "preset": "openshift"
}
Code language: JSON / JSON with Comments (json)

4.5 crc oc-env

Use case

Adds the embedded oc CLI to your shell PATH.

The docs recommend crc oc-env when you do not already have oc available. (crc.dev)

Command

crc oc-env

Apply it in your current shell

On macOS zsh/bash:

eval "$(crc oc-env)"
Code language: JavaScript (javascript)

Then verify:

which oc
oc version

Force a shell type

crc oc-env --shell zsh
crc oc-env --shell bash
crc oc-env --shell fish
crc oc-env --shell powershell
crc oc-env --shell cmd
crc oc-env --shell tcsh

The v2.61.0 source lists those shell options. (GitHub)

Expected output shape

For zsh/bash-style shells:

export PATH="/Users/rajesh/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
# eval "$(crc oc-env)"
Code language: PHP (php)

If proxy config is enabled, crc oc-env can also print proxy environment variables. (GitHub)


4.6 crc console

Use case

Open or inspect the OpenShift web console. This works for OpenShift and OKD presets, not MicroShift. The official docs say web console access is available for OpenShift and OKD presets. (crc.dev)

Open web console

crc console
Code language: JavaScript (javascript)

Expected output

Opening the OpenShift Web Console in the default browser...
Code language: JavaScript (javascript)

The source prints that before opening the browser. (GitHub)

Print console URL only

crc console --url
Code language: JavaScript (javascript)

Expected output:

https://console-openshift-console.apps-crc.testing
Code language: JavaScript (javascript)

Print login commands and credentials

crc console --credentials
Code language: JavaScript (javascript)

Expected output shape:

To login as a regular user, run 'oc login -u developer -p <password> https://api.crc.testing:6443'.
To login as an admin, run 'oc login -u kubeadmin -p <password> https://api.crc.testing:6443'
Code language: JavaScript (javascript)

The source prints exactly this form for --credentials. (GitHub)

Alias

crc dashboard

dashboard is an alias for console in v2.61.0. (GitHub)


4.7 crc generate-kubeconfig

Use case

Print the kubeconfig for the running CRC instance to stdout.

Command

crc generate-kubeconfig

Save to a file

crc generate-kubeconfig > crc-kubeconfig
export KUBECONFIG="$PWD/crc-kubeconfig"
oc whoami
Code language: JavaScript (javascript)

Expected output shape

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <base64>
    server: https://api.crc.testing:6443
  name: api-crc-testing:6443
contexts:
- context:
    cluster: api-crc-testing:6443
    user: kubeadmin/api-crc-testing:6443
  name: crc-admin
current-context: crc-admin
kind: Config
users:
- name: kubeadmin/api-crc-testing:6443
  user:
    token: <token-or-credentials>
Code language: HTML, XML (xml)

The command requires the CRC instance to exist and be running; otherwise it errors with โ€œthe CRC instance is not running, cannot retrieve kubeconfigโ€. (GitHub)


4.8 crc ip

Use case

Print the CRC VM IP address.

Command

crc ip

Expected output

192.168.130.11
Code language: CSS (css)

The exact IP can vary by network mode/platform. The source prints only the connection IP. (GitHub)

Common use

CRC_IP=$(crc ip)
echo "$CRC_IP"
Code language: JavaScript (javascript)

Remote/HAProxy setup examples in the docs also use export CRC_IP=$(crc ip). (crc.dev)


4.9 crc stop

Use case

Gracefully stop the CRC instance.

Command

crc stop

Expected output

Stopped the instance

The exact success message comes from v2.61.0 source. (GitHub)

Force stop

crc stop --force

or:

crc stop -f

Expected output if force is used:

Forcibly stopped the instance

Use force only if normal shutdown fails or hangs. The source supports -f/--force on stop. (GitHub)


4.10 crc delete

Use case

Delete the CRC VM/instance. Use this when switching presets, upgrading CRC, fixing broken state, or reclaiming disk.

Command

crc delete
Code language: JavaScript (javascript)

Expected interactive behavior

Do you want to delete the instance [y/N]:
Code language: JavaScript (javascript)

If confirmed:

Deleted the instance

The source confirms that deletion is interactive unless forced, and prints โ€œDeleted the instanceโ€ when the instance is deleted. (GitHub)

Non-interactive delete

crc delete --force
Code language: JavaScript (javascript)

or:

crc delete -f
Code language: JavaScript (javascript)

Delete and clear cache

crc delete --clear-cache --force
Code language: JavaScript (javascript)

Use --clear-cache when you want to remove the cached bundle and local CRC cache files too.


4.11 crc cleanup

Use case

Undo host configuration changes made by crc setup.

Command

crc cleanup

Expected output

Cleanup finished

The v2.61.0 source defines cleanup as undoing configuration changes done by crc setup, and its success output is exactly โ€œCleanup finishedโ€. (GitHub)

Clean reset flow

crc stop
crc delete
crc cleanup
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Use this when DNS, networking, virtualization, or bundle state becomes confused.


4.12 crc config

Use case

View and change CRC configuration.

The official docs say crc config requires a subcommand, and the available subcommands are get, set, unset, and view. (crc.dev)

Show config command help

crc config --help

Use this to see the properties your exact installed build supports.

Important current config keys

Verified in v2.61.0 source:

preset
bundle
cpus
memory
disk-size
nameserver
pull-secret-file
disable-update-check
enable-experimental-features
enable-emergency-login
persistent-volume-size
enable-shared-dirs
network-mode
host-network-access
http-proxy
https-proxy
no-proxy
proxy-ca-file
enable-cluster-monitoring
modify-hosts-file
consent-telemetry
kubeadmin-password
developer-password
ingress-http-port
ingress-https-port
enable-bundle-quay-fallback

Note: network-mode is conditional in the source and may not appear in installer builds. So on your macOS installer build, trust crc config --help as final authority. (GitHub)


4.13 crc config view

Use case

Show all configuration values you explicitly changed from defaults.

Command

crc config view

Expected output shape

- cpus                                  : 6
- memory                                : 14336
- pull-secret-file                      : /Users/rajesh/Downloads/pull-secret.txt
- preset                                : openshift
Code language: JavaScript (javascript)

The docs list crc config view as the way to view current non-default configuration. (crc.dev)

Show secret values too

crc config view --show-secrets

Use carefully. It can reveal secret config values.

Custom output format

crc config view --format '{{.ConfigKey}}={{.ConfigValue}}'
Code language: JavaScript (javascript)

The v2.61.0 source defines --format and --show-secrets for config view. (GitHub)


4.14 crc config get

Use case

Read one config value.

Command

crc config get memory
Code language: JavaScript (javascript)

Expected output when value is set

memory : 14336

Expected output when value is not explicitly set

Configuration property 'memory' is not set.
Default value '<default>' is used
Code language: PHP (php)

The source defines both output cases. (GitHub)

Examples

crc config get preset
crc config get cpus
crc config get memory
crc config get pull-secret-file
crc config get consent-telemetry
Code language: JavaScript (javascript)

4.15 crc config set

Use case

Set a CRC property before crc setup or crc start.

Syntax

crc config set CONFIG-KEY VALUE
Code language: JavaScript (javascript)

The source requires both a key and a value. (GitHub)

Common examples

Set pull secret path:

crc config set pull-secret-file ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Set preset to OpenShift:

crc config set preset openshift
Code language: JavaScript (javascript)

Set preset to OKD:

crc config set preset okd
Code language: JavaScript (javascript)

Set preset to MicroShift:

crc config set preset microshift
Code language: JavaScript (javascript)

The docs show changing preset before setup/start, and list supported presets: openshift, okd, and microshift. (crc.dev)

Set CPU and memory:

crc config set cpus 6
crc config set memory 14336
Code language: JavaScript (javascript)

Set disk size:

crc config set disk-size 80
Code language: JavaScript (javascript)

Set telemetry consent:

crc config set consent-telemetry yes
crc config set consent-telemetry no
Code language: JavaScript (javascript)

The docs explicitly show using consent-telemetry yes/no. (crc.dev)

Set custom developer password:

crc config set developer-password developer
Code language: JavaScript (javascript)

Set custom kubeadmin password:

crc config set kubeadmin-password 'MyStrongAdminPassword'
Code language: JavaScript (javascript)

Set proxy:

crc config set http-proxy http://proxy.example.com:<port>
crc config set https-proxy http://proxy.example.com:<port>
crc config set no-proxy 127.0.0.1,localhost,.testing
crc config set proxy-ca-file /path/to/proxy-ca.crt
Code language: JavaScript (javascript)

The networking docs show proxy configuration using crc config set http-proxy, https-proxy, no-proxy, and proxy-ca-file. (crc.dev)

Enable host access from CRC VM:

crc config set host-network-access true
Code language: JavaScript (javascript)

The docs show this for accessing host services from CRC. (crc.dev)

Enable cluster monitoring:

crc config set memory 14336
crc config set enable-cluster-monitoring true
crc start
Code language: JavaScript (javascript)

The docs recommend at least 14 GiB / 14336 MiB for cluster monitoring. (crc.dev)

Change ingress route ports:

crc config set ingress-http-port 8080
crc config set ingress-https-port 8443
Code language: JavaScript (javascript)

Use this only when ports 80/443 are unavailable on your host.


4.16 crc config unset

Use case

Remove a config override and return to default.

Syntax

crc config unset CONFIG-KEY
Code language: PHP (php)

Examples

crc config unset memory
crc config unset cpus
crc config unset pull-secret-file
crc config unset http-proxy
crc config unset https-proxy
crc config unset no-proxy
Code language: PHP (php)

If you omit the key, v2.61.0 returns:

Please provide a configuration property to unset
Code language: PHP (php)

That message is from the source. (GitHub)


4.17 crc podman-env

Use case

Configure your shell so a local podman-remote client can talk to Podman inside the CRC VM.

Command

crc podman-env

Apply it

eval "$(crc podman-env)"
Code language: JavaScript (javascript)

Rootful Podman

crc podman-env --root

Force shell

crc podman-env --shell zsh
crc podman-env --shell bash
crc podman-env --shell fish
crc podman-env --shell powershell
crc podman-env --shell cmd
crc podman-env --shell tcsh

Expected output shape

export CONTAINER_SSHKEY="/Users/rajesh/.crc/machines/crc/id_ecdsa"
export CONTAINER_HOST="ssh://core@<crc-ip>:22/run/user/1000/podman/podman.sock"
export DOCKER_HOST="unix:///Users/rajesh/.crc/docker.sock"
# Run this command to configure your shell:
# eval "$(crc podman-env)"
Code language: PHP (php)

Important: v2.61.0 prints a warning that podman-remote is no longer shipped with CRC and that podman-env will be removed in future releases. (GitHub)

So donโ€™t build new training material that depends heavily on this command.


4.18 crc bundle

Use case

Command group for bundle operations.

Command

crc bundle

Expected behavior

Shows help for the bundle command group.

In v2.61.0, the only verified subcommand under bundle is:

crc bundle generate

The v2.61.0 source adds only generate under bundle. (GitHub)


4.19 crc bundle generate

Use case

Generate a custom bundle from the running OpenShift cluster.

Command

crc bundle generate

Force-stop while generating

crc bundle generate --force-stop

or:

crc bundle generate -f

The v2.61.0 source defines --force-stop/-f for this command. (GitHub)

Expected behavior

This is an advanced/developer command. It operates on the running instance and creates a custom bundle. Expected output is workflow-dependent because bundle generation is handled by the machine client, not a simple static text template in the command file.

Use this only when you intentionally need a reusable custom CRC bundle. Most normal OpenShift Local users do not need it.


4.20 crc daemon

Use case

Internal/hidden command that runs the CRC daemon.

Command

crc daemon

Watchdog mode

crc daemon --watchdog

The source marks this command hidden and defines --watchdog. (GitHub)

Expected behavior

Normal users should not run this directly. crc start interacts with the daemon path as needed. If already running, source code can return:

daemon has been started in the background

Use this only for debugging CRC itself.


4.21 crc help

Use case

Inspect your installed CLIโ€™s exact command/flag set.

Commands

crc help
crc help start
crc help setup
crc help config
crc help config set
crc help console
Code language: JavaScript (javascript)

Equivalent forms

crc -h
crc start -h
crc setup -h
crc config -h

Because CRC uses Cobra, help is available for command help. Your own crc setup -h output is the best example of why this matters: it showed that --pull-secret is not a setup flag.


5. Preset workflows

CRC supports these presets:

openshift   OpenShift Container Platform
okd         OKD
microshift  MicroShift

The docs list the minimum resources as:

openshift   4 CPUs, 10.5 GB RAM, 35 GB disk
okd         4 CPUs, 10.5 GB RAM, 35 GB disk
microshift  2 CPUs, 4 GB RAM, 35 GB disk
Code language: CSS (css)

(crc.dev)

5.1 OpenShift preset

crc delete
crc config set preset openshift
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Expected start output includes the web console, kubeadmin, developer, and oc login instructions.

5.2 OKD preset

crc delete
crc config set preset okd
crc setup
crc start
Code language: JavaScript (javascript)

The docs show this flow for OKD. (crc.dev)

Expected output is similar to OpenShift, plus an OKD note.

5.3 MicroShift preset

crc delete
crc config set preset microshift
crc setup
crc start
Code language: JavaScript (javascript)

Expected output shape:

Started the MicroShift cluster.

Use the 'oc' command line interface:
  $ eval "$(crc oc-env)"
  $ oc COMMAND
Code language: JavaScript (javascript)

The v2.61.0 start source has a separate MicroShift output template. (GitHub)


6. Common full examples

6.1 Fresh install on your Mac

crc version
crc config set pull-secret-file ~/Downloads/pull-secret.txt
crc setup
crc start
crc status
eval "$(crc oc-env)"
crc console --credentials
Code language: PHP (php)

Then copy the oc login command from:

crc console --credentials
Code language: JavaScript (javascript)

6.2 Start with more memory for demos

crc stop
crc config set cpus 6
crc config set memory 14336
crc start
crc status
Code language: JavaScript (javascript)

6.3 Enable monitoring

crc stop
crc delete
crc config set memory 14336
crc config set enable-cluster-monitoring true
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

Cluster monitoring cannot simply be disabled on an existing instance; docs say to set the property back to false and delete the existing CRC instance. (crc.dev)

6.4 Configure proxy

crc stop
crc delete
crc config set http-proxy http://proxy.example.com:<port>
crc config set https-proxy http://proxy.example.com:<port>
crc config set no-proxy 127.0.0.1,localhost,.testing
crc config set proxy-ca-file /path/to/proxy-ca.crt
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

6.5 Access a service running on your host from inside CRC

crc config set host-network-access true
crc stop && crc start
Code language: JavaScript (javascript)

Then from inside the cluster/VM side, use:

host.crc.testing:<port>
Code language: CSS (css)

The docs show host.crc.testing:8080 as the pattern. (crc.dev)

6.6 Reset everything when CRC is broken

crc stop
crc delete --force
crc cleanup
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

6.7 Upgrade CRC safely

crc stop
crc delete
crc version
crc setup
crc start -p ~/Downloads/pull-secret.txt
Code language: JavaScript (javascript)

The install docs say newer CRC versions require manual setup, and the upgrade flow includes deleting the existing instance, replacing the binary, checking crc version, running crc setup, and starting the new instance. (crc.dev)


7. Commands you should run locally to verify nothing changed

Because you asked for โ€œlatestโ€ and โ€œdo not dream,โ€ this is the safest local audit command set:

crc version
crc help
crc setup -h
crc start -h
crc status -h
crc stop -h
crc delete -h
crc cleanup -h
crc console -h
crc oc-env -h
crc generate-kubeconfig -h
crc ip -h
crc podman-env -h
crc config -h
crc config get -h
crc config set -h
crc config unset -h
crc config view -h
crc bundle -h
crc bundle generate -h
Code language: JavaScript (javascript)

For your exact Mac build, also run:

crc config --help

That is the final authority for config keys available in your installed binary, especially conditional/platform-specific keys like network-mode.


8. Quick command cheat sheet

# Version
crc version

# First-time setup
crc setup

# Start OpenShift Local
crc start -p ~/Downloads/pull-secret.txt

# Check status
crc status

# Add oc to PATH
eval "$(crc oc-env)"

# Print credentials
crc console --credentials

# Open console
crc console

# Print console URL
crc console --url

# Export kubeconfig
crc generate-kubeconfig > crc-kubeconfig

# Get VM IP
crc ip

# Stop
crc stop

# Delete VM
crc delete

# Delete without prompt
crc delete --force

# Delete and clear cache
crc delete --clear-cache --force

# Undo setup changes
crc cleanup

# Show config
crc config view

# Get one config
crc config get memory

# Set config
crc config set memory 14336

# Unset config
crc config unset memory

# Switch preset
crc delete
crc config set preset okd
crc setup
crc start

# Advanced: generate custom bundle
crc bundle generate

# Internal/debug only
crc daemon
Code language: PHP (php)

The big thing for your immediate issue: pull secret goes with crc start -p, not crc setup.

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services โ€” all in one place.

Explore Hospitals
Iโ€™m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at <a href="https://www.cotocus.com/">Cotocus</a>. I share tech blog at <a href="https://www.devopsschool.com/">DevOps School</a>, travel stories at <a href="https://www.holidaylandmark.com/">Holiday Landmark</a>, stock market tips at <a href="https://www.stocksmantra.in/">Stocks Mantra</a>, health and fitness guidance at <a href="https://www.mymedicplus.com/">My Medic Plus</a>, product reviews at <a href="https://www.truereviewnow.com/">TrueReviewNow</a> , and SEO strategies at <a href="https://www.wizbrand.com/">Wizbrand.</a> Do you want to learn <a href="https://www.quantumuting.com/">Quantum Computing</a>? <strong>Please find my social handles as below;</strong> <a href="https://www.rajeshkumar.xyz/">Rajesh Kumar Personal Website</a> <a href="https://www.youtube.com/TheDevOpsSchool">Rajesh Kumar at YOUTUBE</a> <a href="https://www.instagram.com/rajeshkumarin">Rajesh Kumar at INSTAGRAM</a> <a href="https://x.com/RajeshKumarIn">Rajesh Kumar at X</a> <a href="https://www.facebook.com/RajeshKumarLog">Rajesh Kumar at FACEBOOK</a> <a href="https://www.linkedin.com/in/rajeshkumarin/">Rajesh Kumar at LINKEDIN</a> <a href="https://www.wizbrand.com/rajeshkumar">Rajesh Kumar at WIZBRAND</a> <a href="https://www.rajeshkumar.xyz/dailylogs">Rajesh Kumar DailyLogs</a>

Related Posts

Best DevOps Tools in 2024

hereโ€™s a clear, structured breakdown of the Best DevOps Tools (grouped by categories), so you can use it for learning, training, or posts. ๐Ÿš€ Best DevOps Tools…

Read More

OpenShift Tutorial โ€“ Deploy and Access Your First Applications using OpenShift Local

How to install oc? OpenShift: How to Install OpenShift CLI oc How to login? Login to the Openshift using Web Console and CLI using oc Copy the admin…

Read More

OpenShift Lab 14: Setting Up and Using OpenShift Serverless Functions on OpenShift Local

Lab Objective In this lab, you will install and use OpenShift Serverless Functions on OpenShift Local. You will create a simple Node.js serverless function, deploy it to…

Read More

OpenShift Lab 13: Deploy a Java Spring Boot Application with MySQL Using the OpenShift Web Console

Lab Objective In this lab, you will deploy a Java Spring Boot application on OpenShift using the OpenShift web console. You will deploy two components: The Java…

Read More

OpenShift Lab 12: Deploy an Application from an Existing Container Image Using the OpenShift Web Console

Lab Objective In this lab, you will deploy an application on OpenShift from an existing container image. This lab is different from building an application from source…

Read More

OpenShift: How to Install OpenShift CLIย oc

Option – 1 – REDHAT Websites URL – https://access.redhat.com/downloads/content/290/ver=4.18/rhel—9/4.18.11/x86_64/product-software Option – 2 – OKD Websites The OKD (Origin Community Distribution of Kubernetes for OpenShift) is the open-source…

Read More
Subscribe
Notify of
guest
1 Comment
Newest
Oldest Most Voted
Skylar Bennett
Skylar Bennett
18 days ago

The guide provides a comprehensive list of CRC commands, but it could be strengthened by covering operational practices that developers encounter during prolonged use of OpenShift Local. In many cases, issues stem from resource exhaustion, bundle version mismatches, or virtualization conflicts, making log analysis and environment cleanup an essential part of the workflow. It would also be useful to discuss enabling cluster monitoring, preserving configuration consistency across team members, and understanding CRC’s limitations as a single-node environment when validating workloads intended for production clusters. 

1
0
Would love your thoughts, please comment.x
()
x