Repositorio onde Ficará todos os arquivos de configuraçao do nosso proxy com atualização automatica aqui assim que for mudado qualquer coisa nele.
Go to file
João Pedro Toledo Goncalves 2f60c60336 Atualizar Instal-Proxy-Sinc.sh 2025-09-16 21:51:48 +00:00
_automation_scripts [Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-15 14:33:54 2025-09-15 14:33:54 -03:00
fail2ban [Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-15 21:18:44 2025-09-15 21:18:44 -03:00
nginx [Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-16 18:33:37 2025-09-16 18:33:37 -03:00
Instal-Proxy-Sinc.sh Atualizar Instal-Proxy-Sinc.sh 2025-09-16 21:51:48 +00:00
README.md Atualizar README.md 2025-09-16 21:46:25 +00:00

README.md

Serviço de Sincronização de Configurações - Proxy-Sinc

Este repositório contém as configurações e os scripts de automação para o serviço proxy-sinc, desenhado para automatizar o controlo de versões de ficheiros de configuração de servidores Linux para um repositório Git (Gitea).

O objetivo é criar um sistema robusto, auto-documentado e fácil de gerir para o backup e o histórico de alterações de configurações críticas como as do Nginx e do Fail2ban.

Funcionalidades Principais Implementadas pelo Instalador

Gestão de Dependências

  • Verifica e instala automaticamente as dependências necessárias (git, rsync) usando apt.

Configuração Interativa e Segura

  • Pede ao utilizador a URL do repositório, o nome de utilizador do Gitea e um Token de Acesso (que fica oculto durante a digitação) para a autenticação.

  • A URL do repositório é reconfigurada para incluir as credenciais, permitindo que as operações git futuras (como o git push) sejam executadas de forma não-interativa.

Identidade de Commit Automática

  • O nome do autor dos commits é automaticamente definido como o hostname completo do servidor (ex: srvproxy001.itguys.com.br).

  • O email do autor é gerado automaticamente a partir do hostname (ex: srvproxy001@itguys.com.br).

Gestão Inteligente de SSL

  • O script testa automaticamente a conexão com o Gitea. Se detetar um problema de certificado SSL (comum em ambientes internos), ele configura o repositório local para ignorar a verificação SSL, garantindo que a sincronização funcione.

Registo de Deploy

  • Na primeira instalação num novo servidor, o script cria um ficheiro de registo (_deployment_logs/hostname.md) no repositório, documentando quem (utilizador do Gitea) instalou o serviço e quando, criando uma trilha de auditoria.

Instalação como Serviço systemd

  • Gera e instala um serviço systemd (proxy-sinc.service) e um timer (proxy-sinc.timer).

  • Esta abordagem é superior ao cron pois integra-se perfeitamente com o sistema de logs journald, permitindo uma gestão fácil com systemctl status, start, stop, etc.

  • O timer está configurado para executar o script de sincronização a cada minuto.

Sincronização Dinâmica de Ficheiros

  • O script principal de sincronização (commit_configs.sh) agora lê os caminhos a serem versionados a partir de um ficheiro de configuração central (/etc/proxy-sinc/paths.conf).

  • Isto permite que os administradores adicionem ou removam ficheiros e pastas para sincronização no futuro, simplesmente editando este ficheiro de texto, sem precisar de alterar o script.

Auto-Versionamento

  • O script commit_configs.sh foi desenhado para se incluir a si mesmo e a todos os seus ficheiros de configuração e de serviço (.service, .timer, man page, paths.conf) no repositório Git. Desta forma, qualquer alteração na própria automação também é versionada.

Funcionalidade de Auto-Atualização

  • Instala um novo comando no sistema, proxy-sinc-update.

  • Quando executado, este comando baixa a versão mais recente do setup.sh a partir de uma URL pré-definida no repositório Gitea e executa-a, permitindo uma atualização fácil e centralizada de toda a automação.

Documentação Integrada (man page)

  • Gera e instala uma página de manual (man proxy-sinc) no sistema.

  • O manual explica o que o serviço faz, como o gerir, como o atualizar e, o mais importante, como adicionar novos caminhos de ficheiros para serem sincronizados, tornando a ferramenta fácil de usar para qualquer membro da equipa no futuro.