Organization 設定

2025 年 3 月時点で、このドキュメントは見直し中です。Organization 設定の設計の現在の状態を示しますが、今後数ヶ月で変更される可能性があります。

既存の管理エリア設定のほとんどについて、いくつかの例外を除き、Organization への移行が最終目標です。一部の設定についてはインスタンスと Organization の両方のレベルで利用可能にすることも検討しています。

インスタンス設定はインスタンス管理者が管理するハードウェアおよびインフラストラクチャの設定に限定されると予想しています。

設定は、Organization を別のインスタンスに移動した際に顧客が変化を感じないように構築される必要があります。これはインスタンスと Organization レベルの設定の相互作用を慎重に考慮する必要があることを意味します。

設定の継承

Organization における設定の継承については、階層的なアプローチを採用しています:

  1. インスタンスレベルの設定
  2. Organization レベルの設定
  3. グループレベルの設定(該当する場合)
  4. プロジェクトレベルの設定(該当する場合)

下位レベルの設定は、ロックされていない限り、上位レベルの設定を上書きでき、よりきめ細かい制御が可能です。 この継承モデルにより、以下が保証されます:

  • 管理者がインスタンスレベルでデフォルト値を設定できる。
  • Organization オーナーが Organization 全体の設定をカスタマイズできる。
  • グループやプロジェクトのメンテナーが必要に応じてさらに設定を調整できる。

設定の種類

Organization の設定を 3 つの主な種類に分類します:

  1. Organization 専用設定: Organization に特有で、インスタンスレベルには存在しない設定。
  2. 継承設定: インスタンスと Organization の両方のレベルで設定でき、Organization の設定が優先される。
  3. インスタンス専用設定: インスタンスレベルのままで、Organization には移行されない設定。

移行戦略

既存の管理エリア設定を Organization に移行する際は、以下のガイドラインに従います:

  1. 設定のスコープを特定し、Organization 専用、継承、またはインスタンス専用のままにするかを判断する。
  2. 継承設定については、Organization レベルの設定をそのグループやプロジェクトに均一に適用するメカニズムを実装する。
  3. 新しい設定の場所と継承モデルを反映するように UI を更新する。
  4. Organization のコンテキストで各設定がどのように動作するかの明確なドキュメントを提供する。

移行フェーズ中、設定は管理エリアから Organization に移動します。混乱を最小限に抑え、管理者の体験を維持するために、Organization に移動される設定は管理エリアでも引き続き表示されるようにします。

ユースケース

1 つのインスタンスに 1 つの Organization(セルフマネージド)

管理エリアから Organization に移行された設定は、両方の設定エリアに表示される必要があります。 管理エリアの設定には、それが Organization の設定であることを示す表示が必要です。 管理エリアまたは Organization で設定を変更すると、両方のエリアの設定が更新される必要があります。

インスタンス管理者は管理エリアの設定にアクセスして更新できる必要があります。 Organization オーナーとインスタンス管理者は Organization の設定にアクセスして更新できる必要があります。 Organization メンバーは Organization の設定にアクセスできません。

1 つのインスタンスに複数の Organization(GitLab.com)

管理エリアから Organization に移行された設定は、両方の設定エリアに表示される必要があります。 管理エリアの設定には、表示または編集を有効にするために Organization を選択する必要があります。 管理エリア内で設定を更新すると、選択した Organization にのみ適用されます。Organization 内で設定を更新すると、その Organization が選択されている場合、管理エリアの設定も更新されます。

インスタンス管理者はすべての Organization の管理エリアの設定にアクセスして更新できる必要があります。 Organization オーナーは自分がオーナーである Organization の設定にアクセスして更新できる必要があります。 Organization メンバーは設定にアクセスできません。

将来の考慮事項

Organization 機能を引き続き開発するにあたり、以下を検討する必要があります:

  • 設定がどのレベルから継承されているかを示す UI 上のビジュアルインジケーターの実装。
  • Organization の設定をインスタンスのデフォルトにリセットするオプションの提供。
  • Organization の設定をプログラムで管理する API の開発。
  • 素早い Organization セットアップのための設定テンプレートやプロファイルの可能性の探索。

これらの設定構造を慎重に設計・実装することで、ユーザーが GitLab インスタンスと Organization を管理するための柔軟で強力な方法を提供できます。