支援本端登錄的 Helmfile 安裝
本指南說明如何使用 Helmfile 安裝 AppScan 360°,並搭配使用本端(私有)登錄。此方法適用於需要將構件從官方 HCL Harbor 登錄鏡射到其自身安全環境的客戶,以符合安全性、法規遵循或離線(實體隔離網路)安裝需求。
主要功能:
-
構件同步:用於將 Docker 映像與 Helm 圖表從 HCL Harbor 複製到您私有登錄的指令碼。
-
自訂:以 YAML 為基礎的配置,用於覆寫登錄位置。
系統需求與元件
在開始安裝之前,請確保下列元件皆可用。
1.構件來源 (HCL Harbor)
官方 HCL Harbor 登錄 (hclcr.io) 會託管下列來源檔案:
-
AppScan 360° Docker 映像。
-
Helm 圖表(以 .tgz 版本封裝)。
2.目標環境(客戶登錄)
您必須具備可用的私有登錄(例如 registry.customer.local/as360)。
-
需求:此登錄必須啟用 OCI。
-
限制:目前不支援將構件推送到登錄的根目錄。
3.工具
安裝套件組合中提供下列工具:
-
Helmfile:用於協調元件的部署(ASCP、ASRA、DTCS、SCA)。
-
copy-artifacts.sh:此指令碼會讀取 artifactList 檔案,將映像和圖表從 HCL Harbor 複製到您的本端登錄。
4.認證
請確保您對兩個登錄均具備經鑑別的存取權限:
-
HCL Harbor:唯讀認證。安裝程序
-
客戶登錄:讀取/寫入認證。
安裝程序
步驟 1:取得安裝套件組合
AppScan-360-Helm-Files
├── Copy Artifacts
│ ├── artifactList.txt # List of images/charts
to sync
│ ├── copy-artifacts.sh # The synchronization
script
├── Helm.d
│ ├── helmfile-ASCP.yaml.gotmpl
│ ├── helmfile-ASRA.yaml.gotmpl
│ ├── helmfile-SCA.yaml.gotmpl
│ ├── helmfile-DTSC.yaml.gotmpl
│ └── helmFileCustomization
│ └── singular-singular.clusterKit-Sample.yaml #
Main config file
├── helmfile.yaml.gotmpl
└── README.md步驟 2:將構件同步至本端登錄
如果您使用私有登錄(離線/隔離模式),必須先從 HCL Harbor 複製所需檔案。
./copy-artifacts.sh指令碼輸入:
-
目的地登錄:輸入您的登錄 URL 與儲存庫(例如 registry.customer.local/as360)。
-
構件清單:此指令碼會自動讀取 imalist 檔案(包含 [IMAGES] 與 [HELM] 區段)。
成功:此步驟可確保所有 Docker 映像與 Helm 圖表皆鏡射至您的環境。
步驟 3:配置登錄覆寫
您必須更新配置檔,以告知 Helmfile 檢視您的本端登錄,而非 HCL Harbor。
-
開啟 helmFileCustomization/singular-singular.clusterKit-Sample.yaml。
-
找到單數檔案區段。
-
將登錄和儲存庫欄位更新為您的本端詳細資料。
helm:
package:
registry: 'registry.customer.local'
context: 'as360/charts'
workload:
affiliatedSidecarsProject: appscan360
container:
image:
registry: 'registry.customer.local'
repository: 'as360/images'
pullPolicy: IfNotPresent相關運作方式:
-
主要邏輯:系統會從此自訂檔案讀取登錄詳細資料。
-
撤回邏輯:如果遺失這些詳細資料,未配置或該檔案,系統將依預設直接從 HCL Harbor 提取(對於需要移轉配置的既有客戶特別實用)。
步驟 4:執行安裝
當構件同步完成且配置已更新後,請執行部署。
請在安裝目錄的根目錄執行下列指令:
helmfile sync
接下來會如何?
Helmfile 會讀取您的自訂檔案,並使用您所指定之本端登錄中的映像和 Helm 圖表部署 ASCP、ASRA、DTSC 及 SCA。
納入軟體組成分析 (SCA)
includeSCA=true helmfile syncincludeSCA=true helmfile destroyexport SCA_AUTOUPDATER_REGISTRY_USERNAME=<HCL_HARBOR_USERNAME>
export SCA_AUTOUPDATER_REGISTRY_PASSWORD=<HCL_HARBOR_PASSWORD>