{"id":49099,"date":"2026-06-23T05:43:19","date_gmt":"2026-06-23T05:43:19","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=49099"},"modified":"2026-06-23T05:45:10","modified_gmt":"2026-06-23T05:45:10","slug":"openshift-local-crc-command-lines-guide","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/openshift-local-crc-command-lines-guide\/","title":{"rendered":"Openshift Local: crc command lines guide with example"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Most important daily commands<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Flow<\/th><th>Commands<\/th><\/tr><\/thead><tbody><tr><td>First setup<\/td><td><code>crc version<\/code> \u2192 <code>crc setup<\/code> \u2192 <code>crc start -p ~\/Downloads\/pull-secret.txt<\/code><\/td><\/tr><tr><td>Start work<\/td><td><code>crc start<\/code> \u2192 <code>crc status<\/code> \u2192 <code>crc console<\/code><\/td><\/tr><tr><td>Use <code>oc<\/code><\/td><td><code>eval \"$(crc oc-env)\"<\/code> \u2192 <code>crc console --credentials<\/code> \u2192 <code>oc login ...<\/code><\/td><\/tr><tr><td>Stop work<\/td><td><code>crc stop<\/code><\/td><\/tr><tr><td>Reset cluster<\/td><td><code>crc stop<\/code> \u2192 <code>crc delete --force<\/code> \u2192 <code>crc cleanup<\/code> \u2192 <code>crc setup<\/code> \u2192 <code>crc start -p ~\/Downloads\/pull-secret.txt<\/code><\/td><\/tr><tr><td>Change CPU\/RAM<\/td><td><code>crc stop<\/code> \u2192 <code>crc delete<\/code> \u2192 <code>crc config set cpus 6<\/code> \u2192 <code>crc config set memory 14336<\/code> \u2192 <code>crc start<\/code><\/td><\/tr><tr><td>Switch preset<\/td><td><code>crc delete<\/code> \u2192 <code>crc config set preset okd<\/code> \u2192 <code>crc setup<\/code> \u2192 <code>crc start<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Command<\/th><th>Purpose<\/th><th>When to Use<\/th><th>Common Example<\/th><th>Expected Output \/ Result<\/th><\/tr><\/thead><tbody><tr><td><code>crc<\/code><\/td><td>Base CRC command<\/td><td>To see general CLI help or available commands<\/td><td><code>crc<\/code><\/td><td>Shows CRC help and available commands<\/td><\/tr><tr><td><code>crc help<\/code><\/td><td>Show help<\/td><td>When you need command syntax<\/td><td><code>crc help start<\/code><\/td><td>Displays help for the selected command<\/td><\/tr><tr><td><code>crc version<\/code><\/td><td>Show CRC and bundled OpenShift\/MicroShift versions<\/td><td>First command to run after installation or upgrade<\/td><td><code>crc version<\/code><\/td><td>Shows CRC version, OpenShift version, MicroShift version<\/td><\/tr><tr><td><code>crc setup<\/code><\/td><td>Prepare local virtualization and networking<\/td><td>First-time setup, after upgrade, or after cleanup<\/td><td><code>crc setup<\/code><\/td><td><code>Your system is correctly setup for using CRC.<\/code><\/td><\/tr><tr><td><code>crc setup --check-only<\/code><\/td><td>Validate setup only<\/td><td>To check prerequisites without changing the system<\/td><td><code>crc setup --check-only<\/code><\/td><td>Reports whether system is ready<\/td><\/tr><tr><td><code>crc start<\/code><\/td><td>Start CRC instance<\/td><td>Start local OpenShift \/ OKD \/ MicroShift<\/td><td><code>crc start -p ~\/Downloads\/pull-secret.txt<\/code><\/td><td>Starts cluster and prints console URL and credentials<\/td><\/tr><tr><td><code>crc start -p<\/code><\/td><td>Start with pull secret file<\/td><td>OpenShift preset startup<\/td><td><code>crc start -p ~\/Downloads\/pull-secret.txt<\/code><\/td><td>Starts OpenShift using pull secret<\/td><\/tr><tr><td><code>crc start --pull-secret-file<\/code><\/td><td>Long form of pull secret option<\/td><td>Same as <code>-p<\/code><\/td><td><code>crc start --pull-secret-file ~\/Downloads\/pull-secret.txt<\/code><\/td><td>Starts OpenShift using pull secret<\/td><\/tr><tr><td><code>crc start -c<\/code><\/td><td>Start with custom CPU count<\/td><td>When default CPU is not enough<\/td><td><code>crc start -c 6<\/code><\/td><td>Starts CRC with 6 CPUs<\/td><\/tr><tr><td><code>crc start -m<\/code><\/td><td>Start with custom memory<\/td><td>For heavier demos, monitoring, operators<\/td><td><code>crc start -m 14336<\/code><\/td><td>Starts CRC with 14 GiB memory<\/td><\/tr><tr><td><code>crc start -d<\/code><\/td><td>Start with custom disk size<\/td><td>When more disk space is needed<\/td><td><code>crc start -d 80<\/code><\/td><td>Starts CRC with 80 GiB disk<\/td><\/tr><tr><td><code>crc status<\/code><\/td><td>Show CRC status<\/td><td>Check whether VM and cluster are running<\/td><td><code>crc status<\/code><\/td><td>Shows VM status, OpenShift status, RAM, disk, cache<\/td><\/tr><tr><td><code>crc status --watch<\/code><\/td><td>Watch status continuously<\/td><td>During startup or troubleshooting<\/td><td><code>crc status --watch<\/code><\/td><td>Continuously refreshes CRC resource\/status view<\/td><\/tr><tr><td><code>crc stop<\/code><\/td><td>Stop CRC instance<\/td><td>End daily work while keeping VM data<\/td><td><code>crc stop<\/code><\/td><td><code>Stopped the instance<\/code><\/td><\/tr><tr><td><code>crc stop --force<\/code><\/td><td>Force stop CRC<\/td><td>If normal stop hangs or fails<\/td><td><code>crc stop --force<\/code><\/td><td><code>Forcibly stopped the instance<\/code><\/td><\/tr><tr><td><code>crc delete<\/code><\/td><td>Delete CRC instance<\/td><td>Reset cluster, switch preset, reclaim disk<\/td><td><code>crc delete<\/code><\/td><td>Prompts for confirmation, then deletes instance<\/td><\/tr><tr><td><code>crc delete --force<\/code><\/td><td>Delete without prompt<\/td><td>Automation or forced cleanup<\/td><td><code>crc delete --force<\/code><\/td><td>Deletes instance without confirmation<\/td><\/tr><tr><td><code>crc delete --clear-cache<\/code><\/td><td>Delete instance and cache<\/td><td>Full cleanup including cached bundle<\/td><td><code>crc delete --clear-cache --force<\/code><\/td><td>Deletes VM and cached CRC files<\/td><\/tr><tr><td><code>crc cleanup<\/code><\/td><td>Undo host setup changes<\/td><td>After deleting CRC or fixing broken networking<\/td><td><code>crc cleanup<\/code><\/td><td><code>Cleanup finished<\/code><\/td><\/tr><tr><td><code>crc console<\/code><\/td><td>Open web console<\/td><td>Access OpenShift web UI<\/td><td><code>crc console<\/code><\/td><td>Opens console in browser<\/td><\/tr><tr><td><code>crc console --url<\/code><\/td><td>Print console URL<\/td><td>When you only need the URL<\/td><td><code>crc console --url<\/code><\/td><td>Prints console URL<\/td><\/tr><tr><td><code>crc console --credentials<\/code><\/td><td>Print login credentials<\/td><td>To log in with <code>oc<\/code> or web console<\/td><td><code>crc console --credentials<\/code><\/td><td>Shows <code>developer<\/code> and <code>kubeadmin<\/code> login commands<\/td><\/tr><tr><td><code>crc dashboard<\/code><\/td><td>Alias for <code>crc console<\/code><\/td><td>Same as console<\/td><td><code>crc dashboard<\/code><\/td><td>Opens OpenShift console<\/td><\/tr><tr><td><code>crc oc-env<\/code><\/td><td>Print shell config for embedded <code>oc<\/code><\/td><td>To add CRC\u2019s <code>oc<\/code> binary to PATH<\/td><td><code>crc oc-env<\/code><\/td><td>Prints export\/eval instructions<\/td><\/tr><tr><td><code>eval \"$(crc oc-env)\"<\/code><\/td><td>Apply <code>oc<\/code> environment<\/td><td>Before running <code>oc<\/code> commands<\/td><td><code>eval \"$(crc oc-env)\"<\/code><\/td><td>Current shell can use CRC\u2019s <code>oc<\/code><\/td><\/tr><tr><td><code>crc generate-kubeconfig<\/code><\/td><td>Print kubeconfig<\/td><td>To use CRC cluster with <code>oc<\/code>\/Kubernetes tools<\/td><td><code>crc generate-kubeconfig &gt; crc-kubeconfig<\/code><\/td><td>Writes kubeconfig content<\/td><\/tr><tr><td><code>crc ip<\/code><\/td><td>Print CRC VM IP address<\/td><td>Networking\/debugging<\/td><td><code>crc ip<\/code><\/td><td>Prints VM IP, for example <code>192.168.130.11<\/code><\/td><\/tr><tr><td><code>crc podman-env<\/code><\/td><td>Print Podman remote environment<\/td><td>Legacy Podman access to CRC VM<\/td><td><code>crc podman-env<\/code><\/td><td>Prints Podman environment variables<\/td><\/tr><tr><td><code>crc podman-env --root<\/code><\/td><td>Rootful Podman environment<\/td><td>If rootful Podman socket is needed<\/td><td><code>crc podman-env --root<\/code><\/td><td>Prints rootful Podman environment<\/td><\/tr><tr><td><code>crc config<\/code><\/td><td>Config command group<\/td><td>View\/change CRC settings<\/td><td><code>crc config --help<\/code><\/td><td>Shows config subcommands<\/td><\/tr><tr><td><code>crc config view<\/code><\/td><td>Show changed config values<\/td><td>Review active custom settings<\/td><td><code>crc config view<\/code><\/td><td>Lists non-default config values<\/td><\/tr><tr><td><code>crc config view --show-secrets<\/code><\/td><td>Show config including secrets<\/td><td>Only when you intentionally need secret values<\/td><td><code>crc config view --show-secrets<\/code><\/td><td>Shows secret config values too<\/td><\/tr><tr><td><code>crc config get<\/code><\/td><td>Get one config value<\/td><td>Check a specific setting<\/td><td><code>crc config get memory<\/code><\/td><td>Shows configured value or default notice<\/td><\/tr><tr><td><code>crc config set<\/code><\/td><td>Set config value<\/td><td>Before setup\/start or before recreating instance<\/td><td><code>crc config set memory 14336<\/code><\/td><td>Saves config value<\/td><\/tr><tr><td><code>crc config unset<\/code><\/td><td>Remove config override<\/td><td>Return setting to default<\/td><td><code>crc config unset memory<\/code><\/td><td>Removes custom value<\/td><\/tr><tr><td><code>crc bundle<\/code><\/td><td>Bundle command group<\/td><td>Advanced bundle operations<\/td><td><code>crc bundle --help<\/code><\/td><td>Shows bundle help<\/td><\/tr><tr><td><code>crc bundle generate<\/code><\/td><td>Generate custom bundle<\/td><td>Advanced\/custom CRC bundle creation<\/td><td><code>crc bundle generate<\/code><\/td><td>Generates bundle from running instance<\/td><\/tr><tr><td><code>crc bundle generate --force-stop<\/code><\/td><td>Force stop during bundle generation<\/td><td>If bundle generation needs forced VM stop<\/td><td><code>crc bundle generate --force-stop<\/code><\/td><td>Stops VM as needed and generates bundle<\/td><\/tr><tr><td><code>crc daemon<\/code><\/td><td>Hidden\/internal daemon command<\/td><td>Debugging CRC internals only<\/td><td><code>crc daemon<\/code><\/td><td>Starts CRC daemon process<\/td><\/tr><tr><td><code>crc daemon --watchdog<\/code><\/td><td>Daemon watchdog mode<\/td><td>Internal\/debug only<\/td><td><code>crc daemon --watchdog<\/code><\/td><td>Runs daemon with watchdog behavior<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Below is a <strong>CRC \/ OpenShift Local command-line tutorial based on the latest CRC docs and v2.61.0 source I found<\/strong>. I\u2019m being careful here: no invented flags, no old <code>crc setup --pull-secret<\/code>, and no fake subcommands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As of <strong>June 23, 2026<\/strong>, the latest upstream CRC release I found is <strong>v2.61.0 \/ 2.61.0-4.21.14<\/strong>, with <strong>OpenShift 4.21.14<\/strong> and <strong>OKD 4.21.0-okd-scos.8<\/strong>. (<a href=\"https:\/\/github.com\/crc-org\/crc\/releases?utm_source=chatgpt.com\">GitHub<\/a>)<br>Your local help output also matches this generation because your bundle default shows <code>crc_vfkit_4.21.14_arm64.crcbundle<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common config keys summary<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Config Key<\/th><th>Purpose<\/th><th>Example<\/th><\/tr><\/thead><tbody><tr><td><code>preset<\/code><\/td><td>Choose runtime: OpenShift, OKD, MicroShift<\/td><td><code>crc config set preset openshift<\/code><\/td><\/tr><tr><td><code>cpus<\/code><\/td><td>Set CPU count<\/td><td><code>crc config set cpus 6<\/code><\/td><\/tr><tr><td><code>memory<\/code><\/td><td>Set memory in MiB<\/td><td><code>crc config set memory 14336<\/code><\/td><\/tr><tr><td><code>disk-size<\/code><\/td><td>Set disk size in GiB<\/td><td><code>crc config set disk-size 80<\/code><\/td><\/tr><tr><td><code>pull-secret-file<\/code><\/td><td>Save pull secret path<\/td><td><code>crc config set pull-secret-file ~\/Downloads\/pull-secret.txt<\/code><\/td><\/tr><tr><td><code>nameserver<\/code><\/td><td>Set DNS resolver<\/td><td><code>crc config set nameserver 8.8.8.8<\/code><\/td><\/tr><tr><td><code>disable-update-check<\/code><\/td><td>Disable CRC update check<\/td><td><code>crc config set disable-update-check true<\/code><\/td><\/tr><tr><td><code>consent-telemetry<\/code><\/td><td>Enable\/disable telemetry<\/td><td><code>crc config set consent-telemetry no<\/code><\/td><\/tr><tr><td><code>developer-password<\/code><\/td><td>Set developer user password<\/td><td><code>crc config set developer-password developer<\/code><\/td><\/tr><tr><td><code>kubeadmin-password<\/code><\/td><td>Set kubeadmin password<\/td><td><code>crc config set kubeadmin-password 'StrongPassword'<\/code><\/td><\/tr><tr><td><code>http-proxy<\/code><\/td><td>Configure HTTP proxy<\/td><td><code>crc config set http-proxy http:\/\/proxy.example.com:8080<\/code><\/td><\/tr><tr><td><code>https-proxy<\/code><\/td><td>Configure HTTPS proxy<\/td><td><code>crc config set https-proxy http:\/\/proxy.example.com:8080<\/code><\/td><\/tr><tr><td><code>no-proxy<\/code><\/td><td>Configure proxy bypass list<\/td><td><code>crc config set no-proxy 127.0.0.1,localhost,.testing<\/code><\/td><\/tr><tr><td><code>proxy-ca-file<\/code><\/td><td>Configure proxy CA certificate<\/td><td><code>crc config set proxy-ca-file \/path\/to\/ca.crt<\/code><\/td><\/tr><tr><td><code>host-network-access<\/code><\/td><td>Allow CRC to access host services<\/td><td><code>crc config set host-network-access true<\/code><\/td><\/tr><tr><td><code>enable-cluster-monitoring<\/code><\/td><td>Enable OpenShift monitoring stack<\/td><td><code>crc config set enable-cluster-monitoring true<\/code><\/td><\/tr><tr><td><code>ingress-http-port<\/code><\/td><td>Change HTTP ingress port<\/td><td><code>crc config set ingress-http-port 8080<\/code><\/td><\/tr><tr><td><code>ingress-https-port<\/code><\/td><td>Change HTTPS ingress port<\/td><td><code>crc config set ingress-https-port 8443<\/code><\/td><\/tr><tr><td><code>enable-shared-dirs<\/code><\/td><td>Enable shared directories<\/td><td><code>crc config set enable-shared-dirs true<\/code><\/td><\/tr><tr><td><code>persistent-volume-size<\/code><\/td><td>Set default persistent volume size<\/td><td><code>crc config set persistent-volume-size 20g<\/code><\/td><\/tr><tr><td><code>modify-hosts-file<\/code><\/td><td>Let CRC modify hosts file<\/td><td><code>crc config set modify-hosts-file true<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">CRC is the CLI behind <strong>Red Hat OpenShift Local<\/strong>, which runs a local single-node OpenShift \/ OKD \/ MicroShift development instance. It is for local development and testing, not production. (<a href=\"https:\/\/crc.dev\/docs\/introducing\/\">crc.dev<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">1. Commands verified from CRC v2.61.0<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source tree contains these top-level command files: <code>cleanup<\/code>, <code>console<\/code>, <code>daemon<\/code>, <code>delete<\/code>, <code>generate-kubeconfig<\/code>, <code>ip<\/code>, <code>oc-env<\/code>, <code>podman-env<\/code>, <code>setup<\/code>, <code>start<\/code>, <code>status<\/code>, <code>stop<\/code>, and <code>version<\/code>, plus the <code>config<\/code> and <code>bundle<\/code> command groups. (<a href=\"https:\/\/github.com\/crc-org\/crc\/tree\/v2.61.0\/cmd\/crc\/cmd\">GitHub<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>config<\/code> group contains exactly these subcommands in v2.61.0:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">get<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span>\ncrc config unset\ncrc config view\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">(<a href=\"https:\/\/github.com\/crc-org\/crc\/tree\/v2.61.0\/cmd\/crc\/cmd\/config\">GitHub<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>bundle<\/code> group contains exactly this visible subcommand in v2.61.0:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc bundle generate\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">(<a href=\"https:\/\/github.com\/crc-org\/crc\/tree\/v2.61.0\/cmd\/crc\/cmd\/bundle\">GitHub<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the full verified command list is:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc\ncrc help\ncrc version\ncrc setup\ncrc start\ncrc status\ncrc stop\ncrc <span class=\"hljs-keyword\">delete<\/span>\ncrc cleanup\ncrc <span class=\"hljs-built_in\">console<\/span>\ncrc dashboard\ncrc oc-env\ncrc generate-kubeconfig\ncrc ip\ncrc podman-env\ncrc config\ncrc config <span class=\"hljs-keyword\">get<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span>\ncrc config unset\ncrc config view\ncrc bundle\ncrc bundle generate\ncrc daemon\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Important: <code>crc dashboard<\/code> is an alias for <code>crc console<\/code>, and <code>crc daemon<\/code> is marked hidden\/internal in the source. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/console.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">2. Golden CRC lifecycle flow<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Use this as the normal flow:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc version\ncrc config view\ncrc setup\ncrc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\ncrc status\ncrc oc-env\n<span class=\"hljs-built_in\">eval<\/span> <span class=\"hljs-string\">\"$(crc oc-env)\"<\/span>\ncrc <span class=\"hljs-built_in\">console<\/span> --credentials\noc login -u developer -p &lt;developer-password&gt; https:<span class=\"hljs-comment\">\/\/api.crc.testing:6443<\/span>\ncrc <span class=\"hljs-built_in\">console<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">For daily use after first setup:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start\ncrc status\ncrc <span class=\"hljs-built_in\">console<\/span>\ncrc stop\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">For a clean reset:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc <span class=\"hljs-keyword\">delete<\/span>\ncrc cleanup\ncrc setup\ncrc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The official troubleshooting flow also uses <code>crc stop<\/code>, <code>crc delete<\/code>, <code>crc cleanup<\/code>, <code>crc setup<\/code>, and <code>crc start<\/code> for a clean state. (<a href=\"https:\/\/crc.dev\/docs\/troubleshooting\/\">crc.dev<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">3. Pull secret correction<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Your earlier command failed because this is wrong in current CRC:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc setup --pull-secret ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use one of these instead:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start --pull-secret-file ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source defines <code>-p<\/code> \/ <code>--pull-secret-file<\/code> on <code>crc start<\/code>, not on <code>crc setup<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/main\/cmd\/crc\/cmd\/start.go\">GitHub<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also save it into config:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> pull-secret-file ~\/Downloads\/pull-secret.txt\ncrc start\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The <code>pull-secret-file<\/code> configurable property exists in v2.61.0 settings. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/pkg\/crc\/config\/settings.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">4. Command reference and tutorial<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">4.1 <code>crc version<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use this first to confirm your CRC binary, embedded OpenShift version, and MicroShift version.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc version\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output shape<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">CRC<\/span> <span class=\"hljs-selector-tag\">version<\/span>: 2<span class=\"hljs-selector-class\">.61<\/span><span class=\"hljs-selector-class\">.0<\/span>+&lt;<span class=\"hljs-selector-tag\">commit<\/span>&gt;\n<span class=\"hljs-selector-tag\">OpenShift<\/span> <span class=\"hljs-selector-tag\">version<\/span>: 4<span class=\"hljs-selector-class\">.21<\/span><span class=\"hljs-selector-class\">.14<\/span>\n<span class=\"hljs-selector-tag\">MicroShift<\/span> <span class=\"hljs-selector-tag\">version<\/span>: &lt;<span class=\"hljs-selector-tag\">microshift-version<\/span>&gt;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 <code>version<\/code> command prints CRC version, OpenShift version, and MicroShift version. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/version.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">JSON output<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc version -o json\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected shape:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n <span class=\"hljs-attr\">\"version\"<\/span>: <span class=\"hljs-string\">\"2.61.0\"<\/span>,\n <span class=\"hljs-attr\">\"commit\"<\/span>: <span class=\"hljs-string\">\"&lt;commit&gt;\"<\/span>,\n <span class=\"hljs-attr\">\"openshiftVersion\"<\/span>: <span class=\"hljs-string\">\"4.21.14\"<\/span>,\n <span class=\"hljs-attr\">\"microshiftVersion\"<\/span>: <span class=\"hljs-string\">\"&lt;microshift-version&gt;\"<\/span>\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\"><code>-o\/--output json<\/code> is the only supported structured output format for commands that expose the output flag. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/json.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.2 <code>crc setup<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run once after installing CRC, after changing some host-level settings, or after upgrading CRC. It prepares local virtualization and networking infrastructure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The official docs say <code>crc setup<\/code> sets up the host machine and creates <code>~\/.crc<\/code> if needed. (<a href=\"https:\/\/crc.dev\/docs\/using\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc setup\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected successful output<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Your system is correctly setup <span class=\"hljs-keyword\">for<\/span> using CRC.\nUse <span class=\"hljs-string\">'crc start'<\/span> to start the instance\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">That exact success message comes from the v2.61.0 source. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/main\/cmd\/crc\/cmd\/setup.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Useful flags<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">From your installed help and v2.61.0 source:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc setup --check-only\ncrc setup --show-progressbars\ncrc setup --enable-experimental-features\ncrc setup -b \/path\/to\/bundle.crcbundle\ncrc setup --bundle \/path\/to\/bundle.crcbundle\ncrc setup -o json\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">When to use each<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>crc setup<\/code> for normal setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use this to only validate prerequisites without changing your system:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc setup --check-only\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use this if you want visible progress bars for download\/extraction:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc setup --show-progressbars\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use <code>-b<\/code> 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 <code>~\/.crc\/cache<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do not use<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc setup --pull-secret ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">That flag is not valid on <code>setup<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.3 <code>crc start<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Creates\/starts the CRC VM and starts the selected runtime: OpenShift, OKD, or MicroShift. The official docs describe <code>crc start<\/code> as starting the CRC instance and configured container runtime. (<a href=\"https:\/\/crc.dev\/docs\/using\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic OpenShift start<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start --pull-secret-file ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Interactive start<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc start\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If no pull secret is configured or supplied, CRC can ask for it during startup. The getting-started docs show <code>crc start<\/code> as the command and explain that OpenShift startup asks for the pull secret. (<a href=\"https:\/\/crc.dev\/docs\/getting-started\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Start with custom resources<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start -c <span class=\"hljs-number\">6<\/span> -m <span class=\"hljs-number\">14336<\/span> -d <span class=\"hljs-number\">80<\/span> -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">-c \/ --cpus       CPU cores\n-m \/ --memory     memory in MiB\n-d \/ --disk-size  disk size in GiB\n-p                pull secret file\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source defines <code>--cpus<\/code>, <code>--memory<\/code>, <code>--disk-size<\/code>, <code>--nameserver<\/code>, <code>--bundle<\/code>, <code>--pull-secret-file<\/code>, and <code>--disable-update-check<\/code> on <code>crc start<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/main\/cmd\/crc\/cmd\/start.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Full practical examples<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start with specific DNS resolver:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start -n <span class=\"hljs-number\">8.8<\/span><span class=\"hljs-number\">.8<\/span><span class=\"hljs-number\">.8<\/span> -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Start without checking for new CRC versions:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start --disable-update-check -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Start using a specific bundle:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-19\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start -b ~<span class=\"hljs-regexp\">\/.crc\/<\/span>cache\/crc_vfkit_4<span class=\"hljs-number\">.21<\/span><span class=\"hljs-number\">.14<\/span>_arm64.crcbundle -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-19\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected successful OpenShift output<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-20\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Started the OpenShift cluster.\n\nThe server is accessible via web console at:\n  https:<span class=\"hljs-comment\">\/\/console-openshift-console.apps-crc.testing<\/span>\n\nLog in <span class=\"hljs-keyword\">as<\/span> administrator:\n  Username: kubeadmin\n  Password: &lt;generated-<span class=\"hljs-keyword\">or<\/span>-configured-password&gt;\n\nLog in <span class=\"hljs-keyword\">as<\/span> user:\n  Username: developer\n  Password: &lt;developer-password&gt;\n\n<span class=\"hljs-keyword\">Use<\/span> <span class=\"hljs-title\">the<\/span> '<span class=\"hljs-title\">oc<\/span>' <span class=\"hljs-title\">command<\/span> <span class=\"hljs-title\">line<\/span> <span class=\"hljs-title\">interface<\/span>:\n  $ <span class=\"hljs-title\">eval<\/span> \"$(<span class=\"hljs-title\">crc<\/span> <span class=\"hljs-title\">oc<\/span>-<span class=\"hljs-title\">env<\/span>)\"\n  $ <span class=\"hljs-title\">oc<\/span> <span class=\"hljs-title\">login<\/span> -<span class=\"hljs-title\">u<\/span> <span class=\"hljs-title\">developer<\/span> <span class=\"hljs-title\">https<\/span>:\/\/<span class=\"hljs-title\">api<\/span>.<span class=\"hljs-title\">crc<\/span>.<span class=\"hljs-title\">testing<\/span>:6443\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-20\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">That output shape is from the v2.61.0 start template. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/main\/cmd\/crc\/cmd\/start.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">JSON output<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-21\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt -o json\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-21\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected shape:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-22\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n <span class=\"hljs-attr\">\"success\"<\/span>: <span class=\"hljs-literal\">true<\/span>,\n <span class=\"hljs-attr\">\"clusterConfig\"<\/span>: {\n  <span class=\"hljs-attr\">\"clusterType\"<\/span>: <span class=\"hljs-string\">\"openshift\"<\/span>,\n  <span class=\"hljs-attr\">\"cacert\"<\/span>: <span class=\"hljs-string\">\"&lt;certificate&gt;\"<\/span>,\n  <span class=\"hljs-attr\">\"webConsoleUrl\"<\/span>: <span class=\"hljs-string\">\"https:\/\/console-openshift-console.apps-crc.testing\"<\/span>,\n  <span class=\"hljs-attr\">\"url\"<\/span>: <span class=\"hljs-string\">\"https:\/\/api.crc.testing:6443\"<\/span>,\n  <span class=\"hljs-attr\">\"adminCredentials\"<\/span>: {\n   <span class=\"hljs-attr\">\"username\"<\/span>: <span class=\"hljs-string\">\"kubeadmin\"<\/span>,\n   <span class=\"hljs-attr\">\"password\"<\/span>: <span class=\"hljs-string\">\"&lt;password&gt;\"<\/span>\n  },\n  <span class=\"hljs-attr\">\"developerCredentials\"<\/span>: {\n   <span class=\"hljs-attr\">\"username\"<\/span>: <span class=\"hljs-string\">\"developer\"<\/span>,\n   <span class=\"hljs-attr\">\"password\"<\/span>: <span class=\"hljs-string\">\"&lt;password&gt;\"<\/span>\n  }\n }\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-22\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.4 <code>crc status<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Check VM status, OpenShift\/OKD\/MicroShift status, resource usage, cache usage, and cache directory.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc status\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output shape<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-23\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">CRC VM:          Running\nOpenShift:       Running (v4.21.14)\nRAM Usage:       <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">used<\/span>&gt;<\/span> of <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">total<\/span>&gt;<\/span>\nDisk Usage:      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">used<\/span>&gt;<\/span> of <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">total<\/span>&gt;<\/span> (Inside the CRC VM)\nCache Usage:     <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">size<\/span>&gt;<\/span>\nCache Directory: \/Users\/rajesh\/.crc\/cache\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-23\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 status command prints CRC VM status, preset status\/version, RAM usage, disk usage, cache usage, and cache directory. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/status.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Watch mode<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc status --watch\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc status -w\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use this when you want continuous status with CPU\/RAM load bars. The <code>--watch<\/code> flag is present in v2.61.0. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/status.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">JSON output<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc status -o json\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected shape:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-24\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n <span class=\"hljs-attr\">\"success\"<\/span>: <span class=\"hljs-literal\">true<\/span>,\n <span class=\"hljs-attr\">\"crcStatus\"<\/span>: <span class=\"hljs-string\">\"Running\"<\/span>,\n <span class=\"hljs-attr\">\"openshiftStatus\"<\/span>: <span class=\"hljs-string\">\"Running\"<\/span>,\n <span class=\"hljs-attr\">\"openshiftVersion\"<\/span>: <span class=\"hljs-string\">\"4.21.14\"<\/span>,\n <span class=\"hljs-attr\">\"diskUsage\"<\/span>: <span class=\"hljs-number\">123456789<\/span>,\n <span class=\"hljs-attr\">\"diskSize\"<\/span>: <span class=\"hljs-number\">85899345920<\/span>,\n <span class=\"hljs-attr\">\"cacheUsage\"<\/span>: <span class=\"hljs-number\">1234567890<\/span>,\n <span class=\"hljs-attr\">\"cacheDir\"<\/span>: <span class=\"hljs-string\">\"\/Users\/rajesh\/.crc\/cache\"<\/span>,\n <span class=\"hljs-attr\">\"ramSize\"<\/span>: <span class=\"hljs-number\">15032385536<\/span>,\n <span class=\"hljs-attr\">\"ramUsage\"<\/span>: <span class=\"hljs-number\">9876543210<\/span>,\n <span class=\"hljs-attr\">\"preset\"<\/span>: <span class=\"hljs-string\">\"openshift\"<\/span>\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-24\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.5 <code>crc oc-env<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Adds the embedded <code>oc<\/code> CLI to your shell <code>PATH<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The docs recommend <code>crc oc-env<\/code> when you do not already have <code>oc<\/code> available. (<a href=\"https:\/\/crc.dev\/docs\/getting-started\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc oc-env\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Apply it in your current shell<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On macOS zsh\/bash:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-25\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-built_in\">eval<\/span> <span class=\"hljs-string\">\"$(crc oc-env)\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-25\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Then verify:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">which oc\noc version\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Force a shell type<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc oc-env --shell zsh\ncrc oc-env --shell bash\ncrc oc-env --shell fish\ncrc oc-env --shell powershell\ncrc oc-env --shell cmd\ncrc oc-env --shell tcsh\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source lists those shell options. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/oc_env.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Expected output shape<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For zsh\/bash-style shells:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-26\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">export PATH=<span class=\"hljs-string\">\"\/Users\/rajesh\/.crc\/bin\/oc:$PATH\"<\/span>\n<span class=\"hljs-comment\"># Run this command to configure your shell:<\/span>\n<span class=\"hljs-comment\"># eval \"$(crc oc-env)\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-26\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If proxy config is enabled, <code>crc oc-env<\/code> can also print proxy environment variables. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/oc_env.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.6 <code>crc console<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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. (<a href=\"https:\/\/crc.dev\/docs\/using\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Open web console<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-27\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-built_in\">console<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-27\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-28\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Opening the OpenShift Web Console <span class=\"hljs-keyword\">in<\/span> the <span class=\"hljs-keyword\">default<\/span> browser...\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-28\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The source prints that before opening the browser. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/console.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Print console URL only<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-29\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-built_in\">console<\/span> --url\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-29\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-30\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">https:<span class=\"hljs-comment\">\/\/console-openshift-console.apps-crc.testing<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-30\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Print login commands and credentials<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-31\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-built_in\">console<\/span> --credentials\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-31\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected output shape:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-32\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">To login <span class=\"hljs-keyword\">as<\/span> a regular user, run <span class=\"hljs-string\">'oc login -u developer -p &lt;password&gt; https:\/\/api.crc.testing:6443'<\/span>.\nTo login <span class=\"hljs-keyword\">as<\/span> an admin, run <span class=\"hljs-string\">'oc login -u kubeadmin -p &lt;password&gt; https:\/\/api.crc.testing:6443'<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-32\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The source prints exactly this form for <code>--credentials<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/console.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alias<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc dashboard\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\"><code>dashboard<\/code> is an alias for <code>console<\/code> in v2.61.0. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/console.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.7 <code>crc generate-kubeconfig<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Print the kubeconfig for the running CRC instance to stdout.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc generate-kubeconfig\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Save to a file<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-33\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc generate-kubeconfig &gt; crc-kubeconfig\n<span class=\"hljs-keyword\">export<\/span> KUBECONFIG=<span class=\"hljs-string\">\"$PWD\/crc-kubeconfig\"<\/span>\noc whoami\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-33\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output shape<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-34\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">base64<\/span>&gt;<\/span>\n    server: https:\/\/api.crc.testing:6443\n  name: api-crc-testing:6443\ncontexts:\n- context:\n    cluster: api-crc-testing:6443\n    user: kubeadmin\/api-crc-testing:6443\n  name: crc-admin\ncurrent-context: crc-admin\nkind: Config\nusers:\n- name: kubeadmin\/api-crc-testing:6443\n  user:\n    token: <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">token-or-credentials<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-34\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The command requires the CRC instance to exist and be running; otherwise it errors with \u201cthe CRC instance is not running, cannot retrieve kubeconfig\u201d. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/generate_kubeconfig.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.8 <code>crc ip<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Print the CRC VM IP address.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc ip\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-35\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">192<span class=\"hljs-selector-class\">.168<\/span><span class=\"hljs-selector-class\">.130<\/span><span class=\"hljs-selector-class\">.11<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-35\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The exact IP can vary by network mode\/platform. The source prints only the connection IP. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/ip.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common use<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-36\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">CRC_IP=$(crc ip)\necho <span class=\"hljs-string\">\"$CRC_IP\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-36\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Remote\/HAProxy setup examples in the docs also use <code>export CRC_IP=$(crc ip)<\/code>. (<a href=\"https:\/\/crc.dev\/docs\/networking\/\">crc.dev<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.9 <code>crc stop<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Gracefully stop the CRC instance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc stop\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Stopped the instance\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The exact success message comes from v2.61.0 source. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/stop.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Force stop<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc stop --force\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc stop -f\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected output if force is used:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Forcibly stopped the instance\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use force only if normal shutdown fails or hangs. The source supports <code>-f\/--force<\/code> on <code>stop<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/stop.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.10 <code>crc delete<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Delete the CRC VM\/instance. Use this when switching presets, upgrading CRC, fixing broken state, or reclaiming disk.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-37\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-37\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected interactive behavior<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-38\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Do you want to <span class=\"hljs-keyword\">delete<\/span> the instance &#91;y\/N]:\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-38\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If confirmed:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Deleted the instance\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The source confirms that deletion is interactive unless forced, and prints \u201cDeleted the instance\u201d when the instance is deleted. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/delete.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Non-interactive delete<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-39\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span> --force\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-39\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-40\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span> -f\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-40\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Delete and clear cache<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-41\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span> --clear-cache --force\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-41\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use <code>--clear-cache<\/code> when you want to remove the cached bundle and local CRC cache files too.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.11 <code>crc cleanup<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Undo host configuration changes made by <code>crc setup<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc cleanup\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Cleanup finished\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source defines <code>cleanup<\/code> as undoing configuration changes done by <code>crc setup<\/code>, and its success output is exactly \u201cCleanup finished\u201d. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/cleanup.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Clean reset flow<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-42\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc <span class=\"hljs-keyword\">delete<\/span>\ncrc cleanup\ncrc setup\ncrc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-42\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use this when DNS, networking, virtualization, or bundle state becomes confused.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.12 <code>crc config<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">View and change CRC configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The official docs say <code>crc config<\/code> requires a subcommand, and the available subcommands are <code>get<\/code>, <code>set<\/code>, <code>unset<\/code>, and <code>view<\/code>. (<a href=\"https:\/\/crc.dev\/docs\/configuring\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Show config command help<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc config --help\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use this to see the properties your exact installed build supports.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Important current config keys<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Verified in v2.61.0 source:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">preset\nbundle\ncpus\nmemory\ndisk-size\nnameserver\npull-secret-file\ndisable-update-check\nenable-experimental-features\nenable-emergency-login\npersistent-volume-size\nenable-shared-dirs\nnetwork-mode\nhost-network-access\nhttp-proxy\nhttps-proxy\nno-proxy\nproxy-ca-file\nenable-cluster-monitoring\nmodify-hosts-file\nconsent-telemetry\nkubeadmin-password\ndeveloper-password\ningress-http-port\ningress-https-port\nenable-bundle-quay-fallback\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Note: <code>network-mode<\/code> is conditional in the source and may not appear in installer builds. So on your macOS installer build, trust <code>crc config --help<\/code> as final authority. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/pkg\/crc\/config\/settings.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.13 <code>crc config view<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Show all configuration values you explicitly changed from defaults.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc config view\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output shape<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-43\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">- cpus                                  : <span class=\"hljs-number\">6<\/span>\n- memory                                : <span class=\"hljs-number\">14336<\/span>\n- pull-secret-file                      : <span class=\"hljs-regexp\">\/Users\/<\/span>rajesh\/Downloads\/pull-secret.txt\n- preset                                : openshift\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-43\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs list <code>crc config view<\/code> as the way to view current non-default configuration. (<a href=\"https:\/\/crc.dev\/docs\/configuring\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Show secret values too<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc config view --show-secrets\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use carefully. It can reveal secret config values.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Custom output format<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-44\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config view --format <span class=\"hljs-string\">'{{.ConfigKey}}={{.ConfigValue}}'<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-44\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source defines <code>--format<\/code> and <code>--show-secrets<\/code> for <code>config view<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/config\/view.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.14 <code>crc config get<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Read one config value.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-45\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">get<\/span> memory\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-45\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output when value is set<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">memory : 14336\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output when value is not explicitly set<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-46\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Configuration property <span class=\"hljs-string\">'memory'<\/span> is not set.\n<span class=\"hljs-keyword\">Default<\/span> value <span class=\"hljs-string\">'&lt;default&gt;'<\/span> is used\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-46\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The source defines both output cases. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/config\/get.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Examples<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-47\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">get<\/span> preset\ncrc config <span class=\"hljs-keyword\">get<\/span> cpus\ncrc config <span class=\"hljs-keyword\">get<\/span> memory\ncrc config <span class=\"hljs-keyword\">get<\/span> pull-secret-file\ncrc config <span class=\"hljs-keyword\">get<\/span> consent-telemetry\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-47\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.15 <code>crc config set<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set a CRC property before <code>crc setup<\/code> or <code>crc start<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Syntax<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-48\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> CONFIG-KEY VALUE\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-48\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The source requires both a key and a value. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/config\/set.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common examples<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set pull secret path:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-49\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> pull-secret-file ~\/Downloads\/pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-49\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set preset to OpenShift:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-50\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> preset openshift\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-50\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set preset to OKD:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-51\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> preset okd\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-51\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set preset to MicroShift:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-52\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> preset microshift\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-52\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs show changing preset before setup\/start, and list supported presets: <code>openshift<\/code>, <code>okd<\/code>, and <code>microshift<\/code>. (<a href=\"https:\/\/crc.dev\/docs\/using\/\">crc.dev<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set CPU and memory:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-53\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> cpus 6\ncrc config <span class=\"hljs-keyword\">set<\/span> memory 14336\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-53\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set disk size:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-54\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> disk-size 80\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-54\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set telemetry consent:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-55\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> consent-telemetry yes\ncrc config <span class=\"hljs-keyword\">set<\/span> consent-telemetry no\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-55\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs explicitly show using <code>consent-telemetry yes\/no<\/code>. (<a href=\"https:\/\/crc.dev\/docs\/configuring\/\">crc.dev<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set custom developer password:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-56\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> developer-password developer\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-56\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set custom kubeadmin password:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-57\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> kubeadmin-password 'MyStrongAdminPassword'\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-57\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Set proxy:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-58\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> http-proxy http:\/\/proxy.example.com:&lt;port&gt;\ncrc config <span class=\"hljs-keyword\">set<\/span> https-proxy http:\/\/proxy.example.com:&lt;port&gt;\ncrc config <span class=\"hljs-keyword\">set<\/span> no-proxy 127.0.0.1,localhost,.testing\ncrc config <span class=\"hljs-keyword\">set<\/span> proxy-ca-file \/path\/to\/proxy-ca.crt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-58\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The networking docs show proxy configuration using <code>crc config set http-proxy<\/code>, <code>https-proxy<\/code>, <code>no-proxy<\/code>, and <code>proxy-ca-file<\/code>. (<a href=\"https:\/\/crc.dev\/docs\/networking\/\">crc.dev<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enable host access from CRC VM:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-59\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> host-network-access true\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-59\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs show this for accessing host services from CRC. (<a href=\"https:\/\/crc.dev\/docs\/networking\/\">crc.dev<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enable cluster monitoring:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-60\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> memory 14336\ncrc config <span class=\"hljs-keyword\">set<\/span> enable-cluster-monitoring true\ncrc start\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-60\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs recommend at least 14 GiB \/ <code>14336<\/code> MiB for cluster monitoring. (<a href=\"https:\/\/crc.dev\/docs\/administrative-tasks\/\">crc.dev<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Change ingress route ports:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-61\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> ingress-http-port 8080\ncrc config <span class=\"hljs-keyword\">set<\/span> ingress-https-port 8443\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-61\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use this only when ports 80\/443 are unavailable on your host.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.16 <code>crc config unset<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Remove a config override and return to default.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Syntax<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-62\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">crc config <span class=\"hljs-keyword\">unset<\/span> CONFIG-KEY\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-62\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Examples<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-63\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">crc config <span class=\"hljs-keyword\">unset<\/span> memory\ncrc config <span class=\"hljs-keyword\">unset<\/span> cpus\ncrc config <span class=\"hljs-keyword\">unset<\/span> pull-secret-file\ncrc config <span class=\"hljs-keyword\">unset<\/span> http-proxy\ncrc config <span class=\"hljs-keyword\">unset<\/span> https-proxy\ncrc config <span class=\"hljs-keyword\">unset<\/span> no-proxy\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-63\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">If you omit the key, v2.61.0 returns:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-64\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Please provide a configuration property to <span class=\"hljs-keyword\">unset<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-64\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">That message is from the source. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/config\/unset.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.17 <code>crc podman-env<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Configure your shell so a local <code>podman-remote<\/code> client can talk to Podman inside the CRC VM.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc podman-env\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Apply it<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-65\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-built_in\">eval<\/span> <span class=\"hljs-string\">\"$(crc podman-env)\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-65\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Rootful Podman<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc podman-env --root\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Force shell<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc podman-env --shell zsh\ncrc podman-env --shell bash\ncrc podman-env --shell fish\ncrc podman-env --shell powershell\ncrc podman-env --shell cmd\ncrc podman-env --shell tcsh\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected output shape<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-66\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">export CONTAINER_SSHKEY=<span class=\"hljs-string\">\"\/Users\/rajesh\/.crc\/machines\/crc\/id_ecdsa\"<\/span>\nexport CONTAINER_HOST=<span class=\"hljs-string\">\"ssh:\/\/core@&lt;crc-ip&gt;:22\/run\/user\/1000\/podman\/podman.sock\"<\/span>\nexport DOCKER_HOST=<span class=\"hljs-string\">\"unix:\/\/\/Users\/rajesh\/.crc\/docker.sock\"<\/span>\n<span class=\"hljs-comment\"># Run this command to configure your shell:<\/span>\n<span class=\"hljs-comment\"># eval \"$(crc podman-env)\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-66\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Important: v2.61.0 prints a warning that <code>podman-remote<\/code> is no longer shipped with CRC and that <code>podman-env<\/code> will be removed in future releases. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/podman_env.go\">GitHub<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So don\u2019t build new training material that depends heavily on this command.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.18 <code>crc bundle<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Command group for bundle operations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc bundle\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Expected behavior<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Shows help for the bundle command group.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In v2.61.0, the only verified subcommand under <code>bundle<\/code> is:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc bundle generate\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source adds only <code>generate<\/code> under <code>bundle<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/bundle\/bundle.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.19 <code>crc bundle generate<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generate a custom bundle from the running OpenShift cluster.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc bundle generate\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Force-stop while generating<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc bundle generate --force-stop\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">or:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc bundle generate -f\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 source defines <code>--force-stop\/-f<\/code> for this command. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/bundle\/generate.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Expected behavior<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use this only when you intentionally need a reusable custom CRC bundle. Most normal OpenShift Local users do <strong>not<\/strong> need it.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.20 <code>crc daemon<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Internal\/hidden command that runs the CRC daemon.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Command<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc daemon\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Watchdog mode<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc daemon --watchdog\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The source marks this command hidden and defines <code>--watchdog<\/code>. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/v2.61.0\/cmd\/crc\/cmd\/daemon.go\">GitHub<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Expected behavior<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Normal users should not run this directly. <code>crc start<\/code> interacts with the daemon path as needed. If already running, source code can return:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">daemon has been started in the background\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Use this only for debugging CRC itself.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4.21 <code>crc help<\/code><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Use case<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Inspect your installed CLI\u2019s exact command\/flag set.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Commands<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-67\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc help\ncrc help start\ncrc help setup\ncrc help config\ncrc help config <span class=\"hljs-keyword\">set<\/span>\ncrc help console\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-67\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Equivalent forms<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc -h\ncrc start -h\ncrc setup -h\ncrc config -h\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Because CRC uses Cobra, <code>help<\/code> is available for command help. Your own <code>crc setup -h<\/code> output is the best example of why this matters: it showed that <code>--pull-secret<\/code> is not a <code>setup<\/code> flag.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">5. Preset workflows<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">CRC supports these presets:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">openshift   OpenShift Container Platform\nokd         OKD\nmicroshift  MicroShift\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs list the minimum resources as:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-68\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">openshift<\/span>   4 <span class=\"hljs-selector-tag\">CPUs<\/span>, 10<span class=\"hljs-selector-class\">.5<\/span> <span class=\"hljs-selector-tag\">GB<\/span> <span class=\"hljs-selector-tag\">RAM<\/span>, 35 <span class=\"hljs-selector-tag\">GB<\/span> <span class=\"hljs-selector-tag\">disk<\/span>\n<span class=\"hljs-selector-tag\">okd<\/span>         4 <span class=\"hljs-selector-tag\">CPUs<\/span>, 10<span class=\"hljs-selector-class\">.5<\/span> <span class=\"hljs-selector-tag\">GB<\/span> <span class=\"hljs-selector-tag\">RAM<\/span>, 35 <span class=\"hljs-selector-tag\">GB<\/span> <span class=\"hljs-selector-tag\">disk<\/span>\n<span class=\"hljs-selector-tag\">microshift<\/span>  2 <span class=\"hljs-selector-tag\">CPUs<\/span>, 4 <span class=\"hljs-selector-tag\">GB<\/span> <span class=\"hljs-selector-tag\">RAM<\/span>, 35 <span class=\"hljs-selector-tag\">GB<\/span> <span class=\"hljs-selector-tag\">disk<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-68\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">(<a href=\"https:\/\/crc.dev\/docs\/using\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5.1 OpenShift preset<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-69\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span> preset openshift\ncrc setup\ncrc start -p ~\/Downloads\/pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-69\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected start output includes the web console, <code>kubeadmin<\/code>, <code>developer<\/code>, and <code>oc login<\/code> instructions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5.2 OKD preset<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-70\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span> preset okd\ncrc setup\ncrc start\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-70\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs show this flow for OKD. (<a href=\"https:\/\/crc.dev\/docs\/getting-started\/\">crc.dev<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected output is similar to OpenShift, plus an OKD note.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5.3 MicroShift preset<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-71\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-keyword\">delete<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span> preset microshift\ncrc setup\ncrc start\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-71\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected output shape:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-72\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Started the MicroShift cluster.\n\nUse the <span class=\"hljs-string\">'oc'<\/span> command line interface:\n  $ <span class=\"hljs-built_in\">eval<\/span> <span class=\"hljs-string\">\"$(crc oc-env)\"<\/span>\n  $ oc COMMAND\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-72\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The v2.61.0 start source has a separate MicroShift output template. (<a href=\"https:\/\/raw.githubusercontent.com\/crc-org\/crc\/main\/cmd\/crc\/cmd\/start.go\">GitHub<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">6. Common full examples<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">6.1 Fresh install on your Mac<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-73\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">crc version\ncrc config set pull-secret-file ~\/Downloads\/pull-secret.txt\ncrc setup\ncrc start\ncrc status\n<span class=\"hljs-keyword\">eval<\/span> <span class=\"hljs-string\">\"$(crc oc-env)\"<\/span>\ncrc console --credentials\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-73\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Then copy the <code>oc login<\/code> command from:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-74\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc <span class=\"hljs-built_in\">console<\/span> --credentials\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-74\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">6.2 Start with more memory for demos<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-75\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc config <span class=\"hljs-keyword\">set<\/span> cpus 6\ncrc config <span class=\"hljs-keyword\">set<\/span> memory 14336\ncrc start\ncrc status\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-75\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">6.3 Enable monitoring<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-76\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc <span class=\"hljs-keyword\">delete<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span> memory 14336\ncrc config <span class=\"hljs-keyword\">set<\/span> enable-cluster-monitoring true\ncrc setup\ncrc start -p ~\/Downloads\/pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-76\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">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. (<a href=\"https:\/\/crc.dev\/docs\/administrative-tasks\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6.4 Configure proxy<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-77\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc <span class=\"hljs-keyword\">delete<\/span>\ncrc config <span class=\"hljs-keyword\">set<\/span> http-proxy http:\/\/proxy.example.com:&lt;port&gt;\ncrc config <span class=\"hljs-keyword\">set<\/span> https-proxy http:\/\/proxy.example.com:&lt;port&gt;\ncrc config <span class=\"hljs-keyword\">set<\/span> no-proxy 127.0.0.1,localhost,.testing\ncrc config <span class=\"hljs-keyword\">set<\/span> proxy-ca-file \/path\/to\/proxy-ca.crt\ncrc setup\ncrc start -p ~\/Downloads\/pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-77\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">6.5 Access a service running on your host from inside CRC<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-78\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc config <span class=\"hljs-keyword\">set<\/span> host-network-access true\ncrc stop &amp;&amp; crc start\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-78\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Then from inside the cluster\/VM side, use:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-79\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">host<\/span><span class=\"hljs-selector-class\">.crc<\/span><span class=\"hljs-selector-class\">.testing<\/span>:&lt;<span class=\"hljs-selector-tag\">port<\/span>&gt;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-79\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The docs show <code>host.crc.testing:8080<\/code> as the pattern. (<a href=\"https:\/\/crc.dev\/docs\/networking\/\">crc.dev<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6.6 Reset everything when CRC is broken<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-80\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc <span class=\"hljs-keyword\">delete<\/span> --force\ncrc cleanup\ncrc setup\ncrc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-80\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">6.7 Upgrade CRC safely<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-81\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc stop\ncrc <span class=\"hljs-keyword\">delete<\/span>\ncrc version\ncrc setup\ncrc start -p ~<span class=\"hljs-regexp\">\/Downloads\/<\/span>pull-secret.txt\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-81\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The install docs say newer CRC versions require manual setup, and the upgrade flow includes deleting the existing instance, replacing the binary, checking <code>crc version<\/code>, running <code>crc setup<\/code>, and starting the new instance. (<a href=\"https:\/\/crc.dev\/docs\/installing\/?utm_source=chatgpt.com\">crc.dev<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">7. Commands you should run locally to verify nothing changed<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Because you asked for \u201clatest\u201d and \u201cdo not dream,\u201d this is the safest local audit command set:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-82\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">crc version\ncrc help\ncrc setup -h\ncrc start -h\ncrc status -h\ncrc stop -h\ncrc <span class=\"hljs-keyword\">delete<\/span> -h\ncrc cleanup -h\ncrc <span class=\"hljs-built_in\">console<\/span> -h\ncrc oc-env -h\ncrc generate-kubeconfig -h\ncrc ip -h\ncrc podman-env -h\ncrc config -h\ncrc config <span class=\"hljs-keyword\">get<\/span> -h\ncrc config <span class=\"hljs-keyword\">set<\/span> -h\ncrc config unset -h\ncrc config view -h\ncrc bundle -h\ncrc bundle generate -h\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-82\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">For your exact Mac build, also run:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">crc config --help\n<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">That is the final authority for config keys available in your installed binary, especially conditional\/platform-specific keys like <code>network-mode<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">8. Quick command cheat sheet<\/h1>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-83\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Version<\/span>\ncrc version\n\n<span class=\"hljs-comment\"># First-time setup<\/span>\ncrc setup\n\n<span class=\"hljs-comment\"># Start OpenShift Local<\/span>\ncrc start -p ~\/Downloads\/pull-secret.txt\n\n<span class=\"hljs-comment\"># Check status<\/span>\ncrc status\n\n<span class=\"hljs-comment\"># Add oc to PATH<\/span>\n<span class=\"hljs-keyword\">eval<\/span> <span class=\"hljs-string\">\"$(crc oc-env)\"<\/span>\n\n<span class=\"hljs-comment\"># Print credentials<\/span>\ncrc console --credentials\n\n<span class=\"hljs-comment\"># Open console<\/span>\ncrc console\n\n<span class=\"hljs-comment\"># Print console URL<\/span>\ncrc console --url\n\n<span class=\"hljs-comment\"># Export kubeconfig<\/span>\ncrc generate-kubeconfig &gt; crc-kubeconfig\n\n<span class=\"hljs-comment\"># Get VM IP<\/span>\ncrc ip\n\n<span class=\"hljs-comment\"># Stop<\/span>\ncrc stop\n\n<span class=\"hljs-comment\"># Delete VM<\/span>\ncrc delete\n\n<span class=\"hljs-comment\"># Delete without prompt<\/span>\ncrc delete --force\n\n<span class=\"hljs-comment\"># Delete and clear cache<\/span>\ncrc delete --clear-cache --force\n\n<span class=\"hljs-comment\"># Undo setup changes<\/span>\ncrc cleanup\n\n<span class=\"hljs-comment\"># Show config<\/span>\ncrc config view\n\n<span class=\"hljs-comment\"># Get one config<\/span>\ncrc config get memory\n\n<span class=\"hljs-comment\"># Set config<\/span>\ncrc config set memory <span class=\"hljs-number\">14336<\/span>\n\n<span class=\"hljs-comment\"># Unset config<\/span>\ncrc config <span class=\"hljs-keyword\">unset<\/span> memory\n\n<span class=\"hljs-comment\"># Switch preset<\/span>\ncrc delete\ncrc config set preset okd\ncrc setup\ncrc start\n\n<span class=\"hljs-comment\"># Advanced: generate custom bundle<\/span>\ncrc bundle generate\n\n<span class=\"hljs-comment\"># Internal\/debug only<\/span>\ncrc daemon\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-83\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The big thing for your immediate issue: <strong>pull secret goes with <code>crc start -p<\/code>, not <code>crc setup<\/code><\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most important daily commands Flow Commands First setup crc version \u2192 crc setup \u2192 crc start -p ~\/Downloads\/pull-secret.txt Start work crc start \u2192 crc status \u2192 crc&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5153],"tags":[],"class_list":["post-49099","post","type-post","status-publish","format-standard","hentry","category-openshift"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/49099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=49099"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/49099\/revisions"}],"predecessor-version":[{"id":77138,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/49099\/revisions\/77138"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=49099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=49099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=49099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}