chef-solo ssl ostrzeżenie podczas provisioning

Kiedy używam vagrant i chef jako provisioner, mam takie Ostrzeżenie:

[web] Chef 11.12.2 Omnibus package is already installed.
[web] Running provisioner: chef_solo...
Generating chef JSON and uploading...
Running chef-solo...
stdin: is not a tty
[2014-04-10T14:48:46+00:00] INFO: Forking chef instance to converge...
[2014-04-10T14:48:46+00:00] WARN:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SSL validation of HTTPS requests is disabled. HTTPS connections are still
encrypted, but chef is not able to detect forged replies or man in the middle
attacks.

To fix this issue add an entry like this to your configuration file:

```
  # Verify all HTTPS connections (recommended)
  ssl_verify_mode :verify_peer

  # OR, Verify only connections to chef-server
  verify_api_cert true
```

To check your SSL configuration, or troubleshoot errors, you can use the
`knife ssl check` command like so:

```
  knife ssl check -c /tmp/vagrant-chef-1/solo.rb
```

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Byłoby miło wiedzieć, jakie ustawienia chef wymaga w Vagrantfile, aby rozwiązać ten problem.

Author: holms, 2014-04-10

3 answers

Ostrzeżenie to zostało wprowadzone w Chef 11.12.0. Szczegóły można znaleźć w Uwagach do wydania :

Gdy ssl_verify_mode jest ustawione na :verify_none, Chef wydrukuje Uwaga. Użyj knife ssl check, Aby przetestować łączność SSL, a następnie dodaj ssl_verify_mode :verify_peer do pliku konfiguracyjnego, aby naprawić Uwaga. Chociaż :verify_none jest obecnie domyślne, będzie to zmieniono w przyszłym wydaniu, więc użytkownicy są zachęcani do aktywnego działania w Testowanie i aktualizacja ich konfiguracji SSL.

Aby naprawić to Ostrzeżenie w Vagrant musisz zmienić plik konfiguracyjny solo.rb, który tworzy w maszynie wirtualnej. Z Vagrant możesz użyć custom_config_path opcja na to.

Możesz więc zmienić swój plik Vagrantfile w następujący sposób:

Vagrant.configure("2") do |config|
  config.vm.provision "chef_solo" do |chef|
    # the next line is added
    chef.custom_config_path = "Vagrantfile.chef"
  end
end
To sprawia, że Vagrant włącza zawartość pliku local Vagrantfile.chef do wygenerowanego solo.rb, plik musi więc być obecny w systemie hosta, a nie w maszynie wirtualnej.

Następnie utwórz nowy plik Vagrantfile.chef w katalogu, w którym przechowujesz również swój plik Vagrantfile z następująca treść:

Chef::Config.ssl_verify_mode = :verify_peer

Następny bieg vagrant provision nie powinien już drukować Ostrzeżenia.

 47
Author: Holger Just,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-27 19:04:14

[5]}miałem ten problem podczas pracy z test-kitchen.

Jeśli tak jest również dla Ciebie, zauważ, że ta wartość może być również skonfigurowana bezpośrednio wewnątrz .kitchen.yml.

Jeśli twój standardowy blok provisioner wygląda następująco:

provisioner:
  name: chef_solo

Możesz po prostu dodać solo_rb klucz z opcją ssl_verify_mode:

provisioner:
  name: chef_solo
  solo_rb:
    ssl_verify_mode: verify_peer

I wygenerowane solo.rb będzie miał tę opcję ustawioną.

 12
Author: Zxaos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-13 21:00:39

Wiem, że pierwotne pytanie dotyczyło Vagranta, ale dla osób używających klejnotu knife-solo i napotykających ten błąd, wystarczy dodać następującą linijkę do .chef/knife.rb:

ssl_verify_mode :verify_peer

Gem knife-solo pobierze tę wartość i umieści ją w pliku solo.rb, który zostanie przesłany na serwer, który jest głównym plikiem konfiguracyjnym przekazanym do chef-solo.

 8
Author: David Grayson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-07 01:19:36