Configuração de sistemas padronizada e centralizada
Contexto, pertinência e relevância
Esta documentação contém sugestões oriundas de pesquisas e vivências em contextos sociais específicos.
Elas de modo algum são sugestões universais ou imposições de uma forma de agir e se comportar.
Não são modelos no sentido de que devem ser seguidos, mas modelos no sentido de que podem ser adotados, adaptados ou até mesmo criticados e melhorados, desde que ajudem, sejam úteis a façam sentido.
Documentação incompleta
A documentação a seguir encontra-se num estágio ainda inicial, muito incompleto e pode não fazer sentido fora do conteúdo para o qual ela foi criada.
Trabalho adicional ainda é necessário para que ela esteja num estado minimamente útil e compreensível.
O presente processo estabelece o funcionamento de uma configuração de sistemas padronizada e centralizada. Levando em conta que o Coletivo pode lidar com muitas camadas de canalização informacional, cada um com diversos serviços configurados, backups locais e remotos e outras especificidades, torna-se interessante desenvolver um esquema de configuração centralizada, de forma a tornar fácil a manutenção, replicação e substituição dos ambientes assim como o compartilhamento de configurações com outros grupos.
Divisão de configuração e compartilhamento
A configuração dos sistemas é dividida da seguinte forma:
- Especificação de camadas via Resource Sharing Protocol (RSP) de acordo com as necessidades e possibilidades do Coletivo.
- Configuração efetiva dos sistemas através de aplicação especializada.
Compartilhamento de configurações
No que concerne ao compartilhamento das configurações, a seguinte divisão é utilizada:
- Repositório privado, de acesso restrito ao Coletivo e contendo informações e configurações cuja publicização é prejudicial ou desnecessária do Coletivo.
- Repositório público de configurações, denominado de [http://padrao.sarava.org Padrão Saravá], contendo as configurações cuja publicização auxilia no intercâmbio com outros grupos.
Ambos os repositórios devem utilizar controle de versão e o Coletivo ainda é encorajado a utilizar configurações disponibilizadas por outros grupos, unindo assim esforços para a economizar trabalho.
Implementação
A configuração efetiva deve ser obtida através do uso de um sistema como o Puppet, por ter diversos módulos disponíveis, uma linguagem de configuração bastante flexível e uma comunidade próxima que já o utiliza.
As seguintes características de implementação devem ser satisfeitas:
- O repositório e o servidor
puppetmaster
devem rodar a partir de uma instância cuja configuração de camadas é a mais segura do Coletivo e os dados devem estar disponíveis somente via conexão segura. - O repositório '''deve''' ter backups em diversos locais.
- O controle de versão utilizado para os módulos e demais configurações do
puppet
é ogit
. - O
puppet
deve estar rodando no maior número possível de camadas do Coletivo e obtendo suas configurações dopuppetmaster
.
Responsabilização
É tarefa do Grupo de Trabalho de Configurações, composto pelas pessoas responsáveis pelo presente processo:
- Manter o máximo possível de configurações de sistemas do Coletivo segundo os critérios estabelecidos no presente processo.
- Realizar auditoriais periódicas (com base anual) seguida relatório e atualização da configuração dos sistemas conforme necessário.
- Manter um padrão de configuração atualizado e em funcionamento.
- Alterar, na medida do possível, a configuração dos sistemas e documentações relacionadas conforme solicitações do Coletivo.