4.16.2. シークレットを環境変数として Red Hat CodeReady Workspaces コンテナーにマウントする
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、CodeReady Workspaces のインストールについて参照してください。
手順
CodeReady Workspaces ワークスペースがデプロイされる OpenShift プロジェクトで新規の OpenShift シークレットを作成します。作成される予定のシークレットのラベルは、ラベルのセットと一致する必要があります。
-
app.kubernetes.io/part-of: che.eclipse.org -
app.kubernetes.io/component: <DEPLOYMENT_NAME>-secret
-
ここで、 <DEPLOYMENT_NAME> は、 postgres、keycloak、devfile-registry、 plugin-registry または codeready のデプロイメントのいずれかになります。
例4.6 たとえば、以下のようになります。
apiVersion: v1
kind: Secret
metadata:
name: custom-settings
labels:
app.kubernetes.io/part-of: che.eclipse.org
app.kubernetes.io/component: codeready-secret
...アノテーションは、指定されるシークレットが環境変数としてマウントされていることを示す必要があります。アノテーションの値を設定します。
-
che.eclipse.org/mount-as: env: シークレットが環境変数としてマウントされていることを示します。 -
che.eclipse.org/env-name: <FOO_ENV>: シークレットキーの値をマウントするために必要な環境変数名を指定します。
apiVersion: v1
kind: Secret
metadata:
name: custom-settings
annotations:
che.eclipse.org/env-name: FOO_ENV
che.eclipse.org/mount-as: env
labels:
...
data:
mykey: myvalue
これにより、FOO_ENV という名前の環境変数と値 myvalue が CodeReady Workspaces コンテナーにプロビジョニングされます。
シークレットに複数のデータ項目がある場合、環境変数の名前は以下のようにそれぞれのデータキーについて指定される必要があります。
apiVersion: v1
kind: Secret
metadata:
name: custom-settings
annotations:
che.eclipse.org/mount-as: env
che.eclipse.org/mykey_env-name: FOO_ENV
che.eclipse.org/otherkey_env-name: OTHER_ENV
labels:
...
data:
mykey: myvalue
otherkey: othervalue
これにより、FOO_ENV、OTHER_ENV という名前の、myvalue および othervalue の値を持つ 2 つの環境変数が CodeReady Workspaces コンテナーにプロビジョニングされます。
OpenShift シークレットのアノテーション名の最大長さは 63 文字です。ここで、9 文字は、/ で終わるプレフィックス用に予約されます。これは、シークレットに使用できるキーの最大長さの制限として機能します。