hobo-inviqa 0.0.11 → 0.0.13
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/hobo.rb +2 -0
- data/lib/hobo/cli.rb +1 -0
- data/lib/hobo/lib/seed/project.rb +9 -1
- data/lib/hobo/lib/seed/seed.rb +6 -1
- data/lib/hobo/lib/self_signed_cert_generator.rb +37 -0
- data/lib/hobo/tasks/deps.rb +12 -4
- data/lib/hobo/tasks/ops.rb +6 -0
- data/lib/hobo/tasks/vm.rb +1 -1
- data/lib/hobo/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dddcb0ce1d74f6b6f52849c57c855561d1d7f84d
|
4
|
+
data.tar.gz: bcdc46f391df9f1e18400cfe1e6852a526928c3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9602e6025612afc89faef1e549584c70c24ecf868d1588d630f33503a8c3fe1764fe5a1c977e5289368d3b09f3256e6ebf47c6f65f270a570201f0b8bceb415a
|
7
|
+
data.tar.gz: 5b05f1109db5aeb1205355365ad3e213468331e4dda7def377d5a5b1d61724bc8699d916f336be41ad0539fd81f5ad13fd57de6750639401c832222e11193380
|
data/Gemfile.lock
CHANGED
data/lib/hobo.rb
CHANGED
@@ -8,6 +8,7 @@ require 'deepstruct'
|
|
8
8
|
require 'logger'
|
9
9
|
require 'highline'
|
10
10
|
require 'fileutils'
|
11
|
+
require 'openssl'
|
11
12
|
|
12
13
|
# DSL enhancements
|
13
14
|
require 'hobo/metadata'
|
@@ -55,6 +56,7 @@ require 'hobo/asset_applicators/files'
|
|
55
56
|
require 'hobo/lib/seed/project'
|
56
57
|
require 'hobo/lib/seed/replacer'
|
57
58
|
require 'hobo/lib/seed/seed'
|
59
|
+
require 'hobo/lib/self_signed_cert_generator'
|
58
60
|
|
59
61
|
# Host checks
|
60
62
|
require 'hobo/lib/host_check/git'
|
data/lib/hobo/cli.rb
CHANGED
@@ -6,7 +6,8 @@ module Hobo
|
|
6
6
|
@opts = {
|
7
7
|
:replacer => Replacer.new,
|
8
8
|
:config_class => Hobo::Config::File,
|
9
|
-
:project_config_file => Hobo.project_config_file
|
9
|
+
:project_config_file => Hobo.project_config_file,
|
10
|
+
:ssl_cert_generator => Hobo::Lib::SelfSignedCertGenerator
|
10
11
|
}.merge! opts
|
11
12
|
end
|
12
13
|
|
@@ -19,12 +20,19 @@ module Hobo
|
|
19
20
|
config[:vm] = {
|
20
21
|
:project_mount_path => "/vagrant"
|
21
22
|
}
|
23
|
+
config[:ssl] = @opts[:ssl_cert_generator].generate config[:hostname]
|
24
|
+
config[:chef_ssl] = {}
|
25
|
+
config[:ssl].each do |k, v|
|
26
|
+
config[:chef_ssl][k] = v.gsub("\n", "\\n")
|
27
|
+
end
|
22
28
|
|
23
29
|
@opts[:replacer].replace(config[:project_path], config)
|
24
30
|
load_seed_init(config)
|
25
31
|
|
26
32
|
project_path = config[:project_path]
|
27
33
|
config.delete :project_path
|
34
|
+
config.delete :ssl
|
35
|
+
config.delete :chef_ssl
|
28
36
|
@opts[:config_class].save @opts[:project_config_file], config
|
29
37
|
|
30
38
|
initialize_git project_path, config[:git_url]
|
data/lib/hobo/lib/seed/seed.rb
CHANGED
@@ -75,7 +75,12 @@ module Hobo
|
|
75
75
|
|
76
76
|
class << self
|
77
77
|
def name_to_url name
|
78
|
-
|
78
|
+
path = File.expand_path name
|
79
|
+
if name.match(/^(\.|\/|\/~)/) && path
|
80
|
+
path
|
81
|
+
else
|
82
|
+
"git@github.com:inviqa/hobo-seed-#{name}"
|
83
|
+
end
|
79
84
|
end
|
80
85
|
end
|
81
86
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Hobo
|
2
|
+
module Lib
|
3
|
+
class SelfSignedCertGenerator
|
4
|
+
def self.generate domain
|
5
|
+
key = OpenSSL::PKey::RSA.new(2048)
|
6
|
+
public_key = key.public_key
|
7
|
+
|
8
|
+
subject = "/C=UK/ST=/O=Inviqa/localityName=London/commonName=*.#{domain}/organizationalUnitName=/emailAddress=support@inviqa.com"
|
9
|
+
|
10
|
+
cert = OpenSSL::X509::Certificate.new
|
11
|
+
cert.subject = cert.issuer = OpenSSL::X509::Name.parse(subject)
|
12
|
+
cert.not_before = Time.now
|
13
|
+
cert.not_after = Time.now + 365 * 24 * 60 * 60
|
14
|
+
cert.public_key = public_key
|
15
|
+
cert.serial = 0x0
|
16
|
+
cert.version = 2
|
17
|
+
|
18
|
+
ef = OpenSSL::X509::ExtensionFactory.new
|
19
|
+
ef.subject_certificate = cert
|
20
|
+
ef.issuer_certificate = cert
|
21
|
+
cert.extensions = [
|
22
|
+
ef.create_extension("basicConstraints","CA:TRUE", true),
|
23
|
+
ef.create_extension("subjectKeyIdentifier", "hash")
|
24
|
+
]
|
25
|
+
|
26
|
+
cert.add_extension ef.create_extension("authorityKeyIdentifier", "keyid:always,issuer:always")
|
27
|
+
|
28
|
+
cert.sign key, OpenSSL::Digest::SHA1.new
|
29
|
+
|
30
|
+
{
|
31
|
+
:key => key.to_pem.to_s.strip,
|
32
|
+
:cert => cert.to_pem.to_s.strip
|
33
|
+
}
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/hobo/tasks/deps.rb
CHANGED
@@ -52,12 +52,20 @@ namespace :deps do
|
|
52
52
|
task :vagrant_plugins => [ "deps:gems" ] do
|
53
53
|
plugins = shell "vagrant plugin list", :capture => true
|
54
54
|
locate "*Vagrantfile" do
|
55
|
+
to_install = []
|
55
56
|
File.read("Vagrantfile").split("\n").each do |line|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
if line.match /#\s*Hobo.vagrant_plugin (.*)/
|
58
|
+
to_install << $1
|
59
|
+
else
|
60
|
+
next if line.match /^\s*#/
|
61
|
+
next unless line.match /Vagrant\.require_plugin (.*)/
|
62
|
+
to_install << $1
|
63
|
+
end
|
64
|
+
end
|
60
65
|
|
66
|
+
to_install.each do |plugin|
|
67
|
+
plugin.gsub!(/['"]*/, '')
|
68
|
+
next if plugins.include? "#{plugin} "
|
61
69
|
Hobo.ui.title "Installing vagrant plugin: #{plugin}"
|
62
70
|
shell "vagrant", "plugin", "install", plugin, :realtime => true, :indent => 2
|
63
71
|
Hobo.ui.separator
|
data/lib/hobo/tasks/vm.rb
CHANGED
data/lib/hobo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobo-inviqa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Simons
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: slop
|
@@ -235,6 +235,7 @@ files:
|
|
235
235
|
- lib/hobo/lib/seed/project.rb
|
236
236
|
- lib/hobo/lib/seed/replacer.rb
|
237
237
|
- lib/hobo/lib/seed/seed.rb
|
238
|
+
- lib/hobo/lib/self_signed_cert_generator.rb
|
238
239
|
- lib/hobo/lib/vm/command.rb
|
239
240
|
- lib/hobo/lib/vm/inspector.rb
|
240
241
|
- lib/hobo/logging.rb
|
@@ -249,6 +250,7 @@ files:
|
|
249
250
|
- lib/hobo/tasks/config.rb
|
250
251
|
- lib/hobo/tasks/deps.rb
|
251
252
|
- lib/hobo/tasks/magento.rb
|
253
|
+
- lib/hobo/tasks/ops.rb
|
252
254
|
- lib/hobo/tasks/seed.rb
|
253
255
|
- lib/hobo/tasks/self.rb
|
254
256
|
- lib/hobo/tasks/system.rb
|