kaname 0.6.3 → 0.8.2

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
  SHA256:
3
- metadata.gz: 670ec8c0c2f974a1d43bab32bf55cabdc0a3ce9160f4e9e4f6161c2e9d52749c
4
- data.tar.gz: ecec1d85344a9c03b6adaebf55ca18f06a48893e5db688d6376dd22f734129ca
3
+ metadata.gz: fe3c27f2607b4105fe6a10b05f66ef7bdcb35172c8cd24f38bd7170d885304d7
4
+ data.tar.gz: faac94a44762c477b44f6ab7e8f21883e7b5ed3db55ef0d55cda00b05d4d1028
5
5
  SHA512:
6
- metadata.gz: e4542d0669ab3ebfb97e65b028f5637ae5299c0db65bdc27ce3be49adc0927172f0a49b0d16c34a52514b2daf5a0c3ca516944100b648f91e36a24b2a66e7e8c
7
- data.tar.gz: 4ce6e27c259e7ec7afbf9b3ecac776e9986adf2e9468cd2b946f5a509a63650ac2bf59e5e458a75dab944ea11012147b9772655ed29c10f1ad3d903813492bce
6
+ metadata.gz: 2d5b66680b2249b122ed9113d7027adbde1966f3ad76fb82ddc76c0ea69adb91ce647b9d960bb2a2d0b84bef18907a5090255219891c357850b1a60a7f4d224e
7
+ data.tar.gz: a433ed47937b24448a4956cabecac62b9fea1c2045f1b6a23f9963dc36d736e7743306bc51b1462eaa5aa3f8c2b8cf534ebc3000d64dce529278f0701a221fe8
data/.gitignore CHANGED
@@ -7,5 +7,6 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ vendor/bundle
10
11
 
11
12
  keystone.yml
@@ -1,5 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.10
4
- - 2.2.5
5
- - 2.3.1
3
+ - 2.6.6
4
+ - 2.7.2
data/README.md CHANGED
@@ -48,6 +48,7 @@ password: "admin-no-password"
48
48
  also, you can set some options.
49
49
 
