- 기본 구성
- TLS 구성
- 외부 이메일 구성
- 수신 이메일 구성
- 서비스 데스크 이메일 구성
- 프로젝트 기본 기능 구성
- GitLab Shell
- RBAC 설정
- 고급 NGINX Ingress 구성
- 클러스터 내고급 Redis 구성
- 고급 레지스트리 구성
- 외부 차트
- 사용자 정의 이미지 사용
GitLab Helm 차트 배포 옵션
이 페이지는 GitLab 차트의 일반적으로 사용되는 값들을 나열합니다. 사용 가능한 옵션의 완전한 목록은 각 서브차트의 문서를 참조하십시오.
helm install
명령을 사용하여 YAML 파일 및 --values <values file>
플래그 또는 여러 --set
플래그를 사용하여 값을 전달할 수 있습니다. 릴리스에 필요한 오버라이드만 포함하는 값 파일을 사용하는 것이 권장됩니다.
기본 values.yaml
파일의 소스는 여기에서 찾을 수 있습니다. 이러한 내용은 릴리스별로 변경되지만 per-version 기반으로 Helm 자체를 사용하여 이를 검색할 수 있습니다:
helm inspect values gitlab/gitlab
기본 구성
매개변수 | 설명 | 기본값 |
---|---|---|
gitlab.migrations.initialRootPassword.key
| 마이그레이션 시크릿 내 루트 계정 비밀번호를 가리키는 키 | password
|
gitlab.migrations.initialRootPassword.secret
| 루트 계정 비밀번호를 포함하는 전역 시크릿의 이름 | {Release.Name}-gitlab-initial-root-password
|
global.gitlab.license.key
| 라이센스 시크릿 내 엔터프라이즈 라이센스를 가리키는 키 | license
|
global.gitlab.license.secret
| 엔터프라이즈 라이센스를 포함하는 전역 시크릿의 이름 | 없음 |
global.application.create
| GitLab을 위한 Application 리소스를 생성 | false
|
global.edition
| 설치할 GitLab의 에디션. 엔터프라이즈 에디션 (ee ) 또는 커뮤니티 에디션 (ce )
| ee
|
global.gitaly.enabled
| Gitaly 활성화 플래그 | true |
global.hosts.domain
| 모든 공개 서비스에 사용될 도메인 이름 | 필수 |
global.hosts.externalIP
| NGINX Ingress 컨트롤러에 할당할 정적 IP | 필수 |
global.hosts.ssh
| Git SSH 액세스에 사용될 도메인 이름 | gitlab.{global.hosts.domain}
|
global.imagePullPolicy
| 사용되지 않는 것: 대신 global.image.pullPolicy 사용
| IfNotPresent
|
global.image.pullPolicy
| 모든 차트에 대한 기본 imagePullPolicy 설정 |
없음 (기본 동작은 IfNotPresent )
|
global.image.pullSecrets
| 모든 차트에 대한 기본 imagePullSecrets 설정 (name 및 값 쌍의 목록 사용)
| 없음 |
global.minio.enabled
| MinIO 활성화 플래그 | true
|
global.psql.host
| 외부 psql의 전역 호스트명, 서브차트의 psql 구성 재정의 | 클러스터 내 비 프로덕션 PostgreSQL 사용 |
global.psql.password.key
| psql 시크릿 내 psql 비밀번호를 가리키는 키 | 클러스터 내 비 프로덕션 PostgreSQL 사용 |
global.psql.password.secret
| psql 비밀번호를 포함하는 전역 시크릿의 이름 | 클러스터 내 비 프로덕션 PostgreSQL 사용 |
global.registry.bucket
| 레지스트리 버킷 이름 | registry
|
global.service.annotations
| 모든 Service 에 추가할 주석
| {} |
global.raills.sessionStore.sessionCookieTokenPrefix
| 생성된 세션 쿠키의 접두사 | ”” |
global.deployment.annotations
| 모든 Deployment 에 추가할 주석
| {} |
global.time_zone
| 전역 시간대 | UTC |
TLS 구성
매개변수 | 설명 | 기본값 |
---|---|---|
certmanager-issuer.email
| Let’s Encrypt 계정용 이메일 주소 | false |
gitlab.webservice.ingress.tls.secretName
| GitLab의 TLS 인증서 및 키를 포함하는 기존 Secret
| 없음 |
gitlab.webservice.ingress.tls.smartcardSecretName
| GitLab 스마트카드 인증 도메인의 TLS 인증서 및 키를 포함하는 기존 Secret
| 없음 |
global.hosts.https
| https로 제공 | true |
global.ingress.configureCertmanager
| Let’s Encrypt에서 인증서를 가져오도록 cert-manager 구성 | true |
global.ingress.tls.secretName
| 와일드카드 TLS 인증서 및 키를 포함하는 기존 Secret
| 없음 |
minio.ingress.tls.secretName
| MinIO의 TLS 인증서 및 키를 포함하는 기존 Secret
| 없음 |
registry.ingress.tls.secretName
| 레지스트리용 TLS 인증서 및 키를 포함하는 기존 Secret
| 없음 |
외부 이메일 구성
매개변수 | 설명 | 기본값 |
---|---|---|
global.email.display_name
| GitLab의 이메일 발신자로 표시될 이름 | GitLab
|
global.email.from
| GitLab의 이메일 발신자로 표시될 이메일 주소 | gitlab@example.com
|
global.email.reply_to
| GitLab의 이메일에 나열된 회신용 이메일 주소 | noreply@example.com
|
global.email.smime.certName
| S/MIME 인증서 파일 위치를 찾는 데 사용되는 시크릿 오브젝트 키 값 | tls.crt
|
global.email.smime.enabled
| 외부 이메일에 S/MIME 서명 추가 | false |
global.email.smime.keyName
| S/MIME 키 파일 위치를 찾는 데 사용되는 시크릿 오브젝트 키 값 | tls.key
|
global.email.smime.secretName
| X.509 인증서를 찾기 위한 Kubernetes 시크릿 오브젝트 (S/MIME Cert를 위한 생성) | ”” |
global.email.subject_suffix
| GitLab에서 나가는 모든 이메일에 대한 주제의 접미사 | ”” |
global.smtp.address
| 원격 메일 서버의 호스트명 또는 IP | smtp.mailgun.org
|
global.smtp.authentication
| SMTP 인증 유형 (“plain”, “login”, “cram_md5” 또는 ““(인증 없음) | plain
|
global.smtp.domain
| SMTP용 선택적 HELO 도메인 | ”” |
global.smtp.enabled
| 외부 이메일 활성화 | false |
global.smtp.openssl_verify_mode
| TLS 검증 모드 (“none”, “peer”, “client_once”, “fail_if_no_peer_cert”) | peer
|
global.smtp.password.key
| SMTP 비밀번호를 포함하는 global.smtp.password.secret 의 키
| password
|
global.smtp.password.secret
| SMTP 비밀번호를 포함하는 Secret 의 이름
| ”” |
global.smtp.port
| SMTP용 포트 번호 | 2525
|
global.smtp.starttls_auto
| 메일 서버에서 TLS(SMTPS: 직접 TLS 연결을 통한 SMTP)를 사용하는지 여부 | false |
global.smtp.tls
| SMTP/TLS 활성화 (SMTPS: 직접 TLS 연결을 통한 SMTP) | 없음 |
global.smtp.user_name
| SMTP 인증용 사용자 이름 | ”” |
global.smtp.open_timeout
| 연결을 시도하는 동안 대기할 시간(초) | 30
|
global.smtp.read_timeout
| 한 번에 읽는 동안 대기할 시간(초) | 60
|
global.smtp.pool
| SMTP 연결 풀링 활성화 | false |
Microsoft Graph Mailer 설정
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.microsoft_graph_mailer.enabled
| Microsoft Graph API를 통한 발신 이메일 활성화 | false |
global.appConfig.microsoft_graph_mailer.user_id
| Microsoft Graph API를 사용하는 사용자의 고유 식별자 | ”” |
global.appConfig.microsoft_graph_mailer.tenant
| 애플리케이션이 작동할 디렉터리 테넌트(GUID 또는 도메인 이름 형식) | ”” |
global.appConfig.microsoft_graph_mailer.client_id
| 앱에 할당된 애플리케이션 ID. 이 정보는 앱을 등록한 포털에서 찾을 수 있습니다. | ”” |
global.appConfig.microsoft_graph_mailer.client_secret.key
| 애플리케이션 등록 포털에서 앱을 위해 생성한 클라이언트 시크릿을 포함하는 global.appConfig.microsoft_graph_mailer.client_secret.secret 의 키
| secret
|
global.appConfig.microsoft_graph_mailer.client_secret.secret
| 애플리케이션 등록 포털에서 앱을 위해 생성한 클라이언트 시크릿을 포함하는 Secret 의 이름
| ”” |
global.appConfig.microsoft_graph_mailer.azure_ad_endpoint
| Azure Active Directory 엔드포인트의 URL | https://login.microsoftonline.com
|
global.appConfig.microsoft_graph_mailer.graph_endpoint
| Microsoft Graph 엔드포인트의 URL | https://graph.microsoft.com
|
수신 이메일 구성
공통 설정
자세한 내용은 수신 이메일 구성 예제 문서를 참조하세요.
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.incomingEmail.address
| 답장할 항목을 참조하는 이메일 주소(예: gitlab-incoming+%{key}@gmail.com ). +%{key} 접미사는 이메일 주소 전체에 포함되어야 하며 다른 값으로 대체되어서는 안 됩니다.
| empty |
global.appConfig.incomingEmail.enabled
| 수신 이메일 활성화 여부 | false |
global.appConfig.incomingEmail.deleteAfterDelivery
| 메시지를 삭제로 표시할지 여부. IMAP의 경우 삭제로 표시된 메시지는 expungedDeleted 가 true 로 설정된 경우 삭제되며, Microsoft Graph의 경우 삭제된 메시지는 시간이 지난 후 자동으로 삭제됩니다.
| true |
global.appConfig.incomingEmail.expungeDeleted
| 전송 후 삭제된 메시지를 메일박스에서 영구적으로 제거할지 여부. Microsoft Graph에서는 삭제된 메시지가 자동으로 삭제되므로 IMAP에만 해당됩니다. | false |
global.appConfig.incomingEmail.logger.logPath
| JSON 구조화된 로그를 작성할 경로. 이 로깅을 비활성화하려면 ““로 설정하세요. | /dev/stdout
|
global.appConfig.incomingEmail.inboxMethod
| IMAP(imap ) 또는 OAuth2(microsoft_graph )를 사용하여 Microsoft Graph API로 메일 읽기
| imap
|
global.appConfig.incomingEmail.deliveryMethod
| 메일룸이 이메일 콘텐츠를 처리를 위해 Rails 앱에 보낼 방법. sidekiq 또는 webhook 중 하나를 선택합니다.
| webhook
|
gitlab.appConfig.incomingEmail.authToken.key
| 수신 이메일 시크릿에 있는 수신 이메일 토큰의 키. 전달 방법이 웹훅인 경우 유효합니다. | authToken
|
gitlab.appConfig.incomingEmail.authToken.secret
| 수신 이메일 인증 시크릿. 전달 방법이 웹훅인 경우 유효합니다. | {Release.Name}-incoming-email-auth-token
|
IMAP 설정
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.incomingEmail.host
| IMAP용 호스트 | empty |
global.appConfig.incomingEmail.idleTimeout
| IDLE 명령 시간 제한 | 60
|
global.appConfig.incomingEmail.mailbox
| 수신 메일이 도착할 메일박스 | inbox
|
global.appConfig.incomingEmail.password.key
| IMAP 비밀번호를 포함하는 global.appConfig.incomingEmail.password.secret 의 키
| password
|
global.appConfig.incomingEmail.password.secret
| IMAP 비밀번호를 포함하는 Secret 의 이름
| empty |
global.appConfig.incomingEmail.port
| IMAP용 포트 | 993
|
global.appConfig.incomingEmail.ssl
| IMAP 서버에서 SSL을 사용하는지 여부 | true |
global.appConfig.incomingEmail.startTls
| IMAP 서버에서 StartTLS를 사용하는지 여부 | false |
global.appConfig.incomingEmail.user
| IMAP 인증용 사용자 이름 | empty |
Microsoft Graph 설정
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.incomingEmail.tenantId
| Microsoft Azure Active Directory의 테넌트 ID | empty |
global.appConfig.incomingEmail.clientId
| OAuth2 앱의 클라이언트 ID | empty |
global.appConfig.incomingEmail.clientSecret.key
| OAuth2 클라이언트 시크릿을 포함하는 appConfig.incomingEmail.clientSecret.secret 의 키
| empty |
global.appConfig.incomingEmail.clientSecret.secret
| OAuth2 클라이언트 시크릿을 포함하는 Secret 의 이름
| secret |
global.appConfig.incomingEmail.pollInterval
| 새로운 메일을 폴링할 간격(초) | 60 |
global.appConfig.incomingEmail.azureAdEndpoint
| Azure Active Directory 엔드포인트의 URL (예: https://login.microsoftonline.com )
| empty |
global.appConfig.incomingEmail.graphEndpoint
| Microsoft Graph 엔드포인트의 URL (예: https://graph.microsoft.com )
| empty |
시크릿 생성 방법은 시크릿 생성 지침을 참조하세요.
서비스 데스크 이메일 구성
서비스 데스크에 대한 요구 사항으로 인해 수신 메일은 구성되어야 합니다. 수신 메일과 서비스 데스크의 이메일 주소는 이메일 서브 주소를 사용해야 합니다. 각 섹션에 이메일 주소를 설정할 때 사용자 이름에 추가된 태그는 +%{key}
여야 합니다.
공통 설정
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.serviceDeskEmail.address
| 회신할 항목을 참조하는 이메일 주소(예: project_contact+%{key}@gmail.com )
| 비어 있음 |
global.appConfig.serviceDeskEmail.enabled
| 서비스 데스크 이메일 활성화 | false |
global.appConfig.serviceDeskEmail.deleteAfterDelivery
| 메시지를 삭제로 표시할지 여부. IMAP의 경우, 삭제로 표시된 메시지는 expungedDeleted 가 true 로 설정된 경우에만 삭제됩니다. Microsoft Graph의 경우, 일정 시간 후에 자동으로 삭제되므로 여기를 false로 설정하세요.
| true |
global.appConfig.serviceDeskEmail.expungeDeleted
| 전달 후 삭제로 표시된 메시지를 메일함에서 영구적으로 제거할지 여부. IMAP에만 관련됩니다. Microsoft Graph는 삭제된 메시지를 자동으로 제거합니다. | false |
global.appConfig.serviceDeskEmail.logger.logPath
| JSON 구조화된 로그를 작성할 경로. 이 로깅을 비활성화하려면 ““로 설정하세요. | /dev/stdout
|
global.appConfig.serviceDeskEmail.inboxMethod
| IMAP(imap ) 또는 OAuth2를 사용하여 Microsoft Graph API(microsoft_graph )로 메일 읽기
| imap
|
global.appConfig.serviceDeskEmail.deliveryMethod
| 메일룸이 이메일 내용을 Rails 앱으로 처리하기 위해 전송하는 방법. sidekiq 또는 webhook 중 하나를 선택하세요.
| webhook
|
gitlab.appConfig.serviceDeskEmail.authToken.key
| 서비스 데스크 이메일 토큰의 키. 전달 방법이 웹훅인 경우에 유효합니다. | authToken
|
gitlab.appConfig.serviceDeskEmail.authToken.secret
| 서비스 데스크 이메일 인증 비밀. 전달 방법이 웹훅인 경우에 유효합니다. | {Release.Name}-service-desk-email-auth-token
|
IMAP 설정
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.serviceDeskEmail.host
| IMAP용 호스트 | 비어 있음 |
global.appConfig.serviceDeskEmail.idleTimeout
| IDLE 명령 시간 초과 | 60
|
global.appConfig.serviceDeskEmail.mailbox
| 서비스 데스크 메일이 도착하는 메일함. | inbox
|
global.appConfig.serviceDeskEmail.password.key
| IMAP 비밀번호를 포함한 global.appConfig.serviceDeskEmail.password.secret 에서의 키
| password
|
global.appConfig.serviceDeskEmail.password.secret
| IMAP 비밀번호가 포함된 Secret 의 이름
| 비어 있음 |
global.appConfig.serviceDeskEmail.port
| IMAP용 포트 | 993
|
global.appConfig.serviceDeskEmail.ssl
| IMAP 서버가 SSL을 사용하는지 여부 | true |
global.appConfig.serviceDeskEmail.startTls
| IMAP 서버가 StartTLS를 사용하는지 여부 | false |
global.appConfig.serviceDeskEmail.user
| IMAP 인증용 사용자 이름 | 비어 있음 |
Microsoft Graph 설정
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.serviceDeskEmail.tenantId
| Microsoft Azure Active Directory의 테넌트 ID | 비어 있음 |
global.appConfig.serviceDeskEmail.clientId
| OAuth2 앱의 클라이언트 ID | 비어 있음 |
global.appConfig.serviceDeskEmail.clientSecret.key
| OAuth2 클라이언트 비밀을 담은 appConfig.serviceDeskEmail.clientSecret.secret 에서의 키
| 비어 있음 |
global.appConfig.serviceDeskEmail.clientSecret.secret
| OAuth2 클라이언트 비밀을 포함하는 Secret 의 이름
| secret |
global.appConfig.serviceDeskEmail.pollInterval
| 새 메일을 가져올 간격(초) | 60 |
global.appConfig.serviceDeskEmail.azureAdEndpoint
| Azure Active Directory 엔드포인트의 URL(예: https://login.microsoftonline.com )
| 비어 있음 |
global.appConfig.serviceDeskEmail.graphEndpoint
| Microsoft Graph 엔드포인트의 URL(예: https://graph.microsoft.com )
| 비어 있음 |
시크릿 생성 지침을 참조하세요.
프로젝트 기본 기능 구성
매개변수 | 설명 | 기본값 |
---|---|---|
global.appConfig.defaultProjectsFeatures.builds
| 프로젝트 빌드 활성화 | true |
global.appConfig.defaultProjectsFeatures.containerRegistry
| 컨테이너 레지스트리 프로젝트 기능 활성화 | true |
global.appConfig.defaultProjectsFeatures.issues
| 프로젝트 이슈 활성화 | true |
global.appConfig.defaultProjectsFeatures.mergeRequests
| 프로젝트 병합 요청 활성화 | true |
global.appConfig.defaultProjectsFeatures.snippets
| 프로젝트 스니펫 활성화 | true |
global.appConfig.defaultProjectsFeatures.wiki
| 프로젝트 위키 활성화 | true |
GitLab Shell
매개변수 | 설명 | 기본값 |
---|---|---|
global.shell.authToken
| 공유 비밀을 포함하는 시크릿 | |
global.shell.hostKeys
| SSH 호스트 키를 포함하는 시크릿 | |
global.shell.port
| SSH용 Ingress에 노출할 포트 번호 | |
global.shell.tcp.proxyProtocol
| SSH Ingress에서 ProxyProtocol 활성화 | false |
RBAC 설정
매개변수 | 설명 | 기본값 |
---|---|---|
certmanager.rbac.create
| RBAC 리소스 생성 및 사용 | true |
gitlab-runner.rbac.create
| RBAC 리소스 생성 및 사용 | true |
nginx-ingress.rbac.create
| 기본 RBAC 리소스 생성 및 사용 | false |
nginx-ingress.rbac.createClusterRole
| Cluster 역할 생성 및 사용 | false |
nginx-ingress.rbac.createRole
| 네임스페이스 별 역할 생성 및 사용 | true |
prometheus.rbac.create
| RBAC 리소스 생성 및 사용 | true |
nginx-ingress.rbac.create
를 false
로 설정하여 RBAC 규칙을 직접 구성해야 할 경우, GitLab 차트 v8.5.0+에서 추가 규칙을 구성해야 합니다.
고급 NGINX Ingress 구성
nginx-ingress
값을 사용하여 NGINX Ingress 값을 작성합니다. 예를 들어, 컨트롤러 이미지 태그를 설정하려면 nginx-ingress.controller.image.tag
를 사용하십시오.
nginx-ingress
차트를 참조하세요.
클러스터 내고급 Redis 구성
매개변수 | 설명 | 기본값 |
---|---|---|
redis.install
|
bitnami/redis 차트 설치
| true |
redis.existingSecret
| Redis 서버에서 사용할 Secret 지정 | gitlab-redis-secret
|
redis.existingSecretKey
| 비밀번호가 저장된 Secret 키 지정 | redis-password
|
Redis 서비스의 추가 구성은 Redis 차트의 구성 설정을 사용해야 합니다.
고급 레지스트리 구성
매개변수 | 설명 | 기본값 |
---|---|---|
registry.authEndpoint
| 인증 엔드포인트 | 기본값으로는 정의되지 않음 |
registry.enabled
| 도커 레지스트리 사용 여부 | true |
registry.httpSecret
| Https 시크릿 | |
registry.minio.bucket
| MinIO 레지스트리 버킷 이름 | registry
|
registry.service.annotations
|
Service 에 추가할 주석
| {}
|
registry.securityContext.fsGroup
| Pod를 시작할 그룹 ID | 1000
|
… (이어짐) |
외부 차트
GitLab은 다른 여러 차트를 활용합니다. 이러한 차트는 상위-하위 관계로 취급됩니다.
구성하려는 모든 속성이 차트-이름.속성
으로 제공되도록 합니다.
프로메테우스
프로메테우스 값을 prometheus
로 접두어 붙입니다. 예를 들어, prometheus.server.persistentVolume.size
를 사용하여 지속 저장소 값을 설정합니다. 프로메테우스를 비활성화하려면 prometheus.install=false
를 설정합니다.
구성 옵션의 포괄적인 목록에 대해 프로메테우스 차트 문서를 참조하세요.
포스트그레스큐엘
포스트그레스큐엘 값을 postgresql
로 접두어 붙입니다. 예를 들어, 주 서버의 저장소 클래스를 설정하기 위해 postgresql.primary.persistence.storageClass
를 사용합니다.
구성 옵션의 포괄적인 목록에 대해 Bitnami PostgreSQL 차트 문서를 참조하세요.
사용자 정의 이미지 사용
특정 시나리오(오프라인 환경)에서는 인터넷에서 이미지를 다운로드하는 대신 자체 이미지를 사용하고자 할 수 있습니다. 이는 GitLab 릴리스를 구성하는 각 차트에 대해 자체 도커 이미지 레지스트리/저장소를 지정해야 합니다.
자세한 내용은 사용자 정의 이미지 문서를 참조하세요.