chef11-key-dump 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/chef11-key-dump +5 -0
- data/lib/chef11_key_dump.rb +55 -0
- metadata +89 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ee9c465f87b876c3da1399c783a79af3ccc821cc
|
4
|
+
data.tar.gz: 96878b1719d26d6569409e737aa86f084251ad5b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6b636644a1b11b2afa0f5229e02e9e15f3d70de1a517480709a54128669e39c612fdc74eb2b648ff6ef74ca96879a727d8a2cde923f0d6fe4ea078bfa1221188
|
7
|
+
data.tar.gz: 7d930d32b107a5b736987d7a754d86dc0d42695b177afc35b199b80e925d737b9f5095b139567fd2072db8c3ce997749ba8c180bf88bff7e919930759727a13b
|
data/bin/chef11-key-dump
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
|
2
|
+
require 'sequel'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
class Chef11KeyDump
|
9
|
+
|
10
|
+
def self.dump
|
11
|
+
Chef11KeyDump.new.create_chef11_key_file
|
12
|
+
end
|
13
|
+
|
14
|
+
def key_file
|
15
|
+
"key_dump.json"
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_chef11_key_file
|
19
|
+
sql_host, sql_port, sql_user, sql_password = pull_chef11_db_credentials
|
20
|
+
|
21
|
+
server_string = "#{sql_user}:#{sql_password}@#{sql_host}:#{sql_port}/opscode_chef"
|
22
|
+
db = ::Sequel.connect("postgres://#{server_string}")
|
23
|
+
|
24
|
+
sql_user_data = db.select(:username, :id, :public_key, :hashed_password, :salt, :hash_type).from(:osc_users)
|
25
|
+
sql_users_json = sql_user_data.all.to_json
|
26
|
+
file_open(key_file, 'w') { |file| file.write(sql_users_json)}
|
27
|
+
end
|
28
|
+
|
29
|
+
def pull_chef11_db_credentials
|
30
|
+
# This code pulled from knife-ec-backup and adapted
|
31
|
+
puts "Pulling open source Chef 11 database credentials"
|
32
|
+
|
33
|
+
if !File.exists?("/etc/chef-server/chef-server-running.json")
|
34
|
+
puts "Failed to find /etc/chef-server/chef-server-running.json"
|
35
|
+
exit 1
|
36
|
+
end
|
37
|
+
|
38
|
+
running_config = JSON.parse(File.read("/etc/chef-server/chef-server-running.json"))
|
39
|
+
sql_host = running_config['chef_server']['postgresql']['vip']
|
40
|
+
sql_port = running_config['chef_server']['postgresql']['port']
|
41
|
+
sql_user = running_config['chef_server']['postgresql']['sql_user']
|
42
|
+
sql_password = running_config['chef_server']['postgresql']['sql_password']
|
43
|
+
[sql_host, sql_port, sql_user, sql_password]
|
44
|
+
end
|
45
|
+
|
46
|
+
def file_open(file, mode, &block)
|
47
|
+
begin
|
48
|
+
File.open(file, mode, &block)
|
49
|
+
rescue Exception => e
|
50
|
+
puts "Received exception #{e.message} when trying to open file #{file}"
|
51
|
+
exit 1
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
metadata
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: chef11-key-dump
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kirt Fitzpatrick
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sequel
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pg
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: json
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Dumps an Open Source Chef 11 server's key data for transform and import
|
56
|
+
into a Chef 12 server.
|
57
|
+
email: kirt@chef.io
|
58
|
+
executables:
|
59
|
+
- chef11-key-dump
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- bin/chef11-key-dump
|
64
|
+
- lib/chef11_key_dump.rb
|
65
|
+
homepage: https://rubygems.org/gems/chef11-key-dump
|
66
|
+
licenses:
|
67
|
+
- MIT
|
68
|
+
metadata: {}
|
69
|
+
post_install_message:
|
70
|
+
rdoc_options: []
|
71
|
+
require_paths:
|
72
|
+
- lib
|
73
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
requirements: []
|
84
|
+
rubyforge_project:
|
85
|
+
rubygems_version: 2.0.14
|
86
|
+
signing_key:
|
87
|
+
specification_version: 4
|
88
|
+
summary: Dumps Chef11 keys to json.
|
89
|
+
test_files: []
|