第4章 CodeReady Workspaces の設定

本章では、いくつかのーザーストーリーを例として使用し、Red Hat CodeReady Workspaces の設定方法とオプションについて説明します。

次のセクションでは、特定のユーザーストーリーを説明します。

4.1. CodeReady Workspaces サーバーコンポーネントの詳細な設定オプション

以下のセクションでは、CodeReady Workspaces サーバーコンポーネントの詳細なデプロイメントおよび設定方法を説明します。

4.1.1. Operator を使用した CodeReady Workspaces サーバーの詳細設定について

以下のセクションでは、Operator を使用したデプロイメントの CodeReady Workspaces サーバーコンポーネントの詳細な設定方法について説明します。

詳細設定は以下を実行するために必要です。

  • 標準の CheCluster カスタムリソースフィールドから Operator によって自動的に生成されない環境変数を追加します。
  • 標準の CheCluster カスタムリソースフィールドから Operator によって自動的に生成されるプロパティーを上書きします。

CheCluster カスタムリソースの server 設定の一部である customCheProperties フィールドには、CodeReady Workspaces サーバーコンポーネントに適用する追加の環境変数のマップが含まれます。

例4.1 ワークスペースのデフォルトのメモリー制限の上書き

CHE_WORKSPACE_DEFAULT__MEMORY__LIMIT__MB プロパティーを customCheProperties に追加します。

apiVersion: org.eclipse.che/v1
kind: CheCluster
# [...]
spec:
  server:
    # [...]
    customCheProperties:
      CHE_WORKSPACE_DEFAULT__MEMORY__LIMIT__MB: "2048"
# [...]
注記

以前のバージョンの CodeReady Workspaces Operator には、このロールを実行するために custom という名前の configMap が含まれていました。CodeReady Workspaces Operator が custom という名前の configMap を見つけると、これに含まれるデータを customCheProperties フィールドに追加し、CodeReady Workspaces を再デプロイし、custom configMap を削除します。

関連資料

4.1.2. CodeReady Workspaces サーバーコンポーネントのシステムプロパティー参照

以下のドキュメントでは、CodeReady Workspaces サーバーコンポーネントのすべての使用可能な設定プロパティーについて説明します。

4.1.2.1. CodeReady Workspaces サーバー

表4.1 CodeReady Workspaces サーバー

環境変数名デフォルト値詳細

CHE_DATABASE

${che.home}/storage

CodeReady Workspaces が内部データオブジェクトを保存するフォルダー。

CHE_API

http://${CHE_HOST}:${CHE_PORT}/api

API サービス。ブラウザーは、この URL を使用して CodeReady Workspaces サーバーへの REST 通信を開始します。

CHE_API_INTERNAL

http://${CHE_HOST}:${CHE_PORT}/api

API サービスの内部ネットワーク URL。バックエンドサービスは、この URL を使用した CodeReady Workspaces サーバーへの REST 通信を開始する必要があります。

CHE_WEBSOCKET_ENDPOINT

ws://${CHE_HOST}:${CHE_PORT}/api/websocket

CodeReady Workspaces websocket の主なエンドポイント。主な websocket の対話とメッセージング用の基本的な通信エンドポイントを提供します。

CHE_WORKSPACE_PROJECTS_STORAGE

/projects

プロジェクトは、CodeReady Workspaces サーバーから各ワークスペースを実行するマシンに同期されます。これは、プロジェクトが配置されているマシンのディレクトリーです。

CHE_WORKSPACE_PROJECTS_STORAGE_DEFAULT_SIZE

1Gi

