kaname 0.6.3 → 0.8.2

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