YAML 검사기
배포 또는 CI 파이프라인을 중단시키기 전에 YAML의 구문 오류를 확인하세요. 검사기는 YAML 1.2 파서로 입력의 모든 문서를 구문 분석하고, 중복 키, 들여쓰기에 사용된 탭 및 과도한 별칭 확장을 거부하며, 첫 번째 오류의 문서, 행 및 열을 보고합니다. 유효한 입력에는 문서 수, 각 문서의 최상위 타입 및 경고가 표시됩니다. Kubernetes, Docker Compose 및 구성 파일 작성자를 위해 만들어졌습니다.
자주 묻는 질문
YAML 검사기는 무엇을 확인하나요?
전체 YAML 구문을 구문 분석합니다. 들여쓰기, 블록 및 플로 컬렉션, 따옴표가 있거나 없는 스칼라, 앵커, 별칭, 태그 및 지시어를 확인합니다. 매핑의 중복 키도 오류로 처리합니다. 결과에는 간단한 요약과 함께 확인 메시지가 표시되거나, 첫 번째 오류의 위치와 설명이 표시됩니다.
어떤 YAML 버전을 따르나요?
검증기는 현재 사양 버전인 YAML 1.2 코어 스키마를 사용합니다. 1.2에서는 yes, no, on, off 같은 단어가 불리언이 아닌 일반 문자열이므로 오류가 발생하지 않습니다. YAML 1.1 도구용으로 작성된 문서도 문법이 유효하면 계속 허용됩니다.
중복 키가 오류로 보고되는 이유는 무엇인가요?
YAML 사양은 매핑의 키가 고유해야 한다고 규정합니다. 많은 파서는 마지막 값을 조용히 유지해 설정이 두 번 정의되는 등의 구성 오류를 감춥니다. 검증기는 반복된 키의 줄과 열을 알려 주므로 어떤 값을 유지할지 결정할 수 있습니다.
줄, 열, 문서 번호는 어떻게 계산하나요?
줄과 열은 붙여넣은 입력의 시작을 기준으로 1부터 계산합니다. 문서는 --- 줄로 구분되며 나타나는 순서대로 계산하므로 첫 번째 문서는 문서 1입니다. 위치는 파서가 문제를 감지한 지점을 가리키며, 실제 오류 바로 다음일 수도 있습니다.
여러 YAML 문서를 한 번에 검증할 수 있나요?
네. 여러 문서로 구성된 Kubernetes 매니페스트처럼 ---로 문서를 구분하면 각 문서를 모두 파싱합니다. 결과가 유효하면 문서 수와 각 문서의 최상위 유형이 표시됩니다.
최상위 유형은 무엇을 의미하나요?
각 문서의 루트에 무엇이 들어 있는지 알려 줍니다. 키와 값의 매핑, 항목의 시퀀스, 단일 스칼라 값 또는 아무것도 없는 경우를 나타냅니다. 대부분의 구성 파일은 매핑이며, 리소스 목록은 흔히 시퀀스입니다. 여기서 유형이 잘못됐다면 대개 대시나 들여쓰기가 잘못된 것입니다.
경고란 무엇인가요?
경고는 파싱을 중단시키지 않는 문제입니다. 예를 들어 파서가 알지 못하는 태그는 일반 값으로 읽힙니다. 경고는 줄과 열 정보와 함께 최대 20개까지 표시됩니다. 경고가 있어도 문서는 유효한 것으로 처리됩니다.
탭이 거부되는 이유는 무엇인가요?
YAML은 탭 너비가 모호하므로 들여쓰기에 탭 문자를 사용할 수 없도록 합니다. 보고된 줄의 시작 부분에 있는 탭을 공백으로 바꾸고 주변 줄과 들여쓰기를 일관되게 유지하세요. 값과 따옴표로 묶은 문자열 안에서는 탭을 사용할 수 있습니다.
별칭 폭탄으로부터 보호되나요?
네. 별칭은 최대 100회까지 확장될 수 있으므로, 별칭을 반복해 데이터를 기가바이트 단위로 불리도록 만든 문서(흔히 billion laughs 공격이라고 함)는 메모리를 고갈시키는 대신 유효하지 않은 것으로 보고됩니다. 공유 설정에 앵커와 별칭을 사용하는 일반적인 경우에는 이 한도에 한참 못 미칩니다.
Kubernetes 또는 OpenAPI 같은 스키마에 맞춰 검증하나요?
아니요. 구문과 구조만 확인하며 키와 값이 특정 스키마에 맞는지는 확인하지 않습니다. 입력은 최대 5 MiB까지 가능합니다. 유효한 YAML을 JSON, TOML 또는 다른 형식으로 변환하려면 데이터 형식 변환기를 사용하세요.