forj 1.0.12 → 1.0.13

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.
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