vtk 0.2.2 → 0.3.0
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/.rubocop.yml +2 -1
- data/CHANGELOG.md +50 -2
- data/README.md +41 -0
- data/Rakefile +8 -0
- data/lib/vtk/cli.rb +3 -0
- data/lib/vtk/commands/module/controller.rb +1 -1
- data/lib/vtk/commands/module/model.rb +1 -1
- data/lib/vtk/commands/module/serializer.rb +1 -1
- data/lib/vtk/commands/module/service.rb +1 -1
- data/lib/vtk/commands/socks.rb +40 -0
- data/lib/vtk/commands/socks/off.rb +40 -0
- data/lib/vtk/commands/socks/on.rb +61 -0
- data/lib/vtk/version.rb +1 -1
- data/vtk.gemspec +3 -1
- metadata +35 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dbb2159bd782736d6f9647826b073ab189e0e7d40d69dcb1664c16f62a688f09
|
|
4
|
+
data.tar.gz: 36386f949cd2c08013e97d3689ebc6f2c86c95ce0ca9fd7344223c35cb3ff261
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b375532131584051a1ad0c3036f68bab2304e8bdeb47cbfe7e3806fba24a5838be3e2229663cc836ae429eb17ebc2dc86a771589d83934226ea011dd80a8edc5
|
|
7
|
+
data.tar.gz: e28c0bbfa60f7ef3b15948e355171a8e9f2b8cb17fca8f4094217b75423b337e1e693d7226b42a80cc2b1165da08f7ac3951a284c26c68fc5178da2fef5504d9
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,61 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [v0.2.6](https://github.com/department-of-veterans-affairs/vtk/tree/v0.2.6) (2021-02-03)
|
|
4
4
|
|
|
5
|
-
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/
|
|
5
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/v0.2.5...v0.2.6)
|
|
6
6
|
|
|
7
7
|
**Merged pull requests:**
|
|
8
8
|
|
|
9
|
+
- Update changelog docs and raketask [\#13](https://github.com/department-of-veterans-affairs/vtk/pull/13) ([LindseySaari](https://github.com/LindseySaari))
|
|
10
|
+
- add gem to auto generate changelog [\#12](https://github.com/department-of-veterans-affairs/vtk/pull/12) ([LindseySaari](https://github.com/LindseySaari))
|
|
11
|
+
|
|
12
|
+
## [v0.2.5](https://github.com/department-of-veterans-affairs/vtk/tree/v0.2.5) (2021-02-03)
|
|
13
|
+
|
|
14
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/v0.2.4...v0.2.5)
|
|
15
|
+
|
|
16
|
+
## [v0.2.4](https://github.com/department-of-veterans-affairs/vtk/tree/v0.2.4) (2021-01-26)
|
|
17
|
+
|
|
18
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/v0.2.3...v0.2.4)
|
|
19
|
+
|
|
20
|
+
**Merged pull requests:**
|
|
21
|
+
|
|
22
|
+
- added Docker instructions to the README [\#10](https://github.com/department-of-veterans-affairs/vtk/pull/10) ([thilton-oddball](https://github.com/thilton-oddball))
|
|
23
|
+
- use system command [\#7](https://github.com/department-of-veterans-affairs/vtk/pull/7) ([LindseySaari](https://github.com/LindseySaari))
|
|
9
24
|
- Add additional module subcommands [\#6](https://github.com/department-of-veterans-affairs/vtk/pull/6) ([LindseySaari](https://github.com/LindseySaari))
|
|
10
25
|
- Check for Rails dependency [\#5](https://github.com/department-of-veterans-affairs/vtk/pull/5) ([LindseySaari](https://github.com/LindseySaari))
|
|
26
|
+
|
|
27
|
+
## [v0.2.3](https://github.com/department-of-veterans-affairs/vtk/tree/v0.2.3) (2021-01-05)
|
|
28
|
+
|
|
29
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/v0.2.2...v0.2.3)
|
|
30
|
+
|
|
31
|
+
**Merged pull requests:**
|
|
32
|
+
|
|
11
33
|
- one more crack at fixing the README [\#4](https://github.com/department-of-veterans-affairs/vtk/pull/4) ([thilton-oddball](https://github.com/thilton-oddball))
|
|
34
|
+
|
|
35
|
+
## [v0.2.2](https://github.com/department-of-veterans-affairs/vtk/tree/v0.2.2) (2021-01-05)
|
|
36
|
+
|
|
37
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/v0.1.0...v0.2.2)
|
|
38
|
+
|
|
39
|
+
**Merged pull requests:**
|
|
40
|
+
|
|
12
41
|
- fixing markdown in README … [\#3](https://github.com/department-of-veterans-affairs/vtk/pull/3) ([thilton-oddball](https://github.com/thilton-oddball))
|
|
42
|
+
|
|
43
|
+
## [v0.1.0](https://github.com/department-of-veterans-affairs/vtk/tree/v0.1.0) (2021-01-04)
|
|
44
|
+
|
|
45
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/oclif...v0.1.0)
|
|
46
|
+
|
|
47
|
+
**Merged pull requests:**
|
|
48
|
+
|
|
13
49
|
- Start afresh with tty [\#2](https://github.com/department-of-veterans-affairs/vtk/pull/2) ([LindseySaari](https://github.com/LindseySaari))
|
|
50
|
+
|
|
51
|
+
## [oclif](https://github.com/department-of-veterans-affairs/vtk/tree/oclif) (2020-08-10)
|
|
52
|
+
|
|
53
|
+
[Full Changelog](https://github.com/department-of-veterans-affairs/vtk/compare/79143038509757799edb2bb9be2f925b7d985221...oclif)
|
|
54
|
+
|
|
55
|
+
**Merged pull requests:**
|
|
56
|
+
|
|
57
|
+
- Open Jenkins [\#1](https://github.com/department-of-veterans-affairs/vtk/pull/1) ([cvalarida](https://github.com/cvalarida))
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/README.md
CHANGED
|
@@ -26,6 +26,23 @@ To add additional functionality to your module, the commands listed below are av
|
|
|
26
26
|
$ vtk module service <module name>
|
|
27
27
|
|
|
28
28
|
This above command runs a custom rails generator. For more information see the [module generator documentation](https://github.com/department-of-veterans-affairs/vets-api/blob/master/lib/generators/module/USAGE)
|
|
29
|
+
|
|
30
|
+
### SOCKS
|
|
31
|
+
|
|
32
|
+
Handles connecting to VA network via SOCKS.
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
$ vtk socks on
|
|
36
|
+
----> Connecting...
|
|
37
|
+
----> Connected to SOCKS.
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
To disconnect, run:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
$ vtk socks off
|
|
44
|
+
----> Disconnected from SOCKS.
|
|
45
|
+
```
|
|
29
46
|
|
|
30
47
|
### Help
|
|
31
48
|
|
|
@@ -33,3 +50,27 @@ For helpful information about commands and subcommands run the following:
|
|
|
33
50
|
|
|
34
51
|
$ vtk -h
|
|
35
52
|
$ vtk module -h
|
|
53
|
+
|
|
54
|
+
### Docker
|
|
55
|
+
|
|
56
|
+
If using the vtk gem in Docker, you may first need to run the following commands to avoid any errors:
|
|
57
|
+
|
|
58
|
+
$ make docker-clean
|
|
59
|
+
$ make build
|
|
60
|
+
$ make bash
|
|
61
|
+
|
|
62
|
+
### Contributing
|
|
63
|
+
1. Clone the repo
|
|
64
|
+
2. Create your feature branch (git checkout -b my-new-feature)
|
|
65
|
+
3. Run the tests (bundle exec rake)
|
|
66
|
+
4. Commit your changes
|
|
67
|
+
5. Push to the branch (git push origin my-new-feature)
|
|
68
|
+
6. Create new Pull Request
|
|
69
|
+
|
|
70
|
+
### Releasing
|
|
71
|
+
1. Merge in your approved pull requests
|
|
72
|
+
2. Update the version to be whatever it should (in lib/vtk/version.rb) be and commit
|
|
73
|
+
- The version bump could also be part of your PR
|
|
74
|
+
3. ``` bundle exec rake release ```
|
|
75
|
+
- This will tag the release and publish to RubyGems
|
|
76
|
+
4. Update the changelog — (```github_changelog_generator -u department-of-veterans-affairs -p vtk```)
|
data/Rakefile
CHANGED
|
@@ -10,3 +10,11 @@ require 'rubocop/rake_task'
|
|
|
10
10
|
RuboCop::RakeTask.new
|
|
11
11
|
|
|
12
12
|
task default: %i[spec rubocop]
|
|
13
|
+
|
|
14
|
+
desc 'Tags version, pushes to remote, and pushes gem'
|
|
15
|
+
task :release do
|
|
16
|
+
sh 'git', 'tag', "v#{Vtk::VERSION}"
|
|
17
|
+
sh "git push origin v#{Vtk::VERSION}"
|
|
18
|
+
sh 'rake build'
|
|
19
|
+
sh "ls pkg/vtk-#{Vtk::VERSION}.gem | xargs -n 1 gem push"
|
|
20
|
+
end
|
data/lib/vtk/cli.rb
CHANGED
|
@@ -18,6 +18,9 @@ module Vtk
|
|
|
18
18
|
end
|
|
19
19
|
map %w[--version -v] => :version
|
|
20
20
|
|
|
21
|
+
require_relative 'commands/socks'
|
|
22
|
+
register Vtk::Commands::Socks, 'socks', 'socks [SUBCOMMAND]', 'Handles connecting to VA network via SOCKS'
|
|
23
|
+
|
|
21
24
|
require_relative 'commands/module'
|
|
22
25
|
register Vtk::Commands::Module, 'module', 'module [SUBCOMMAND]', 'Command description...'
|
|
23
26
|
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'thor'
|
|
4
|
+
|
|
5
|
+
module Vtk
|
|
6
|
+
module Commands
|
|
7
|
+
# Handles connecting to VA network via SOCKS
|
|
8
|
+
class Socks < Thor
|
|
9
|
+
namespace :socks
|
|
10
|
+
|
|
11
|
+
desc 'off', 'Disconnects from VA SOCKS'
|
|
12
|
+
method_option :help, aliases: '-h', type: :boolean,
|
|
13
|
+
desc: 'Display usage information'
|
|
14
|
+
method_option :port, aliases: '-p', type: :string,
|
|
15
|
+
desc: 'Port that SOCKS server is running on'
|
|
16
|
+
def off(*)
|
|
17
|
+
if options[:help]
|
|
18
|
+
invoke :help, ['off']
|
|
19
|
+
else
|
|
20
|
+
require_relative 'socks/off'
|
|
21
|
+
Vtk::Commands::Socks::Off.new(options).execute
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
desc 'on', 'Connects to VA SOCKS'
|
|
26
|
+
method_option :help, aliases: '-h', type: :boolean,
|
|
27
|
+
desc: 'Display usage information'
|
|
28
|
+
method_option :port, aliases: '-p', type: :string,
|
|
29
|
+
desc: 'Port to run SOCKS server on'
|
|
30
|
+
def on(*)
|
|
31
|
+
if options[:help]
|
|
32
|
+
invoke :help, ['on']
|
|
33
|
+
else
|
|
34
|
+
require_relative 'socks/on'
|
|
35
|
+
Vtk::Commands::Socks::On.new(options).execute
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../command'
|
|
4
|
+
|
|
5
|
+
module Vtk
|
|
6
|
+
module Commands
|
|
7
|
+
class Socks
|
|
8
|
+
# Turns off SOCKS connection to VA network
|
|
9
|
+
class Off < Vtk::Command
|
|
10
|
+
attr_reader :options
|
|
11
|
+
|
|
12
|
+
def initialize(options)
|
|
13
|
+
@options = options
|
|
14
|
+
|
|
15
|
+
super()
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def execute(_input: $stdin, output: $stdout)
|
|
19
|
+
pids_killed = running_pids.map { |pid| kill_pid pid }
|
|
20
|
+
|
|
21
|
+
if pids_killed.any? && pids_killed.all?
|
|
22
|
+
output.puts '----> Disconnected from SOCKS.'
|
|
23
|
+
else
|
|
24
|
+
output.puts '----> No SOCKS connection found.'
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def running_pids
|
|
31
|
+
`lsof -Pi :#{options['port'] || 2001} -sTCP:LISTEN -t`.chomp.split "\n"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def kill_pid(pid)
|
|
35
|
+
system "kill -9 #{pid}"
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../../command'
|
|
4
|
+
|
|
5
|
+
module Vtk
|
|
6
|
+
module Commands
|
|
7
|
+
class Socks
|
|
8
|
+
# Turns on SOCKS connection to VA network
|
|
9
|
+
class On < Vtk::Command
|
|
10
|
+
attr_reader :input, :output, :port
|
|
11
|
+
|
|
12
|
+
def initialize(options)
|
|
13
|
+
@options = options
|
|
14
|
+
@port = options['port'] || '2001'
|
|
15
|
+
|
|
16
|
+
super()
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def execute(_input: $stdin, output: $stdout)
|
|
20
|
+
@input = input
|
|
21
|
+
@output = output
|
|
22
|
+
|
|
23
|
+
return output.puts '----> Already connected to SOCKS.' if connected?
|
|
24
|
+
|
|
25
|
+
connect_to_socks
|
|
26
|
+
ensure_connection
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def connected?
|
|
32
|
+
system "curl --max-time 2 -sL --proxy socks5h://127.0.0.1:#{port} sentry.vfs.va.gov 2> /dev/null | " \
|
|
33
|
+
'grep -q sentry-logo'
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def connect_to_socks
|
|
37
|
+
exit if system "lsof -Pi :#{port} -sTCP:LISTEN -t > /dev/null"
|
|
38
|
+
|
|
39
|
+
Process.spawn "nohup ssh -vvv -o ServerAliveInterval=60 -o ConnectTimeout=5 socks -D #{port} -N" \
|
|
40
|
+
'> /tmp/socks.log 2>&1 &'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def ensure_connection
|
|
44
|
+
output.print '----> Connecting'
|
|
45
|
+
10.times do
|
|
46
|
+
sleep 1
|
|
47
|
+
output.print '.'
|
|
48
|
+
next unless connected?
|
|
49
|
+
|
|
50
|
+
return output.puts "\r----> Connected to SOCKS."
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
output.puts "\r----> ERROR: Could not connect to SOCKS."
|
|
54
|
+
output.puts "----> Verbose Output from SSH log:\n\n"
|
|
55
|
+
|
|
56
|
+
output.puts File.read '/tmp/socks.log'
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
data/lib/vtk/version.rb
CHANGED
data/vtk.gemspec
CHANGED
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
|
16
16
|
|
|
17
17
|
spec.metadata['homepage_uri'] = spec.homepage
|
|
18
18
|
spec.metadata['source_code_uri'] = spec.homepage
|
|
19
|
-
spec.metadata['changelog_uri'] = 'https://github.com/department-of-veterans-affairs/
|
|
19
|
+
spec.metadata['changelog_uri'] = 'https://github.com/department-of-veterans-affairs/vtk/blob/master/CHANGELOG.md'
|
|
20
20
|
|
|
21
21
|
# Specify which files should be added to the gem when it is released.
|
|
22
22
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -29,6 +29,8 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
|
|
30
30
|
spec.add_dependency 'thor', '> 0.20.3'
|
|
31
31
|
|
|
32
|
+
spec.add_development_dependency 'github_changelog_generator', '~> 1.15.0'
|
|
33
|
+
spec.add_development_dependency 'pry', '~> 0.13.0'
|
|
32
34
|
spec.add_development_dependency 'rake', '~> 13.0.0'
|
|
33
35
|
spec.add_development_dependency 'rspec', '~> 3.10.0'
|
|
34
36
|
spec.add_development_dependency 'rubocop', '~> 1.6.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vtk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Boehs
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: exe
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2021-
|
|
13
|
+
date: 2021-02-16 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: thor
|
|
@@ -26,6 +26,34 @@ dependencies:
|
|
|
26
26
|
- - ">"
|
|
27
27
|
- !ruby/object:Gem::Version
|
|
28
28
|
version: 0.20.3
|
|
29
|
+
- !ruby/object:Gem::Dependency
|
|
30
|
+
name: github_changelog_generator
|
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
|
32
|
+
requirements:
|
|
33
|
+
- - "~>"
|
|
34
|
+
- !ruby/object:Gem::Version
|
|
35
|
+
version: 1.15.0
|
|
36
|
+
type: :development
|
|
37
|
+
prerelease: false
|
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
39
|
+
requirements:
|
|
40
|
+
- - "~>"
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: 1.15.0
|
|
43
|
+
- !ruby/object:Gem::Dependency
|
|
44
|
+
name: pry
|
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
|
46
|
+
requirements:
|
|
47
|
+
- - "~>"
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: 0.13.0
|
|
50
|
+
type: :development
|
|
51
|
+
prerelease: false
|
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
+
requirements:
|
|
54
|
+
- - "~>"
|
|
55
|
+
- !ruby/object:Gem::Version
|
|
56
|
+
version: 0.13.0
|
|
29
57
|
- !ruby/object:Gem::Dependency
|
|
30
58
|
name: rake
|
|
31
59
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -131,6 +159,9 @@ files:
|
|
|
131
159
|
- lib/vtk/commands/module/model.rb
|
|
132
160
|
- lib/vtk/commands/module/serializer.rb
|
|
133
161
|
- lib/vtk/commands/module/service.rb
|
|
162
|
+
- lib/vtk/commands/socks.rb
|
|
163
|
+
- lib/vtk/commands/socks/off.rb
|
|
164
|
+
- lib/vtk/commands/socks/on.rb
|
|
134
165
|
- lib/vtk/templates/.gitkeep
|
|
135
166
|
- lib/vtk/templates/module/add/.gitkeep
|
|
136
167
|
- lib/vtk/version.rb
|
|
@@ -141,7 +172,7 @@ licenses:
|
|
|
141
172
|
metadata:
|
|
142
173
|
homepage_uri: https://github.com/department-of-veterans-affairs/vsp-toolkit
|
|
143
174
|
source_code_uri: https://github.com/department-of-veterans-affairs/vsp-toolkit
|
|
144
|
-
changelog_uri: https://github.com/department-of-veterans-affairs/
|
|
175
|
+
changelog_uri: https://github.com/department-of-veterans-affairs/vtk/blob/master/CHANGELOG.md
|
|
145
176
|
post_install_message:
|
|
146
177
|
rdoc_options: []
|
|
147
178
|
require_paths:
|
|
@@ -157,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
157
188
|
- !ruby/object:Gem::Version
|
|
158
189
|
version: '0'
|
|
159
190
|
requirements: []
|
|
160
|
-
rubygems_version: 3.
|
|
191
|
+
rubygems_version: 3.2.1
|
|
161
192
|
signing_key:
|
|
162
193
|
specification_version: 4
|
|
163
194
|
summary: A CLI for the VSP platform
|