第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. Che サーバー

表4.1 Che サーバー

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

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

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

CHE_WORKSPACE_CLEANUP__TEMPORARY__INITIAL__DELAY__MIN

5

一時的なワークスペースのクリーンアップジョブの初回実行を遅らせる時間。

CHE_WORKSPACE_CLEANUP__TEMPORARY__PERIOD__MIN

180

1 つの実行の終了と一時的なワークスペースクリーンアップジョブの次の実行の開始までの期間の遅延

CHE_WORKSPACE_SERVER_PING__SUCCESS__THRESHOLD

1

サーバーへの正常に順次実行される ping の数。この数を超えると、サーバーは利用可能な状態にあるものとして処理されます。注: このプロパティーはすべてのサーバー (ワークスペースのエージェント、ターミナル、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 を有効にして che をデプロイするかどうかを指定します。このプロパティーは、DevWorkspaces のサポートもインストールしている場合に 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_SERVER__STRATEGY

multi-host

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

CHE_INFRA_KUBERNETES_SINGLEHOST_WORKSPACE_EXPOSURE

native

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

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

 

非推奨: このプロパティーの値は変更しないでください。変更すると、既存のワークスペースでデータが失われます。これは新規インストールに設定しないでください。すべてのワークスペースが作成される OpenShift プロジェクトを定義します。これが設定されないと、すべてのワークスペースが新しい namespace に作成されます。ここで、namespace = ワークスペース ID になります。<username> および <userid> プレースホルダー (例: che-workspace-<username>) を使用できます。この場合、ユーザーごとに新規 namespace が作成されます。新規 namespace を作成するパーミッションを持つサービスアカウントを使用する必要があります。OpenShift インフラでは無視されます。代わりに che.infra.openshift.project を使用します。このプロパティーで参照される namespace が存在する場合、これはすべてのワークスペースで使用されます。これが存在しない場合、che.infra.kubernetes.namespace.default によって指定される namespace が作成され、使用されます。

CHE_INFRA_KUBERNETES_NAMESPACE_CREATION__ALLOWED

true

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

CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT

<username>-che

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

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

CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATIONS

che.eclipse.org/username=<username>

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

CHE_INFRA_KUBERNETES_NAMESPACE_ALLOW__USER__DEFINED

false

ユーザーがデフォルトとは異なる OpenShift プロジェクト (OpenShift プロジェクト) を指定できるかどうかを定義します。OAuth が設定されていない場合に true に設定することは推奨されません。このプロパティーは OpenShift infra によっても使用されます。

CHE_INFRA_KUBERNETES_SERVICE__ACCOUNT__NAME

NULL

すべてのワークスペース Pod にバインドされるように指定する必要のある Kubernetes サービスアカウント名を定義します。OpenShift インフラストラクチャーはサービスアカウントを作成しないため、これは存在するはずであることに注意してください。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

ワークスペースの起動中に、プロパティーに定義されるリカバリー不可能なイベントが発生する場合、タイムアウトまで待機するのではなく、ワークスペースをすぐに終了します。これには 'Failed' の理由が含めることができないことに注意してください。これにより、リカバリー不可能なイベントがキャッチされる可能性があるためです。失敗したコンテナーの起動は、CodeReady Workspaces サーバーで明示的に処理されます。

CHE_INFRA_KUBERNETES_PVC_ENABLED

true

che ワークスペースに Persistent Volume Claim(永続ボリューム要求、PVC)を使用するかどうか (バックアッププロジェクト、ログなどをが必要かどうか) を定義します。またはこれを無効にします。

CHE_INFRA_KUBERNETES_PVC_STRATEGY

common

ワークスペース用に PVC を選択する際に使用するストラテジーを定義します。サポートされるストラテジー: - 'common' 同じ Kubernetes namespace 内のすべてのワークスペースは同じ 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/Kubernetes のバージョンがユーザーパーミッションでサブディレクトリーを作成する場合は false に設定する必要があります。関連する問題: https://github.com/kubernetes/kubernetes/issues/41638 このプロパティーは、「common」 PVC ストラテジーが使用される場合にのみ有効であることに注意してください。

CHE_INFRA_KUBERNETES_PVC_NAME

claim-che-workspace

che ワークスペースの 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

che workspace の Persistent Volume Claim(永続ボリューム要求、PVC)のサイズを定義します。形式については以下を参照してください: https://docs.openshift.com/container-platform/4.4/storage/understanding-persistent-storage.html

CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE

centos:centos7

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

CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE_PULL__POLICY

IfNotPresent

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

CHE_INFRA_KUBERNETES_PVC_JOBS_MEMORYLIMIT

250 Mi

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

CHE_INFRA_KUBERNETES_PVC_ACCESS__MODE

ReadWriteOnce

Persistent Volume Claim(永続ボリューム要求、PVC)のアクセスモードを定義します。common PVC ストラテジーの変更の場合、アクセスモードの変更は、同時に実行されるワークスペースの数に影響を与えることに注意してください。実行されている che が RWX アクセスモードので PV を使用している OpenShift フレーバーの場合、同時に実行されるワークスペースの制限は (RAM、CPU などの) che 制限の設定によってのみバインドされます。アクセスモードの詳細は、https://docs.openshift.com/container-platform/4.4/storage/understanding-persistent-storage.html を参照してください。

CHE_INFRA_KUBERNETES_PVC_WAIT__BOUND

true

CodeReady Workspaces Server がワークスペース PVC が作成後にバインドされるまで待機するかどうかを定義します。これは、すべての PVC ストラテジーによって使用されます。volumeBindingModeWaitForFirstConsumer に設定されている場合は、false に設定する必要があります。それ以外の場合は、ワークスペースの起動が PVC の待機フェーズでハングします。デフォルト値は true (PVC がバインドされるまで待機する必要あることを意味します) です。

CHE_INFRA_KUBERNETES_INSTALLER__SERVER__MIN__PORT

10000

インストーラーサーバーの定義されたポート範囲。デフォルトで、インストーラーは独自のポートを使用しますが、これが別のインストーラーサーバーと競合する場合は、OpenShift インフラストラクチャーはインストーラーを再設定し、この範囲から最初に利用可能になるものをこの範囲から最初に利用可能になると削除されます。

CHE_INFRA_KUBERNETES_INSTALLER__SERVER__MAX__PORT

20000

使用されず、削除されます。

CHE_INFRA_KUBERNETES_INGRESS_ANNOTATIONS__JSON

NULL

サーバーを公開するために使用される Ingress のアノテーションを定義します。値は Ingress コントローラーの種類によって異なります。OpenShift インフラストラクチャーは ingress の代わりにルートを使用するため、このプロパティーを無視します。単一ホストのデプロイメントストラテジーが機能するには、URL の書き換えをサポートするコントローラーを使用する必要があります(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 は 0.22.0 よりも前の '%s(.*)' nginx ingress コントローラーに設定する必要があり、rewrite-target は単に '/' に設定し、path transform は '%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 のセキュリティーコンテキストを定義します。Pod 内のコンテナーでは、すべてのプロセスが指定のユーザー ID で実行されることを指定します。これは OpenShift インフラによって無視されます。

CHE_INFRA_KUBERNETES_POD_SECURITY__CONTEXT_FS__GROUP

NULL

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

CHE_INFRA_KUBERNETES_POD_TERMINATION__GRACE__PERIOD__SEC

0

Kubernetes / OpenShift インフラストラクチャーによって作成される Pod の強制終了の猶予期間を定義します。Kubernetes / OpenShift ワークスペースの Pod の強制終了の猶予期間はデフォルトで '0' に設定されます。これにより、Pod をほぼ即時に終了し、ワークスペースを停止するのに必要な時間を短縮できます。注: terminationGracePeriodSeconds が Kubernetes / OpenShift recipe で明示的に設定されている場合、これは上書きされません。

CHE_INFRA_KUBERNETES_CLIENT_HTTP_ASYNC__REQUESTS_MAX

1000

KubernetesClient インスタンスの基礎となる共有 http クライアントでサポートされる並行非同期 Web 要求(http 要求または継続的な Web ソケット呼び出し)の最大数。デフォルト値は 64 および ホストごとに 5 です。マルチユーザーのシナリオでは正しく見えず、CodeReady 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

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

CHE_INFRA_KUBERNETES_TLS__SECRET

 

OpenShift インフラストラクチャーによって無視される TLS でワークスペース Ingress を作成する際に使用するシークレットの名前

CHE_INFRA_KUBERNETES_TLS__KEY

NULL

ワークスペース Ingress に使用する必要がある TLS Secret のキーデータ。キーは 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 Workspaces Server がある同じ namespace で作成される。- クラスター管理のサービスアカウントトークンが CodeReady Workspaces 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_labels に config.openshift.io/inject-trusted-cabundle=true ラベルが含まれる場合、クラスター CA バンドルも伝播されます。

CHE_INFRA_KUBERNETES_TRUSTED__CA_DEST__CONFIGMAP

ca-certs

追加の CA TLS 証明書が含まれるワークスペース namespace の configmap の名前。ワークスペース namespace に che.infra.kubernetes.trusted_ca.src_configmap のコピーを保持します。この設定マップの内容は、プラグインブローカーを含むすべてのワークスペースコンテナーにマウントされます。設定マップ名が既存の設定マップと競合する場合を除き、変更しないでください。生成される設定マップ名は最終的に調整でき、OpenShift namespace で一意にすることができます。元の名前は 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 プロパティーを参照してください。

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

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

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

CHE_INFRA_OPENSHIFT_PROJECT

 

非推奨: このプロパティーの値は変更しないでください。変更すると、既存のワークスペースでデータが失われます。これは新規インストールに設定しないでください。すべてのワークスペースが作成される OpenShift namespace を定義します。これが設定されないと、すべてのワークスペースが新しい namespace に作成されます。ここで、プロジェクト名 = ワークスペース ID になります。<username> および <userid> プレースホルダー (例: che-workspace-<username>) を使用できます。この場合、ユーザーごとに新規プロジェクトが作成されます。新規プロジェクトを作成するパーミッションを持つ OpenShift oauth またはサービスアカウントを使用する必要があります。このプロパティーで参照されるプロジェクトが存在する場合、これはすべてのワークスペースで使用されます。これが存在しない場合、che.infra.kubernetes.namespace.default によって指定される namespace が作成され、使用されます。

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

ワークスペースルートの接尾辞として使用する必要のあるホスト名。たとえば、host=open.che.org の場合、ルートは routed3qrtk.open.che.org のように、有効な DNS 名である必要があります。

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

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

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

CHE_WORKSPACE_PLUGIN__BROKER_METADATA_IMAGE

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

プラグインメタデータブローカーの Docker イメージ。このブローカーは、ワークスペース Pod の起動前に実行する必要があります。このジョブは、ワークスペースの必要なコンテナー、ボリューム、および環境変数をプロビジョニングするため、インストールされたプラグインが有効にされた状態で起動できるようにする必要があります。このイメージはデフォルトで 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 コンテナーとして実行されます。そのジョブは、プラグイン識別子(レジストリーのプラグインへの参照、プラグインの meta.yaml へのリンク)の一覧を取り、ワークスペースに要求された各プラグインについて正しい .vsix と .theia extenion が /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

ワークスペースツールプラグインレジストリーの 'internal' エンドポイントです。有効な 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.allow_user_defined=false - 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' を使用して 'cors.allowed.origins' でこれを有効にし、許可される要求元を示唆します。

CHE_CORS_ALLOW__CREDENTIALS

false

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

4.1.2.9. Factory のデフォルト

表4.9 Factory のデフォルト

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

CHE_FACTORY_DEFAULT__EDITOR

eclipse/che-theia/latest

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

CHE_FACTORY_DEFAULT__PLUGINS

NULL

CodeReady Workspaces 固有のワークスペース記述子が含まれないリモート git リポジトリーから作成されるファクトリーに使用されるプラグイン。複数のプラグインは、コンマ区切りのプラグインである必要があります。例: 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_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 の場合はこれを無効にします。配列に含まれるオブジェクトは、この 仕様 に準拠する必要があります。例: [{'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#

ファクトリーの統合に使用される GitLab エンドポイント。Gitlab サーバー URL のコンマ区切りの一覧、またはインテグレーションが予想されない場合は NULL。

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

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

CHE_MAIL_FROM__EMAIL__ADDRESS

che@noreply.com

メール通知の送信元のメールに使用されるアドレス

4.1.2.15. 組織通知の設定

表4.15 組織通知の設定

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

CHE_ORGANIZATION_EMAIL_MEMBER__ADDED__SUBJECT

You'vebeen added to a Che Organization

CodeReady Workspaces 組織の組織通知の件名に追加され ています。

CHE_ORGANIZATION_EMAIL_MEMBER__ADDED__TEMPLATE

st-html-templates/user_added_to_organization

CodeReady Workspaces 組織の組織通知テンプレートに追加され ています。

CHE_ORGANIZATION_EMAIL_MEMBER__REMOVED__SUBJECT

You'vebeen removed from a Che Organization

CodeReady Workspaces 組織の組織の通知の件名から削除され ている。

CHE_ORGANIZATION_EMAIL_MEMBER__REMOVED__TEMPLATE

st-html-templates/user_removed_from_organization

CodeReady Workspaces 組織の組織通知テンプレートから削除されました

CHE_ORGANIZATION_EMAIL_ORG__REMOVED__SUBJECT

CheOrganization deleted

CodeReady Workspaces Organization で削除され た組織通知の件名。

CHE_ORGANIZATION_EMAIL_ORG__REMOVED__TEMPLATE

st-html-templates/organization_deleted

CodeReady Workspaces Organization で削除され た組織通知テンプレート。

CHE_ORGANIZATION_EMAIL_ORG__RENAMED__SUBJECT

CheOrganization renamed

CodeReady Workspaces Organization の名前変更 の組織通知の件名。

CHE_ORGANIZATION_EMAIL_ORG__RENAMED__TEMPLATE

st-html-templates/organization_renamed

CodeReady Workspaces Organization の名前変更 の組織通知テンプレート。

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

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

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

CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER

NULL

Keycloak に登録されている Openshift アイデンティティープロバイダーのエイリアス。これは、現行の CodeReady Workspaces ユーザーが所有する Openshift namespace にワークスペース OpenShift リソースを作成するために使用されます。che.infra.openshift.project が空白以外の値に設定する場合は NULL に設定する必要があります。詳細は、https://www.keycloak.org/docs/latest/server_admin/index.html#openshift-4 のドキュメントを参照してください。

4.1.2.17. Keycloak の設定

表4.17 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 クライアント ID

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

以下の仕様で詳細に検出エンドポイントを指定する別の OIDC プロバイダーのベース URL。 https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig

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 メカニズムを使用します。このプロパティーが正しく設定されていない場合は、ランタイム例外がスローされます。

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