corl 0.4.0 → 0.4.1
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.
- 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
|