Workspaces ADR 007: プライベートプロジェクトからのワークスペース作成

コンテキスト

ユーザーがプライベートプロジェクトからワークスペースを作成できるようにしたいと考えています。

決定

新しいワークスペースごとにユーザーに紐づいたパーソナルアクセストークン(PAT)を作成し、ワークスペースに注入します。 このトークンはワークスペースの起動時にプロジェクトをクローンするために使用されます。 このトークンはユーザーがワークスペースを使用中に行うすべての git 操作に使用されます。

詳細は こちら をご覧ください。

結果

トークンはワークスペース内で環境変数/ファイルとして利用可能になります。 信頼できないコンテナイメージが使用された場合、トークンが流出する可能性があります。

ユーザーは CI ジョブのように信頼できるプロジェクトからワークスペースをプロビジョニングすることが期待されているため、現時点ではこれは許容範囲です。

代替案

PAT の代わりにエフェメラルトークン(JWT/OAuth/OIDC など)の使用を検討しましたが、それぞれに独自の課題がありました。 これにより、内部サービスと GitLab Rails モノリス間の標準化された認証と認可 を持つという大きなニーズが明らかになりました。