본문 바로가기
WIKI 기술 지식 베이스

설정 어댑터

원문 보기 위키 갱신

설정 어댑터 (Config Adapters)

출처: Caddy 공식 문서

본문

Caddy의 네이티브 설정 언어는 JSON이에요. 하지만 JSON을 손으로 쓰는 것은 지루하고 오류가 나기 쉬워요. 그래서 Caddy는 **config adapter(설정 어댑터)**를 통해 다른 언어로 설정되는 것을 지원해요. 이들은 여러분이 선호하는 형식의 설정을 사용할 수 있게 Caddy JSON을 생성해 주는 Caddy 플러그인이에요.

예를 들어, 설정 어댑터는 여러분의 NGINX 설정을 Caddy JSON으로 변환해 줄 수 있어요.

알려진 설정 어댑터

현재 사용 가능한 설정 어댑터는 다음과 같아요(일부는 서드파티 프로젝트예요):

설정 어댑터 사용하기

설정을 받는 대부분의 서브커맨드에서 --adapter 플래그로 어댑터를 지정해 명령줄에서 설정 어댑터를 사용할 수 있어요:

caddy run --config caddy.yaml --adapter yaml

또는 API의 /load엔드포인트를 통해 사용할 수 있어요:

curl localhost:2019/load \
	-H "Content-Type: application/yaml" \
	--data-binary @caddy.yaml

실행하지 않고 출력 JSON만 얻고 싶다면 caddy adapt 명령을 사용할 수 있어요:

caddy adapt --config caddy.yaml --adapter yaml

주의사항

모든 설정 언어가 Caddy와 100% 호환되는 것은 아니에요. 어떤 기능이나 동작은 잘 변환되지 않거나, 어댑터나 Caddy 자체에 아직 프로그래밍되지 않았을 수 있어요.

YAML→JSON이나 TOML→JSON처럼 1:1 변환을 하는 어댑터도 있고, Caddyfile처럼 Caddy를 위해 특별히 설계된 것도 있어요. 일반적으로 이런 어댑터는 항상 동작해요.

하지만 모든 어댑터가 항상 동작하는 것은 아니에요. 설정 어댑터는 입력을 최고의 충실도와 정확성으로 Caddy JSON으로 변환하기 위해 최선을 다해요. 이 변환 과정이 항상 완전하고 정확하다고 보장할 수 없기 때문에, 우리는 이들을 "컨버터(converter)"나 "번역기(translator)"라고 부르지 않아요. 최소한 최종 JSON 설정을 다듬을 때 좋은 출발점을 제공해 주기 때문에 "어댑터"라고 불러요.

설정 어댑터는 결과 JSON, 경고, 오류를 출력할 수 있어요. 오류가 없으면 JSON이 결과로 나와요. 오류는 입력에 문제가 있을 때(예: 문법 오류) 발생해요. 경고는 적응 과정에 문제가 있지만 반드시 치명적이지는 않을 때(예: 지원되지 않는 기능) 발생해요. 경고가 있는 어댑터로 생성된 설정을 사용할 때는 주의가 필요해요.

더 알아보기 (Learn more)