🏗️ Ferramenta de Automação de Infraestrutura

📋 Índice

💡 Sobre

Esta ferramenta combina a eficiência do Go com a versatilidade do Perl para criar uma solução robusta de gerenciamento de servidores e serviços.

A interface web amigável, construída com Svelte, proporciona uma experiência intuitiva para operações de infraestrutura.

🛠 Tecnologias

  • Backend: Go 1.21+
  • Scripts: Perl 5.32+
  • Frontend: Svelte 4
  • API: Gin Framework
  • Monitoramento: Prometheus
  • Logging: Loki

📋 Requisitos

  • Go 1.21 ou superior
  • Perl 5.32 ou superior
  • Node.js 18+ e npm
  • Docker (opcional)

🚀 Instalação

# Clone o repositório
git clone https://github.com/bulletdev/infra-automation.git
cd infra-automation

# Instale as dependências do Go
go mod download

# Instale os módulos Perl necessários
cpan install JSON
cpan install Getopt::Long

# Instale as dependências do frontend
cd frontend
npm install

⚙ Configuração

  1. Configuração do Backend
# Crie o arquivo de configuração
cp config.example.yaml config.yaml

# Ajuste as variáveis de ambiente
export INFRA_API_PORT=8080
export PERL_SCRIPTS_PATH=/path/to/scripts
  1. Configuração dos Scripts
# Dê permissão de execução aos scripts Perl
chmod +x scripts/*.pl

# Configure o path dos scripts no config.yaml
scripts_path: /path/to/scripts

📦 Uso

  1. Inicie o Backend
go run main.go
  1. Inicie o Frontend
cd frontend
npm run dev
  1. Acesse a Interface

Abra seu navegador e acesse http://localhost:5173

🔗 API

Endpoints

Método Endpoint Descrição
GET /health Verificação de saúde da API
POST /execute Executa scripts de automação

Exemplo de Requisição

{
  "script_name": "check_status.pl",
  "parameters": {
    "action": "check_status",
    "target": "server1.example.com",
    "verbose": "1"
  }
}

📜 Scripts

Scripts Disponíveis

  • check_status.pl: Verifica o status de servidores
  • deploy_app.pl: Automatiza deploy de aplicações
  • backup_data.pl: Realiza backup de dados

Exemplo de Uso Direto

./scripts/check_status.pl --action check_status --target server1.example.com --verbose

🤝 Contribuição

  1. Faça um Fork do projeto
  2. Crie sua Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a Branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Desenvolvido com ❤️ pelo melhor devops da Bahia

Reportar Bug · Solicitar Feature

Top categories

svelte logo

Need a Svelte website built?

Hire a professional Svelte developer today.
Loading Svelte Themes