50
50
  ```
51
+ ca_cert: "/path/to/ca.pem"
51
52
  client_cert: "/path/to/cert.pem"
52
53
  client_key: "/path/to/key.pem"
53
54
  region_name: "YourRegion"
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "yao", ">= 0.3.3"
22
+ spec.add_dependency "yao", ">= 0.13.4"
23
23
  spec.add_dependency "diffy"
24
- spec.add_dependency "hashdiff"
24
+ spec.add_dependency "hashdiff", ">= 1.0.0"
25
25
  spec.add_dependency "thor"
26
26
 
27
27
  spec.add_development_dependency "bundler"
@@ -10,12 +10,16 @@ module Kaname
10
10
  end
11
11
 
12
12
  def find_user(name)
13
- user = Yao::User.find_by_name(name)
13
+ user = Yao::User.find_by_name(name).first
14
14
  {"id" => user.id, "name" => user.name}
15
15
  end
16
16
 
17
17
  def list_tenants
18
- @_tenants ||= Yao::Tenant.list
18
+ @_tenants ||= if keystone_v2?
19
+ Yao::Tenant.list
20
+ else
21
+ Yao::Project.list
22
+ end
19
23
  end
20
24
 
21
25
  def list_roles
@@ -62,6 +66,10 @@ module Kaname
62
66
 
63
67
  private
64
68
 
69
+ def keystone_v2?
70
+ Yao.default_client.pool["identity"].url_prefix.to_s.match(/v2\.0/)
71
+ end
72
+
65
73
  def tenant_role_hash(user_id)
66
74
  list_role_assignments.each_with_object(Hash.new) do |t,th|
67
75
  if t.user.id == user_id
@@ -29,7 +29,7 @@ module Kaname
29
29
  end
30
30
 
31
31
  if Kaname::Resource.yaml
32
- diffs = HashDiff.diff(adapter.users_hash, Kaname::Resource.yaml)
32
+ diffs = Hashdiff.diff(adapter.users_hash, Kaname::Resource.yaml)
33
33
  diffs.each do |diff|
34
34
  resource = diff[1].split('.')
35
35
  if resource.size == 1 # "user"
@@ -4,6 +4,9 @@ require 'yaml'
4
4
  module Kaname
5
5
  class Config
6
6
  @@username = String.new
7
+ @@ca_cert = nil
8
+ @@client_key = nil
9
+ @@client_cert = nil
7
10
 
8
11
  def self.setup
9
12
  load_config unless envs_exist?
@@ -17,7 +20,7 @@ module Kaname
17
20
  private
18
21
 
19
22
  def self.envs_exist?
20
- %w[OS_AUTH_URL OS_TENANT_NAME OS_USERNAME OS_PASSWORD OS_CERT OS_KEY OS_REGION_NAME].any?{|k|ENV[k]}
23
+ %w[OS_AUTH_URL OS_TENANT_NAME OS_USERNAME OS_PASSWORD OS_CERT OS_KEY OS_REGION_NAME OS_IDENTITY_API_VERSION].any?{|k|ENV[k]}
21
24
  end
22
25
 
23
26
  def self.load_config
@@ -30,25 +33,34 @@ module Kaname
30
33
  raise "Configuration '#{conf_item}' is missing. Check your ~/.kaname" unless config[conf_item]
31
34
  end
32
35
 
33
- @@auth_url = config['auth_url']
34
- @@tenant = config['tenant']
35
- @@username = config['username']
36
- @@password = config['password']
37
- @@client_cert = config['client_cert']
38
- @@client_key = config['client_key']
39
- @@region_name = config['region_name']
36
+ @@auth_url = config['auth_url']
37
+ @@tenant = config['tenant']
38
+ @@username = config['username']
39
+ @@password = config['password']
40
+ @@ca_cert = config['ca_cert']
41
+ @@client_cert = config['client_cert']
42
+ @@client_key = config['client_key']
43
+ @@region_name = config['region_name']
44
+ @@user_domain_name = config['user_domain_name']
45
+ @@project_domain_name = config['project_domain_name']
46
+ @@identity_api_version = config['identity_api_version']
40
47
  true
41
48
  end
42
49
 
43
50
  def self.setup_yao
44
51
  Yao.configure do
45
- auth_url (ENV['OS_AUTH_URL'] || @@auth_url)
46
- tenant_name (ENV['OS_TENANT_NAME'] || @@tenant)
47
- username (ENV['OS_USERNAME'] || @@username)
48
- password (ENV['OS_PASSWORD'] || @@password)
49
- client_cert (ENV['OS_CERT'] || @@client_cert)
50
- client_key (ENV['OS_KEY'] || @@client_key)
51
- region_name (ENV['OS_REGION_NAME'] || @@region_name)
52
+ auth_url (ENV['OS_AUTH_URL'] || @@auth_url)
53
+ tenant_name (ENV['OS_TENANT_NAME'] || @@tenant)
54
+ username (ENV['OS_USERNAME'] || @@username)
55
+ password (ENV['OS_PASSWORD'] || @@password)
56
+ ca_cert (ENV['OS_CACERT'] || @@ca_cert)
57
+ client_cert (ENV['OS_CERT'] || @@client_cert)
58
+ client_key (ENV['OS_KEY'] || @@client_key)
59
+ region_name (ENV['OS_REGION_NAME'] || @@region_name)
60
+ identity_api_version (ENV['OS_IDENTITY_API_VERSION'] || @@identity_api_version)
61
+ user_domain_name (ENV['OS_USER_DOMAIN_NAME'] || @@user_domain_name)
62
+ project_domain_name (ENV['OS_PROJECT_DOMAIN_NAME'] || @@project_domain_name)
63
+ debug ENV['YAO_DEBUG']
52
64
  end
53
65
  end
54
66
  end
@@ -1,3 +1,3 @@
1
1
  module Kaname
2
- VERSION = "0.6.3"
2
+ VERSION = "0.8.2"
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.6.3
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - SHIBATA Hiroshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-21 00:00:00.000000000 Z
11
+ date: 2020-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yao
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.3
19
+ version: 0.13.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.3.3
26
+ version: 0.13.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: diffy
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: thor
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
199
  requirements: []
200
- rubygems_version: 3.0.1
200
+ rubygems_version: 3.1.2
201
201
  signing_key:
202
202
  specification_version: 4
203
203
  summary: Identity configuration tool for OpenStack.