kaname 0.5.0 → 0.5.1

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: 6dd4973d77de467ed9668e6d15e86509302057bb
4
- data.tar.gz: f44b64c9f188ccb3ace24c014ee1ee88db3ef9ef
3
+ metadata.gz: be1e620440f78831c258b41e66ae936e201ece6c
4
+ data.tar.gz: 64973a8f8d6d7ffae2708abcda6bfc852eb737df
5
5
  SHA512:
6
- metadata.gz: 322e5458c83ad0d0a0be29401be176f5d3861e6d21b0a9df889bfdef1063d57bf861c3a78708a9e7de5b9603ec0172d5135517ec410b3d4e2f60bc43022ff0a3
7
- data.tar.gz: 245c0a7dfbb4a3c9776420cd71c342dd529be6c4a7d23bc119cebef435fd7d2daba0b363bc7e12bd7d45c19d35d2b7c0bc4c0f1ed2fb799a66281d710bbd17bd
6
+ metadata.gz: 39ffc1e2bdca3ee64481c51c2829546b9a7819882d7bc7295436051ba4cf6abde01df333792832f1d878dea30ad7c8e96d3902815ef7de58840765d3efa6eb9e
7
+ data.tar.gz: d382133865ab5aae602a950d13df65a31f95fecb32e00a43016d1e9526786b03f6ba67985758648fd2a8d894fb06ed5db64a91f9e2be6154c6d4b2bcde7db3a1
data/README.md CHANGED
@@ -26,6 +26,15 @@ hsbt:
26
26
  production: "member"
27
27
  ```
28
28
 
29
+ You can also define `all_tenants` for config all tenants' authority.
30
+ If both tenants and all_tenants are setting, tenants is preferred.
31
+
32
+ ```yaml
33
+ suzupy:
34
+ email: suzupy@example.com
35
+ all_tenants: member
36
+ ```
37
+
29
38
  You need to put a configuration file to home directory.
30
39
 
31
40
  ```sh
@@ -4,11 +4,22 @@ module Kaname
4
4
  class Resource
5
5
  class << self
6
6
  def yaml(filename = 'keystone.yml')
7
- @_yaml = if File.exists?(filename)
8
- YAML.load_file(filename)
9
- else
10
- nil
11
- end
7
+ if File.exists?(filename)
8
+ @_yaml ||= expand_all_tenants(YAML.load_file(filename))
9
+ end
10
+ end
11
+
12
+ private
13
+
14
+ def expand_all_tenants _yaml
15
+ list_tenants = Kaname::Adapter::ReadOnly.new.list_tenants
16
+
17
+ _yaml.each do |username, config|
18
+ next unless config['all_tenants']
19
+ tenants = list_tenants.map{|tenant| [tenant.name, config['all_tenants']]}
20
+ config['tenants'] = Hash[*tenants.flatten].merge(config['tenants'] || {})
21
+ config.delete('all_tenants')
22
+ end
12
23
  end
13
24
  end
14
25
  end
@@ -1,3 +1,3 @@
1
1
  module Kaname
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaname
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SHIBATA Hiroshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-27 00:00:00.000000000 Z
11
+ date: 2017-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yao
@@ -198,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
198
  version: '0'
199
199
  requirements: []
200
200
  rubyforge_project:
201
- rubygems_version: 2.6.6
201
+ rubygems_version: 2.5.1
202
202
  signing_key:
203
203
  specification_version: 4
204
204
  summary: Identity configuration tool for OpenStack.