Estrutura recomendada para a página “Desenvolvimento” do Mulder:


1. Estrutura do Projeto

mulder/

├── configure-credentials.sh     # Script auxiliar para configurar credenciais do vSphere

├── pyvenv.cfg                   # Configuração do ambiente virtual Python

├── bin/                         # Scripts e executáveis do ambiente virtual

├── include/                     # Arquivos de cabeçalho do Python (venv)

├── lib/                         # Bibliotecas do ambiente virtual Python

│   └── lib64 -> lib             # Link simbólico para compatibilidade

├── playbooks/                  # Diretório dos playbooks mulder

│   ├── ansible.cfg             # Arquivo de configuração do ansible

│   └── snapshot.yml            # Playbook para criação de snapshot no ESXi

├── secrets/                    # Diretório contendo credenciais seguras

│   └── secrets.yml             # Arquivo com variáveis sensíveis (ip, usuário, senha etc.)

2. 🧭 Filosofia do Projeto Mulder


3. 🛠 Como contribuir com comandos (playbooks)

bash

CopiarEditar

cd playbooks/

cp template.yml snapshot-restore.yml


Cada playbook deve seguir este padrão:

4. 🧪 Como testar localmente


mulder snapshot -e vm_name=TEST01 -e snap_name="lab_snap"

mulder restore  -e vm_name=TEST01 -e snap_name="lab_snap"

Opcionalmente, crie aliases para encurtar:

alias msnap='mulder snapshot'

alias mrest='mulder restore'

5. ✨ Diretrizes de estilo para playbooks

Documente no topo com comentários YAML
# snapshot.yml - Cria snapshot de uma VM ESXi

6. 🧾 Roadmap

Versão                                             Status                                       Funcionalidades previstas

1.8.9                                                ✅ Lançado                              CLI básica (snapshot, restore, --help, --version)

1.9.0                                                🔄 Em dev                                Listagem de snapshots, templates de VMs, catálogo de ações

2.0.0                                                ⏳ Planejado                             Gerenciamento de estados (infra-as-code), integração com Scully


7. 🛡️ Testes manuais sugeridos

Comando                                                                                                                 Resultado Esperado

mulder snapshot -e vm_name=LAB01 -e snap_name=teste123             Snapshot criado com sucesso

mulder restore -e vm_name=LAB01 -e snap_name=teste123               Snapshot restaurado com sucesso

mulder -v                                                                                                              Exibe versão atual (1.8.9)

mulder -h                                                                                                              Lista comandos disponíveis


8. 📤 Publicação e Distribuição