3.3.5. ユーザーによるワークスペースのデプロイメントラベルおよびアノテーションの定義を許可する

本セクションでは、factory パラメーターを使用してワークスペースのデプロイメントのラベルとアノテーションをカスタマイズする方法を説明します。

前提条件

手順

  1. URL \https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https://<hostURL>/devfile.yaml&workspaceDeploymentLabels=<url_encoded_comma_separated_key_values>&workspaceDeploymentAnnotations=<url_encoded_comma_separated_key_values override> に移動してワークスペースを開きます。

例3.6 deployment labelsを上書きする例

追加する以下のラベルについて検討します。

ike.target=preference-v1
ike.session=test

ラベルを追加または上書きするには、以下のファクトリー URL を使用します。

https://workspaces.openshift.com/f?url=<repository-url>&workspaceDeploymentLabels=ike.target%3Dpreference-v1%2Cike.session%3Dtest

作成されるワークスペースには、以下のデプロイメントラベルが含まれます。

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: "2020-10-27T14:03:26Z"
  generation: 1
  labels:
    che.component.name: che-docs-dev
    che.original_name: che-docs-dev
    che.workspace_id: workspacegln2g1shejjufpkd
    ike.session: test
    ike.target: preference-v1
  name: workspacegln2g1shejjufpkd.che-docs-dev
  namespace: opentlc-mgr-che
  resourceVersion: "107516"
spec:
...

例3.7 deployment annotationsを上書きする例

追加する以下のアノテーションについて検討します。

ike.A1=preference-v1
ike.A=test

アノテーションを追加または上書きするには、以下のファクトリー URL を使用します。

https://workspaces.openshift.com/f?url=<repository-url>&workspaceDeploymentAnnotations=ike.A1%3Dpreference-v1%2Cike.A%3Dtest

生成されるワークスペースには、以下のデプロイメントアノテーションが含まれます。

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
    ike.A: test
    ike.A1: preference-v1
  creationTimestamp: "2020-10-28T09:58:52Z"
  generation: 1
  labels:
    che.component.name: che-docs-dev
    che.original_name: che-docs-dev
    che.workspace_id: workspacexrtf710v64rl5ouz
  name: workspacexrtf710v64rl5ouz.che-docs-dev
  namespace: opentlc-mgr-che
  resourceVersion: "213191"
...

検証手順

デプロイメントラベルとアノテーションを表示するには、以下を実行します。

  1. ユーザーの namespace の名前を取得します。

  1. CodeReady Workspaces Dashboard を使用して、Workspaces タブに移動し、OpenShift namespace フィールドの名前を読み取ります。

  1. クラスターにログインします。

    1. checluster CR (カスタムリソース) から CodeReady Workspaces クラスター URL を取得するには、以下を実行します。

      $ oc get checluster --output jsonpath='{.items[0].status.cheURL}'
    2. ログイン:

      $ oc login -u <username> -p <password> <cluster_URL>

  1. 最初の手順の OpenShift namespace 名を使用して、プロジェクトのすべてのデプロイメントのデプロイメントラベルとアノテーションを表示します。

    $ oc get deployment -n <NAMESPACE> -o=custom-columns="NAMESPACE:.metadata.namespace,NAME:.metadata.name,LABELS:.metadata.labels,ANNOTATIONS:.metadata.annotations"