4.2. ワークスペースターゲットプロジェクトの設定
新規ワークスペースがデプロイされる OpenShift プロジェクトは、CodeReady Workspaces サーバー設定によって異なります。CodeReady Workspaces は、各ワークスペースをユーザー専用のプロジェクトにデプロイして、対象のユーザーが作成した全 CodeReady Workspaces をホストします。OpenShift プロジェクトの名前は、CodeReady Workspaces サーバー設定プロパティーとして指定するか、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 ワークスペースプロジェクト設定
CodeReady Workspaces サーバーが使用する基礎となる環境変数は CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT
です。
デフォルトでは、同じプロジェクト内で同時に実行できるワークスペースは 1 つだけです。「ユーザーが実行できるワークスペース数の設定」を参照してください。
Kubernetes はプロジェクト名の長さを 63 文字に制限します (これには評価されるプレースホルダーが含まれます)。さらに、名前 (プレースホルダーの評価後) は有効な DNS 名である必要があります。
マルチホストサーバーの脆弱性ストラテジーのある OpenShift では、長さはさらに 49 文字に制限されます。
<userid>
プレースホルダーは 36 文字の長さの UUID 文字列として評価されることに注意してください。
以下の場合は 「各ユーザーのプロジェクトの事前作成」 を使用します。
-
新規プロジェクトの作成時に、
Che
ServiceAccount に十分なパーミッションがない
-
クラスターロールが
self-provisioner
の OpenShift OAuth がsystem:authenticated:oauth
グループにリンクされていない
- CodeReady Workspaces が namespace を作成できない
4.2.1. ユーザーストラテジーごとに 1 つのプロジェクト
ストラテジーは、独自のプロジェクトの各ユーザーを分離します。
ストラテジーを使用するには、CodeReady Workspaces workspace プロジェクト設定 の値を 1 つ以上のユーザー ID が含まれるように設定します。現在サポートされている識別子は <username>
と <userid>
です。
例4.2 ユーザーごとに 1 つのプロジェクト
'codeready-ws' プレフィックスおよび個々のユーザー名(codeready-ws-user1
、codeready-ws-user2
) で構成されるプロジェクト名を割り当てるには、以下を設定します。
Operator インストーラー (CheCluster CustomResource)
... spec: server: workspaceNamespaceDefault: codeready-ws-<username> ...