forj 1.0.12 → 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 998ddeee3c77bd0d8e98530ff7cff93a8fcc984c
4
- data.tar.gz: bc302480b7d7f348f6d6a014c42b2084d728ff28
3
+ metadata.gz: a062220b32731df2805ca604f0f0cb2233613075
4
+ data.tar.gz: d5c331135e78162961bc967e328530127aeacb0c
5
5
  SHA512:
6
- metadata.gz: 54cbd2285c243d19bdac2dfa2a23abb7eb0844309c1bfcf71f5aa1d8a88c5e1d36dab36f4c6c341533a169e4c17120fa21714995e1e5a533eab48b321b045862
7
- data.tar.gz: 3f942f2dfde94c97074488914c0ffd42ce7fe463a5a26dbd8f5d11b3a096867090678b741e45d1e3864d1c24fccf437bedf5ec4afb7fbd7d66c1d21766b60566
6
+ metadata.gz: 12720b05fba4b2f5fd348039db09f2900984f080da139d9b3c48fecc67b0eb9c2cf7d788af47f6abb6dd19b8dc5896e284ee114f7e06746e02ac27d2fcdc9f62
7
+ data.tar.gz: 7980b5830ec4de440b24e8baa7cade68ff3df6eee1c7c287abd221e0494e2e471ec80417de0259479b9928dd8560e3f67eb64e89489a7a74a1bef1b4cb8196b5
data/forj.gemspec CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |s|
19
19
  s.name = 'forj'
20
20
  s.homepage = 'https://www.forj.io'
21
21
 
22
- s.version = '1.0.12'
23
- s.date = '2015-05-22'
22
+ s.version = '1.0.13'
23
+ s.date = '2015-05-26'
24
24
  s.summary = 'forj command line'
25
25
  s.description = 'forj cli - See https://www.forj.io for documentation/information'
26
26
 
