위키득계정 ↗
기술

Jsonnet

Jsonnet기술
주요 용도
설정 자료 생성
문법 기반
JSON 확장
재사용 수단
변수 함수 객체 조합
출력 활용
JSON YAML INI 등
Jsonnet은 JSON을 확장해 설정 자료를 만드는 프로그래밍 언어다. 변수와 함수, 객체 조합으로 반복되는 설정을 공통화하고 평가한 결과를 JSON이나 YAML 등 필요한 형식으로 출력한다.

설정의 값과 생성 규칙

같은 값이나 구조를 여러 곳에 복사하는 대신 변수와 함수로 정의한다. 환경에 따라 달라지는 부분을 인수로 받아 설정을 만들 수 있다. Jsonnet 원문은 생성 규칙을 담고, 이를 평가해 얻은 자료는 기존 응용이 사용하는 설정 형식으로 전달한다.

객체 조합으로 공통 설정 확장하기

객체의 필드를 참조하거나 객체끼리 조합해 공통 구조에서 변형을 만든다. 덧셈 연산으로 객체를 합칠 때 같은 필드가 있으면 오른쪽 값이 우선한다. 함수는 위치 인수와 이름 인수, 기본값을 지원하므로 반복되는 설정 구조를 묶는 데 사용할 수 있다.

JSON과 도구의 관계

JSON 문서는 Jsonnet 프로그램으로 사용할 수 있지만 Jsonnet이 추가한 주석이나 함수 등의 표현을 일반 JSON 파서가 해석하는 것은 아니다. 언어 명세와 표준 라이브러리, 포매터와 린터를 제공한다. 설정을 생성하는 언어와 생성된 설정을 실제 적용하는 응용의 역할은 구분된다.

관련 문서

Dhall / JSON / YAML / Terraform / Kubernetes / 함수