Herramientas
Objetivos de make
| Objetivo |
Hace |
make generate |
controller-gen: código de copia profunda y CRD |
make test |
generar, vet, todas las pruebas, revisión de tipos de la interfaz, aquí |
make test-remote |
lo mismo en un nodo trabajador (hack/test-remote.sh) |
make test-db |
un Postgres 17 desechable en 127.0.0.1:55432 |
make itest |
construcciones de integración en el clúster (-tags integration) |
make ui / make build |
la interfaz / un programa local |
make image |
construye y envía la imagen de la plataforma con BuildKit |
make railpack-image |
construye y envía la imagen con la herramienta de Railpack |
make deploy |
kubectl apply -k deploy |
make docs-codemap |
vuelve a generar el mapa del código |
make docs-check |
revisa cada diagrama de Mermaid del libro con el propio Mermaid |
Generadores y ayudantes en hack/
| Herramienta |
Hace |
hack/test-remote.sh |
corre las pruebas en un pod en un nodo trabajador, con un Postgres acompañante y una caché local del nodo (Pruebas) |
hack/codemap |
recorre el repositorio con go/ast y escribe una tabla de cada paquete, tipo y función con la primera oración de su comentario de documentación |
hack/undoc |
enumera los nombres exportados sin comentario de documentación; la meta es cero |
hack/checkdiagrams |
un guion de Node que analiza cada bloque ```mermaid. Los diagramas se dibujan en el navegador, así que mkdocs build --strict no ve sus errores de sintaxis. En los diagramas de secuencia, un ; o un # dentro de un mensaje rompe el análisis. |
El libro
python3 -m venv .venv && . .venv/bin/activate
pip install -r docs/requirements.txt
cd docs && mkdocs serve # vista previa en vivo en http://127.0.0.1:8000
mkdocs build --strict # lo que corre la construcción de la imagen; falla con ligas rotas
- MkDocs Material genera el libro a partir del Markdown de
docs/content/. La navegación está en docs/mkdocs.yml.
- Los diagramas son bloques de código de Mermaid (
```mermaid), que se dibujan en el navegador.
- Los fragmentos de código se incluyen desde el código fuente, así nunca se quedan viejos:
- Las páginas en español están junto a las de inglés (
spec.es.md junto a spec.md; mkdocs-static-i18n construye /es/). Una página sin traducción usa la de inglés. Los encabezados traducidos conservan el ancla en inglés (## Ejemplo {#example}), así las ligas funcionan en los dos idiomas.
- La imagen (
docs/Dockerfile) tiene tres etapas: Go vuelve a generar el mapa del código, Python construye el sitio y un nginx sin privilegios lo sirve en :8080. El rendimiento.yaml del repositorio lo despliega, con una dirección de la red local de MetalLB.
Comandos útiles
kubectl get app,radd # todo lo que administra rendimiento
kubectl -n rendimiento-system logs deploy/rendimiento -f
kubectl -n rendimiento-builds get pods -w # las construcciones conforme ocurren
kubectl -n devops-tools get pods -l app=buildkitd -o wide
kubectl annotate radd <name> rendimiento.ai/paused=true