Ich habe eine Umgebung eingerichtet mit Test-Kitchen v1.5.0, Vagrant v1.8.1. Ich habe ein Rezept, das Cheftresor verwendet, um unsere verschlüsselten Passwörter zu entschlüsseln, die wir in unserer Datei data_bags_path/passwords/pilot.json finden.Chef Vault mit Test-Küche, Vagrant und Chef-Zero Provisioner
Ich verwende die Lösung hier https://github.com/chef/chef-vault/issues/58, die daxgames gegen Ende der Seite bietet.
Mein .kitchen.yml:
---
driver:
name: vagrant
provisioner:
name: chef_zero
require_chef_omnibus: 12.14.77
roles_path: ../../roles
environments_path: ../../environments
data_bags_path: ../../data_bags
client_rb:
environment: lgrid2-dev
node_name: "ltylapp400a"
client_key: "/etc/chef/ltylapp400a.pem"
platforms:
- name: centos-6.8
driver:
synced_folders:
- ["/Users/212466756/.chef", "/etc/chef", "disabled:false"]
suites:
- name: ltylapp400a
run_list:
- role[lgrid-db]
attributes:
chef_client:
Ein Ausschnitt aus meinem Rezept, das mit Koch-Gewölbe Angebote:
case node["customer_conf"]["status"]
when 'pilot'
passwords = ChefVault::Item.load('passwords', 'pilot')
when 'production'
passwords = ChefVault::Item.load('passwords', node[:hostname][1..3])
end
Meine Verzeichnisstruktur für relevant data_bags:
data_bags
--passwords
--pilot.json
--pilot_keys.json
Der Fehler, den ich bekomme ist, dass mein client.pem das vagrant gen Bei /etc/chef/ltylapp400a.pem kann der Inhalt dieser Datenbank nicht entschlüsselt werden. Chef schlagen vor, dass ich Messergewölbe refresh laufen lasse, bin ich nicht zu meinem Chefserver auf meiner lokalen Maschine verbunden, also, wenn ich dieses laufe, gibt es einen Fehler über, keinen Chefserver zu haben, zum sich zu verbinden. Meine Frage ist, wie kann ich meinen neuen Schlüssel, der vagrant erzeugt hat, der pilot_keys.json hinzufügen, so dass es in der Lage ist, diese data_bag zu entschlüsseln?
Die detaillierteren Antworten sind besser ich bin immer noch etwas Neues Koch, Test-Küche, etc ...