devfile 要求の OpenShift タイプのコンポーネントがプロジェクト PVC 作成を要求する場合に使用されます (unique および 'per workspace PVC ストラテジーの場合に適用されます。common PVC ストラテジーの場合は、これは che.infra.kubernetes.pvc.quantity プロパティーの値で書き換えられます)。

CHE_WORKSPACE_LOGS_ROOT__DIR

/workspace_logs

すべてのワークスペースログが置かれるマシン内のディレクトリーを定義します。環境変数などの値として、この値をマシンに指定します。これは、エージェントの開発者がこのディレクトリーを使用してエージェントのログをバックアップできるようにするためのものです。

CHE_WORKSPACE_HTTP__PROXY

 

環境変数 HTTP_PROXY は、ワークスペースを起動するコンテナーで指定された値に設定します。

CHE_WORKSPACE_HTTPS__PROXY

 

環境変数 HTTPS_PROXY は、ワークスペースを起動するコンテナーで指定された値に設定します。

CHE_WORKSPACE_NO__PROXY

 

環境変数 NO_PROXY は、ワークスペースを起動するコンテナーで指定された値に設定します。

CHE_WORKSPACE_AUTO__START

true

デフォルトでは、ユーザーがこの URL を使用してワークスペースにアクセスすると、ワークスペースは自動的に起動します (現時点で停止している場合)。この動作を無効にするには、このパラメーターを false に設定します。

CHE_WORKSPACE_POOL_TYPE

固定:

ワークスペーススレッドプールの設定。このプールは、非同期の実行が必要なワークスペース関連の操作 (例: 起動/停止) に使用されます。設定可能な値は fixed および cached です。

CHE_WORKSPACE_POOL_EXACT__SIZE

30

プールタイプが fixed と異なる場合に、このプロパティーは無視されます。これはプールのサイズを設定します。設定されると、multiplier プロパティーは無視されます。このプロパティーが設定されていない場合 (0, <0, NULL)、プールサイズはコア数と等しくなります。che.workspace.pool.cores_multiplier も参照してください。

CHE_WORKSPACE_POOL_CORES__MULTIPLIER

2

プールタイプが fixed に設定されておらず、che.workspace.pool.exact_size が設定されている場合は、このプロパティーは無視されます。設定されている場合、プールサイズは N_CORES * multiplier になります。

CHE_WORKSPACE_PROBE__POOL__SIZE

10

このプロパティーは、ワークスペースサーバーの liveness プローブに使用するスレッドの数を指定します。

CHE_WORKSPACE_HTTP__PROXY__JAVA__OPTIONS

NULL

ワークスペース JVM の HTTP プロキシー設定。

CHE_WORKSPACE_JAVA__OPTIONS

-XX:MaxRAM=150m-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xms20m -Djava.security.egd=file:/dev/./urandom

ワークスペースで実行されている JVM に追加される Java コマンドラインオプション。

CHE_WORKSPACE_MAVEN__OPTIONS

-XX:MaxRAM=150m-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xms20m -Djava.security.egd=file:/dev/./urandom

ワークスペースでエージェントを実行する JVM に追加される Maven コマンドラインオプション。

CHE_WORKSPACE_DEFAULT__MEMORY__LIMIT__MB

1024

環境に RAM 設定のない各マシンの RAM 制限のデフォルト。0 以下の値値は、制限を無効にするものとして解釈されます。

CHE_WORKSPACE_DEFAULT__MEMORY__REQUEST__MB

200

環境内に明示的な RAM 設定のない各コンテナーの RAM 要求。この量はワークスペースコンテナーの作成時に割り当てられます。このプロパティーは、すべてのインフラストラクチャー実装でサポートされる訳ではありません。現時点で、これは OpenShift によってサポートされます。メモリー制限を超えるメモリー要求は無視され、制限サイズのみが使用されます。0 以下の値値は、制限を無効にするものとして解釈されます。

CHE_WORKSPACE_DEFAULT__CPU__LIMIT__CORES

-1

環境に CPU 設定のない各コンテナーの CPU 制限。浮動小数点のコア数 (例: 0.125) で、または OpenShift 形式(125mなどの整数のミリコア数) を使用して指定します。0 以下の値値は、制限を無効にするものとして解釈されます。

CHE_WORKSPACE_DEFAULT__CPU__REQUEST__CORES

-1

環境内に CPU 設定のない各コンテナーの CPU 要求。CPU 制限を超える CPU 要求は無視され、制限の数値のみが使用されます。0 以下の値値は、制限を無効にするものとして解釈されます。

CHE_WORKSPACE_SIDECAR_DEFAULT__MEMORY__LIMIT__MB

128

CodeReady Workspaces プラグイン設定に RAM 設定のない各サイドカーの RAM 制限。0 以下の値値は、制限を無効にするものとして解釈されます。

CHE_WORKSPACE_SIDECAR_DEFAULT__MEMORY__REQUEST__MB

64

CodeReady Workspaces プラグイン設定に RAM 設定のない各サイドカーの RAM 要求。

CHE_WORKSPACE_SIDECAR_DEFAULT__CPU__LIMIT__CORES

-1

CodeReady Workspaces プラグイン設定に CPU 設定のない各サイドカーの CPU 制限のデフォルト。浮動小数点のコア数 (例: 0.125) で、または OpenShift 形式(125mなどの整数のミリコア数) を使用して指定します。0 以下の値値は、制限を無効にするものとして解釈されます。

CHE_WORKSPACE_SIDECAR_DEFAULT__CPU__REQUEST__CORES

-1

CodeReady Workspaces プラグイン設定に CPU 設定のない各サイドカーの CPU 要求のデフォルト。浮動小数点のコア数 (例: 0.125) で、または OpenShift 形式(125mなどの整数のミリコア数) を使用して指定します。

CHE_WORKSPACE_SIDECAR_IMAGE__PULL__POLICY

Always

サイドカーのイメージプルストラテジーを定義します。使用できる値は AlwaysNeverIfNotPresent です。その他の値については、Always:latest タグが付いたイメージに、その他の場合は IfNotPresent が想定されます。

CHE_WORKSPACE_ACTIVITY__CHECK__SCHEDULER__PERIOD__S

60

非アクティブなワークスペースの一時停止ジョブの実行期間。

CHE_WORKSPACE_ACTIVITY__CLEANUP__SCHEDULER__PERIOD__S

3600

アクティビティーテーブルのクリーンアップ期間。アクティビティーテーブルには、サーバーが特定の時点で障害が発生するなどの予想されないエラーが生じる場合に、無効なデータまたは古いデータを含まれることがあります。デフォルトでは、クリーンアップジョブは 1 時間ごとに実行されます。

CHE_WORKSPACE_ACTIVITY__CLEANUP__SCHEDULER__INITIAL__DELAY__S

60

サーバーの起動後から最初のアクティビティーのクリーンアップジョブを開始するまでの遅延。

CHE_WORKSPACE_ACTIVITY__CHECK__SCHEDULER__DELAY__S

180

CodeReady Workspaces サーバーが非アクティブのタイムアウトまでの期間利用できない場合の、大規模な一時停止を回避するために最初のワークスペースのアイドルチェックジョブが開始されるまでの遅延。

CHE_WORKSPACE_CLEANUP__TEMPORARY__INITIAL__DELAY__MIN

5

一時ワークスペースのクリーンアップジョブの最初の実行を遅延させる時間。

CHE_WORKSPACE_CLEANUP__TEMPORARY__PERIOD__MIN

180

実行を終了してから次の一時的なワークスペースのクリーンアップジョブの実行を開始するまでの間に遅延する時間

CHE_WORKSPACE_SERVER_PING__SUCCESS__THRESHOLD

1

サーバーへの正常に順次実行される ping の数。この数を超えると、サーバーは利用可能な状態にあるものとして処理されます。CodeReady Workspaces Operator: このプロパティーは、ワークスペース、エージェント、ターミナル、exec などの全サーバーに共通します。

CHE_WORKSPACE_SERVER_PING__INTERVAL__MILLISECONDS

3000

ワークスペースサーバーへの連続する ping の間隔 (ミリ秒単位)。

CHE_WORKSPACE_SERVER_LIVENESS__PROBES

wsagent/http,exec-agent/http,terminal,theia,jupyter,dirigible,cloud-shell,intellij

liveness プローブを必要とするサーバー名の一覧

CHE_WORKSPACE_STARTUP__DEBUG__LOG__LIMIT__BYTES

10485760

ワークスペースの起動をデバッグする際に che-server で観察される単一コンテナーから収集されるログの制限サイズ。デフォルト値は 10MB=10485760 です。

CHE_WORKSPACE_STOP_ROLE_ENABLED

true

true の場合、OpenShift OAuth が有効な場合に、編集権限を持つ「stop-workspace」ロールが「che」 ServiceAccount に付与されます。この設定は、OpenShift OAuth が有効な場合にワークスペースのアイドリングに主に必要になります。

CHE_DEVWORKSPACES_ENABLED

false

DevWorkspaces を有効にして CodeReady Workspaces をデプロイするかどうかを指定します。このプロパティーは、DevWorkspace のサポートもインストールされている場合に CodeReady Workspaces Operator によって設定されます。このプロパティーを使用して、このファクトを CodeReady Workspaces ダッシュボードにアドバタイズします。このプロパティーの値を手動で変更することは推奨されません。

4.1.2.2. 認証パラメーター

表4.2 認証パラメーター

環境変数名デフォルト値詳細

CHE_AUTH_USER__SELF__CREATION

false

CodeReady Workspaces には単一のアイデンティティー実装があるため、これによるユーザーエクスペリエンスへの変更はありません。true の場合、API レベルでのユーザー作成を有効にします。

CHE_AUTH_ACCESS__DENIED__ERROR__PAGE

/error-oauth

認証エラーページアドレス

CHE_AUTH_RESERVED__USER__NAMES

 

予約済みのユーザー名

CHE_OAUTH_GITHUB_CLIENTID

NULL

GitHub OAuth クライアントの設定。GitHub OAuth を設定して、リモートリポジトリーへの認証を自動化できます。最初に、このアプリケーションを GitHub OAuth に登録する必要があります。GitHub OAuth クライアント ID。

CHE_OAUTH_GITHUB_CLIENTSECRET

NULL

GitHub OAuth クライアントシークレット。

CHE_OAUTH_GITHUB_AUTHURI

https://github.com/login/oauth/authorize

GitHub OAuth 認証 URI。

CHE_OAUTH_GITHUB_TOKENURI

https://github.com/login/oauth/access_token

GitHub OAuth トークン URI。

CHE_OAUTH_GITHUB_REDIRECTURIS

http://localhost:${CHE_PORT}/api/oauth/callback

GitHub OAuth リダイレクト URI。複数の値をコンマで区切ります(例: URI,URI,URI)。

CHE_OAUTH_OPENSHIFT_CLIENTID

NULL

OpenShift OAuth クライアントの設定。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。

CHE_OAUTH_OPENSHIFT_CLIENTSECRET

NULL

OpenShift OAuth クライアントの設定。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。OpenShift OAuth クライアントシークレット。

CHE_OAUTH_OPENSHIFT_OAUTH__ENDPOINT

NULL

Configurationof OpenShift OAuth クライアント。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。OpenShift OAuth クライアントシークレット。OpenShift OAuth エンドポイント。

CHE_OAUTH_OPENSHIFT_VERIFY__TOKEN__URL

NULL

ConfigurationofOpenShiftOAuth クライアント。OpenShift OAuth トークンの取得に使用されます。OpenShift OAuth クライアント ID。OpenShift OAuth クライアントシークレット。OpenShift OAuth エンドポイント。OpenShift OAuth 検証トークン URL。

CHE_OAUTH1_BITBUCKET_CONSUMERKEYPATH

NULL

Bitbucket Server OAuth1 クライアントの設定。パーソナルアクセストークンの取得に使用されます。Bitbucket Server アプリケーションのコンシューマーキーが含まれるファイルの場所(ユーザー名と同等)。

CHE_OAUTH1_BITBUCKET_PRIVATEKEYPATH

NULL

Bitbucket Server OAuth1 クライアントの設定パーソナルアクセストークンの取得に使用されます。Bitbucket Server アプリケーションのコンシューマーキーが含まれるファイルの場所(ユーザー名と同等)。Bitbucket Server アプリケーションの秘密鍵が含まれるファイルの場所

CHE_OAUTH1_BITBUCKET_ENDPOINT

NULL

Bitbucket Server OAuth1 クライアントの設定パーソナルアクセストークンの取得に使用されます。Bitbucket Server アプリケーションのコンシューマーキーが含まれるファイルの場所(ユーザー名と同等)。Bitbucket Server アプリケーションの秘密鍵の Bitbucket Server URL が含まれるファイルの場所ファクトリーと正しく連携するには、同じ URL を che.integration.bitbucket.server_endpoints に含める必要があります。

4.1.2.3. 内部

表4.3 内部

環境変数名デフォルト値詳細

SCHEDULE_CORE__POOL__SIZE

10

CodeReady Workspaces 拡張には、時間ベースでスケジュールされる実行をスケジュールできます。これにより、繰り返されるスケジュールで起動する拡張に割り当てられるスレッドプールのサイズが設定されます。

DB_SCHEMA_FLYWAY_BASELINE_ENABLED

true

DB の初期化および移行設定。trueの場合には、baseline.version で設定Siたバージョンのスクリプトを無視します。

DB_SCHEMA_FLYWAY_BASELINE_VERSION

5.0.0.8.1

これまでのバージョンを含むスクリプトは無視されます。ベースラインバージョンと同じバージョンのスクリプトも無視されることに注意してください。

DB_SCHEMA_FLYWAY_SCRIPTS_PREFIX

 

移行スクリプトの接頭辞

DB_SCHEMA_FLYWAY_SCRIPTS_SUFFIX

.sql

移行スクリプトの接尾辞。

DB_SCHEMA_FLYWAY_SCRIPTS_VERSION__SEPARATOR

__

スクリプト名を他の部分からバージョンを区切るための区切り文字。

DB_SCHEMA_FLYWAY_SCRIPTS_LOCATIONS

classpath:che-schema

移行スクリプトを検索する場所。

4.1.2.4. OpenShift インフラパラメーター

表4.4 OpenShift インフラパラメーター

環境変数名デフォルト値詳細

CHE_INFRA_KUBERNETES_MASTER__URL

 

インフラが使用する OpenShift クライアントのマスター URL の設定。

CHE_INFRA_KUBERNETES_TRUST__CERTS

false

信頼済み証明書を使用するように OpenShift クライアントを設定するブール値。

CHE_INFRA_KUBERNETES_CLUSTER__DOMAIN

NULL

OpenShift クラスタードメイン。設定されていない場合は、svc 名にはクラスタードメインに関する情報が含まれません。

CHE_INFRA_KUBERNETES_SERVER__STRATEGY

multi-host

サーバーが Kubernetes インフラでグローバルに公開される方法を定義します。CodeReady Workspaces に実装されたストラテジーの一覧: default-host, multi-host, single-host

CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_EXPOSURE

native

ワークスペースのプラグインとエディターを単一ホストモードで公開する方法を定義します。サポートされる公開: native:: OpenShift ルートを使用してサーバーを公開します。Kubernetes でのみ機能します。Gateway:: reverse-proxy ゲートウェイを使用してサーバーを公開します。

CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_DEVFILE__ENDPOINT__EXPOSURE

multi-host

single-host サーバーストラテジーで devfile エンドポイント、エンドユーザーのアプリケーションを公開する方法を定義します。これらは single-host ストラテジーに従い、サブパスで公開されるか、またはサブドメイン上で公開できます。Multi-host:: サブドメインで公開されます。single-host:: サブパスに公開されます。

CHE_INFRA_KUBERNETES_SINGLEHOST_GATEWAY_CONFIGMAP__LABELS

app=che,component=che-gateway-config

single-host ゲートウェイを設定する ConfigMap に設定されるラベルを定義します。

CHE_INFRA_KUBERNETES_INGRESS_DOMAIN

 

che.infra.kubernetes.server_strategy プロパティーが multi-hostに設定されている場合に、ワークスペースでサーバーのドメインを生成するために使用されます。

CHE_INFRA_KUBERNETES_NAMESPACE_CREATION__ALLOWED

true

CodeReady Workspaces サーバーがユーザーワークスペースのプロジェクトを作成できるかどうか、またはそれらはクラスター管理者によって手動で作成されるかどうかを示します。このプロパティーは OpenShift infra によっても使用されます。

CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT

<username>-che

ユーザーが上書きしない場合に、ユーザーのワークスペースが作成されるデフォルトの OpenShift プロジェクトを定義します。<username> および <userid> プレースホルダー (例: che-workspace-<username>)を使用できます。この場合、ユーザーごとに新規 namespace が作成されます。OpenShift インフラでプロジェクトの指定にも使用されます。<username> または <userid> プレースホルダーは必須です。

CHE_INFRA_KUBERNETES_NAMESPACE_LABEL

true

che-server がワークスペース namespace にラベルを付けるかどうかを定義します。

CHE_INFRA_KUBERNETES_NAMESPACE_LABELS

app.kubernetes.io/part-of=che.eclipse.org,app.kubernetes.io/component=workspaces-namespace

CodeReady Workspaces に使用されるプロジェクトの検索に使用するラベルの一覧。これらは che.infra.kubernetes.namespace.annotations と組み合わせてユーザー用に準備されたプロジェクトを検索し、ワークスペースでプロジェクトをアクティブにラベル付けするのに使用されます。

CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATIONS

che.eclipse.org/username=<username>

CodeReady Workspaces ユーザーワークスペース用に用意されたプロジェクトの検索に使用するアノテーションの一覧。これらのアノテーションと照合されるのは、che.infra.kubernetes.namespace.labels と一致するプロジェクトのみです。このプロジェクトは、che.infra.kubernetes.namespace.labelsche.infra.kubernetes.namespace.annotations 両方に一致するプロジェクトは、優先的にユーザーのワークスペースに使用されます。<username> プレースホルダーを使用して、具体的なユーザーにプロジェクトを指定できます。

CHE_INFRA_KUBERNETES_SERVICE__ACCOUNT__NAME

NULL

すべてのワークスペース Pod にバインドされるように指定する必要のある Kubernetes サービスアカウント名を定義します。OpenShift インフラストラクチャーがサービスアカウントを作成しない CodeReady Workspaces Operator は存在すべきです。OpenShift インフラストラクチャーは、プロジェクトが事前に定義されているかどうかをチェックします(che.infra.openshift.project が空でない場合)。これが事前に定義されている場合はサービスアカウントが存在するはずです。これが 'NULL' または空の文字列の場合、インフラストラクチャーはワークスペースごとに新しい OpenShift プロジェクトを作成し、必要なロールを持つワークスペーのスサービスアカウントをここに準備します。

CHE_INFRA_KUBERNETES_WORKSPACE__SA__CLUSTER__ROLES

NULL

ワークスペースサービスアカウントで使用するオプションの追加のクラスターロールを指定します。クラスターのロール名がすでに存在している必要があり、CodeReady Workspaces サービスアカウントはロールバインディングを作成して、これらのクラスターロールをワークスペースのサービスアカウントに関連付ける必要があります。名前はコンマで区切られます。このプロパティーは che.infra.kubernetes.cluster_role_name を非推奨にします。

CHE_INFRA_KUBERNETES_WORKSPACE__START__TIMEOUT__MIN

8

Kubernetes ワークスペースの開始時間を制限する待機時間を定義します。

CHE_INFRA_KUBERNETES_INGRESS__START__TIMEOUT__MIN

5

OpenShift Route が準備状態になる期間を制限するタイムアウトを分単位で定義します。

CHE_INFRA_KUBERNETES_WORKSPACE__UNRECOVERABLE__EVENTS

FailedMount,FailedScheduling,MountVolume.SetUpfailed,Failed to pull image,FailedCreate,ReplicaSetCreateError

ワークスペースの起動中に、プロパティーで定義されたリカバリー不可能なイベントが発生する場合は、タイムアウトまで待機するのではなく、ワークスペースをすぐ終了します。CodeReady Workspaces Operator: リカバリー不能なイベントが発生する可能性があるため「Failed」の理由だけを追加できません。失敗したコンテナーの起動は、CodeReady Workspaces サーバーで明示的に処理されます。

CHE_INFRA_KUBERNETES_PVC_ENABLED

true

CodeReady Workspaces ワークスペースに Persistent Volume Claim(永続ボリューム要求、PVC)を使用するかどうかを定義します (例: プロジェクトやログのバックアップや、無効化)。

CHE_INFRA_KUBERNETES_PVC_STRATEGY

common

ワークスペース用に PVC を選択する際に使用するストラテジーを定義します。サポートされるストラテジー: common:: 同じプロジェクトに含まれる全ワークスペースが同じ PVC を再利用します。PVC の名前は che.infra.kubernetes.pvc.name で設定できます。既存の PVC が使用されるか、または新規 PVC が存在しない場合にはこれが作成されます。unique:: 各ワークスペースのボリュームに別個の PVC が使用されます。PVC の名前は {che.infra.kubernetes.pvc.name} + '-' + {generated_8_chars} として評価されます。既存の PVC が使用されるか、または新規 PVC が存在しない場合にはこれが作成されます。per-workspace:: 各ワークスペースに別個の PVC が使用されます。PVC の名前は {che.infra.kubernetes.pvc.name} + '-' + {WORKSPACE_ID} として評価されます。既存の PVC が使用されるか、または新規 PVC が存在しない場合にはこれが作成されます。

CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS

true

ワークスペースを起動する前に、common ストラテジーの永続ボリュームでワークスペースのサブパスディレクトリーを作成するジョブを実行するかどうかを定義します。ワークスペースのサブパスのボリュームマウントは root 権限で作成され、ユーザーとして実行するワークスペースで変更できないため(CodeReady Workspace のワークスペースへのプロジェクトのインポートエラーが表示される)、一部の OpenShift のバージョンで必要です。デフォルトは true ですが、OpenShift のバージョンがユーザーパーミッションでサブディレクトリーを作成する場合は false に設定する必要があります。subPath in volumeMount is not writable for non-root users #41638 the CodeReady Workspaces Operator that this property that this property that only effect for the common PVC strategy used を参照してください。

CHE_INFRA_KUBERNETES_PVC_NAME

claim-che-workspace

CodeReady Workspaces ワークスペースの PVC 名の設定を定義します。それぞれの PVC ストラテジーは、この値を異なる方法で指定します。che.infra.kubernetes.pvc.strategy プロパティーに関するドキュメントを参照してください。

CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME

 

ワークスペースの Persistent Volume Claim(永続ボリューム要求、PVC)のストレージクラスを定義します。空の文字列は「use default」を意味します。

CHE_INFRA_KUBERNETES_PVC_QUANTITY

10Gi

CodeReady Workspaces ワークスペースの Persistent Volume Claim(永続ボリューム要求、PVC)のサイズを定義します。「永続ストレージについて」を参照してください。

CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE

registry.access.redhat.com/ubi8-minimal:8.3-230

OpenShift で永続ボリューム要求 (PVC)のメンテナンスジョブを実行する際に起動する Pod

CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE_PULL__POLICY

IfNotPresent

OpenShift クラスターのメンテナンスジョブに使用されるコンテナーのイメージプルポリシー

CHE_INFRA_KUBERNETES_PVC_JOBS_MEMORYLIMIT

250Mi

永続ボリューム要求のメンテナンスジョブの Pod メモリー制限を定義します。

CHE_INFRA_KUBERNETES_PVC_ACCESS__MODE

ReadWriteOnce

Persistent Volume Claim(永続ボリューム要求、PVC)のアクセスモードを定義します。アクセスモードを変更する一般的な PVC ストラテジー向けの CodeReady Workspaces Operator は、同時に実行されるワークスペースの数に影響します。CodeReady Workspace を実行している OpenShift インスタンスが RWX アクセスモードで永続ボリュームを使用している場合には、同時に実行するワークスペース数の上限は、CodeReady Workspace の制限設定 (メモリー、CPU など) でのみバインドされます。「永続ストレージについて」を参照してください。

CHE_INFRA_KUBERNETES_PVC_WAIT__BOUND

true

CodeReady Workspaces Server がワークスペース Persistent Volume Claim(永続ボリューム要求、PVC)の作成後にバインドする必要があるかどうかを定義します。デフォルト値は true です。このパラメーターは、全 Persistent Volume Claim(永続ボリューム要求、PVC)ストラテジーにより使用されます。volumeBindingModeWaitForFirstConsumer に設定されている場合は、false に設定する必要があります。それ以外の場合は、ワークスペースの起動が PVC の待機フェーズでハングします。

CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON

NULL

サーバーを公開するために使用される Ingress のアノテーションを定義します。値は Ingress コントローラーの種類によって異なります。OpenShift インフラストラクチャーは Ingress ではなくルートを使用するため、このプロパティーは無視されます。単一ホストデプロイメントストラテジーが機能する CodeReady Workspaces Operator は、URL の書き換えをサポートするコントローラーを使用する必要があります(そのため、サーバーはアプリケーションルートの変更をサポートする必要がありません)。che.infra.kubernetes.ingress.path.rewrite_transform プロパティーは、Ingress のパスが URL の書き換えをサポートするよう変換する方法を定義します。このプロパティーは、選択した Ingress コントローラーに対して実際に URL の書き換えを実行するように指示する ingress 自体のアノテーションのセットを定義します (選択された Ingress コントローラーで必要な場合)。たとえば、Nginx Ingress コントローラー 0.22.0 以降には、以下の値が推奨されます。 {'Ingress.kubernetes.io/rewrite-target': '/$1','ingress.kubernetes.io/ssl-redirect': 'false',\ 'ingress.kubernetes.io/proxy-connect-timeout': '3600','ingress.kubernetes.io/proxy-read-timeout': '3600'} および che.infra.kubernetes.ingress.path.rewrite_transform'%s(.*)'.0.22.0 よりも古い nginx Ingress コントローラーの場合には、rewrite-target は / に設定するだけで、パスは %s に変換されます( che.infra.kubernetes.ingress.path.rewrite_transform プロパティーを参照)。Ingress コントローラーが Ingress パスにある正規表現を使用する方法と、URL の書き換えを実行する方法についての説明は、nginx Ingress コントローラーのドキュメントを参照してください。

CHE_INFRA_KUBERNETES_INGRESS_PATH__TRANSFORM

NULL

サーバーを公開する Ingress のパスを宣言する方法についての「recipe」(レシピ) を定義します。%s はサーバーのベース公開 URL を表し、スラッシュで終了することが保証されています。このプロパティーは String.format() メソッドへの有効な入力であり、%s への参照が 1 つだけ含まれる必要があります。Ingress のアノテーションとパスを指定する際にこれら 2 つのプロパティーの相互作用を確認するには、che.infra.kubernetes.ingress.annotations_json プロパティーの説明を参照してください。これが定義されていない場合、このプロパティーはデフォルトで %s (引用符なし) に設定されます。これは、パスが Ingress コントローラーで使用する場合に変換されないことを意味します。

CHE_INFRA_KUBERNETES_INGRESS_LABELS

NULL

明確化できるように、CodeReady Workspaces サーバーによって作成されるすべての Ingress に追加する追加のラベル。

CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_RUN__AS__USER

NULL

OpenShift インフラによって作成される Pod のセキュリティーコンテキストを定義します。これは OpenShift インフラによって無視されます。

CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP

NULL

OpenShift インフラによって作成される Pod のセキュリティーコンテキストを定義します。Pod の全コンテナーに適用される特別な補助グループです。OpenShift インフラは、このグループを無視します。

CHE_INFRA_KUBERNETES_POD_TERMINATION__GRACE__PERIOD__SEC

0

OpenShift インフラストラクチャーによって作成される Pod の猶予期間を定義します。デフォルト値: 0これにより、Pod をすぐに停止し、ワークスペースの停止に必要な時間を短縮できます。CodeReady Workspaces Operator: terminationGracePeriodSeconds が OpenShift レシピで明示的に設定されている場合は上書きされません。

CHE_INFRA_KUBERNETES_CLIENT_HTTP_ASYNC__REQUESTS_MAX

1000

KubernetesClient インスタンスの基礎となる共有 HTTP クライアントでサポートされる並行非同期 Web 要求(HTTP 要求または継続的な WebSocket 呼び出し)の最大数。デフォルト値:max=64 および max_per_host:5CodeReady Workspaces はコマンドや ws-agent ログなど、コネクションを開いたままにするため、デフォルトの値はマルチユーザーシナリオには適していません。

CHE_INFRA_KUBERNETES_CLIENT_HTTP_ASYNC__REQUESTS_MAX__PER__HOST

1000

ホストごとの並行非同期 Web 要求の最大数。

CHE_INFRA_KUBERNETES_CLIENT_HTTP_CONNECTION__POOL_MAX__IDLE

5

Kubernetes クライアント共有 http クライアントの接続プールにおけるアイドル状態の接続の最大数

CHE_INFRA_KUBERNETES_CLIENT_HTTP_CONNECTION__POOL_KEEP__ALIVE__MIN

5

Kubernetes クライアント共有 http クライアントの接続プールのキープアライブのタイムアウト (分単位)

CHE_INFRA_KUBERNETES_TLS__ENABLED

false

Transport Layer Security(TLS)を有効にして Ingress を作成します。OpenShift インフラストラクチャーではルートは TLS に対応します。

CHE_INFRA_KUBERNETES_TLS__SECRET

 

TLS でワークスペース Ingress を作成する際に使用すべきシークレットの名前。OpenShift インフラストラクチャーでは、このプロパティーは無視されます。

CHE_INFRA_KUBERNETES_TLS__KEY

NULL

ワークスペース Ingress に使用する必要のある TLS Secret のデータ。cert および key は Base64 アルゴリズムでエンコードする必要があります。OpenShift インフラストラクチャーでは、これらのプロパティーは無視されます。

CHE_INFRA_KUBERNETES_TLS__CERT

NULL

ワークスペース Ingress に使用する必要のある TLS Secret の証明書データ。証明書は、Base64 アルゴリズムでエンコードする必要があります。OpenShift インフラストラクチャーでは、このプロパティーは無視されます。

CHE_INFRA_KUBERNETES_RUNTIMES__CONSISTENCY__CHECK__PERIOD__MIN

-1

ランタイムの整合性チェックが実行される期間を定義します。ランタイムに一貫性のない状態がある場合、ランタイムは自動的に停止します。値は 0 をより大きな値、または -1 である必要があります。ここで、-1 はチェックが実行されないことを意味します。これはデフォルトで無効にされます。CodeReady Workspaces Server は操作がユーザーによって呼び出しされない場合に Kubernetes API と対話できくなる CodeReady Workspaces サーバーの設定があることが予想されるためです。これは、CodeReady Workspace Server の配置先と同じ namespace でワークスペースオブジェクトが作成される場合、cluster-admin サービスアカウントトークンが CodeReady Workspace Server Pod にマウントされる場合に機能します。これは、CodeReady Workspaces Server が OAuth プロバイダーからトークンを使用して Kubernetes API と通信する場合には機能しません。

CHE_INFRA_KUBERNETES_TRUSTED__CA_SRC__CONFIGMAP

NULL

すべてのユーザーのワークスペースに伝播される追加の CA TLS 証明書を含む、CodeReady Workspaces サーバー namespace の設定マップの名前。プロパティーを OpenShift 4 インフラストラクチャーに設定し、che.infra.openshift.trusted_ca.dest_configmap_labelsconfig.openshift.io/inject-trusted-cabundle=true ラベルが含まれる場合に、クラスター CA バンドルも伝播されます。

CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP

ca-certs

追加の CA TLS 証明書を含むワークスペース namespace の設定マップの名前。ワークスペース namespace にある che.infra.kubernetes.trusted_ca.src_configmap のコピーを保持します。この設定マップの内容は、プラグインブローカーを含むすべてのワークスペースコンテナーにマウントされます。既存の設定マップと競合しない限り、設定マップ名は変更しないでください。CodeReady Workspaces Operator: 結果として作成される設定マップ名を最終的に調整してプロジェクトで一意にすることができます。元の名前は che.original_name ラベルに保存されます。

CHE_INFRA_KUBERNETES_TRUSTED__CA_MOUNT__PATH

/public-certs

CA バンドルがマウントされるワークスペースコンテナーでパスを設定します。che.infra.kubernetes.trusted_ca.dest_configmap で指定される設定マップの内容がマウントされます。

CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP__LABELS

 

ユーザーワークスペースの CA 証明書の設定マップに追加するラベルのコンマ区切りの一覧。che.infra.kubernetes.trusted_ca.dest_configmap プロパティーを参照してください。

CHE_INFRA_KUBERNETES_ENABLE__UNSUPPORTED__K8S

false

/unsupported/OpenShift エンドポイントを有効にして、Kubernetes インフラストラクチャーの呼び出しを解決します。基礎となるインフラストラクチャーの REST API に直接アクセスできます。この設定では、大幅に権限が昇格されます。これは Kubernetes インフラストラクチャーにだけ影響します。そのため、OAuth が使用されている OpenShift では、セキュリティーリスクがないことを意味します。リスクを把握していない場合は有効にしないでください。

4.1.2.5. OpenShift インフラパラメーター

表4.5 OpenShift インフラパラメーター

環境変数名デフォルト値詳細

CHE_INFRA_OPENSHIFT_TRUSTED__CA_DEST__CONFIGMAP__LABELS

config.openshift.io/inject-trusted-cabundle=true

ユーザーワークスペースの CA 証明書の設定マップに追加するラベルのコンマ区切りの一覧。che.infra.kubernetes.trusted_ca.dest_configmap プロパティーを参照してください。このデフォルト値は、OpenShift 4 でのクラスター CA バンドルの自動挿入に使用されます。

CHE_INFRA_OPENSHIFT_ROUTE_LABELS

NULL

明確化できるように、CodeReady Workspaces サーバーによって作成されるすべての Route に追加する追加のラベル。

CHE_INFRA_OPENSHIFT_ROUTE_HOST_DOMAIN__SUFFIX

NULL

ワークスペースルートの接尾辞として使用する必要のあるホスト名。たとえば、domain_suffix=<codeready-<openshift_deployment_name>.<domain_name>> を使用する場合には、ルートは routed3qrtk.<codeready-<openshift_deployment_name>.<domain_name>> のようになります。有効な DNS 名である必要があります。

CHE_INFRA_OPENSHIFT_PROJECT_INIT__WITH__SERVER__SA

true

OpenShift OAuth が有効な場合には、CodeReady Workspaces サーバーのサービスアカウントで OpenShift プロジェクトを初期化します。

4.1.2.6. 実験的なプロパティー

表4.6 実験的なプロパティー

環境変数名デフォルト値詳細

CHE_WORKSPACE_PLUGIN__BROKER_METADATA_IMAGE

quay.io/eclipse/che-plugin-metadata-broker:v3.4.0

ワークスペースツール設定を解決し、プラグインの依存関係をワークスペースにコピーする CodeReady Workspaces プラグインブローカーアプリケーションの Docker イメージCodeReady Workspaces Operator はデフォルトでこれらのイメージを上書きします。CodeReady Workspaces が Operator を使用してインストールされている場合は、ここでイメージを変更しても、効果がありません。

CHE_WORKSPACE_PLUGIN__BROKER_ARTIFACTS_IMAGE

quay.io/eclipse/che-plugin-artifacts-broker:v3.4.0

CodeReady Workspaces プラグインアーティファクトブローカーの Docker イメージ。このブローカーは、ワークスペース Pod で init コンテナーとして実行されます。このジョブは、プラグインの ID (レジストリー内のプラグインへの参照または、プラグインの meta.yaml へのリンク) の一覧を取り、ワークスペース向けに要求されたプラグインごとに、正しい .vsix and .theia 拡張子が /plugins ディレクトリーにダウンロードされていることを確認します。

CHE_WORKSPACE_PLUGIN__BROKER_DEFAULT__MERGE__PLUGINS

false

プラグインをワークスペースにプロビジョニングする際にプラグインブローカーのデフォルト動作を設定します。true に設定すると、プラグインブローカーは可能な場合にプラグインのマージを試行します(つまり、それらは同じサイドカーイメージで実行され、設定が競合することはありません)。この値は、devfile で mergePlugins 属性が指定されていない場合に使用されるデフォルト設定です。

CHE_WORKSPACE_PLUGIN__BROKER_PULL__POLICY

Always

ワークスペースツール設定を解決し、プラグインの依存関係をワークスペースにコピーする CodeReady Workspaces プラグインブローカーアプリケーションの Docker イメージ

CHE_WORKSPACE_PLUGIN__BROKER_WAIT__TIMEOUT__MIN

3

プラグインブローカーの待機中に結果の最大期間を制限するタイムアウトを分単位で定義します。

CHE_WORKSPACE_PLUGIN__REGISTRY__URL

https://che-plugin-registry.prod-preview.openshift.io/v3

ワークスペースプラグインレジストリーのエンドポイント。有効な HTTP URL でなければなりません。例: http://che-plugin-registry-eclipse-che.192.168.65.2.nip.io CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。

CHE_WORKSPACE_PLUGIN__REGISTRY__INTERNAL__URL

NULL

ワークスペースプラグインレジストリーの内部エンドポイント。有効な HTTP URL でなければなりません。例: http://devfile-registry.che.svc.cluster.local:8080 CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。

CHE_WORKSPACE_DEVFILE__REGISTRY__URL

https://che-devfile-registry.prod-preview.openshift.io/

devfile レジストリーエンドポイント。有効な HTTP URL でなければなりません。例: http://che-devfile-registry-eclipse-che.192.168.65.2.nip.io CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。

CHE_WORKSPACE_DEVFILE__REGISTRY__INTERNAL__URL

NULL

devfile レジストリー 'internal' エンドポイント。有効な HTTP URL でなければなりません。例: http://plugin-registry.che.svc.cluster.local:8080 CodeReady Workspaces プラグインレジストリーが不要な場合、値 'NULL' を使用する必要があります。

CHE_WORKSPACE_STORAGE_AVAILABLE__TYPES

persistent,ephemeral,async

ダッシュボードなどのクライアントがワークスペースの作成/更新時にユーザーに提案するストレージタイプに使用できる値を定義する設定プロパティー。使用できる値: - persistent: 永続ストレージの I/O は低速だが永続性がある。- ephemeral: 一時ストレージは、高速 I/O を可能にするが、ストレージには制限があり、永続性がない。- async: 実験的機能: 非同期ストレージは一時ストレージと永続ストレージの組み合わせ。高速な I/O を可能にし、変更を維持し、停止時にバックアップを実行し、ワークスペースの開始時に復元します。che.infra.kubernetes.pvc.strategy='common' - che.limits.user.workspaces.run.count=1 - che.infra.kubernetes.namespace.default<username> が含まれる場合にのみ機能します。それ他の場合は、一覧から async を削除します。

CHE_WORKSPACE_STORAGE_PREFERRED__TYPE

永続

ダッシュボードなどのクライアントがワークスペースの作成/更新時にユーザーに提案するストレージタイプのデフォルト値を定義する設定プロパティー。async 値は実験的な機能であるため、デフォルトタイプとしての使用は推奨されません。

CHE_SERVER_SECURE__EXPOSER

jwtproxy

セキュアなサーバーが認証で保護される方法を設定します。適切な値: default: jwtproxy はパススルーモードで設定されます。そのため、サーバーは要求を認証する必要があります。jwtproxy: jwtproxy は要求を認証します。そのため、サーバーは認証済みの要求のみを受信します。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_TOKEN_ISSUER

wsmaster

署名のない要求をルーティングするための Jwtproxy 発行側の文字列、トークンの有効期間およびオプションの認証ページのパス。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_TOKEN_TTL

8800h

jwtproxy 発行者トークンの有効期間。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_AUTH_LOADER_PATH

/_app/loader.html

署名なしの要求をルーティングする認証ページのパス (任意)。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_IMAGE

quay.io/eclipse/che-jwtproxy:0.10.0

jwtproxy イメージ。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_MEMORY__REQUEST

15mb

jwtproxy メモリー要求。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_MEMORY__LIMIT

128mb

jwtproxy メモリー制限。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_CPU__REQUEST

0.03

jwtproxy CPU 要求。

CHE_SERVER_SECURE__EXPOSER_JWTPROXY_CPU__LIMIT

0.5

jwtproxy CPU 制限。

4.1.2.7. 主なWebSocketエンドポイントの設定

表4.7 主なWebSocketエンドポイントの設定

環境変数名デフォルト値詳細

CHE_CORE_JSONRPC_PROCESSOR__MAX__POOL__SIZE

50

JSON RPC 処理プールの最大サイズ。プールサイズが超過すると、メッセージの実行が拒否されます。

CHE_CORE_JSONRPC_PROCESSOR__CORE__POOL__SIZE

5

初期 JSON 処理プール。主な JSON RPC メッセージを処理するために使用されるスレッドの最小数。

CHE_CORE_JSONRPC_PROCESSOR__QUEUE__CAPACITY

100000

Json RPC メッセージの処理に使用するキューの設定。

CHE_METRICS_PORT

8087

Prometheus メトリクスで公開される HTTP サーバーエンドポイントのポート

4.1.2.8. CORS 設定

表4.8 CORS 設定

環境変数名デフォルト値詳細

CHE_CORS_ALLOWED__ORIGINS

*

許可される要求元を指定します。WS Master の CORS フィルターはデフォルトで無効にされます。環境変数 'CHE_CORS_ENABLED=true' を使用してオンにします。

CHE_CORS_ALLOW__CREDENTIALS

false

認証情報 (cookie、ヘッダー、TLS クライアント証明書) を使用して要求の処理を許可するかどうかを示します。

4.1.2.9. Factory のデフォルト

表4.9 Factory のデフォルト

環境変数名デフォルト値詳細

CHE_FACTORY_DEFAULT__PLUGINS

redhat/vscode-commons/latest

CodeReady Workspaces 固有のワークスペース記述子が含まれないリモート git リポジトリーから作成される Factory 用に作成されるエディターおよびプラグイン。複数のプラグインは、以下のようにコンマで区切る必要があります。例: pluginFooPublisher/pluginFooName/pluginFooVersion,pluginBarPublisher/pluginBarName/pluginBarVersion

CHE_FACTORY_DEFAULT__DEVFILE__FILENAMES

devfile.yaml,.devfile.yaml

リポジトリーベースの Factory(GitHub など)を検索する devfile のファイル名。Factory は、プロパティーで列挙される順序でこれらのファイルの特定を試みます。

4.1.2.10. devfile のデフォルト

表4.10 devfile のデフォルト

環境変数名デフォルト値詳細

CHE_FACTORY_DEFAULT__EDITOR

eclipse/che-theia/latest

CodeReady Workspaces 固有のワークスペース記述子が含まれないリモート Git リポジトリーから作成される Factory に使用されるエディター。

CHE_FACTORY_SCM__FILE__FETCHER__LIMIT__BYTES

102400

SCM リポジトリーからファイルを取得する URL フェッチャーのファイルサイズ制限。

CHE_FACTORY_DEVFILE2__FILES__RESOLUTION__LIST

.che/che-editor.yaml,.che/che-theia-plugins.yaml,.vscode/extensions.json

devfile v2 を補完する追加ファイルで、リポジトリーに含まれる場合があり、取得するには Factory の SCM リゾルバーサービスへのリンクとして参照する必要があります。

CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR

eclipse/che-theia/latest

指定されていない場合に Devfile にプロビジョニングする必要があるデフォルトのエディター。エディター形式は、editorPublisher/editorName/editorVersion 値になります。NULL または値がない場合は、デフォルトのエディターはプロビジョニングされません。

CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR_PLUGINS

NULL

デフォルトのエディター用にプロビジョニングする必要があるデフォルトのプラグイン。ユーザー定義の devfile で明示的に参照されていないこの一覧のすべてのプラグインはプロビジョニングされますが、これはデフォルトのエディターが使用されているか、またはユーザー定義のエディターが (異なるバージョンの場合でも) デフォルトと同じである場合に限ります。形式は、コンマ区切りの pluginPublisher/pluginName/pluginVersion 値および URL です。例: eclipse/che-theia-exec-plugin/0.0.1,eclipse/che-theia-terminal-plugin/0.0.1,https://cdn.pluginregistry.com/vi-mode/meta.yaml プラグインが URL の場合、プラグインの meta.yaml はその URL から取得されます。

CHE_WORKSPACE_PROVISION_SECRET_LABELS

app.kubernetes.io/part-of=che.eclipse.org,app.kubernetes.io/component=workspace-secret

ユーザー namespace からシークレットを選択するためにラベルのコンマ区切りの一覧を定義します。これは、ファイルまたは環境変数としてワークスペースコンテナーにマウントされます。すべての指定されるラベルに一致するシークレットのみが選択されます。

CHE_WORKSPACE_DEVFILE_ASYNC_STORAGE_PLUGIN

eclipse/che-async-pv-plugin/latest

非同期ストレージ機能がワークスペース設定で有効にされ、環境でサポートされる場合に、プラグインが追加されます。

CHE_INFRA_KUBERNETES_ASYNC_STORAGE_IMAGE

quay.io/eclipse/che-workspace-data-sync-storage:0.0.1

CodeReady Workspaces 非同期ストレージの Docker イメージ

CHE_WORKSPACE_POD_NODE__SELECTOR

NULL

オプションでワークスペース Pod のノードセレクターを設定します。形式は、コンマ区切りの key=value ペアです (例: disktype=ssd,cpu=xlarge,foo=bar)。

CHE_WORKSPACE_POD_TOLERATIONS__JSON

NULL

オプションでワークスペース Pod の容認を設定します。形式は、テイントの容認の JSON 配列を表す文字列か、または NULL の場合はこれを無効にします。配列に含まれるオブジェクトは、toleration v1 コア仕様 に準拠する必要があります。例: [{'effect':'NoExecute','key':'aNodeTaint','operator':'Equal','value':'aValue'}]

CHE_INFRA_KUBERNETES_ASYNC_STORAGE_SHUTDOWN__TIMEOUT__MIN

120

最後に使用されたワークスペースの停止後の非同期ストレージ Pod のシャットダウンのタイムアウト。0 以下の値は、シャットダウン機能を無効にするものとして解釈されます。

CHE_INFRA_KUBERNETES_ASYNC_STORAGE_SHUTDOWN__CHECK__PERIOD__MIN

30

非同期ストレージ Pod が機能を停止する期間を定義します (デフォルトでは 30 分ごと)。

CHE_INTEGRATION_BITBUCKET_SERVER__ENDPOINTS

NULL

Factory の統合に使用される Bitbucket エンドポイント。bitbucket サーバー URL のコンマ区切りの一覧、または統合が予想されない場合は NULL。

CHE_INTEGRATION_GITLAB_SERVER__ENDPOINTS

NULL#

Factory の統合に使用される GitLab エンドポイント。GitLab サーバー URL のコンマ区切りの一覧、または統合が予想されない場合は NULL。予想される OAuth 2 インテグレーションを持つサーバーのアドレスは、一覧の最初のアドレスである必要があります。

4.1.2.11. Che システム

表4.11 Che システム

環境変数名デフォルト値詳細

CHE_SYSTEM_SUPER__PRIVILEGED__MODE

false

System Super Privileged Mode (システムのスーパー特権モード)。getByKey、getByNameSpace、stopWorkspaces、および getResources の manageSystem パーミッションの追加パーミッションをユーザーに付与します。これらは、デフォルトでは管理者には提供されず、これらのパーミッションにより、管理者はadmin 権限でそれらのワークスペースに名前を指定し、ワークスペースへの可視性を得ることができます。

CHE_SYSTEM_ADMIN__NAME

admin

che.admin.nameユーザーのシステムパーミッションを付与します。ユーザーがすでに存在する場合は、これはコンポーネントの起動時に生じます。ユーザーがすでに存在しない場合は、ユーザーがデータベースで永続化される初回のログイン時に発生します。

4.1.2.12. Workspace の制限

表4.12 Workspace の制限

環境変数名デフォルト値詳細

CHE_LIMITS_WORKSPACE_ENV_RAM

16gb

ワークスペースは、開発を行う際のユーザー向けの基本的なランタイムです。ワークスペースの作成方法や、消費されるリソースを制限するパラメーターを設定できます。ユーザーが新規ワークスペースの作成時にワークスペースに割り当てることができる RAM の最大量。RAM スライダーは、この最大値に合わせて調整されます。

CHE_LIMITS_WORKSPACE_IDLE_TIMEOUT

1800000

システムがワークスペースを一時停止した後にこれを停止する際に、ユーザーがワークスペースでアイドル状態になる期間 (ミリ秒単位)。アイドル状態は、ユーザーがワークスペースと対話しない期間です。つまり、エージェントのいずれも対話を受け取っていない期間を意味します。ブラウザーウィンドウを開いたままにするとアイドル状態になります。

CHE_LIMITS_WORKSPACE_RUN_TIMEOUT

0

システムが一時停止するまでの、アクティビティーを問わず、ワークスペースが実行される期間 (ミリ秒単位)。一定期間後にワークスペースを自動的に停止する場合は、このプロパティーを設定します。デフォルトはゼロで、実行タイムアウトがないことを意味します。

4.1.2.13. ユーザーワークスペースの制限

表4.13 ユーザーワークスペースの制限

環境変数名デフォルト値詳細

CHE_LIMITS_USER_WORKSPACES_RAM

-1

単一ユーザーがワークスペースの実行に割り当てることができる RAM の合計量。ユーザーは、この RAM を単一のワークスペースに割り当てるか、または複数のワークスペースに分散することができます。

CHE_LIMITS_USER_WORKSPACES_COUNT

-1

ユーザーが作成できるワークスペースの最大数。追加のワークスペースを作成しようとすると、ユーザーにはエラーメッセージが表示されます。これは、実行中および停止中のワークスペースの合計数に適用されます。

CHE_LIMITS_USER_WORKSPACES_RUN_COUNT

1

単一ユーザーが持てる実行中のワークスペースの最大数。ユーザーがこのしきい値に達し、追加のワークスペースを開始しようとすると、エラーメッセージと共にプロンプトが表示されます。ユーザーは、実行中のワークスペースを停止してから別のワークスペースをアクティべートする必要があります。

4.1.2.14. 組織ワークスペースの制限

表4.14 組織ワークスペースの制限

環境変数名デフォルト値詳細

CHE_LIMITS_ORGANIZATION_WORKSPACES_RAM

-1

単一組織 (チーム) がワークスペースの実行に割り当てることができる RAM の合計量。組織の所有者はこの RAM を割り当てることができますが、チームのワークスペース全体で適切に割り当てられているように見えます。

CHE_LIMITS_ORGANIZATION_WORKSPACES_COUNT

-1

組織が所有できるワークスペースの最大数。追加のワークスペースを作成しようとすると、組織にはエラーメッセージが表示されます。これは、実行中および停止中のワークスペースの合計数に適用されます。

CHE_LIMITS_ORGANIZATION_WORKSPACES_RUN_COUNT

-1

単一組織が持てる実行中のワークスペースの最大数。組織がこのしきい値に達し、追加のワークスペースを開始しようとすると、エラーメッセージと共にプロンプトが表示されます。組織は、実行中のワークスペースを停止してから別のワークスペースをアクティべートする必要があります。

4.1.2.15. マルチユーザー固有の OpenShift インフラストラクチャー設定

表4.15 マルチユーザー固有の OpenShift インフラストラクチャー設定

環境変数名デフォルト値詳細

CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER

NULL

Keycloak に登録されている OpenShift アイデンティティープロバイダーのエイリアス。これは、現行の CodeReady Workspaces ユーザーが所有する OpenShift namespace にワークスペース OpenShift リソースを作成するために使用されます。che.infra.openshift.project が空白以外の値に設定する場合は NULL に設定する必要があります。OpenShift アイデンティティープロバイダーを参照してください。

4.1.2.16. Keycloak の設定

表4.16 Keycloak の設定

環境変数名デフォルト値詳細

CHE_KEYCLOAK_AUTH__SERVER__URL

http://${CHE_HOST}:5050/auth

che.keycloak.oidcProvider を使用している場合のみ、keycloak アイデンティティープロバイダーサーバーの URL を NULL に設定できます。

CHE_KEYCLOAK_AUTH__INTERNAL__SERVER__URL

NULL

keycloak アイデンティティープロバイダーサーバーへの内部ネットワークサービス URL

CHE_KEYCLOAK_REALM

che

Keycloak レルムを使用してユーザーを認証するために使用されます。che.keycloak.oidcProvider が使用している場合のみ NULL に設定できます。

CHE_KEYCLOAK_CLIENT__ID

che-public

ダッシュボード、IDE、および CLI でユーザーを認証する che.keycloak.realm の Keycloak クライアント識別子。

CHE_KEYCLOAK_OSO_ENDPOINT

NULL

OSO OAuth トークンにアクセスするための URL

CHE_KEYCLOAK_GITHUB_ENDPOINT

NULL

Github OAuth トークンにアクセスするための URL

CHE_KEYCLOAK_ALLOWED__CLOCK__SKEW__SEC

3

exp または nbf 要求を検証する際にクロックスキューについて許容される秒数。

CHE_KEYCLOAK_USE__NONCE

true

OIDC オプションの nonce 機能を使用して、セキュリティーを強化します。

CHE_KEYCLOAK_JS__ADAPTER__URL

NULL

使用する Keycloak Javascript アダプターの URL。NULL に設定すると、デフォルト値が ${che.keycloak.auth_server_url}/js/keycloak.js になり、別のoidc_provider を使用する場合には、<che-server>/api/keycloak/OIDCKeycloak.js になります。

CHE_KEYCLOAK_OIDC__PROVIDER

NULL

この仕様 (Obtaining OpenID Provider Configuration Information) で詳細に検出エンドポイントを指定する別の OIDC プロバイダーのベース URL。

CHE_KEYCLOAK_USE__FIXED__REDIRECT__URLS

false

固定されたリダイレクト URL のみをサポートする別の OIDC プロバイダーを使用する場合は true に設定します。このプロパティーは、che.keycloak.oidc_provider が NULL の場合は無視されます。

CHE_KEYCLOAK_USERNAME__CLAIM

NULL

定義されていない場合、JWT トークンの解析時にユーザー名の要求がユーザーの表示名として使用されます。フォールバック値は「preferred_username」です。

CHE_OAUTH_SERVICE__MODE

delegated

「embedded」モードまたは「delegated」モードで使用できる OAuth 認証サービスの設定。「embedded」に設定すると、サービスは、(Single User モードの場合のように) CodeReady Workspaces の OAuthAuthenticator のラッパーとして機能します。「delegated」に設定すると、サービスは Keycloak IdentityProvider メカニズムを使用します。このプロパティーが正しく設定されていない場合は、ランタイム例外 wii がスローされます。

CHE_KEYCLOAK_CASCADE__USER__REMOVAL__ENABLED

false

CodeReady Workspaces データベースからユーザーを削除する際の Keycloak サーバーからのユーザーの削除を有効にするための設定。デフォルトで、これは無効にされます。CodeReady Workspaces データベースでユーザーを削除する際に Keycloak からの関連ユーザーの削除が実行される特別なケースでは有効にされある場合があります。適切に機能するには、管理ユーザー名 ${che.keycloak.admin_username} とパスワード ${che.keycloak.admin_password} を設定する必要があります。

CHE_KEYCLOAK_ADMIN__USERNAME

NULL

Keycloak 管理者のユーザー名。CodeReady Workspaces データベースからユーザーを削除する際に Keycloak からユーザーを削除するために使用します。${che.keycloak.cascade_user_removal_enabled} が 'true' に設定されている場合にのみ機能します。

CHE_KEYCLOAK_ADMIN__PASSWORD

NULL

Keycloak 管理者パスワード。CodeReady Workspaces データベースからユーザーを削除する際に Keycloak からユーザーを削除するために使用します。${che.keycloak.cascade_user_removal_enabled} が 'true' に設定されている場合にのみ機能します。

CHE_KEYCLOAK_USERNAME_REPLACEMENT__PATTERNS

NULL

ユーザー名の調整の設定。CodeReady Workspaces は、ユーザー名を Kubernetes オブジェクト名とラベルの一部として使用する必要があるため、アイデンティティープロバイダーが通常許可する場合よりもフォーマットの要件が厳しくなります (DNS に準拠する必要があります)。この調整は、コンマ区切りのキー/値のペアで表されます。これらは元のユーザー名の String.replaceAll 関数への引数として順次使用されます。キーは正規表現で、値は正規表現に一致するユーザー名の文字を置き換える置換文字列です。変更したユーザー名は CodeReady Workspaces データベースのみに保存され、アイデンティティープロバイダーには再び公開されません。DNS に準拠する文字を代替文字列として使用することが推奨されます (キー/値のペアの値)。例:\\=-,@=-at- では \- に、@-at- に変更され、ユーザー名 org\user@comorg-user-at-com. になります。