dtk-client 0.12.2 → 0.12.3

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: 42bebff35a619d489e4ad704b1782e3d6cf17c9ffa3750f4461ab0da5125efa3
4
- data.tar.gz: 8dd31d44f79e12576c85f32535c6f62b008a78f92e58a8e79bad3795e4535143
3
+ metadata.gz: ce708c08b83b191a7a19bfe1616eb930a9245b6ddfce6fbebe97ab536feff9eb
4
+ data.tar.gz: 423bea8f930d5cf107cbcf794b9678d7aaa3440163091f4b59cd896bc29bea5c
5
5
  SHA512:
6
- metadata.gz: a0ea576d32dfeeb527c87dc7b863bcc8f44a6d56998994349943643dd05b570a3a62dac340b9168f77b7ab1d8912e6fc76f23a38092e6f6f4a1d85a50cf1058f
7
- data.tar.gz: 730004649953bdf45399fd1b7a14a5f47208904fe8ea920ce4ee1fc9ee21efe1dc0069ccbb2ec2da6c98f629698cf7db10a3010af52ba4eb19a0c9b44bb29d0f
6
+ metadata.gz: 63beb7bd18dfcbe9e94ef455a3ef71dea3cf86efb19a12a978bca07100706abcfa3af825cb6beaa343fcf77dd031eddc148fe849e1548c07375f8efe8d376a38
7
+ data.tar.gz: 5493f43e020d443251eb00843c3f90fdfdeb2d9717ea3f4879e69a7e51bb954bc5f7d0bf79ba2631502953144680779cefb0a16842866fd0332fc21e0f344bdd
@@ -25,5 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'hirb', '0.7.3'
26
26
  spec.add_dependency 'mime-types', '~> 2.99.3'
27
27
  spec.add_dependency 'dtk-dsl', '~> 1.1.4'
28
- spec.add_dependency 'dtk-network-client', '1.0.4'
28
+ spec.add_dependency 'dtk-network-client', '1.0.5'
29
29
  end
@@ -151,7 +151,16 @@ module DTK::Client
151
151
  repo_dir: file_obj.parent_dir
152
152
  }
153
153
  parsed_module = file_obj.parse_content(:common_module_summary)
154
- dependency_tree = Operation::DtkNetworkDependencyTree.get_or_create(module_info, { format: :hash, parsed_module: parsed_module, save_to_file: true, update_lock_file: @update_lock_file })
154
+
155
+ # response = Operation::Module.rest_get "modules/get_modules_versions_with_dependencies"
156
+ # server_dependencies = response.data || []
157
+
158
+ dependency_tree = Operation::DtkNetworkDependencyTree.get_or_create(module_info, {
159
+ format: :hash,
160
+ parsed_module: parsed_module,
161
+ save_to_file: true,
162
+ update_lock_file: @update_lock_file
163
+ })
155
164
 
156
165
  dependency_tree.each do |dependency|
157
166
  dep_module_ref = module_ref_object_from_options_or_context(module_ref: "#{dependency[:namespace]}/#{dependency[:name]}", version: dependency[:version])
@@ -23,6 +23,7 @@ module DTK::Client; module CLI
23
23
  c.arg Token::Arg.attribute_value, :optional => true
24
24
  command_body c, 'set-attribute', 'Set attribute value(s).' do |sc|
25
25
  sc.switch Token.u
26
+ sc.switch Token.encrypt
26
27
  sc.flag Token.directory_path
27
28
  sc.flag Token.param_file
28
29
  sc.action do |_global_options, options, args|
@@ -53,7 +54,7 @@ module DTK::Client; module CLI
53
54
  args[1] || raise(Error::Usage, "Either argument VALUE or -f option must be given to specify a value")
54
55
  end
55
56
  end
56
- helper.set_single_attribute(attribute_name, attribute_value)
57
+ helper.set_single_attribute(attribute_name, attribute_value, encrypt: options[:encrypt])
57
58
  end
58
59
  end
59
60
  end
@@ -65,10 +66,13 @@ module DTK::Client; module CLI
65
66
  @service_instance_dir = service_instance_dir
66
67
  end
67
68
 
68
- def set_single_attribute(attribute_name, attribute_value)
69
+ # opts can haev keys
70
+ # :encrypt
71
+ def set_single_attribute(attribute_name, attribute_value, opts = {})
69
72
  Operation::Service.set_attribute(
70
73
  :attribute_name => attribute_name,
71
74
  :attribute_value => attribute_value,
75
+ :encrypt => opts[:encrypt],
72
76
  :service_instance => self.service_instance,
73
77
  :service_instance_dir => self.service_instance_dir
74
78
  )
