01
Structurer le repo infra
Séparez les modules réutilisables et les environnements de production dans des dossiers dédiés.
Utilisez Bullionet comme couche d'exécution infra pour votre CI/CD, du provisioning piloté par API jusqu'au rollout contrôlé.
Partez d'une base concrète: arborescence repo, workflow CI, et vérifications post-déploiement.
01
Séparez les modules réutilisables et les environnements de production dans des dossiers dédiés.
02
Ajoutez BULLI_TOKEN dans les secrets CI et protégez la prod avec approbation obligatoire avant toute action.
03
Exécutez le plan sur pull request, puis appliquez uniquement sur main après revue.
04
Exécutez un script de vérification pour valider inventaire, état des hôtes et santé du rollout.
Variables et garde-fous recommandés
•Secret CI: BULLI_TOKEN scopé uniquement sur les actions de provisioning.
•Environnement protégé: approbation production obligatoire avant apply.
•Script de vérification post-déploiement obligatoire avant statut vert.
Traitez l'infrastructure comme du code produit: branche, pull request, plan automatisé, validation humaine et apply protégé.
Exemple de workflow concret
Structure de projet légère
Les équipes déploient les changements infra via pull requests, sans attendre des handoffs fragmentés.
Le plan est exécuté avant merge, l'apply est protégé, et les cibles rollback restent explicites à chaque étape.
Chaque changement garde sa branche, son commit, sa review et sa trace d'exécution pour conformité et post-mortem.
Chaque procédure garde un périmètre réduit, une validation explicite et un rollback possible.
01
Vous devez déployer une release API sans exposer immédiatement la prod.
•Provisionnez les nœuds green avec tags de release dans la même zone que les nœuds blue.
•Exécutez les checks santé (boot, SSH, endpoint applicatif) et relisez les résultats CI.
•Validez le cutover uniquement si les checks passent et que la cible de rollback reste disponible.
Résultat attendu: release déployée avec bascule contrôlée et rollback clair.
02
Un worker est instable et doit être remplacé rapidement sans improvisation.
•Lisez les métadonnées du nœud source (plan, localisation, tags) et préparez le profil de remplacement.
•Provisionnez le remplaçant et validez sa readiness avant bascule trafic.
•Drainez l'ancien nœud, basculez le trafic, puis consignez le résumé d'incident.
Résultat attendu: nœud dégradé remplacé avec interruption de service minimale.
03
Vous avez besoin de capacité batch en heures ouvrées avec un coût prévisible.
•Ciblez uniquement les nœuds taggés pour le planning semaine dans le scope autorisé.
•Appliquez power-on au début et power-off en fin de créneau avec checks d'état.
•Revoyez chaque jour les deltas capacité/coût et signalez les anomalies pour revue humaine.
Résultat attendu: disponibilité batch prévisible et dépense maîtrisée.
Construisez des environnements reproductibles et déployez avec confiance sur tout le cycle de vie infra.
Créez et gérez vos serveurs via API REST ou bulli CLI pour des environnements reproductibles et scriptables.
Promouvez les changements avec des étapes explicites et auditables.
Intégrez les actions cycle de vie dans vos pipelines avec sorties machine-readables.
Appliquez des logiques de déploiement progressif et gardez la prod prévisible.
Utilisez ces commandes comme briques de base pour vos pipelines et changements contrôlés.
bulli init
Initialiser le contexte d'exécution
Préparez le contexte CLI avant les actions pipeline.
source <(bulli env --output sh)
Injecter les variables d'environnement
Chargez auth et contexte projet pour les jobs d'automatisation.
bulli server list --output json
Valider l'inventaire
Listez les serveurs et exploitez la sortie JSON dans vos checks CI.
bulli server reboot --hostname edge-worker-03
Reboot planifié
Déclenchez un redémarrage maîtrisé en fenêtre de rollout.
bulli server reinstall --hostname edge-worker-03 --os ubuntu-24.04
Réinstallation en récupération
Reconstruisez rapidement un nœud depuis une base OS propre.
Un enchaînement simple et robuste aligné avec l'opérationnel DevOps quotidien.
Exemple de séquence de provisioning
Un enchaînement simple et robuste aligné avec l'opérationnel DevOps quotidien.
Combinez accès scopés et checks opérationnels pour une automatisation sûre à grande échelle.
Limitez les permissions des tokens selon l'environnement et l'usage.
Gardez un historique auditable des changements de déploiement et d'exploitation.
Automatisez agressivement tout en conservant des frontières opérationnelles nettes.
Solutions