hobo-inviqa 0.0.11 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|