Atualizar README.md
This commit is contained in:
parent
c3c5d0da82
commit
5e0a3ae12c
72
README.md
72
README.md
|
|
@ -1,49 +1,61 @@
|
||||||
Serviço de Sincronização de Configurações - Proxy-Sinc
|
# 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).
|
|
||||||
|
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.
|
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
|
## 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:
|
### Gestão de Dependências
|
||||||
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.
|
* Verifica e instala automaticamente as dependências necessárias (`git`, `rsync`) usando `apt`.
|
||||||
|
|
||||||
Identidade de Commit Automática:
|
### Configuração Interativa e Segura
|
||||||
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).
|
* 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.
|
||||||
|
|
||||||
Gestão Inteligente de SSL:
|
* 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.
|
||||||
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:
|
### Identidade de Commit Automática
|
||||||
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:
|
* O nome do autor dos commits é automaticamente definido como o hostname completo do servidor (ex: `srvproxy001.itguys.com.br`).
|
||||||
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 email do autor é gerado automaticamente a partir do hostname (ex: `srvproxy001@itguys.com.br`).
|
||||||
|
|
||||||
O timer está configurado para executar o script de sincronização a cada minuto.
|
### Gestão Inteligente de SSL
|
||||||
|
|
||||||
Sincronização Dinâmica de Ficheiros:
|
* 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.
|
||||||
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.
|
### Registo de Deploy
|
||||||
|
|
||||||
Auto-Versionamento:
|
* 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.
|
||||||
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ção como Serviço `systemd`
|
||||||
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.
|
* Gera e instala um serviço `systemd` (`proxy-sinc.service`) e um `timer` (`proxy-sinc.timer`).
|
||||||
|
|
||||||
Documentação Integrada (man page):
|
* 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.
|
||||||
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.
|
* 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.
|
||||||
Loading…
Reference in New Issue