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-user1
、codeready-ws-user2
) で構成されるプロジェクト名を割り当てるには、以下を設定します。
Operator インストーラー (CheCluster CustomResource)
... spec: server: workspaceNamespaceDefault: codeready-ws-<username> ...