Cloud Connector: 구성

GitLab Rails 인스턴스는 Cloud Connector Service Access Token을 사용하여 백엔드 서비스에 액세스합니다.

  • 이 토큰은 매일 CustomersDot에서 GitLab 인스턴스로 동기화되어 인스턴스의 로컬 데이터베이스에 저장됩니다.
  • GitLab.com의 경우, 이 단계는 필요하지 않으며, 대신 각 요청마다 단기 토큰을 발급합니다.

Cloud Connector JWT에는 해당 토큰이 유효한 액세스 범위를 정의하는 액세스 범위 목록을 나타내는 사용자 정의 클레임이 포함되어 있습니다.

구성 구조

유료 기능이 GitLab 티어 및 애드온에 어떻게 번들링되는지에 대한 정보는 YAML 파일에 구성되어 저장됩니다.

services:
  code_suggestions:
    backend: 'gitlab-ai-gateway'
    cut_off_date: 2024-02-15 00:00:00 UTC
    min_gitlab_version: '16.8'
    bundled_with:
      duo_pro:
        unit_primitives:
          - code_suggestions
  duo_chat:
    backend: 'gitlab-ai-gateway'
    min_gitlab_version_for_beta: '16.8'
    min_gitlab_version: '16.9'
    bundled_with:
      duo_pro:
        unit_primitives:
          - duo_chat
          - documentation_search

용어

구성에는 다음 정보가 포함됩니다.

  • unit_primitives: 각 단위 기본 요소는 권한/액세스 범위가 조정할 수 있는 가장 작은 논리적 기능을 나타냅니다. 이는 실제 기능을 나타내며, 이 속성의 값은 서비스 액세스 토큰이 발급될 때 범위로 사용됩니다.

    새로운 unit_primitive에 대한 권장되는 명명 규칙은 $VERB_$NOUN이어야 합니다. 예: explain_vulnerability

  • service: 기능 또는 UP(unit primitive)는 기존 서비스(Duo Chat)의 일부로 제공되거나 독립적인 서비스로 제공될 수 있습니다. 예: documentation_search는 Duo Chat 서비스의 일부로 제공되는 단위 기본 요소를 나타냅니다.
  • bundled_with: 애드온 목록을 나타냅니다. 각 단위 기본 요소는 애드온과 번들링됩니다. 예: Code Suggestions와 Duo Chat는 DUO PRO 애드온 아래에서 함께 판매되는 두 가지 기능이었습니다. 동일한 단위 기본 요소는 여러 애드온과 번들링될 수 있습니다. 예: Code Suggestions는 DUO PRODUO ENTERPRISE 애드온과 모두 사용할 수 있습니다.
  • cut_off_date: 기능이 무료로 더 이상 사용할 수 없는 날짜를 나타냅니다 (실험적인 경우). 설정되지 않은 경우, 기능은 기본적으로 무료로 사용할 수 있습니다.
  • min_gitlab_version: 기능을 사용하기 위해 필요한 최소한의 GitLab 버전을 나타냅니다. 설정되지 않은 경우, 기능은 모든 GitLab 버전에서 사용할 수 있습니다.
  • min_gitlab_version_for_free_access: 무료 액세스 기간 동안 서비스를 사용하기 위해 필요한 최소한의 GitLab 버전을 나타냅니다. 설정되지 않은 경우, 서비스는 모든 GitLab 버전에서 사용할 수 있습니다.
  • backend: 이 기능을 제공하는 백엔드의 이름입니다. 이름은 토큰 청중 클레임으로 사용됩니다. 예: gitlab-ai-gateway.

CustomersDot 구성

GitLab 전용 및 자체 호스팅 GitLab 인스턴스에 대한 신뢰 위임은 CustomersDot에게 위임됩니다.

구성은 cloud_connector.yml에 있으며, GitLab.com 구성의 거의 완벽한 사본입니다.

GitLab.com 구성

GitLab.com 배포는 특별한 신뢰를 즐기기 때문에, Cloud Connector 기능에 대한 모든 요청에 대해 자체 서명 및 IJWT를 생성할 수 있는 장점이 있습니다.

적절한 스코프로 토큰을 발급하려면 GitLab.com이 구성에 액세스해야 합니다. 구성은 access_data.yml에 있으며, CustomersDot 구성의 거의 완벽한 사본입니다.