4.2. プロジェクトストラテジーの設定

新規ワークスペース Pod がデプロイされる OpenShift プロジェクトは、CodeReady Workspaces サーバー設定によって異なります。デフォルトで、すべてのワークスペースは個別の OpenShift プロジェクトにデプロイされますが、ユーザーは CodeReady Workspaces サーバーを 1 つの特定の OpenShift プロジェクトにすべてのワークスペースをデプロイするように設定できます。OpenShift プロジェクトの名前は CodeReady Workspaces サーバー設定プロパティーとして指定される必要があり、実行時に変更することはできません。

Operator インストーラーでは、OpenShift プロジェクトストラテジーは server.workspaceNamespaceDefault プロパティーを使用して設定されます。

Operator CheCluster CR パッチ

apiVersion: org.eclipse.che/v1
kind: CheCluster
metadata:
  name: <che-cluster-name>
spec:
  server:
    workspaceNamespaceDefault: <workspace-namespace> 1
1
- CodeReady Workspaces ワークスペース namespace の設定
注記

CodeReady Workspaces サーバーが使用する基礎となる環境変数は CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT です。

警告

CHE_INFRA_KUBERNETES_NAMESPACE および CHE_INFRA_OPENSHIFT_PROJECT はレガシー変数です。新規インストールでは、これらの変数は未設定のままにします。更新時にこれらの変数を変更すると、データが失われる可能性があります。

警告

デフォルトでは、同じプロジェクト内で同時に実行できるワークスペースは 1 つだけです。「一度に複数のワークスペースの実行」を参照してください。

警告

Kubernetes は namespace 名の長さを 63 文字に制限します (これには評価されるプレースホルダーが含まれます)。さらに、名前 (プレースホルダーの評価後) は有効な DNS 名である必要があります。

マルチホストサーバーの脆弱性ストラテジーのある OpenShift では、長さはさらに 49 文字に制限されます。

<userid> プレースホルダーは 36 文字の長さの UUID 文字列として評価されることに注意してください。

警告

新規プロジェクトの作成が必要なストラテジーの場合、che ServiceAccount にこれを実行するのに十分なパーミッションがあることを確認します。OpenShift OAuth では、認証されたユーザーには、新規プロジェクトを作成するための権限が必要です。

4.2.1. ユーザーストラテジーごとに 1 つのプロジェクト

ストラテジーは、独自のプロジェクトの各ユーザーを分離します。

ストラテジーを使用するには、CodeReady Workspaces workspace namespace 設定 の値を 1 つ以上のユーザー ID が含まれるように設定します。現在サポートされている識別子は <username><userid> です。

例4.2 ユーザーごとに 1 つのプロジェクト

'codeready-ws' プレフィックスおよび個々のユーザー名(codeready-ws-user1codeready-ws-user2) で構成されるプロジェクト名を割り当てるには、以下を設定します。

Operator インストーラー (CheCluster CustomResource)

...
spec:
  server:
    workspaceNamespaceDefault: codeready-ws-<username>
...