Consul Template 구성
Consul Template 구성 (Configuring)
Consul Template은 HashiCorp 구성 언어(HCL)로 작성된 구성 파일로 설정할 수 있어요. 구성 파일은 JSON과도 호환됩니다. 전체 구성 옵션 목록은 Consul Template 구성 참조 문서를 확인해 주세요.
출처: 문서
본문
Consul Template은 HashiCorp 구성 언어(HCL)로 작성된 구성 파일로 설정할 수 있습니다. 이 구성은 JSON과도 호환됩니다. 전체 구성 옵션 목록은 Consul Template 구성 참조 문서를 참조하세요.
Consul Template 사용을 시작하려면 -config 플래그로 구성 파일을 가리키며 Consul Template CLI를 실행하면 됩니다:
$ consul-template -config "/my/config.hcl"
이 인자를 여러 번 지정하면 여러 구성 파일을 로드할 수 있습니다. 가장 오른쪽에 있는 구성이 가장 높은 우선순위를 가집니다. 파일 대신 디렉터리 경로를 주면 해당 디렉터리의 모든 파일이 어휘 순서(lexical order)로 재귀적으로 병합됩니다. 심볼릭 링크는 따라가지 않는다는 점에 유의하세요.
사용 가능한 모든 명령과 옵션의 전체 목록은 Consul Template CLI 참조에서 볼 수 있습니다.
참고 CLI에 지정한 명령이 구성 파일보다 우선합니다.
구성 파일의 모든 필드가 필수는 아닙니다. 예를 들어 Vault에서 비밀을 받아오지 않는다면 Vault 구성 섹션을 지정할 필요가 없습니다. 마찬가지로 syslog로 로깅하지 않는다면 syslog 구성을 지정할 필요가 없습니다.
추가 보안을 위해 CONSUL_TOKEN 또는 VAULT_TOKEN 환경 변수를 사용해 토큰을 환경에서 읽을 수도 있습니다. 구성 파일에 평문(plain-text) 토큰을 포함하지 않는 것이 좋습니다.
예제 (Example)
다음 예제에서는 Consul 에이전트용으로 Consul Template을 구성하고 Consul KV 저장소의 값으로 템플릿을 렌더링합니다. 출력은 디스크의 파일로 작성됩니다.
consul {
address = "127.0.0.1:8500"
auth {
enabled = true
username = "test"
password = "test"
}
}
log_level = "warn"
template {
contents = "{{key \"hello\"}}"
destination = "out.txt"
exec {
command = "cat out.txt"
}
}