소스 무결성 검증
소스 무결성 검증 (Source Integrity)
애플리케이션 소스의 무결성 기준을 선언하고, 그 기준이 충족되지 않으면 ResourceComparison 오류로 동기화를 차단하는 기능이에요. 승인되지 않은 기여자가 소스를 변조했는지 확인하는 데 유용합니다.
출처: 문서
본문
개요 (Overview)
Argo CD는 애플리케이션 소스의 무결성 기준을 선언할 수 있게 해주며, 기준이 충족되지 않으면 ResourceComparison 오류와 함께 애플리케이션 동기화를 차단합니다. 이는 소스가 승인되지 않은 기여자에 의해 변조되지 않았는지 검증하는 데 유용합니다.
각 애플리케이션 프로젝트는 AppProject의 .spec.sourceIntegrity에 기준을 구성할 수 있습니다. 기준은 수행하는 검증 유형과 적용되는 소스를 구분합니다.
각 애플리케이션은 여러 검사의 대상이 될 수 있으며, 모든 기준이 충족될 때만 동기화가 활성화됩니다.
Note
Source Integrity Verification은 AppProject 매니페스트나 CLI를 통해서만 구성됩니다. UI는 아직 지원되지 않습니다.
Note
project 필드가 템플릿화된 git 생성기로 채워지는 Application Sets에는 서명 검증이 지원되지 않습니다.
Warning
소스 무결성이 강제되면 더 이상 로컬 소스(즉 argocd app sync --local)에서 동기화할 수 없습니다.
지원되는 방법 (Supported methods)
- Git GnuPG 검증은 git 커밋이 GnuPG로 서명되었는지 검증합니다. 이는 원래
AppProjects의signatureKeys에 구성되었던 커밋 서명 검증의 현대적인 방법입니다.
멀티 소스 애플리케이션 (Multi-source applications)
각 개별 애플리케이션 소스는 원한다면 서로 다른 소스 무결성 기준 집합의 대상이 될 수 있습니다. 이는 소스가 Git과 Helm처럼 다른 유형일 때 필요합니다. 심지어 같은 유형의 서로 다른 저장소도 서로 다른 검증 방법이나 그 구성을 활용할 수 있습니다. 이는 애플리케이션이 서로 다른 사람 그룹이 관리하거나 서로 다른 기여(및 서명) 지침에 따라 유지되는 소스들을 결합할 때 유용합니다.