ローカルレジストリー・サポートを使用した Helmfile のインストール

このガイドでは、ローカル (プライベート) レジストリーを利用しながら、Helmfile を使用して AppScan 360° をインストールする方法について詳しく説明します。このアプローチは、公式の HCL Harbor レジストリーから独自の環境にアーティファクトをミラーリングして、セキュリティー、コンプライアンス、またはオフライン (エアギャップされた) インストールを行う必要があるお客様に最適です。

主な機能:

  • アーティファクト同期: Docker イメージと Helm チャートを HCL Harbor からプライベートレジストリーにコピーするスクリプト。

  • カスタマイズ: レジストリーの場所を上書きする YAML ベースの構成。

自動配置: Helmfile を使用した単一コマンド配置。

システム要件およびコンポーネント

インストールを開始する前に、次のコンポーネントが使用可能であることを確認してください。

1.アーティファクトソース (HCL Harbor)

公式の HCL Harbor レジストリー (hclcr.io) は、ソースファイルをホストします。

  • AppScan 360° Docker イメージ。

  • Helm チャート (.tgz リリースとしてパッケージ化)

2.ターゲット環境 (カスタマーレジストリー)

プライベートレジストリーを使用できる必要があります (例: registry.customer.local/as360)。

  • 要件: レジストリーは、OCI 機能を有効にする必要があります。

  • 制限: 現在、レジストリーのルートへのアーティファクトのプッシュはサポートされていません

3.Tooling

インストールバンドルには、次のツールが含まれています。

  • Helmfile: コンポーネント (ASCP、ASRA、DTCS、SCA) の配置をオーケストレーションします。

  • copy-artifacts.sh: イメージとチャートを HCL Harbor からローカルレジストリーにコピーするために、articlfactList ファイルから読み取るスクリプト。

4.資格情報

両方のレジストリーへの認証済みアクセス権があることを確認します。

  • HCL Harbor: 読み取り専用資格情報。インストール手順

  • 顧客レジストリー: 読み取り/書き込み資格情報。

インストール手順

ステップ 1: インストールバンドルを入手する

HCL が提供するインストールパッケージをダウンロードして抽出します。ディレクトリー構造は次のようになります。
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

スクリプト入力:

  1. 宛先レジストリー: レジストリーの URL とリポジトリーを入力します (例: registry.customer.local/as360)。

  2. アーティファクトリスト: スクリプトは、imalist ファイル ([IMAGES] セクションと [HELM] セクションを含む) を自動的に読み取ります。

成功: このステップにより、すべての Docker イメージと Helm チャートが環境に確実にミラーリングされます。

ステップ 3: レジストリーオーバーライドを構成する

HCL Harbor ではなくローカルレジストリーを参照するように Helmfile に指示するには、構成ファイルを更新する必要があります。

  1. helmFileCustomization/singular-singular.clusterKit-Sample.yaml を開きます。

  2. 単一ファイルセクションを探します。

  3. レジストリーおよびリポジトリフィールドをローカルの詳細情報で更新します。

構成例:
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 は、カスタマイズファイルを読み取り、指定したローカルレジストリーのイメージとグラフを使用して ASCP、ASRA、DTSC、および SCA を配置イします。

ソフトウェア・コンポジション分析 (SCA) を含める

ソフトウェア・コンポジション分析 (SCA) は、AppScan 360° をパラメーターと共にインストールする場合に含まれます。
注: ソフトウェア・コンポジション分析 (SCA) は、デフォルトでは AppScan 360° に含まれていません。有効にする必要があります。
SCA を含めるには:
includeSCA=true helmfile sync
SCA を無効にするには、AppScan 360° を完全にアンインストールする必要があります。
includeSCA=true helmfile destroy
ソフトウェア・コンポジション分析 (SCA) 脆弱性データベースの自動更新を有効にするには、正しい資格情報を使用して HCL Harbor レジストリーを示す次の環境変数を設定します。
export SCA_AUTOUPDATER_REGISTRY_USERNAME=<HCL_HARBOR_USERNAME>
export SCA_AUTOUPDATER_REGISTRY_PASSWORD=<HCL_HARBOR_PASSWORD>
重要: 自動更新を設定しない場合は、脆弱性データベースを手動で更新する必要があります。