@@ -73,6 +73,7 @@ module DTK::Client
73
73
  :unlink => Switch.new([:u, :unlink], 'unlink'),
74
74
  :dependencies => Switch.new(:deps, 'Dependencies'),
75
75
  :u => Switch.new([:u, :unset], 'Unset attribute'),
76
+ :encrypt => Switch.new(:encrypt, 'Encrypt attribute value'),
76
77
  :recursive => Switch.new(:r, 'Recursive'),
77
78
  :update_deps => Switch.new('update-deps', "Skip prompt and update all dependencies or skip prompt and don't update all dependencies (on master)", :negatable => true, :default_value => 'prompt'),
78
79
  :skip_server => Switch.new('skip-server', 'Do not install module on server'),
@@ -18,7 +18,7 @@
18
18
  module DTK
19
19
  module Client
20
20
  module CLI
21
- VERSION="0.12.2"
21
+ VERSION="0.12.3"
22
22
  end
23
23
  end
24
24
  end
@@ -52,6 +52,10 @@ module DTK::Client
52
52
  explicit_path: @directory_path,
53
53
  repo_dir: @directory_path || @target_repo_dir
54
54
  }
55
+
56
+ # response = rest_get "modules/get_modules_versions_with_dependencies"
57
+ # server_dependencies = response.data || []
58
+
55
59
  installed_modules = DtkNetworkClient::Install.run(module_info, type: @type, download_if_fail: @download_if_fail )
56
60
 
57
61
  { :installed_modules => installed_modules }
@@ -53,6 +53,9 @@ module DTK::Client
53
53
  repo_dir: @file_obj.parent_dir
54
54
  }
55
55
 
56
+ # response = Operation::Module.rest_get "modules/get_modules_versions_with_dependencies"
57
+ # server_dependencies = response.data || []
58
+
56
59
  repoman_client_opts = {
57
60
  format: :hash,
58
61
  save_to_file: true,
@@ -23,7 +23,16 @@ module DTK::Client
23
23
  service_instance = args.required(:service_instance)
24
24
  attribute_name = args[:attribute_name]
25
25
  attribute_value = args[:attribute_value]
26
-
26
+ encrypt = args[:encrypt]
27
+ if encrypt
28
+ hash = {
29
+ :name => "encryption_public_key"
30
+ }
31
+ response = rest_get "#{BaseRoute}/#{service_instance}/get_attribute", QueryStringHash.new(hash)
32
+ raise Error::Usage, "There is no encryption_public_key attribute in this component, or its' value is not set." if response.data.empty?
33
+ public_key = response.data
34
+ attribute_value = DTK::Client::SecurityUtil.encrypt(public_key, attribute_value)
35
+ end
27
36
  query_string_hash = QueryStringHash.new(
28
37
  :pattern? => attribute_name,
29
38
  :value? => attribute_value
@@ -19,6 +19,7 @@ module DTK
19
19
  require_relative('util/auxiliary')
20
20
  # auxiliary must be loaded first
21
21
  require_relative('util/os_util')
22
+ require_relative('util/security_util')
22
23
  require_relative('util/ssh_util')
23
24
  require_relative('util/console')
24
25
  require_relative('util/dtk_path')
@@ -0,0 +1,31 @@
1
+ #
2
+ # Copyright (C) 2010-2016 dtk contributors
3
+ #
4
+ # This file is part of the dtk project.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ module DTK::Client
20
+ class SecurityUtil
21
+ require 'openssl'
22
+ require 'base64'
23
+ def self.encrypt(public_key_string, attribute_value)
24
+ key = OpenSSL::PKey::RSA.new(::Base64.decode64(public_key_string))
25
+ encrypted = key.public_encrypt(attribute_value)
26
+ encoded = ::Base64.encode64(encrypted)
27
+ end
28
+
29
+ end
30
+ end
31
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtk-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reactor8
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-08 00:00:00.000000000 Z
11
+ date: 2019-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dtk-common-core
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 1.0.4
131
+ version: 1.0.5
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: 1.0.4
138
+ version: 1.0.5
139
139
  description: Command line tool to interact with a DTK Server and DTK Service Catalog.
140
140
  email: support@reactor8.com
141
141
  executables:
@@ -401,6 +401,7 @@ files:
401
401
  - lib/client/util/post_body.rb
402
402
  - lib/client/util/query_string_hash.rb
403
403
  - lib/client/util/remote_dependency.rb
404
+ - lib/client/util/security_util.rb
404
405
  - lib/client/util/ssh_util.rb
405
406
  - lib/client/util/validation.rb
406
407
  - lib/dtk_cli.rb