corl 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +5 -10
- data/Gemfile.lock +13 -11
- data/README.rdoc +1 -1
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/bin/corl +2 -54
- data/bootstrap/bootstrap.sh +91 -0
- data/bootstrap/lib/shell/LICENSE.txt +674 -0
- data/bootstrap/lib/shell/command.sh +214 -0
- data/bootstrap/lib/shell/filesystem.sh +139 -0
- data/bootstrap/lib/shell/load.sh +73 -0
- data/bootstrap/lib/shell/os.sh +67 -0
- data/bootstrap/lib/shell/script.sh +160 -0
- data/bootstrap/lib/shell/starter.sh +64 -0
- data/bootstrap/lib/shell/validators.sh +50 -0
- data/bootstrap/os/ubuntu/00_base.sh +5 -0
- data/bootstrap/os/ubuntu/01_git.sh +5 -0
- data/bootstrap/os/ubuntu/05_ruby.sh +7 -0
- data/bootstrap/os/ubuntu/06_puppet.sh +38 -0
- data/bootstrap/os/ubuntu/10_corl.sh +9 -0
- data/corl.gemspec +61 -124
- data/lib/{corl → CORL}/action/bootstrap.rb +13 -7
- data/lib/CORL/action/exec.rb +39 -0
- data/lib/CORL/action/image.rb +31 -0
- data/lib/{corl → CORL}/action/images.rb +1 -1
- data/lib/CORL/action/lookup.rb +34 -0
- data/lib/{corl → CORL}/action/machines.rb +1 -1
- data/lib/CORL/action/provision.rb +31 -0
- data/lib/{corl → CORL}/action/seed.rb +3 -3
- data/lib/{corl → CORL}/action/spawn.rb +2 -2
- data/lib/CORL/action/start.rb +31 -0
- data/lib/CORL/action/stop.rb +31 -0
- data/lib/{corl → CORL}/configuration/file.rb +1 -1
- data/lib/{corl → CORL}/event/puppet.rb +1 -1
- data/lib/{corl → CORL}/extension/puppetloader.rb +1 -1
- data/lib/{corl → CORL}/machine/fog.rb +3 -3
- data/lib/{corl → CORL}/machine/physical.rb +2 -2
- data/lib/{corl → CORL}/network/default.rb +1 -1
- data/lib/{corl → CORL}/node/aws.rb +0 -4
- data/lib/{corl → CORL}/node/google.rb +0 -4
- data/lib/{corl → CORL}/node/local.rb +1 -1
- data/lib/{corl → CORL}/node/rackspace.rb +0 -4
- data/lib/{corl → CORL}/provisioner/puppetnode.rb +1 -14
- data/lib/{corl → CORL}/provisioner/puppetnode/resource.rb +0 -0
- data/lib/{corl → CORL}/provisioner/puppetnode/resource_group.rb +0 -0
- data/lib/{corl → CORL}/template/environment.rb +1 -1
- data/lib/core/facade.rb +49 -0
- data/lib/{corl_core → core}/mixin/action/keypair.rb +10 -10
- data/lib/{corl_core → core}/mixin/lookup.rb +0 -0
- data/lib/{corl_core → core}/mod/hiera_backend.rb +0 -0
- data/lib/{corl_core/mixin/action/node.rb → core/plugin/action.rb} +66 -33
- data/lib/{corl_core → core}/plugin/configuration.rb +2 -2
- data/lib/{corl/node → core/plugin}/fog.rb +5 -1
- data/lib/{corl_core → core}/plugin/machine.rb +2 -2
- data/lib/{corl_core → core}/plugin/network.rb +4 -4
- data/lib/{corl_core → core}/plugin/node.rb +11 -9
- data/lib/{corl_core → core}/plugin/provisioner.rb +2 -2
- data/lib/{corl_core → core}/util/ssh.rb +1 -1
- data/lib/corl.rb +53 -112
- data/lib/puppet/parser/functions/ensure.rb +0 -4
- data/locales/en.yml +55 -148
- metadata +84 -222
- data/lib/corl/action/add.rb +0 -69
- data/lib/corl/action/clone.rb +0 -40
- data/lib/corl/action/create.rb +0 -55
- data/lib/corl/action/exec.rb +0 -41
- data/lib/corl/action/extract.rb +0 -49
- data/lib/corl/action/image.rb +0 -30
- data/lib/corl/action/lookup.rb +0 -35
- data/lib/corl/action/provision.rb +0 -37
- data/lib/corl/action/remove.rb +0 -51
- data/lib/corl/action/save.rb +0 -53
- data/lib/corl/action/start.rb +0 -37
- data/lib/corl/action/stop.rb +0 -30
- data/lib/corl/action/update.rb +0 -37
- data/lib/corl/command/shell.rb +0 -164
- data/lib/corl/event/regex.rb +0 -52
- data/lib/corl/project/git.rb +0 -465
- data/lib/corl/project/github.rb +0 -108
- data/lib/corl/template/json.rb +0 -16
- data/lib/corl/template/wrapper.rb +0 -16
- data/lib/corl/template/yaml.rb +0 -16
- data/lib/corl/translator/json.rb +0 -27
- data/lib/corl/translator/yaml.rb +0 -27
- data/lib/corl_core/codes.rb +0 -107
- data/lib/corl_core/config.rb +0 -337
- data/lib/corl_core/config/collection.rb +0 -57
- data/lib/corl_core/config/options.rb +0 -70
- data/lib/corl_core/core.rb +0 -59
- data/lib/corl_core/corl.rb +0 -254
- data/lib/corl_core/errors.rb +0 -84
- data/lib/corl_core/facade.rb +0 -126
- data/lib/corl_core/gems.rb +0 -72
- data/lib/corl_core/manager.rb +0 -425
- data/lib/corl_core/mixin/action/commit.rb +0 -58
- data/lib/corl_core/mixin/action/project.rb +0 -53
- data/lib/corl_core/mixin/action/push.rb +0 -52
- data/lib/corl_core/mixin/config/collection.rb +0 -53
- data/lib/corl_core/mixin/config/ops.rb +0 -53
- data/lib/corl_core/mixin/config/options.rb +0 -39
- data/lib/corl_core/mixin/macro/object_interface.rb +0 -361
- data/lib/corl_core/mixin/macro/plugin_interface.rb +0 -380
- data/lib/corl_core/mixin/settings.rb +0 -46
- data/lib/corl_core/mixin/sub_config.rb +0 -148
- data/lib/corl_core/mod/hash.rb +0 -29
- data/lib/corl_core/plugin/action.rb +0 -381
- data/lib/corl_core/plugin/base.rb +0 -374
- data/lib/corl_core/plugin/command.rb +0 -98
- data/lib/corl_core/plugin/event.rb +0 -53
- data/lib/corl_core/plugin/extension.rb +0 -12
- data/lib/corl_core/plugin/project.rb +0 -927
- data/lib/corl_core/plugin/template.rb +0 -80
- data/lib/corl_core/plugin/translator.rb +0 -38
- data/lib/corl_core/util/cli.rb +0 -352
- data/lib/corl_core/util/data.rb +0 -404
- data/lib/corl_core/util/disk.rb +0 -114
- data/lib/corl_core/util/git.rb +0 -47
- data/lib/corl_core/util/interface.rb +0 -319
- data/lib/corl_core/util/liquid.rb +0 -17
- data/lib/corl_core/util/package.rb +0 -93
- data/lib/corl_core/util/shell.rb +0 -239
- data/spec/corl_core/interface_spec.rb +0 -489
data/lib/corl/action/clone.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Clone < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Clone action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl clone <existing_node_reference> <new_node_reference>')
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------------
|
14
|
-
# Action operations
|
15
|
-
|
16
|
-
def parse(parser)
|
17
|
-
parser.option_str(:provider, :rackspace,
|
18
|
-
'--provider DEFAULT_NODE_PROVIDER',
|
19
|
-
'corl.core.actions.start.options.provider'
|
20
|
-
)
|
21
|
-
parser.arg_str(:existing_node_reference, nil,
|
22
|
-
'corl.core.actions.start.options.existing_node_reference'
|
23
|
-
)
|
24
|
-
parser.arg_str(:new_node_reference, nil,
|
25
|
-
'corl.core.actions.start.options.new_node_reference'
|
26
|
-
)
|
27
|
-
end
|
28
|
-
|
29
|
-
#---
|
30
|
-
|
31
|
-
def execute
|
32
|
-
super do |node, network, status|
|
33
|
-
info('corl.core.actions.clone.start')
|
34
|
-
|
35
|
-
status
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
data/lib/corl/action/create.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Create < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Create action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl create [ <project:::reference> ]')
|
11
|
-
|
12
|
-
codes :project_failure => 20
|
13
|
-
end
|
14
|
-
|
15
|
-
#-----------------------------------------------------------------------------
|
16
|
-
# Action operations
|
17
|
-
|
18
|
-
def parse(parser)
|
19
|
-
network_path = Dir.pwd
|
20
|
-
network_path = lookup(:corl_network) if CORL.admin?
|
21
|
-
|
22
|
-
parser.option_str(:path, network_path,
|
23
|
-
'--path PROJECT_DIR',
|
24
|
-
'corl.core.actions.create.options.path'
|
25
|
-
)
|
26
|
-
parser.option_str(:revision, :master,
|
27
|
-
'--revision REVISION/BRANCH',
|
28
|
-
'corl.core.actions.create.options.revision'
|
29
|
-
)
|
30
|
-
parser.arg_str(:reference,
|
31
|
-
'github:::coralnexus/puppet-cloud-template',
|
32
|
-
'corl.core.actions.create.options.reference'
|
33
|
-
)
|
34
|
-
end
|
35
|
-
|
36
|
-
#---
|
37
|
-
|
38
|
-
def execute
|
39
|
-
super do |node, network, status|
|
40
|
-
info('corl.core.actions.create.start')
|
41
|
-
|
42
|
-
project = CORL.project(extended_config(:project, {
|
43
|
-
:create => true,
|
44
|
-
:directory => settings[:path],
|
45
|
-
:url => settings[:reference],
|
46
|
-
:revision => settings[:revision],
|
47
|
-
:pull => true
|
48
|
-
}))
|
49
|
-
|
50
|
-
project ? status : code.project_failure
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
data/lib/corl/action/exec.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Exec < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Seed action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl exec <command> [ <args> ... ]')
|
11
|
-
|
12
|
-
codes :network_failure => 20
|
13
|
-
end
|
14
|
-
|
15
|
-
#-----------------------------------------------------------------------------
|
16
|
-
# Action operations
|
17
|
-
|
18
|
-
def parse(parser)
|
19
|
-
parser.arg_array(:command, nil,
|
20
|
-
'corl.core.actions.exec.options.command'
|
21
|
-
)
|
22
|
-
node_options(parser)
|
23
|
-
end
|
24
|
-
|
25
|
-
#---
|
26
|
-
|
27
|
-
def execute
|
28
|
-
super do |node, network, status|
|
29
|
-
if network && node
|
30
|
-
command_str = settings[:command].join(' ')
|
31
|
-
result = node.exec({ :commands => [ command_str ] }).first
|
32
|
-
status = result[:status]
|
33
|
-
else
|
34
|
-
status = code.network_failure
|
35
|
-
end
|
36
|
-
status
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
data/lib/corl/action/extract.rb
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Extract < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Action settings
|
8
|
-
|
9
|
-
def configure
|
10
|
-
super do
|
11
|
-
codes :extract_failure
|
12
|
-
|
13
|
-
register :path, :str, nil do |value|
|
14
|
-
unless File.directory?(value)
|
15
|
-
warn('corl.actions.extract.errors.path', { :value => value })
|
16
|
-
next false
|
17
|
-
end
|
18
|
-
true
|
19
|
-
end
|
20
|
-
register :encoded, :str, nil do |value|
|
21
|
-
@package = Util::Package.new(value)
|
22
|
-
if @package.data.export.empty?
|
23
|
-
warn('corl.actions.extract.errors.encoded', { :value => value })
|
24
|
-
next false
|
25
|
-
end
|
26
|
-
true
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
#---
|
32
|
-
|
33
|
-
def arguments
|
34
|
-
[ :path, :encoded ]
|
35
|
-
end
|
36
|
-
|
37
|
-
#-----------------------------------------------------------------------------
|
38
|
-
# Action operations
|
39
|
-
|
40
|
-
def execute
|
41
|
-
super do |node, network|
|
42
|
-
unless @package.extract(settings[:path])
|
43
|
-
myself.status = code.extract_failure
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
data/lib/corl/action/image.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Image < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Image action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl image')
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------------
|
14
|
-
# Action operations
|
15
|
-
|
16
|
-
def parse(parser)
|
17
|
-
end
|
18
|
-
|
19
|
-
#---
|
20
|
-
|
21
|
-
def execute
|
22
|
-
super do |node, network, status|
|
23
|
-
info('corl.core.actions.image.start')
|
24
|
-
|
25
|
-
status
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
data/lib/corl/action/lookup.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Lookup < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Lookup action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl lookup <property>')
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------------
|
14
|
-
# Action operations
|
15
|
-
|
16
|
-
def parse(parser)
|
17
|
-
parser.arg_str(:property, nil,
|
18
|
-
'corl.core.actions.create.options.property'
|
19
|
-
)
|
20
|
-
end
|
21
|
-
|
22
|
-
#---
|
23
|
-
|
24
|
-
def execute
|
25
|
-
super do |node, network, status|
|
26
|
-
property = settings[:property]
|
27
|
-
value = lookup(property)
|
28
|
-
|
29
|
-
ui.success(sprintf("#{property} = %s", value.inspect))
|
30
|
-
status
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Provision < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Provision action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl provision [ <project_directory> ]')
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------------
|
14
|
-
# Action operations
|
15
|
-
|
16
|
-
def parse(parser)
|
17
|
-
parser.option_str(:provider, nil,
|
18
|
-
'--provider PROVISIONER_PROVIDER',
|
19
|
-
'corl.core.actions.provision.options.provider'
|
20
|
-
)
|
21
|
-
parser.arg_str(:directory, :default,
|
22
|
-
'corl.core.actions.provision.options.directory'
|
23
|
-
)
|
24
|
-
end
|
25
|
-
|
26
|
-
#---
|
27
|
-
|
28
|
-
def execute
|
29
|
-
super do |node, network, status|
|
30
|
-
info('corl.core.actions.provision.start')
|
31
|
-
|
32
|
-
status
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/lib/corl/action/remove.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Remove < Plugin::Action
|
5
|
-
|
6
|
-
include Mixin::Action::Project
|
7
|
-
include Mixin::Action::Push
|
8
|
-
|
9
|
-
#-----------------------------------------------------------------------------
|
10
|
-
# Remove action interface
|
11
|
-
|
12
|
-
def normalize
|
13
|
-
super('corl remove <subproject/path>')
|
14
|
-
|
15
|
-
codes :project_failure => 20,
|
16
|
-
:delete_failure => 21,
|
17
|
-
:push_failure => 22
|
18
|
-
end
|
19
|
-
|
20
|
-
#-----------------------------------------------------------------------------
|
21
|
-
# Action operations
|
22
|
-
|
23
|
-
def parse(parser)
|
24
|
-
parser.arg_str(:sub_path, nil,
|
25
|
-
'corl.core.actions.remove.options.sub_path'
|
26
|
-
)
|
27
|
-
project_options(parser, true, true)
|
28
|
-
push_options(parser, true)
|
29
|
-
end
|
30
|
-
|
31
|
-
#---
|
32
|
-
|
33
|
-
def execute
|
34
|
-
super do |node, network, status|
|
35
|
-
info('corl.core.actions.remove.start')
|
36
|
-
|
37
|
-
if project = project_load(Dir.pwd, false)
|
38
|
-
if project.delete_subproject(settings[:sub_path])
|
39
|
-
status = code.push_failure unless push(project)
|
40
|
-
else
|
41
|
-
status = code.delete_failure
|
42
|
-
end
|
43
|
-
else
|
44
|
-
status = code.project_failure
|
45
|
-
end
|
46
|
-
status
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
data/lib/corl/action/save.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Save < Plugin::Action
|
5
|
-
|
6
|
-
include Mixin::Action::Project
|
7
|
-
include Mixin::Action::Commit
|
8
|
-
include Mixin::Action::Push
|
9
|
-
|
10
|
-
#-----------------------------------------------------------------------------
|
11
|
-
# Save action interface
|
12
|
-
|
13
|
-
def normalize
|
14
|
-
super('corl save [ <file> ... ]')
|
15
|
-
|
16
|
-
codes :project_failure => 20,
|
17
|
-
:commit_failure => 21,
|
18
|
-
:push_failure => 22
|
19
|
-
end
|
20
|
-
|
21
|
-
#-----------------------------------------------------------------------------
|
22
|
-
# Action operations
|
23
|
-
|
24
|
-
def parse(parser)
|
25
|
-
parser.arg_array(:files, '.',
|
26
|
-
'corl.core.actions.save.options.files'
|
27
|
-
)
|
28
|
-
project_options(parser, true, false)
|
29
|
-
commit_options(parser, false)
|
30
|
-
push_options(parser, true)
|
31
|
-
end
|
32
|
-
|
33
|
-
#---
|
34
|
-
|
35
|
-
def execute
|
36
|
-
super do |node, network, status|
|
37
|
-
info('corl.core.actions.save.start')
|
38
|
-
|
39
|
-
if project = project_load(Dir.pwd, false)
|
40
|
-
if commit(project, settings[:files])
|
41
|
-
status = code.push_failure unless push(project)
|
42
|
-
else
|
43
|
-
status = code.commit_failure
|
44
|
-
end
|
45
|
-
else
|
46
|
-
status = code.project_failure
|
47
|
-
end
|
48
|
-
status
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
data/lib/corl/action/start.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Start < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Start action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl start <node_reference>')
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------------
|
14
|
-
# Action operations
|
15
|
-
|
16
|
-
def parse(parser)
|
17
|
-
parser.option_str(:provider, :rackspace,
|
18
|
-
'--provider DEFAULT_NODE_PROVIDER',
|
19
|
-
'corl.core.actions.start.options.provider'
|
20
|
-
)
|
21
|
-
parser.arg_str(:node_reference, nil,
|
22
|
-
'corl.core.actions.start.options.node_reference'
|
23
|
-
)
|
24
|
-
end
|
25
|
-
|
26
|
-
#---
|
27
|
-
|
28
|
-
def execute
|
29
|
-
super do |node, network, status|
|
30
|
-
info('corl.core.actions.start.start')
|
31
|
-
|
32
|
-
status
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/lib/corl/action/stop.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
|
2
|
-
module CORL
|
3
|
-
module Action
|
4
|
-
class Stop < Plugin::Action
|
5
|
-
|
6
|
-
#-----------------------------------------------------------------------------
|
7
|
-
# Stop action interface
|
8
|
-
|
9
|
-
def normalize
|
10
|
-
super('corl stop')
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------------
|
14
|
-
# Action operations
|
15
|
-
|
16
|
-
def parse(parser)
|
17
|
-
end
|
18
|
-
|
19
|
-
#---
|
20
|
-
|
21
|
-
def execute
|
22
|
-
super do |node, network, status|
|
23
|
-
info('corl.core.actions.stop.start')
|
24
|
-
|
25
|
-
status
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|