From 5558305228ca2431b1858fa99bf8ed096e1cdc8c Mon Sep 17 00:00:00 2001 From: Yogeshwar-Pawade Date: Fri, 7 Aug 2026 22:22:10 +0000 Subject: [PATCH] feat(cloudconfig): symlink scw into /usr/local/bin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scw now ships inside the stylus package at /opt/spectrocloud/bin/scw, which is not on the default PATH. Link it into /usr/local/bin so operators can run "scw triage cluster" directly, matching how agent-provider-stylus, palette-tui and helm are already handled. /usr/local is the persistent partition and is mounted over the image, so the link cannot be baked in — it has to be recreated wherever that partition is established: after reset (standard and UKI install paths) and on UKI boot. No build change is needed here. canvos consumes the published stylus framework image, which is FROM package, so the binary arrives on its own. Refs: PE-8984 --- cloud-images/workaround/custom-post-reset.yaml | 2 ++ cloudconfigs/80_stylus_uki.yaml | 1 + custom-postreset.yaml | 2 ++ 3 files changed, 5 insertions(+) diff --git a/cloud-images/workaround/custom-post-reset.yaml b/cloud-images/workaround/custom-post-reset.yaml index f885674a..a46467fb 100644 --- a/cloud-images/workaround/custom-post-reset.yaml +++ b/cloud-images/workaround/custom-post-reset.yaml @@ -19,6 +19,7 @@ stages: - ln -sf /opt/spectrocloud/bin/agent-provider-stylus /usr/local/bin/agent-provider-stylus - ln -sf /opt/spectrocloud/bin/palette-tui /usr/local/bin/palette-tui - ln -sf /opt/spectrocloud/bin/helm /usr/local/bin/helm + - ln -sf /opt/spectrocloud/bin/scw /usr/local/bin/scw - journalctl > /usr/local/installer.log - umount /usr/local name: "Run after install commands" @@ -40,6 +41,7 @@ stages: - ln -sf /opt/spectrocloud/bin/agent-provider-stylus /usr/local/bin/agent-provider-stylus - ln -sf /opt/spectrocloud/bin/palette-tui /usr/local/bin/palette-tui - ln -sf /opt/spectrocloud/bin/helm /usr/local/bin/helm + - ln -sf /opt/spectrocloud/bin/scw /usr/local/bin/scw - journalctl > /usr/local/installer.log - if mount | grep /usr/local >/dev/null; then umount /usr/local; fi - if [ -e /dev/mapper/persistent ]; then cryptsetup close /dev/mapper/persistent; fi diff --git a/cloudconfigs/80_stylus_uki.yaml b/cloudconfigs/80_stylus_uki.yaml index 5ff54d1e..fe69bbab 100644 --- a/cloudconfigs/80_stylus_uki.yaml +++ b/cloudconfigs/80_stylus_uki.yaml @@ -12,6 +12,7 @@ stages: - echo "Linking agent provider" - mkdir -p /usr/local/bin/ - ln -sf /opt/spectrocloud/bin/agent-provider-stylus /usr/local/bin/agent-provider-stylus + - ln -sf /opt/spectrocloud/bin/scw /usr/local/bin/scw - if: '[ -e "/run/cos/uki_boot_mode" ] && [ ! -f "/run/cos/live_mode" ] && [ ! -f "/opt/spectrocloud/bin/stylus-agent" ]' name: unpack stylus package commands: diff --git a/custom-postreset.yaml b/custom-postreset.yaml index 79a9b05a..5edb1fd6 100644 --- a/custom-postreset.yaml +++ b/custom-postreset.yaml @@ -19,6 +19,7 @@ stages: - ln -sf /opt/spectrocloud/bin/agent-provider-stylus /usr/local/bin/agent-provider-stylus - ln -sf /opt/spectrocloud/bin/palette-tui /usr/local/bin/palette-tui - ln -sf /opt/spectrocloud/bin/helm /usr/local/bin/helm + - ln -sf /opt/spectrocloud/bin/scw /usr/local/bin/scw - journalctl > /usr/local/installer.log - umount /usr/local name: "Run after install commands" @@ -40,6 +41,7 @@ stages: - ln -sf /opt/spectrocloud/bin/agent-provider-stylus /usr/local/bin/agent-provider-stylus - ln -sf /opt/spectrocloud/bin/palette-tui /usr/local/bin/palette-tui - ln -sf /opt/spectrocloud/bin/helm /usr/local/bin/helm + - ln -sf /opt/spectrocloud/bin/scw /usr/local/bin/scw - journalctl > /usr/local/installer.log - if mount | grep /usr/local >/dev/null; then umount /usr/local; fi - if [ -e /dev/mapper/persistent ]; then cryptsetup close /dev/mapper/persistent; fi