Apéndice E — YAML y JSON

Objetivo del apéndice

YAML suficiente para escribir catalog-info.yaml, app-config.yaml, manifests de K8s y templates del Scaffolder.

Reglas de oro

  • Indentación: 2 espacios (nunca tabs).

  • Claves: :code:`clave: valor` con espacio después de los dos puntos.

  • Listas: :code:`- elemento` (guión + espacio).

  • Strings: comillas solo si hace falta (caracteres especiales, números como string).

  • Comentarios: :code:`# comentario` hasta fin de línea.

Tipos básicos

cadena: "hola"
numero: 42
boolean: true
nulo: null
fecha: 2026-07-23
lista:
  - uno
  - dos
  - tres
mapa:
  clave1: valor1
  clave2: valor2
multilinea: |
  Línea 1
  Línea 2

JSON equivalente

{
  "cadena": "hola",
  "numero": 42,
  "boolean": true,
  "lista": ["uno", "dos"],
  "mapa": { "clave1": "valor1" }
}

Multi-documento (---)

apiVersion: v1
kind: Service
metadata: { name: a }
spec: { selector: { app: a } }
---
apiVersion: v1
kind: Service
metadata: { name: b }
spec: { selector: { app: b } }

Anclas y referencias (& y *)

defaults: &defaults
  retries: 3
  timeout: 30
service-a:
  <<: *defaults
  name: a
service-b:
  <<: *defaults
  name: b
Validador online

Un YAML inválido rompe Backstage al arrancar: valida antes de commitear.