6.2. プロジェクトのセルフプロビジョニング
開発者の独自プロジェクトの作成を許可することができます。テンプレート に基づいてプロジェクトをプロビジョニングするエンドポイントがあります。Web コンソールおよび oc new-project
コマンドは、開発者による 新規プロジェクトの作成 時にこのエンドポイントを使用します。
6.2.1. 新規プロジェクトのテンプレートの変更
API サーバーは、master-config.yaml ファイル の projectRequestTemplate
パラメーターで識別されるテンプレートに基づいてプロジェクトを自動的にプロビジョニングします。パラメーターが定義されない場合、API サーバーは要求される名前でプロジェクトを作成するデフォルトテンプレートを作成し、要求するユーザーをプロジェクトの admin (管理者) ロールに割り当てます。
独自のカスタムプロジェクトテンプレートを作成するには、以下を実行します。
現在のデフォルトプロジェクトテンプレートを使って開始します。
$ oc adm create-bootstrap-project-template -o yaml > template.yaml
- オブジェクトを追加するか、または既存オブジェクトを変更することにより、テキストエディターを使用して template.yaml ファイルを変更します。
テンプレートを読み込みます。
$ oc create -f template.yaml -n default
読み込まれたテンプレートを参照するよう master-config.yaml ファイルを変更します。
... projectConfig: projectRequestTemplate: "default/project-request" ...
プロジェクト要求が送信されると、API はテンプレートで以下のパラメーターを置き換えます。
パラメーター | 説明 |
---|---|
PROJECT_NAME | プロジェクトの名前。必須。 |
PROJECT_DISPLAYNAME | プロジェクトの表示名。空にできます。 |
PROJECT_DESCRIPTION | プロジェクトの説明。空にできます。 |
PROJECT_ADMIN_USER | 管理ユーザーのユーザー名。 |
PROJECT_REQUESTING_USER | 要求するユーザーのユーザー名。 |
API へのアクセスは、self-provisioner
ロール と self-provisioners
のクラスターのロールバインディングで開発者に付与されます。デフォルトで、このロールはすべての認証された開発者が利用できます。