pulumi-migrate-from-discovered-stack

Par pulumi · agent-skills

Skill opérationnel du repo pulumi/agent-skills guidant la migration de stacks CloudFormation ou ARM déjà découvertes par Pulumi Cloud Discovery vers un stack Pulumi géré.

npx skills add https://github.com/pulumi/agent-skills --skill pulumi-migrate-from-discovered-stack

Rôle du skill

Ce skill fait partie du repo officiel pulumi/agent-skills, une collection de skills destinés aux assistants de développement IA pour les workflows d'infrastructure as code avec Pulumi. Il appartient au groupe migration et couvre un cas d'usage précis : migrer une stack CloudFormation ou ARM que la fonctionnalité Discovery de Pulumi Cloud a déjà analysée et exposée via l'API discovered-stacks.

Ce que ce skill apporte

Contrairement aux skills cloudformation-to-pulumi ou pulumi-arm-to-pulumi qui partent d'un template et le traduisent mécaniquement, ce skill adopte une approche cloud-state-first : il lit l'état réel des ressources via l'API discovered-stacks, les importe dans un stack Pulumi avec pulumi import, puis vérifie un diff nul avant de proposer un refactor. Il définit un workflow en 8 phases structurées (préconditions, triage, setup, import par batch, gestion des NotFound/NoMatch, réconciliation, refactor, PR et rapport).

Quand le charger

Ce skill doit être chargé uniquement lorsque l'utilisateur dispose d'un discovered stack dans Pulumi Cloud — c'est-à-dire qu'une entrée correspondante existe dans l'API discovered-stacks. Il ne s'applique pas à la conversion d'un template arbitraire sans équivalent découvert, ni aux migrations depuis Terraform. Les skills cloudformation-to-pulumi et pulumi-arm-to-pulumi ne doivent pas être chargés en même temps que celui-ci.

Structure du dossier

Le dossier du skill contient, en complément du SKILL.md principal, des fichiers de référence (cloudformation.md, arm.md, refactor.md) et des scripts Python utilitaires (triage.py, build_import.py) référencés directement dans les instructions du workflow. L'ensemble forme un skill autonome et pleinement opérationnel, sans contenu placeholder.

Skills similaires