1.7.3. ビルド時の入力のセキュリティー保護
シナリオによっては、ビルド操作において、依存するリソースにアクセスするために認証情報が必要になる場合がありますが、この認証情報をビルドで生成される最終的なアプリケーションイメージで利用可能にすることは適切ではありません。このため、入力シークレットを定義することができます。
たとえば、Node.js アプリケーションのビルド時に、Node.js モジュールのプライベートミラーを設定できます。プライベートミラーからモジュールをダウンロードするには、URL、ユーザー名、パスワードを含む、ビルド用のカスタム .npmrc ファイルを指定する必要があります。セキュリティー上の理由により、認証情報はアプリケーションイメージで公開しないでください。
この例で示したシナリオを使用して、入力シークレットを新規の BuildConfig オブジェクトに追加できます。
シークレットがない場合は作成します。
$ oc create secret generic secret-npmrc --from-file=.npmrc=~/.npmrcこれにより、
secret-npmrcという名前の新規シークレットが作成されます。 これには、~/.npmrcファイルの base64 でエンコードされたコンテンツが含まれます。シークレットを既存の
BuildConfigオブジェクトのsourceセクションに追加します。source: git: uri: https://github.com/sclorg/nodejs-ex.git secrets: - destinationDir: . secret: name: secret-npmrcシークレットを新規の
BuildConfigオブジェクトに追加するには、以下のコマンドを実行します。$ oc new-build \ openshift/nodejs-010-centos7~https://github.com/sclorg/nodejs-ex.git \ --build-secret secret-npmrc