Files
apps-registry/workloads/docs-portal/mkdocs.yml
T
devops 4aed9f6c5c feat(devsecops): agregar Semgrep SAST en modo auditoría al pipeline
Escanea workloads/ecommerce con rulesets públicos del registro de
Semgrep (p/typescript, p/react, p/nextjs, p/security-audit) vía la
imagen oficial semgrep/semgrep:1.173.0. Sin --error a propósito: siempre
termina en exit 0, solo reporta — primera vuelta para revisar juntos qué
reglas deberían pasar a bloquear más adelante.

Validado contra el código real: 0 hallazgos en 91 reglas / 72 archivos.
Documenta la herramienta en docs/devsecops/sast.md, incluyendo la
diferencia con gitleaks/trivy y qué significa (y qué no) un scan limpio.
2026-08-14 21:07:05 -05:00

110 lines
3.5 KiB
YAML

site_name: CruzCloud Lab
site_description: >-
Portal de documentación del lab GitOps CruzCloud — arquitectura, decisiones
y playbooks de incidentes reales (ZimaOS + k3d + Gitea + Argo CD).
site_url: https://docs.cruzcloud.net/
repo_url: https://gitea.cruzcloud.net/devops/apps-registry
repo_name: devops/apps-registry
edit_uri: _blank
docs_dir: docs
theme:
name: material
language: es
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
primary: indigo
accent: indigo
toggle:
icon: material/weather-night
name: Cambiar a modo oscuro
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: indigo
accent: indigo
toggle:
icon: material/weather-sunny
name: Cambiar a modo claro
features:
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
- navigation.top
- navigation.footer
- navigation.indexes
- search.suggest
- search.highlight
- content.code.copy
- content.tabs.link
- toc.follow
plugins:
- search:
lang: es
# TODO (fase 2): git-revision-date-localized deshabilitado a propósito.
# El Dockerfile construye con context: workloads/docs-portal/, que no
# incluye .git (vive en la raíz del repo) — el plugin no tiene historial
# real que leer y cae siempre en fallback_to_build_date, emitiendo un
# WARNING por página. mkdocs build --strict aborta ante CUALQUIER
# WARNING, así que mientras no se le dé contexto de build con .git real
# (mover el build a la raíz del repo + fetch-depth:0 en el workflow),
# este plugin debe quedar fuera para no romper el pipeline.
# - git-revision-date-localized:
# enable_creation_date: true
# type: date
# fallback_to_build_date: true
markdown_extensions:
- admonition
- attr_list
- md_in_html
- tables
- toc:
permalink: true
- pymdownx.details
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.tabbed:
alternate_style: true
nav:
- Inicio: index.md
- Arquitectura:
- Visión general: arquitectura/vision-general.md
- Red y exposición: arquitectura/red-y-exposicion.md
- Flujo GitOps: arquitectura/gitops-flujo.md
- Glosario: arquitectura/glosario.md
- Decisiones (ADRs):
- "0001 · Por qué k3d": decisiones/0001-por-que-k3d.md
- "0002 · Por qué Argo CD": decisiones/0002-por-que-argocd-vs-manual.md
- "0003 · HTTP/2 sobre QUIC": decisiones/0003-por-que-http2-sobre-quic-tunnel.md
- Plantilla ADR: decisiones/plantilla-adr.md
- Playbooks:
- Crashloop Medusa: playbooks/incidente-crashloop-medusa.md
- 504 túnel Gitea: playbooks/incidente-504-gitea-tunnel.md
- Precios Medusa: playbooks/incidente-precios-medusa.md
- Imágenes NPM: playbooks/incidente-imagenes-npm.md
- Aprendizajes:
- Notas sueltas: aprendizajes/notas-sueltas.md
- Guía del estudiante:
- Inicio: guia-estudiante/README.md
- Conceptos básicos: guia-estudiante/conceptos-basicos.md
- DevSecOps:
- Gitleaks (secretos): devsecops/gitleaks.md
- Trivy (imagen + IaC): devsecops/trivy.md
- SAST (Semgrep): devsecops/sast.md
extra:
social:
- icon: fontawesome/brands/git-alt
link: https://gitea.cruzcloud.net/devops