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.