Skip to content
Apothem
Runbooks

Création d'un nouvel adaptateur d'environnement

Runbook pour créer et publier un nouvel adaptateur d'environnement Apothem.

Utilisez ce runbook pour créer un nouvel adaptateur d'environnement destiné à une intégration native dans Apothem ou en tant que paquet tiers.

Prérequis

  • Familiarité avec le protocole HarnessAdapter
  • Compréhension du format de configuration de l'environnement cible
  • Python 3.10+

Étapes

1. Implémentez l'adaptateur

Suivez l'exemple Création d'un adaptateur d'environnement pour implémenter HarnessAdapter pour l'environnement cible.

Si l'adaptateur écrit un modèle en texte brut (un fichier qui n'est ni JSON ni YAML) avec mode: write_text et ownership_class: operator-owned, uninstall supprime le fichier uniquement tant qu'il s'agit d'une copie non modifiée d'un modèle livré par Apothem. Lorsqu'une version ultérieure modifie le modèle, ajoutez le condensé SHA-256 du texte précédent à la liste earlier_digests de cette entrée du manifeste dans le même changement, sinon uninstall laisse en place chaque copie non modifiée écrite par la version antérieure. Calculez le condensé du texte à la dernière étiquette de version avec git show <tag>:<template path> | sha256sum ; le modèle ne doit contenir aucun jeton de chemin ${...}. tests/unit/test_template_digests.py échoue lorsqu'un modèle livré n'est pas pris en compte.

2. Rédigez la page de documentation

Créez site/content/docs/harnesses/<slug>.mdx couvrant :

  • Le flux d'installation
  • Le mappage du profil vers la configuration native
  • Les réserves de compatibilité
  • Les recettes de vérification
  • Les recettes de mise à jour et de désinstallation
  • La surface du portail de conformité
  • Le tableau de dépannage
  • Le tableau des paramètres de configuration

3. Écrivez les tests

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

Couverture de tests minimale :

  • test_install_creates_expected_files
  • test_verify_passes_after_install
  • test_uninstall_removes_files

4. Vérifiez localement

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

5. Soumettez la pull request

Ouvrez une PR avec :

  • Implémentation de l'adaptateur
  • Page de documentation à site/content/docs/harnesses/<slug>.mdx
  • Tests
  • Enregistrement du point d'entrée dans pyproject.toml, une entrée HARNESS_REGISTRY dans src/apothem/lib/harness_registry_data.py (en incrémentant SUPPORTED_HARNESS_COUNT à cet endroit), et l'identifiant dans l'énumération harnessId de src/apothem/schemas/profile.schema.json
  • Entrée au journal des modifications

On this page