GitLab Silent Mode

Tier: Free, Premium, Ultimate Offering: Self-Managed

Silent Mode을 사용하면 GitLab의 외부 통신(예: 이메일)을 무음으로 설정할 수 있습니다. Silent Mode은 사용 중인 환경에 사용할 목적이 아닙니다. 두 가지 사용 사례는 다음과 같습니다:

  • Geo 사이트 프로모션 검증. 재해 복구 솔루션의 일환으로 보조 Geo 사이트가 있습니다. 주 최저 지연 시간을 사용자에게 제공하는 지역에 주 사이트가 있습니다. 이를 실제로 작동하는 재해 복구 계획을 보장하기 위해 보조 사이트를 주 사이트로 프로모션하는 정기적인 테스트를 수행하길 원합니다. 그러나 주기적인 테스트 사이에 다운타임을 일으키지 않으려 합니다. 따라서 주 사이트를 그대로 유지한 채 보조 사이트를 프로모션합니다. 프로모션에 일환으로 Silent Mode을 활성화하여 이 문제를 피할 수 있습니다.
  • GitLab 백업 유효성 검증. 백업이 성공적으로 복원되는지 테스트하기 위해 테스트 인스턴스를 설정했습니다. 복원 과정 중에 예를 들어 Silent Mode을 활성화하면 유효하지 않은 이메일을 사용자에게 보내지 않게 됩니다.

Silent Mode 활성화

필수 조건:

  • 관리자 액세스가 있어야 합니다.

Silent Mode을 활성화하는 여러 가지 방법이 있습니다:

  • 웹 UI

    1. 왼쪽 사이드바에서 맨 아래에서 관리를 선택합니다.
    2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
    3. Silent Mode를 확장하고 Silent Mode 활성화를 토글합니다.
    4. 변경 사항이 즉시 저장됩니다.
  • API:

    curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab-url>/api/v4/application/settings?silent_mode_enabled=true"
    
  • Rails 콘솔:

    ::Gitlab::CurrentSettings.update!(silent_mode_enabled: true)
    

효력이 발생하는 데 최대 1분이 소요될 수 있습니다. Issue 405433에서는 이 지연을 제거하는 것이 제안되고 있습니다.

Silent Mode 비활성화

요구 사항:

  • 관리자 액세스가 있어야 합니다.

Silent Mode을 비활성화하는 여러 가지 방법이 있습니다:

  • 웹 UI

    1. 왼쪽 사이드바에서 맨 아래에서 관리를 선택합니다.
    2. 왼쪽 사이드바에서 설정 > 일반을 선택합니다.
    3. Silent Mode를 확장하고 Silent Mode 활성화를 토글합니다.
    4. 변경 사항이 즉시 저장됩니다.
  • API:

    curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab-url>/api/v4/application/settings?silent_mode_enabled=false"
    
  • Rails 콘솔:

    ::Gitlab::CurrentSettings.update!(silent_mode_enabled: false)
    

효력이 발생하는 데 최대 1분이 소요될 수 있습니다. Issue 405433에서는 이 지연을 제거하는 것이 제안되고 있습니다.

Silent Mode에서의 GitLab 기능 동작

이 섹션에서는 Silent Mode에서 GitLab의 현재 동작을 문서화합니다. Silent Mode의 첫 번째 반복의 작업은 Epic 9826에서 추적됩니다.

Silent Mode이 활성화되면 모든 사용자를 대상으로 페이지 상단에 “모든 외부 통신이 차단됩니다.”라는 배너가 표시됩니다.

차단된 외부 통신

다음 기능에서 Silent Mode에 의해 차단된 외부 통신이 입니다.

기능 비고
GitLab Duo GitLab Duo 기능은 외부 언어 모델 제공 업체에 연락할 수 없습니다.
프로젝트 및 그룹 웹훅 UI를 통한 웹훅 테스트는 HTTP 상태 500 응답으로 결과를 내보냅니다.
시스템 훅  
원격 미러 원격 미러로의 푸시가 건너뛰어집니다. 원격 미러에서의 pull이 건너뛰어집니다.
실행 가능한 통합 통합이 실행되지 않습니다.
서비스 데스크 수신 이메일은 여전히 문제를 일으키지만, 서비스 데스크로 이메일을 보낸 사용자들은 문제가 생성되거나 그들의 문제에 대한 코멘트에 대해 알림을 받지 않습니다.
외부 이메일 GitLab에 의해 이메일을 발송해야 하는 시점에 이메일 대신 버려집니다. 어느 곳에도 대기열에 들어가지 않습니다.
외부 HTTP 요청 특정 기능이 명시적으로 차단되지 않은 경우 많은 HTTP 요청이 차단됩니다. 이로 인해 오류가 발생할 수 있습니다. Silent Mode에서의 특정 오류가 테스트에 문제를 일으킬 경우 GitLab Support를 상담하세요.

차단되지 않은 외부 통신

다음 기능에서는 Silent Mode에 의해 차단되지 않은 외부 통신이 있습니다.

기능 비고
의존성 프록시 캐시된 이미지가 아닌 이미지를 가져오면 여전히 일반적으로 소스로부터 가져옵니다. Pull 요율 제한을 고려하세요.
파일 후크  
서버 후크  
고급 검색 두 GitLab 인스턴스가 동일한 고급 검색 인스턴스를 사용하는 경우 두 인스턴스 모두 검색 데이터를 수정할 수 있습니다. 이는 주된 Geo 사이트가 활성화된 상태에서 보조 Geo 사이트로 프로모션한 후 같은 인스턴스로 이동하는 등에 발생할 수 있는 분리된 시나리오입니다.
Snowplow 제출된 요청을 차단하자는 제안이 있습니다.
Deprecated Kubernetes Connections 제출된 요청을 차단하자는 제안이 있습니다.
컨테이너 레지스트리 웹훅 제출된 요청을 차단하자는 제안이 있습니다.