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.rb
CHANGED
@@ -1,103 +1,42 @@
|
|
1
1
|
|
2
2
|
#*******************************************************************************
|
3
|
-
# CORL
|
3
|
+
# CORL (Cluster Orchestration and Research Library)
|
4
4
|
#
|
5
|
-
#
|
5
|
+
# built on Nucleon (github.com/coralnexus/nucleon)
|
6
|
+
#
|
7
|
+
# A framework that provides a simple foundation for growing organically in
|
8
|
+
# the cloud.
|
6
9
|
#
|
7
10
|
# Author:: Adrian Webb (mailto:adrian.webb@coralnexus.com)
|
8
11
|
# License:: GPLv3
|
9
12
|
|
10
|
-
#-------------------------------------------------------------------------------
|
11
|
-
# Global namespace
|
12
|
-
|
13
|
-
module Kernel
|
14
|
-
|
15
|
-
def dbg(data, label = '')
|
16
|
-
# Invocations of this function should NOT be committed to the project
|
17
|
-
require 'pp'
|
18
|
-
|
19
|
-
puts '>>----------------------'
|
20
|
-
unless label.empty?
|
21
|
-
puts label
|
22
|
-
puts '---'
|
23
|
-
end
|
24
|
-
pp data
|
25
|
-
puts '<<'
|
26
|
-
end
|
27
|
-
|
28
|
-
#---
|
29
|
-
|
30
|
-
def corl_locate(command)
|
31
|
-
command = command.to_s
|
32
|
-
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
33
|
-
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
34
|
-
exts.each do |ext|
|
35
|
-
exe = File.join(path, "#{command}#{ext}")
|
36
|
-
return exe if File.executable?(exe)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
return nil
|
40
|
-
end
|
41
|
-
|
42
|
-
#---
|
43
|
-
|
44
|
-
def corl_require(base_dir, name)
|
45
|
-
name = name.to_s
|
46
|
-
top_level_file = File.join(base_dir, "#{name}.rb")
|
47
|
-
|
48
|
-
require top_level_file if File.exists?(top_level_file)
|
49
|
-
|
50
|
-
directory = File.join(base_dir, name)
|
51
|
-
|
52
|
-
if File.directory?(directory)
|
53
|
-
Dir.glob(File.join(directory, '**', '*.rb')).each do |sub_file|
|
54
|
-
require sub_file
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
13
|
#-------------------------------------------------------------------------------
|
61
14
|
# Top level properties
|
62
15
|
|
63
16
|
lib_dir = File.dirname(__FILE__)
|
64
|
-
core_dir = File.join(lib_dir, '
|
17
|
+
core_dir = File.join(lib_dir, 'core')
|
65
18
|
mixin_dir = File.join(core_dir, 'mixin')
|
66
|
-
mixin_config_dir = File.join(mixin_dir, 'config')
|
67
19
|
mixin_action_dir = File.join(mixin_dir, 'action')
|
68
|
-
macro_dir = File.join(mixin_dir, 'macro')
|
69
20
|
util_dir = File.join(core_dir, 'util')
|
70
21
|
mod_dir = File.join(core_dir, 'mod')
|
71
|
-
plugin_dir = File.join(core_dir, 'plugin')
|
72
22
|
|
73
23
|
#-------------------------------------------------------------------------------
|
74
24
|
# CORL requirements
|
75
25
|
|
76
|
-
git_location = corl_locate('git')
|
77
|
-
|
78
26
|
$:.unshift(lib_dir) unless $:.include?(lib_dir) || $:.include?(File.expand_path(lib_dir))
|
79
27
|
|
80
28
|
#---
|
81
29
|
|
82
30
|
require 'rubygems'
|
83
31
|
|
84
|
-
require '
|
85
|
-
|
86
|
-
|
87
|
-
require '
|
88
|
-
require 'base64'
|
32
|
+
require 'nucleon_base'
|
33
|
+
CORL = Nucleon
|
34
|
+
|
35
|
+
require 'tmpdir'
|
89
36
|
require 'sshkey'
|
90
|
-
|
37
|
+
|
91
38
|
require 'hiera'
|
92
39
|
require 'facter'
|
93
|
-
require 'yaml'
|
94
|
-
require 'multi_json'
|
95
|
-
require 'digest/sha1'
|
96
|
-
require 'optparse'
|
97
|
-
require 'thread' # Eventually depreciated
|
98
|
-
require 'celluloid'
|
99
|
-
require 'celluloid/autostart'
|
100
|
-
require 'tmpdir'
|
101
40
|
|
102
41
|
#---
|
103
42
|
|
@@ -108,13 +47,6 @@ I18n.load_path << File.expand_path(File.join('..', 'locales', 'en.yml'), lib_dir
|
|
108
47
|
|
109
48
|
#---
|
110
49
|
|
111
|
-
if git_location
|
112
|
-
require 'grit'
|
113
|
-
corl_require(util_dir, :git)
|
114
|
-
end
|
115
|
-
|
116
|
-
#---
|
117
|
-
|
118
50
|
# Object modifications (100% pure monkey patches)
|
119
51
|
Dir.glob(File.join(mod_dir, '*.rb')).each do |file|
|
120
52
|
require file
|
@@ -126,48 +58,57 @@ end
|
|
126
58
|
Dir.glob(File.join(mixin_dir, '*.rb')).each do |file|
|
127
59
|
require file
|
128
60
|
end
|
129
|
-
Dir.glob(File.join(mixin_config_dir, '*.rb')).each do |file|
|
130
|
-
require file
|
131
|
-
end
|
132
61
|
Dir.glob(File.join(mixin_action_dir, '*.rb')).each do |file|
|
133
62
|
require file
|
134
63
|
end
|
135
|
-
Dir.glob(File.join(macro_dir, '*.rb')).each do |file|
|
136
|
-
require file
|
137
|
-
end
|
138
|
-
|
139
|
-
#---
|
140
|
-
|
141
|
-
# Include bootstrap classes
|
142
|
-
corl_require(core_dir, :errors)
|
143
|
-
corl_require(core_dir, :codes)
|
144
|
-
corl_require(util_dir, :data)
|
145
|
-
corl_require(core_dir, :config)
|
146
|
-
corl_require(util_dir, :interface)
|
147
|
-
corl_require(core_dir, :core)
|
148
64
|
|
149
65
|
#---
|
150
66
|
|
151
|
-
# Include
|
152
|
-
[ :
|
153
|
-
:cli,
|
154
|
-
:disk,
|
155
|
-
:package,
|
156
|
-
:shell,
|
157
|
-
:ssh
|
67
|
+
# Include CORL utilities
|
68
|
+
[ :ssh
|
158
69
|
].each do |name|
|
159
|
-
|
70
|
+
nucleon_require(util_dir, name)
|
160
71
|
end
|
161
72
|
|
162
|
-
# Include
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
corl_require(core_dir, :plugin)
|
168
|
-
corl_require(core_dir, :facade)
|
73
|
+
# Include facade
|
74
|
+
nucleon_require(core_dir, :facade)
|
75
|
+
|
76
|
+
# Include CORL core plugins
|
77
|
+
nucleon_require(core_dir, :plugin)
|
169
78
|
|
170
79
|
#-------------------------------------------------------------------------------
|
171
|
-
# CORL
|
80
|
+
# CORL interface
|
81
|
+
|
82
|
+
module CORL
|
83
|
+
|
84
|
+
def self.VERSION
|
85
|
+
File.read(File.join(File.dirname(__FILE__), '..', 'VERSION'))
|
86
|
+
end
|
87
|
+
|
88
|
+
#-----------------------------------------------------------------------------
|
89
|
+
|
90
|
+
class Config
|
91
|
+
include Mixin::Lookup
|
92
|
+
end
|
93
|
+
|
94
|
+
#-----------------------------------------------------------------------------
|
95
|
+
# CORL initialization
|
96
|
+
|
97
|
+
def self.lib_path
|
98
|
+
File.dirname(__FILE__)
|
99
|
+
end
|
100
|
+
|
101
|
+
#---
|
172
102
|
|
173
|
-
|
103
|
+
reload(true) do |op, manager|
|
104
|
+
if op == :define
|
105
|
+
manager.define_namespace :CORL
|
106
|
+
|
107
|
+
manager.define_type :configuration => :file, # Core
|
108
|
+
:network => :default, # Cluster
|
109
|
+
:node => :local, # Cluster
|
110
|
+
:machine => :physical, # Cluster
|
111
|
+
:provisioner => :puppetnode # Cluster
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -18,11 +18,7 @@ This function checks a given test and returns the success value or a failure val
|
|
18
18
|
success_value = (args.size > 1 ? args[1] : test)
|
19
19
|
failure_value = (args.size > 2 ? args[2] : :undef)
|
20
20
|
|
21
|
-
#dbg(test, 'test')
|
22
|
-
#dbg(success_value, 'success')
|
23
|
-
|
24
21
|
value = CORL::Util::Data.ensure(test, success_value, failure_value)
|
25
|
-
#dbg(value, 'value')
|
26
22
|
end
|
27
23
|
return value
|
28
24
|
end
|
data/locales/en.yml
CHANGED
@@ -4,154 +4,53 @@ en:
|
|
4
4
|
batch_error: |-
|
5
5
|
An issue was encountered during batch processing
|
6
6
|
core:
|
7
|
-
|
8
|
-
cli:
|
9
|
-
options:
|
10
|
-
help: |-
|
11
|
-
Display help information for this command
|
12
|
-
log_level: |-
|
13
|
-
Set the logging level for this execution run
|
14
|
-
encoded: |-
|
15
|
-
Optional encoded parameter set that contains default action settings (machine use only)
|
16
|
-
parse:
|
17
|
-
error: |-
|
18
|
-
There was a problem with the command arguments given
|
19
|
-
batch:
|
20
|
-
unexpected_error: |
|
21
|
-
There was a problem with batch %{process}: %{message}
|
22
|
-
corl_error: |
|
23
|
-
There was a problem with batch %{process}: %{message}
|
24
|
-
mixins:
|
25
|
-
project:
|
26
|
-
options:
|
27
|
-
provider: |-
|
28
|
-
CORL plugin provider to use for this project (default %{default_value})
|
29
|
-
reference: |-
|
30
|
-
Project URL or reference string to set as primary remote (default %{default_value})
|
31
|
-
revision: |-
|
32
|
-
Revision or branch to load (default %{default_value})
|
33
|
-
commit:
|
34
|
-
options:
|
35
|
-
commit: |-
|
36
|
-
Commit any uncommitted changes (default %{default_value})
|
37
|
-
empty: |-
|
38
|
-
Allow commits with no changes (default %{default_value})
|
39
|
-
message: |-
|
40
|
-
Commit message (defaults to auto generated commit information)
|
41
|
-
author: |-
|
42
|
-
Author of the changes being committed if different from the committer
|
43
|
-
propogate: |-
|
44
|
-
Propogate commits throughout the project tree (default %{default_value})
|
45
|
-
push:
|
46
|
-
options:
|
47
|
-
push: |-
|
48
|
-
Push changes to remote server (default %{default_value})
|
49
|
-
propogate: |-
|
50
|
-
Propogate pushes to the remote throughout the project tree (default %{default_value})
|
51
|
-
remote: |-
|
52
|
-
Remote name to push to (default %{default_value})
|
53
|
-
revision: |-
|
54
|
-
Branch to push (default %{default_value})
|
55
|
-
node:
|
56
|
-
options:
|
57
|
-
parallel: |-
|
58
|
-
Enable parallelism of node action execution (default %{default_value})
|
59
|
-
net_provider: |-
|
60
|
-
CORL network provider to use for managing cloud nodes (default %{default_value})
|
61
|
-
node_provider: |-
|
62
|
-
Default to using a specific node provider but individual node references can override (default %{default_value})
|
63
|
-
nodes: |-
|
64
|
-
Optional nodes on which to execute this action
|
65
|
-
errors:
|
66
|
-
network_provider: |-
|
67
|
-
Network plugin provider %{value} is not loaded >> Pick from the following: %{choices}
|
68
|
-
node_provider: |-
|
69
|
-
Node plugin provider %{value} is not loaded >> Pick from the following: %{choices}
|
70
|
-
nodes: |-
|
71
|
-
Node reference %{value} failed to parse or provider %{provider} isn't loaded (%{name})
|
72
|
-
keypair:
|
73
|
-
options:
|
74
|
-
private_key: |-
|
75
|
-
Optional existing private SSH key to use for SSH communication (new keys are generated by default)
|
76
|
-
require_password: |-
|
77
|
-
Require and prompt for a password for generated keys (default %{default_value})
|
78
|
-
key_type: |-
|
79
|
-
Type of SSH key to generate (default %{default_value})
|
80
|
-
key_bits: |-
|
81
|
-
Strength of generated key encryption in bits (default %{default_value})
|
82
|
-
key_comment: |-
|
83
|
-
Optional key comment (attached at the end of the public key)
|
84
|
-
errors:
|
85
|
-
private_key_not_found: |-
|
86
|
-
Private key %{value} not found
|
87
|
-
private_key_parse_error: |-
|
88
|
-
Private key %{value} failed to parse and can not be accepted as a valid private SSH key
|
89
|
-
key_type: |-
|
90
|
-
SSH key type %{value} not supported >> Pick from the following: %{choices}
|
91
|
-
key_bits: |-
|
92
|
-
Encryption strength must be greater than %{required} bits (%{value} specified)
|
93
|
-
no_password: |-
|
94
|
-
Password verification of private key was terminated (verification required to use encrypted SSH keys)
|
95
|
-
exec:
|
96
|
-
help:
|
97
|
-
usage: |-
|
98
|
-
Usage
|
99
|
-
header: |-
|
100
|
-
Available actions
|
101
|
-
footer: |-
|
102
|
-
For help on any individual action run `corl <action> -h`
|
103
|
-
errors:
|
104
|
-
missing_argument: |-
|
105
|
-
Argument <%{name}> must be specified
|
106
|
-
actions:
|
107
|
-
extract:
|
7
|
+
action:
|
108
8
|
options:
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
9
|
+
parallel: |-
|
10
|
+
Enable parallelism of node action execution (default %{default_value})
|
11
|
+
net_provider: |-
|
12
|
+
CORL network provider to use for managing cloud nodes (default %{default_value})
|
13
|
+
node_provider: |-
|
14
|
+
Default to using a specific node provider but individual node references can override (default %{default_value})
|
15
|
+
nodes: |-
|
16
|
+
Optional nodes on which to execute this action
|
113
17
|
errors:
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
options:
|
151
|
-
files: |-
|
152
|
-
Optional space separated list of files to save
|
153
|
-
start: |-
|
154
|
-
Saving project changes with provider %{project_provider} (ref: %{reference} rev: %{revision})
|
18
|
+
network_provider: |-
|
19
|
+
Network plugin provider %{value} is not loaded >> Pick from the following: %{choices}
|
20
|
+
node_provider: |-
|
21
|
+
Node plugin provider %{value} is not loaded >> Pick from the following: %{choices}
|
22
|
+
nodes: |-
|
23
|
+
Node reference %{value} failed to parse or provider %{provider} isn't loaded (%{name})
|
24
|
+
node:
|
25
|
+
bootstrap:
|
26
|
+
status: |-
|
27
|
+
Bootstrap script %{script} failed with status %{status}
|
28
|
+
mixin:
|
29
|
+
action:
|
30
|
+
keypair:
|
31
|
+
options:
|
32
|
+
private_key: |-
|
33
|
+
Optional existing private SSH key to use for SSH communication (new keys are generated by default)
|
34
|
+
require_password: |-
|
35
|
+
Require and prompt for a password for generated keys (default %{default_value})
|
36
|
+
key_type: |-
|
37
|
+
Type of SSH key to generate (default %{default_value})
|
38
|
+
key_bits: |-
|
39
|
+
Strength of generated key encryption in bits (default %{default_value})
|
40
|
+
key_comment: |-
|
41
|
+
Optional key comment (attached at the end of the public key)
|
42
|
+
errors:
|
43
|
+
private_key_not_found: |-
|
44
|
+
Private key %{value} not found
|
45
|
+
private_key_parse_error: |-
|
46
|
+
Private key %{value} failed to parse and can not be accepted as a valid private SSH key
|
47
|
+
key_type: |-
|
48
|
+
SSH key type %{value} not supported >> Pick from the following: %{choices}
|
49
|
+
key_bits: |-
|
50
|
+
Encryption strength must be greater than %{required} bits (%{value} specified)
|
51
|
+
no_password: |-
|
52
|
+
Password verification of private key was terminated (verification required to use encrypted SSH keys)
|
53
|
+
actions:
|
155
54
|
images:
|
156
55
|
options:
|
157
56
|
match_case: |-
|
@@ -219,14 +118,22 @@ en:
|
|
219
118
|
Starting bootstrap of machine %{hostname} (%{id})
|
220
119
|
success: |-
|
221
120
|
Machine %{hostname} (%{id}) successfully bootstrapped
|
121
|
+
failure: |-
|
122
|
+
Machine %{hostname} (%{id}) bootstrap failed with status %{status}
|
222
123
|
exec:
|
223
124
|
options:
|
224
125
|
command: |-
|
225
126
|
Command line executable and arguments to execute on machine
|
226
127
|
seed:
|
227
128
|
options:
|
228
|
-
|
229
|
-
|
129
|
+
project_branch: |-
|
130
|
+
Project branch to seed project (default %{default_value})
|
131
|
+
project_reference: |-
|
132
|
+
Reference to seed project (default %{default_value})
|
230
133
|
errors:
|
231
134
|
project_reference: |-
|
232
135
|
Project reference %{value} failed to parse or provider %{provider} isn't loaded >> Possible providers: %{choices}
|
136
|
+
provision:
|
137
|
+
options:
|
138
|
+
provider: |-
|
139
|
+
Provisioner provider to use to provision the node (default %{default_value})
|