Chef - Arquivos e Pacotes

No Chef, criar arquivos de configuração e mover pacotes são os principais componentes. O Chef gerencia o mesmo de várias maneiras. O Chef suporta várias maneiras de lidar com arquivos e pacotes de software.

Instalando pacotes de repositório de terceiros

Step 1 - Edite a receita padrão do livro de receitas.

[email protected]:~/chef-repo $ subl cookbooks/test_cookbook/recipes/default.rb 
include_recipe "apt" 
apt_repository "s3tools" do 
   uri "http://s3tools.org/repo/deb-all" 
   components ["stable/"] 
   key "http://s3tools.org/repo/deb-all/stable/s3tools.key" 
   action :add 
end 
package "s3cmd"

Step 2 - Edite os metadados para adicionar dependência no livro de receitas do apt.

[email protected]:~/chef-repo $ subl cookbooks/my_cookbook/metadata.rb 
... 
depends "apt"

Step 3 - Carregue o livro de receitas modificado para o servidor Chef.

Step 4 - Valide se o pacote que você está tentando instalar ainda não está instalado.

Step 5 - Valide o repo padrão.

Step 6 - Execute Chef-Client no nó.

Step 7 - Valide se o pacote necessário está instalado.

Instalando o software da fonte

Se for necessário instalar um software que não está disponível como pacote para uma determinada plataforma, será necessário compilá-lo sozinho. No Chef, podemos fazer isso usando o recurso de script.

Step 1 - Edite a receita padrão.

[email protected]:~/chef-repo $ subl cookbooks/my_cookbook/recipes/ 
default.rb 
version = "1.3.9" 
bash "install_nginx_from_source" do 
   cwd Chef::Config['file_cache_path'] 
   code ≪-EOH 
      wget http://nginx.org/download/nginx-#{version}.tar.gz 
      tar zxf nginx-#{version}.tar.gz && 
      cd nginx-#{version} && 
      ./configure && make && make install 
   EOH

Step 2 - Carregue o livro de receitas modificado para o servidor Chef.

Step 3 - Execute o Chef-Client no nó.

Step 4 - Valide se o nginx está instalado.