6.4. シークレットのマウント
機密データをワークスペースにマウントするには、Kubernetes シークレットを使用します。
Kubernetes Secrets を使用すると、ユーザー名、パスワード、SSH キーペア、認証トークン (AWS など)、および機密性の高い設定をマウントできます。
組織の OpenShift Dev Spaces インスタンスの OpenShift クラスター内の DevWorkspace コンテナーに Kubernetes シークレットをマウントします。
前提条件
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照してください。 -
ユーザープロジェクトですべての
DevWorkspaceコンテナーにマウントする新しいシークレットを作成するか、既存のシークレットを決定している。
手順
Secret のマウントに必要なラベルを Secret に追加します。
$ oc label secret <Secret_name> \ controller.devfile.io/mount-to-devworkspace=true \ controller.devfile.io/watch-secret=trueオプション: アノテーションを使用して、シークレットのマウント方法を設定します。
Expand 表6.1 オプションのアノテーション Annotation 説明 controller.devfile.io/mount-path:マウントパスを指定します。
デフォルトは
/etc/secret/<Secret_name>です。controller.devfile.io/mount-as:リソースのマウント方法を指定します:
file、subpath、またはenv。デフォルトは
fileです。mount-as: fileは、キーと値をマウントパス内のファイルとしてマウントします。mount-as: subpathは、サブパスボリュームマウントを使用して、マウントパス内のキーと値をマウントします。mount-as: envは、すべてのDevWorkspaceコンテナーに環境変数としてキーと値をマウントします。
例6.2 シークレットをファイルとしてマウントする
apiVersion: v1
kind: Secret
metadata:
name: mvn-settings-secret
labels:
controller.devfile.io/mount-to-devworkspace: 'true'
controller.devfile.io/watch-secret: 'true'
annotations:
controller.devfile.io/mount-path: '/home/user/.m2'
data:
settings.xml: <Base64_encoded_content>
ワークスペースを開始すると、/home/user/.m2/settings.xml ファイルが DevWorkspace コンテナーで使用可能になります。
Maven を使用すると、settings.xml ファイルのカスタムパスを設定できます。以下に例を示します。
$ mvn --settings /home/user/.m2/settings.xml clean install