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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +2 -3
- data/README.md +1 -0
- data/kaname.gemspec +2 -2
- data/lib/kaname/adapter/read_only.rb +10 -2
- data/lib/kaname/cli.rb +1 -1
- data/lib/kaname/config.rb +27 -15
- data/lib/kaname/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe3c27f2607b4105fe6a10b05f66ef7bdcb35172c8cd24f38bd7170d885304d7
|
4
|
+
data.tar.gz: faac94a44762c477b44f6ab7e8f21883e7b5ed3db55ef0d55cda00b05d4d1028
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d5b66680b2249b122ed9113d7027adbde1966f3ad76fb82ddc76c0ea69adb91ce647b9d960bb2a2d0b84bef18907a5090255219891c357850b1a60a7f4d224e
|
7
|
+
data.tar.gz: a433ed47937b24448a4956cabecac62b9fea1c2045f1b6a23f9963dc36d736e7743306bc51b1462eaa5aa3f8c2b8cf534ebc3000d64dce529278f0701a221fe8
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
data/kaname.gemspec
CHANGED
@@ -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.
|
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 ||=
|
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
|
data/lib/kaname/cli.rb
CHANGED
@@ -29,7 +29,7 @@ module Kaname
|
|
29
29
|
end
|
30
30
|
|
31
31
|
if Kaname::Resource.yaml
|
32
|
-
diffs =
|
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"
|
data/lib/kaname/config.rb
CHANGED
@@ -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
|
34
|
-
@@tenant
|
35
|
-
@@username
|
36
|
-
@@password
|
37
|
-
@@
|
38
|
-
@@
|
39
|
-
@@
|
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
|
46
|
-
tenant_name
|
47
|
-
username
|
48
|
-
password
|
49
|
-
|
50
|
-
|
51
|
-
|
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
|
data/lib/kaname/version.rb
CHANGED
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.
|
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:
|
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.
|
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.
|
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:
|
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:
|
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.
|
200
|
+
rubygems_version: 3.1.2
|
201
201
|
signing_key:
|
202
202
|
specification_version: 4
|
203
203
|
summary: Identity configuration tool for OpenStack.
|