bastion-cli 0.8.0 → 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/.rubocop.yml +2 -8
- data/.travis.yml +8 -8
- data/Rakefile +2 -27
- data/Readme.md +5 -4
- data/bastion-cli.gemspec +16 -20
- data/bin/bastion +8 -4
- data/lib/bastion/config.rb +6 -5
- data/lib/bastion/version.rb +1 -1
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 368027cce69ffb8cc0f689ed1f9e11e8a14d1e93
|
4
|
+
data.tar.gz: 5b793260b991616d8ad6cba9f26af3f1aecdf432
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09845b33382e6b3d525ec0731cdc9b85073f03e320f386ffb3dca562a91ce18e7557db0926f157e9a1e4a6be833413de20d2013c9a240266e94ca54b1ff16d92
|
7
|
+
data.tar.gz: 63280256b578dfcb0a6fe7658532df2682bd728e783e61d3a70f87462ac4043246b9e0fb8408c1a6adbdafc2909be9456d72ccab539afc0c5e45192586f679a7
|
data/.rubocop.yml
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
|
2
|
-
Max: 80
|
3
|
-
|
4
|
-
Style/StringLiterals:
|
1
|
+
Style/MethodMissing:
|
5
2
|
Enabled: false
|
6
3
|
|
7
|
-
Style/
|
4
|
+
Style/StringLiterals:
|
8
5
|
Enabled: false
|
9
6
|
|
10
7
|
Style/MutableConstant:
|
@@ -13,9 +10,6 @@ Style/MutableConstant:
|
|
13
10
|
Style/TrailingCommaInLiteral:
|
14
11
|
Enabled: false
|
15
12
|
|
16
|
-
Metrics/MethodLength:
|
17
|
-
Enabled: false
|
18
|
-
|
19
13
|
AllCops:
|
20
14
|
Include:
|
21
15
|
- Rakefile
|
data/.travis.yml
CHANGED
@@ -2,14 +2,14 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3-p551
|
4
4
|
- 2.3.0
|
5
|
-
deploy:
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
# deploy:
|
6
|
+
# provider: rubygems
|
7
|
+
# api_key:
|
8
|
+
# secure: a0KqUg2kBe4aVmisadDybBXbAuolX5tKtbX6YGacbjwAeOb+aoemejgRHJKg8zGOlL8FvHwSY5kER+uapQpRXKW/pZnWTYL+GjCP66iF6qfq4Pueo09J3rIT/pnWz36nfZkd2AXSdKX/UtQQxZTzRdCiglVk0jeEiIFzhxXFS2FCBUt5h2ltciU4WKS5esHvtm+EixjLLFFbatdbeVs+mhbjp2ejmOjwTAZWbjM6bScFxksRrdeQhztK7eUbM+i2DzOC26iV9ejNBjqmFtNE6GPZJ0c24KtGnmy6VwxfGS89yibNnmkGHotPYFzn2mceH75h8U00Rn1d7EdGnGlE10UqVH9lTOLqAbhhxNmBscD+19Q2SnkWZ0u0khYX0fo6BBA0Q/TPAZfg/hBjGm42DVXz1ZS5PFmEa8eEmVZ/vXG2sQGchPEwj3IQlfY/pSSlgmFReHP2VzQO8hUCC4+NquZTQ6hgltIxZiWGbBcJgnU/GeSRd78drIWpAVl8BE1dnzWkcMyT5rgekDhWX8fyiJVYYKXO446vaE0rNyjXOOP4xCRfQ/5LRtoyEQcAPpH3rcXN+iUNKEvzl/YnBLiInEDlE5R7kTxqvE82YH0i2RhGfo568fQ4YKbRjVepahb47mxR1anL56e/9aV8jz44nWcCwvg2UH0NqdXanRzd4vk=
|
9
|
+
# gem: bastion-cli
|
10
|
+
# on:
|
11
|
+
# tags: true
|
12
|
+
# repo: ptdorf/bastion-cli
|
13
13
|
notifications:
|
14
14
|
email:
|
15
15
|
- ptdorf@gmail.com
|
data/Rakefile
CHANGED
@@ -3,35 +3,10 @@ require "rubocop/rake_task"
|
|
3
3
|
|
4
4
|
RuboCop::RakeTask.new do |task|
|
5
5
|
task.options = ["-D"]
|
6
|
-
|
6
|
+
task.fail_on_error = true
|
7
7
|
end
|
8
8
|
|
9
|
-
desc "Cleans up stuff"
|
10
|
-
task :clean do
|
11
|
-
system("rm -fr pkg")
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "Reinstalls"
|
15
|
-
task :reinstall do
|
16
|
-
puts "I'm going to remove this gem to install it again"
|
17
|
-
system "sudo gem uninstall -x bastion-cli"
|
18
|
-
print "Sleeping for 20 seconds"
|
19
|
-
i = 0
|
20
|
-
while i < 20
|
21
|
-
print "."
|
22
|
-
i += 1
|
23
|
-
sleep 1
|
24
|
-
end
|
25
|
-
system "sudo gem install bastion-cli"
|
26
|
-
end
|
27
|
-
|
28
|
-
task go: [
|
29
|
-
:rubocop,
|
30
|
-
:release,
|
31
|
-
:clean,
|
32
|
-
:reinstall,
|
33
|
-
]
|
34
|
-
|
35
9
|
task default: [
|
36
10
|
:rubocop,
|
11
|
+
:release,
|
37
12
|
]
|
data/Readme.md
CHANGED
@@ -4,6 +4,7 @@ Log into things through bastions.
|
|
4
4
|
|
5
5
|
|
6
6
|
[](https://travis-ci.org/ptdorf/bastion-cli)
|
7
|
+
[](https://app.snap-ci.com/ptdorf/bastion-cli/branch/master)
|
7
8
|
[](https://badge.fury.io/rb/bastion-cli)
|
8
9
|
|
9
10
|
|
@@ -47,8 +48,8 @@ $ bastion tunnel
|
|
47
48
|
$ bastion tunnel 1337 --host 12.34.56.78
|
48
49
|
```
|
49
50
|
|
50
|
-
You can also set the `BASTION_HOST` environment variable
|
51
|
-
|
51
|
+
You can also set the `BASTION_HOST` environment variable to temporarily override
|
52
|
+
the saved default:
|
52
53
|
|
53
54
|
BASTION_HOST=bastion.example.com bastion ssh web.example.com
|
54
55
|
|
@@ -56,7 +57,7 @@ The pecking order is:
|
|
56
57
|
|
57
58
|
- The `--host` option
|
58
59
|
- The `BASTION_HOST` environment variable
|
59
|
-
- The user default value that lives in
|
60
|
-
- The system default value that lives in
|
60
|
+
- The user default value, that lives in `${HOME}/.bastion`
|
61
|
+
- The system default value, that lives in `/etc/bastion/bastion`
|
61
62
|
|
62
63
|
In doubt, just run `bastion host --all` to see what are your options.
|
data/bastion-cli.gemspec
CHANGED
@@ -1,26 +1,22 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift lib
|
1
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
3
2
|
|
4
|
-
require "date"
|
5
3
|
require "bastion/version"
|
6
4
|
|
7
|
-
Gem::Specification.new do |
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
spec.license = "MIT"
|
18
|
-
spec.require_paths = ["lib"]
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "bastion-cli"
|
7
|
+
s.version = Bastion::VERSION
|
8
|
+
s.summary = "Log into things through bastions"
|
9
|
+
s.description = "Log into things through bastions."
|
10
|
+
s.authors = ["ptdorf"]
|
11
|
+
s.email = ["ptdorf@gmail.com"]
|
12
|
+
s.homepage = "https://github.com/ptdorf/bastion-cli"
|
13
|
+
s.license = "MIT"
|
14
|
+
s.require_paths = ["lib"]
|
19
15
|
|
20
|
-
|
21
|
-
|
16
|
+
s.files = `git ls-files`.split $/
|
17
|
+
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename f }
|
22
18
|
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
s.add_dependency "thor"
|
20
|
+
s.add_development_dependency "rake"
|
21
|
+
s.add_development_dependency "rubocop"
|
26
22
|
end
|
data/bin/bastion
CHANGED
@@ -20,14 +20,18 @@ module Bastion
|
|
20
20
|
end
|
21
21
|
|
22
22
|
desc "host [HOST]", "Show or set the default bastion host"
|
23
|
-
option :all, type: :boolean
|
24
23
|
def host(address = nil)
|
25
24
|
config = Config.new(options)
|
26
|
-
return config.save(address) if address
|
27
|
-
return config.info if options[:all]
|
25
|
+
return puts(config.save(address)) if address
|
28
26
|
puts config.host
|
29
27
|
end
|
30
28
|
|
29
|
+
desc "info", "Show all bastion info"
|
30
|
+
def info
|
31
|
+
config = Config.new(options)
|
32
|
+
config.info
|
33
|
+
end
|
34
|
+
|
31
35
|
desc "ssh [INSTANCE]", "Logs into an instance"
|
32
36
|
def ssh(instance = nil)
|
33
37
|
config = Config.new(options)
|
@@ -43,7 +47,7 @@ module Bastion
|
|
43
47
|
end
|
44
48
|
|
45
49
|
desc "tunnel [PORT]", "Starts a new tunnel"
|
46
|
-
def tunnel(port =
|
50
|
+
def tunnel(port = 1337)
|
47
51
|
config = Config.new(options)
|
48
52
|
puts "==> Starting tunnel to host #{config.host} on port #{port}"
|
49
53
|
exec "ssh -D#{port} #{config.host}"
|
data/lib/bastion/config.rb
CHANGED
@@ -3,8 +3,8 @@ module Bastion
|
|
3
3
|
#
|
4
4
|
#
|
5
5
|
class Config
|
6
|
-
USER = "#{ENV['HOME']}/.bastion"
|
7
|
-
SYSTEM = "/etc/bastion/
|
6
|
+
USER = "#{ENV['HOME']}/.bastion/config"
|
7
|
+
SYSTEM = "/etc/bastion/config"
|
8
8
|
ENVVAR = "BASTION_HOST"
|
9
9
|
|
10
10
|
def initialize(options)
|
@@ -21,7 +21,7 @@ module Bastion
|
|
21
21
|
puts "User : #{@user}"
|
22
22
|
puts "Env : #{@env}"
|
23
23
|
puts "Option : #{@option}"
|
24
|
-
puts "
|
24
|
+
puts "Using : #{@host}"
|
25
25
|
end
|
26
26
|
|
27
27
|
def read(file, default = nil)
|
@@ -31,13 +31,14 @@ module Bastion
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def save(value)
|
34
|
-
|
34
|
+
dir = File.dirname(USER)
|
35
|
+
Dir.mkdir(dir) unless Dir.exist?(dir)
|
35
36
|
File.write USER, value
|
37
|
+
File.read USER
|
36
38
|
end
|
37
39
|
|
38
40
|
def method_missing(name)
|
39
41
|
instance_variable_get :"@#{name}"
|
40
|
-
# class_variable_get(:"@@#{name}")
|
41
42
|
end
|
42
43
|
end
|
43
44
|
end
|
data/lib/bastion/version.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bastion-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ptdorf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
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
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubocop
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description: Log into things through bastions.
|
@@ -60,9 +60,9 @@ executables:
|
|
60
60
|
extensions: []
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
|
-
- .gitignore
|
64
|
-
- .rubocop.yml
|
65
|
-
- .travis.yml
|
63
|
+
- ".gitignore"
|
64
|
+
- ".rubocop.yml"
|
65
|
+
- ".travis.yml"
|
66
66
|
- Gemfile
|
67
67
|
- Rakefile
|
68
68
|
- Readme.md
|
@@ -81,17 +81,17 @@ require_paths:
|
|
81
81
|
- lib
|
82
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- -
|
84
|
+
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '0'
|
87
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
93
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.
|
94
|
+
rubygems_version: 2.6.6
|
95
95
|
signing_key:
|
96
96
|
specification_version: 4
|
97
97
|
summary: Log into things through bastions
|