SaltStack - Git como um servidor de arquivos

Gité um sistema de controle de versão distribuído de código aberto. Ele pode ser usado para controlar as alterações em qualquer arquivo. Salt envia arquivos de repositórios Git usando o servidor de arquivos Git. Você pode configurar o Git para ofileserver_backend opção de lista e se você precisar configurar um ou mais repositórios, você pode fazer isso usando o gitfs_remotes opção.

Este capítulo explica como instalar e configurar o servidor de arquivos Git. Antes de avançar para a instalação, você deve ter os seguintes pré-requisitos.

Pré-requisitos do Salt Server para usar Git

O requisito mínimo para o servidor salt usar o Git como servidor de arquivos é o seguinte -

  • pygit2
  • Dulwich

Pygit2 e Dulwich são configurados usando o gitfs_providerparâmetro no arquivo de configuração principal. E segitfs_provider não está configurado no arquivo mestre, então o Salt irá preferir pygit2, se a versão adequada estiver disponível, seguido por GitPython e Dulwich.

Instale o pygit2

Os seguintes comandos são usados ​​para instalar o pygit2 nos sistemas baseados em Fedora e Ubuntu -

  • Fedora-based system

yum install python-pygit2
  • Ubuntu-based system

apt-get install python-pygit2

Aqui, a versão mínima suportada de pygit2 é 0,20.3.

Instale GitPYTHON

GitPython pode ser facilmente instalado no mestre usando o yum / apt command como mostrado abaixo.

  • Fedora-based system

yum install GitPython
  • Ubuntu-based system

apt-get install python-git

Instale DULWICH

O Dulwich pode ser facilmente instalado no master usando o comando yum.

  • Fedora-based system

yum install python-dulwich
  • Ubuntu-based system

apt-get install python-dulwich

Agora, instalamos todas as dependências do servidor de arquivos Git. Vamos agora configurar este servidor de arquivos Git usando ofileserver_backend seção no master config Arquivo.

Configuração de Backend

Para usar o servidor de arquivos Git, você precisa adicionar o Git na lista fileserver_backend no arquivo de configuração mestre. É descrito a seguir -

fileserver_backend:
   - git

Vamos entender melhor como configurar o servidor de arquivos Git em uma configuração remota.

Configuração gitfs_remotes

Você pode especificar qualquer um ou todos os URLs, como git: //, https: //, file: // ou ssh: // para a configuração gitfs_remotes no arquivo mestre. Isso é usado para pesquisar os arquivos solicitados.

A especificação de URL https simples é definida abaixo.

gitfs_remotes:
   - https://github.com

o ssh a configuração pode ser feita conforme mostrado abaixo.

gitfs_remotes:
   - [email protected]:user1/sample.git
   - ssh://[email protected]/path/to/sample.git

Agora, configuramos o servidor de arquivos Git usando as duas opções fileserver_backend e gitfs_remotes.

Reiniciar mestre

Depois de fazer todas as alterações no arquivo mestre, reinicie agora o mestre para carregar todas as configurações no servidor de arquivos Git.

Configuração de vários controles remotos

O seguinte comando é usado para várias configurações em gitfs_remotes no arquivo mestre.

gitfs_remotes:
   - git://github.com/sample/sample1.git
   - https://github.com/sample/sample2.git
   - file:///root/user/sample

Aqui, os repositórios sample1.git, sample2.git, e sample.doc pode ter os seguintes arquivos.

sample1.git:
   top.sls
   
sample2.git
   edit/vimrc
   
sample.doc
   edit/vimrc