Skip to content
Apothem
Runbooks

Creación de un nuevo adaptador de entorno

Manual operativo para crear y publicar un nuevo adaptador de entorno de Apothem.

Usa este manual operativo al crear un nuevo adaptador de entorno para su inclusión de primera parte en Apothem o como un paquete de terceros.

Requisitos previos

  • Familiaridad con el protocolo HarnessAdapter
  • Comprensión del formato de configuración del entorno de destino
  • Python 3.10+

Pasos

1. Implementa el adaptador

Sigue el ejemplo Creación de un adaptador de entorno para implementar HarnessAdapter para el entorno de destino.

Si el adaptador escribe una plantilla de texto plano (un archivo que no es JSON ni YAML) con mode: write_text y ownership_class: operator-owned, uninstall elimina el archivo solo mientras sea una copia sin editar de una plantilla que Apothem distribuyó. Cuando un lanzamiento posterior cambie la plantilla, agrega el digest SHA-256 del texto anterior a la lista earlier_digests de esa entrada del manifiesto en el mismo cambio, o uninstall dejará en su sitio todas las copias sin editar que escribió el lanzamiento anterior. Obtén el digest del texto en la etiqueta del último lanzamiento con git show <tag>:<template path> | sha256sum; la plantilla no debe contener ningún token de ruta ${...}. tests/unit/test_template_digests.py falla cuando una plantilla distribuida no está contemplada.

2. Escribe la página de documentación

Crea site/content/docs/harnesses/<slug>.mdx cubriendo:

  • Flujo de instalación
  • Mapeo del perfil a la configuración nativa
  • Salvedades de compatibilidad
  • Recetas de verificación
  • Recetas de actualización y desinstalación
  • Superficie de la puerta de conformidad
  • Tabla de resolución de problemas
  • Tabla de parámetros de configuración

3. Escribe las pruebas

tests/packaging/test_<slug>_adapter.py
tests/unit/test_<slug>_adapter.py

Cobertura mínima de pruebas:

  • test_install_creates_expected_files
  • test_verify_passes_after_install
  • test_uninstall_removes_files

4. Verifica localmente

apothem install --harness <slug>
apothem verify --harness <slug>
python -m apothem.conformity.gate --all .

5. Envía la solicitud de incorporación de cambios

Abre una PR con:

  • Implementación del adaptador
  • Página de documentación en site/content/docs/harnesses/<slug>.mdx
  • Pruebas
  • Registro del punto de entrada en pyproject.toml, una entrada HARNESS_REGISTRY en src/apothem/lib/harness_registry_data.py (incrementar allí SUPPORTED_HARNESS_COUNT) y el ID en el enum harnessId de src/apothem/schemas/profile.schema.json
  • Entrada en el registro de cambios

On this page