Carica tutto con il coltello

Diciamo di avere un repository Chef standard con directory come segue:

cookbooks data_bags environments roles 

C'è un modo per caricare tutto in una sola volta? Altrimenti devi farlo:

 knife cookbook upload -a knife data bag from file data_bags/*.json knife environment from file environments/*.rb knife role from file roles/*.json 

Forse ci sono strumenti di terze parti per fare questo tipo di cose?

5 Solutions collect form web for “Carica tutto con il coltello”

Assicurarsi di utilizzare ruby 1,9, quindi installare i coltelli-essenziali

 $ gem install knife-essentials 

Quindi aggiungere il seguente a ~ / .chef / knife.rb

 repo_mode 'everything' versioned_cookbooks true chef_repo_path 'PATH/TO/chef-repo' 

Quindi è ansible scaricare / caricare l'integer server, o solo parti di esso. Il download metterà un sacco di file .json nel tuo chef-repo, utile per i backup che ho trovato.

 $ knife download / $ knife upload / $ knife upload /clients 

Inoltre, se hai dei ruoli memorizzati come file ruby (ad esempio: roles/*.rb ), devi trasformarli in json. Quindi è ansible ri-scaricare da server di chef come json. Per esempio:

  1. knife role from file roles/*.rb
  2. knife download roles/

Questo metodo viene utilizzato anche per aggiornare dal server chef 10-11 .

Potresti scrivere un semplice script bash per farlo come:

 #!/bin/sh for file in `ls cookbooks`;do [ -d $file ] && knife cookbook upload cookbooks/$file done for file in `ls data_bags | grep \.json$`;do knife data bag from file data_bags/$file done for file in `ls environments | grep \.rb$`;do knife environment from file environments/$file done for file in `ls roles | grep \.json$`;do knife role from file roles/$file done 

quindi chiamarlo usando ./script.sh, questo farà tutto automaticamente.

Ho scritto un piccolo plug del coltello denominato sync-all descritto di seguito che realizza anche questo:
https://github.com/cdoughty77/knife-sync-all

Attualmente i docenti dicono che dovresti semplicemente knife upload / . Ci sono altre possibilità nei documenti.

Dallo chef repository.

Se si esegue il knife upload . carica tutto.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.