buildkitd.toml
buildkitd.toml
buildkitd 데몬 설정을 구성하는 데 사용하는 TOML 파일이에요. 몇 가지 전역 설정에 이어 데몬 구성의 특정 영역을 위한 여러 섹션이 뒤따르는 구조예요.
출처: 문서
본문
루트리스(rootless) 모드를 위한 옵션도 있어요. 아래는 구성 예시예요. 일부 구성 옵션은 엣지 케이스에서만 유용하다는 점에 유의해요.
# root는 모든 buildkit 상태가 저장되는 곳입니다.
root = "/var/lib/buildkit"
# insecure-entitlements는 보안이 약한 entitlements를 허용하며, 기본적으로 비활성화입니다.
insecure-entitlements = [ "network.host", "security.insecure", "device" ]
# proxyNetwork는 모든 빌드에 프록시 네트워크 강제를 활성화하며, 기본적으로 비활성화입니다.
# buildkitd --proxy-network로도 활성화할 수 있습니다.
proxyNetwork = true
# provenanceEnvDir은 빌드의 provenance에 추가되는 추가 구성이 로드되는 디렉터리입니다:
# slsa v0.2: invocation.environment.*
# slsa v1: buildDefinition.internalParameters.*
provenanceEnvDir = "/etc/buildkit/provenance.d"
[log]
# 로그 포맷터: json 또는 text
format = "text"
# 로그 레벨 (error/warn/info/debug/trace)
level = "info"
[dns]
nameservers=["1.1.1.1","8.8.8.8"]
options=["edns0"]
searchDomains=["example.com"]
[grpc]
address = [ "tcp://0.0.0.0:1234" ]
# debugAddress는 go 프로파일과 디버거를 연결하는 주소입니다.
debugAddress = "0.0.0.0:6060"
주요 설정을 살펴보면:
- root: BuildKit 상태가 저장되는 위치
- insecure-entitlements:
network.host,security.insecure,device같은 보안이 약한 기능의 허용 여부 (기본 비활성) - [log]: 로그 포맷(json/text)과 레벨(error/warn/info/debug/trace) 설정
- [dns]: 빌드에서 사용할 DNS 서버, 옵션, 검색 도메인 설정
- [grpc]: buildkitd가 수신할 주소와 디버그 주소
- [registry]: 레지스트리별 미러, 사용자 인증 같은 설정
이 외에도 컨테이너/레이어 스토리지, worker, 캐시, 실행(run) 정책 등 다양한 섹션이 있어요. 자세한 옵션과 기본값은 원본 문서의 전체 구성 표를 참고해요.