data/lib/boot.rb CHANGED
@@ -253,9 +253,9 @@ pwd
253
253
  res_found = param.match(/^(.*)#(.*)$/)
254
254
 
255
255
  if res_found
256
- cert_file = res_found[1]
256
+ cert_file = File.expand_path(res_found[1])
257
257
  else
258
- cert_file = param
258
+ cert_file = File.expand_path(param)
259
259
  end
260
260
 
261
261
  unless File.readable?(cert_file)
@@ -30,7 +30,7 @@
30
30
  Maestro gardener is currently configured to access your cloud Compute service with fog openstack.
31
31
  Fog openstack is compatible with hpcloud services
32
32
 
33
- It requires the openstack project name, user and password.
33
+ It requires the openstack uri, project name, user and password.
34
34
  :bp_config:
35
35
  :desc: "Maestro and blueprint configuration:"
36
36
  :maestro_access_config:
@@ -120,6 +120,7 @@
120
120
  :account: true
121
121
  :required: true
122
122
  :ask_step: :provider_config
123
+ :gardener:
123
124
  :os_user:
124
125
  :desc: "Openstack compute cloud User name"
125
126
  :account_exclusive: true
@@ -128,6 +129,7 @@
128
129
  :validate: !ruby/regexp /\w+/
129
130
  :ask_step: :gardener_config
130
131
  :default_value: "<%= (config[:provider] == 'openstack')?config['credentials#account_id']:nil %>"
132
+ :ask_sort: 2
131
133
  :os_enckey:
132
134
  :desc: "Openstack compute cloud password"
133
135
  :account_exclusive: true
@@ -136,6 +138,22 @@
136
138
  :required: true
137
139
  :ask_step: :gardener_config
138
140
  :default_value: "<%= (config[:provider] == 'openstack')?config['credentials#account_key']:nil %>"
141
+ :ask_sort: 3
142
+ :os_auth_uri:
143
+ :desc: "Openstack service auth url"
144
+ :explanation: |-
145
+ If needed, you can set a different way for Maestro to authenticate itself to the cloud
146
+
147
+ Currently, Gardener supports only openstack cloud type, with authentication version 2.
148
+ Multiple provider support and Openstack authentication v3 will be implemented soon.
149
+ :account_exclusive: true
150
+ :account: true
151
+ :required: true
152
+ :ask_sort: 0
153
+ :default_value: "<%= (config[:provider] == 'openstack')?config['credentials#auth_uri']:nil %>"
154
+ :validate: !ruby/regexp /v2.0\/tokens/
155
+ :ask_step: :gardener_config
156
+
139
157
 
140
158
  # Defines DNS services for maestro
141
159
  :dns:
@@ -161,11 +179,11 @@
161
179
  # Defines maestro environment.
162
180
  :maestro:
163
181
  :tenant_name:
164
- :desc: "Tenant name required by fog/openstack on gardener"
182
+ :desc: "Tenant name"
165
183
  :account: true
166
184
  :validate: !ruby/regexp /^\w?[\w_:-]*$/
167
185
  :ask_step: :gardener_config
168
- :ask_sort: 0
186
+ :ask_sort: 1
169
187
  :default_value: "<%= (config[:provider] == 'openstack')?config['credentials#tenant']:nil %>"
170
188
  :network_name:
171
189
  :desc: "Network name to attach to each forge boxes. By default we use 'forj'. If it doesn't exist, it will be created."
@@ -30,9 +30,10 @@ class ForjCoreProcess
30
30
  res_found = cert_file.match(/^(.*)#(.*)$/)
31
31
 
32
32
  if res_found
33
- cert_file = res_found[1]
33
+ cert_file = File.expand_path(res_found[1])
34
34
  dest_file = "/tmp/#{File.basename(res_found[2])}"
35
35
  else
36
+ cert_file = File.expand_path(cert_file)
36
37
  dest_file = File.basename(cert_file)
37
38
  end
38
39
 
@@ -57,8 +57,9 @@ class Lorj::BaseDefinition # rubocop: disable Style/ClassAndModuleChildren
57
57
  obj_needs :data, 'dns#domain_name'
58
58
  obj_needs :data, 'maestro#tenant_name'
59
59
  # sent in base64
60
- obj_needs :data, 'credentials#os_user'
61
- obj_needs :data, 'credentials#os_enckey'
60
+ obj_needs :data, 'gardener#os_user'
61
+ obj_needs :data, 'gardener#os_enckey'
62
+ obj_needs :data, 'gardener#os_auth_uri'
62
63
  obj_needs :data, 'credentials#account_id'
63
64
  obj_needs :data, 'credentials#account_key'
64
65
  obj_needs :data, 'credentials#auth_uri'
@@ -568,10 +568,13 @@ class ForjCoreProcess
568
568
  def load_hpcloud(hParams, os_key)
569
569
  hpcloud_priv = nil
570
570
  IO.popen('gzip -c', 'r+') do|pipe|
571
- pipe.puts(format('HPCLOUD_OS_USER=%s', hParams['credentials#os_user']))
572
- pipe.puts(format('HPCLOUD_OS_KEY=%s', os_key))
573
- pipe.puts(format('DNS_KEY=%s', hParams[:'credentials#account_id']))
574
- pipe.puts(format('DNS_SECRET=%s', hParams['credentials#account_key']))
571
+ data = <<-END
572
+ HPCLOUD_OS_USER='#{hParams['gardener#os_user']}'
573
+ HPCLOUD_OS_KEY='#{os_key}'
574
+ DNS_KEY='#{hParams[:'credentials#account_id']}'
575
+ DNS_SECRET='#{hParams['credentials#account_key']}'
576
+ END
577
+ pipe.puts(data)
575
578
  pipe.close_write
576
579
  hpcloud_priv = pipe.read
577
580
  end
@@ -594,9 +597,10 @@ class ForjCoreProcess
594
597
  'PUPPET_DEBUG' => 'True',
595
598
  'image_name' => hParams['maestro#image_name'],
596
599
  'key_name' => hParams['credentials#keypair_name'],
600
+ # The following is used by gardener
597
601
  # Remove pad
598
602
  'hpcloud_priv' => Base64.strict_encode64(hpcloud_priv).gsub('=', ''),
599
- 'compute_os_auth_url' => hParams['credentials#auth_uri']
603
+ 'compute_os_auth_url' => hParams['gardener#os_auth_uri']
600
604
  }
601
605
 
602
606
  if hParams['dns#dns_service']
@@ -628,7 +632,7 @@ class ForjCoreProcess
628
632
  def build_metadata(sObjectType, hParams)
629
633
  entr = load_encoded_key
630
634
 
631
- os_enckey = hParams['credentials#os_enckey']
635
+ os_enckey = hParams['gardener#os_enckey']
632
636
 
633
637
  os_key = decrypt_key(os_enckey, entr)
634
638
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.12
4
+ version: 1.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - forj team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
11
+ date: 2015-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor