docker-utils 0.1.7 → 0.1.8
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/.git/COMMIT_EDITMSG +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +1 -0
- data/.git/logs/refs/heads/master +1 -0
- data/.git/logs/refs/remotes/origin/master +1 -0
- data/.git/objects/32/7a4895eaf4b6a7e33fb4b023e5fa6474d9e354 +1 -0
- data/.git/objects/62/bdd27536599feb1102bd00ce990d0cd9db2764 +0 -0
- data/.git/objects/66/e68fd3387763fe419ae3635d2e6e26f798f27f +0 -0
- data/.git/objects/80/c3604b85a4058a0f405d6976bac915d1c15680 +0 -0
- data/.git/objects/ea/d1738ae012a657ae2a2d91ccdf321cd2ac7943 +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/.git/refs/tags/0.1.8 +1 -0
- data/share/scripts/toolchain +56 -24
- metadata +7 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 97c7d006aca2a033ffb9faa2accfd60578262b56
|
|
4
|
+
data.tar.gz: c9bea903272bb78f1b2ec843c44f4aa10b0322a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8a42ebc7ac7af8e76f9b9c68f76d4173112864b0437aff7837590f8d4efb99f88186ff88a1fbcca3131c4581960f9462b5451c784e9df888b6e24a5661918d83
|
|
7
|
+
data.tar.gz: 4fe3978cb087011f06fd8c453ade72287d65d66f0556a2887d0bf3a130e6aa7fe6400f496c46fef811aa0a6fe05e419c9a6f133b0b6eb1208a30a753ddc25d8a
|
data/.git/COMMIT_EDITMSG
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
toolchain -b binds network to host
|
data/.git/index
CHANGED
|
Binary file
|
data/.git/logs/HEAD
CHANGED
|
@@ -6,3 +6,4 @@ be1f197731085b21d3f3be9029bee5b582171590 279ea12cb6a2e318bdd44687c8ed53d2c1adc0a
|
|
|
6
6
|
1104c618b07e441604244128f06b4bf92afb3725 fb1f9c856ce0b46016dbc6ad59dadb42d4c8a440 Levi Aul <levi@leviaul.com> 1403404049 -0700 commit: Fix self-referential scripts
|
|
7
7
|
fb1f9c856ce0b46016dbc6ad59dadb42d4c8a440 34fe88f616ebfbe01e26bca750f2723feea23426 Levi Aul <levi@leviaul.com> 1403727351 -0700 commit: Correct location of unbound data volumes on host
|
|
8
8
|
34fe88f616ebfbe01e26bca750f2723feea23426 4746d16d9f9cefee5d7a11db1834cedce8400c59 Levi Aul <levi@leviaul.com> 1403746668 -0700 commit: Remove TMPDIR from guest
|
|
9
|
+
4746d16d9f9cefee5d7a11db1834cedce8400c59 327a4895eaf4b6a7e33fb4b023e5fa6474d9e354 Levi Aul <levi@leviaul.com> 1403817004 -0700 commit: toolchain -b binds network to host
|
data/.git/logs/refs/heads/master
CHANGED
|
@@ -6,3 +6,4 @@ be1f197731085b21d3f3be9029bee5b582171590 279ea12cb6a2e318bdd44687c8ed53d2c1adc0a
|
|
|
6
6
|
1104c618b07e441604244128f06b4bf92afb3725 fb1f9c856ce0b46016dbc6ad59dadb42d4c8a440 Levi Aul <levi@leviaul.com> 1403404049 -0700 commit: Fix self-referential scripts
|
|
7
7
|
fb1f9c856ce0b46016dbc6ad59dadb42d4c8a440 34fe88f616ebfbe01e26bca750f2723feea23426 Levi Aul <levi@leviaul.com> 1403727351 -0700 commit: Correct location of unbound data volumes on host
|
|
8
8
|
34fe88f616ebfbe01e26bca750f2723feea23426 4746d16d9f9cefee5d7a11db1834cedce8400c59 Levi Aul <levi@leviaul.com> 1403746668 -0700 commit: Remove TMPDIR from guest
|
|
9
|
+
4746d16d9f9cefee5d7a11db1834cedce8400c59 327a4895eaf4b6a7e33fb4b023e5fa6474d9e354 Levi Aul <levi@leviaul.com> 1403817004 -0700 commit: toolchain -b binds network to host
|
|
@@ -5,3 +5,4 @@ be1f197731085b21d3f3be9029bee5b582171590 279ea12cb6a2e318bdd44687c8ed53d2c1adc0a
|
|
|
5
5
|
6ffac4880de276b0f60e3633cacb482b18d0f906 1104c618b07e441604244128f06b4bf92afb3725 Levi Aul <levi@leviaul.com> 1403395587 -0700 update by push
|
|
6
6
|
1104c618b07e441604244128f06b4bf92afb3725 fb1f9c856ce0b46016dbc6ad59dadb42d4c8a440 Levi Aul <levi@leviaul.com> 1403404051 -0700 update by push
|
|
7
7
|
fb1f9c856ce0b46016dbc6ad59dadb42d4c8a440 4746d16d9f9cefee5d7a11db1834cedce8400c59 Levi Aul <levi@leviaul.com> 1403746675 -0700 update by push
|
|
8
|
+
4746d16d9f9cefee5d7a11db1834cedce8400c59 327a4895eaf4b6a7e33fb4b023e5fa6474d9e354 Levi Aul <levi@leviaul.com> 1403817010 -0700 update by push
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
x��]j�0���S�Rvc�B(�{.!���Զ��N�_�}�o�``���p�"���D�-��q�>_2'r����h~�.��
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/.git/refs/heads/master
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
327a4895eaf4b6a7e33fb4b023e5fa6474d9e354
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
327a4895eaf4b6a7e33fb4b023e5fa6474d9e354
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
327a4895eaf4b6a7e33fb4b023e5fa6474d9e354
|
data/share/scripts/toolchain
CHANGED
|
@@ -1,47 +1,79 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
EXPUNGE_ENV_KEYS = [
|
|
4
|
+
'TMPDIR'
|
|
5
|
+
]
|
|
5
6
|
|
|
7
|
+
require 'optparse'
|
|
6
8
|
require 'pathname'
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
options = {}
|
|
11
|
+
options[:toolchain_image] = 'bexio/toolchain:latest'
|
|
12
|
+
|
|
13
|
+
toolchain_docker_args = []
|
|
14
|
+
toolchain_subcommand_args = ARGV[0..-1]
|
|
15
|
+
ARGV.clear
|
|
16
|
+
|
|
17
|
+
if subcommand_delim_pos = toolchain_subcommand_args.index('--')
|
|
18
|
+
toolchain_own_args, toolchain_subcommand_args = toolchain_subcommand_args.partition.each_with_index{ |x, i| i <= subcommand_delim_pos }
|
|
19
|
+
ARGV.concat(toolchain_own_args[0..-2])
|
|
12
20
|
end
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
OptionParser.new do |opts|
|
|
23
|
+
opts.on("-i", "--image", "Run within the specified toolchain image") do |image_name|
|
|
24
|
+
options[:toolchain_image] = image_name
|
|
25
|
+
end
|
|
16
26
|
|
|
17
|
-
|
|
27
|
+
opts.on("-b", "--[no-]bind-net", "Run the command in the host's network namespace") do |v|
|
|
28
|
+
options[:bind_net] = v
|
|
29
|
+
end
|
|
30
|
+
end.parse!
|
|
18
31
|
|
|
19
|
-
|
|
20
|
-
guest_cwd = guest_repo_root + rel_cwd
|
|
32
|
+
toolchain_image = (options[:toolchain_image].split(':') + ['latest'])[0, 2].join(':')
|
|
21
33
|
|
|
22
34
|
toolchain_available = system 'docker', 'inspect', '-f', '{{.Id}}', toolchain_image, out: '/dev/null', err: '/dev/null'
|
|
23
|
-
unless toolchain_available
|
|
24
|
-
|
|
35
|
+
unless toolchain_available or system('docker', 'pull', toolchain_image)
|
|
36
|
+
$stderr.puts "could not locate toolchain image '#{toolchain_image}'; aborting"
|
|
37
|
+
Kernel.exit 1
|
|
25
38
|
end
|
|
26
39
|
|
|
27
|
-
expunge_env_keys = [
|
|
28
|
-
'TMPDIR'
|
|
29
|
-
]
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
|
|
42
|
+
# mount options
|
|
43
|
+
host_cwd = Pathname.pwd
|
|
44
|
+
host_repo_root = `git rev-parse --show-toplevel 2>/dev/null`.chomp
|
|
45
|
+
host_repo_root = nil if host_repo_root.empty?
|
|
46
|
+
if host_repo_root
|
|
47
|
+
host_repo_root = Pathname.new(host_repo_root)
|
|
48
|
+
rel_cwd = host_cwd.relative_path_from(host_repo_root)
|
|
49
|
+
guest_repo_root = Pathname.new('/src')
|
|
50
|
+
guest_cwd = guest_repo_root + rel_cwd
|
|
51
|
+
|
|
52
|
+
toolchain_docker_args.concat([
|
|
53
|
+
'-v', "#{host_repo_root}:#{guest_repo_root}",
|
|
54
|
+
'-w', guest_cwd.to_s
|
|
55
|
+
])
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# interactivity options
|
|
59
|
+
if $stdin.tty? and $stdout.tty?
|
|
60
|
+
toolchain_docker_args.concat(['-i', '-t'])
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# environment options
|
|
64
|
+
exposed_env_keys = ENV.keys - EXPUNGE_ENV_KEYS
|
|
32
65
|
container_env_keys = `docker inspect -f '{{.Config.Env}}' #{toolchain_image}`.chomp[1..-2].split(' ').map{ |pair| pair.split('=').first }
|
|
66
|
+
toolchain_docker_args.concat((exposed_env_keys - container_env_keys).map{ |k| ['-e', k] }.flatten)
|
|
33
67
|
|
|
34
|
-
|
|
35
|
-
|
|
68
|
+
# network options
|
|
69
|
+
if options[:bind_net]
|
|
70
|
+
toolchain_docker_args.push '--net=host'
|
|
71
|
+
end
|
|
36
72
|
|
|
37
73
|
|
|
38
|
-
interaction_args = ($stdin.tty? && $stdout.tty?) ? ['-i', '-t'] : []
|
|
39
74
|
|
|
40
75
|
docker_bin_path = `which docker`.chomp
|
|
41
76
|
Kernel.exec docker_bin_path, 'run', '--rm',
|
|
42
|
-
*
|
|
43
|
-
'-v', "#{host_repo_root}:#{guest_repo_root}",
|
|
44
|
-
'-w', guest_cwd.to_s,
|
|
45
|
-
*share_env_args,
|
|
77
|
+
*toolchain_docker_args,
|
|
46
78
|
toolchain_image,
|
|
47
79
|
*toolchain_subcommand_args
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: docker-utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Levi Aul
|
|
@@ -63,6 +63,7 @@ files:
|
|
|
63
63
|
- "./.git/objects/2b/a58bc75cacb00054a89b55f9c29b14b6ad9fc9"
|
|
64
64
|
- "./.git/objects/31/5a20c22de5072f43f347ed4c3edfd558d3437a"
|
|
65
65
|
- "./.git/objects/32/38418ccf635978b113b90861fade4ed12ca3f7"
|
|
66
|
+
- "./.git/objects/32/7a4895eaf4b6a7e33fb4b023e5fa6474d9e354"
|
|
66
67
|
- "./.git/objects/32/9508e363b1ff534ddffe810d2da961396f3dc1"
|
|
67
68
|
- "./.git/objects/34/fe88f616ebfbe01e26bca750f2723feea23426"
|
|
68
69
|
- "./.git/objects/3a/2b538cabc17e77f8cb0dd6de8b16605ef58737"
|
|
@@ -74,9 +75,12 @@ files:
|
|
|
74
75
|
- "./.git/objects/54/5333ccc0f292151680a511e14cbe64a03221e1"
|
|
75
76
|
- "./.git/objects/59/8547f6e792f8b7d4f1f62239f04c525acacef1"
|
|
76
77
|
- "./.git/objects/61/71d3bbd3622dfc60faac202c1b90a3c7f9791f"
|
|
78
|
+
- "./.git/objects/62/bdd27536599feb1102bd00ce990d0cd9db2764"
|
|
79
|
+
- "./.git/objects/66/e68fd3387763fe419ae3635d2e6e26f798f27f"
|
|
77
80
|
- "./.git/objects/6c/b1af9864154ad45be7590a38f809306a077ece"
|
|
78
81
|
- "./.git/objects/6f/fac4880de276b0f60e3633cacb482b18d0f906"
|
|
79
82
|
- "./.git/objects/7c/8448991c45ca29d577a67b9631997d0d1b812c"
|
|
83
|
+
- "./.git/objects/80/c3604b85a4058a0f405d6976bac915d1c15680"
|
|
80
84
|
- "./.git/objects/86/9331fa05276fd1d1f1d74f8b7191ed27acf6e7"
|
|
81
85
|
- "./.git/objects/97/0cfb60e9f0afbfd3396cb5751bb902e50552ca"
|
|
82
86
|
- "./.git/objects/9e/21ba32b039906aeb275160496bf8bba0dbd97f"
|
|
@@ -97,6 +101,7 @@ files:
|
|
|
97
101
|
- "./.git/objects/db/3da375f32f0dea97f64ddaf7546ebba1d6f205"
|
|
98
102
|
- "./.git/objects/dc/ceeaf814610ebba30b42d39c7d19e581e6d33d"
|
|
99
103
|
- "./.git/objects/e7/69b6ea29eb14ba6ea173c62c282388ae59b876"
|
|
104
|
+
- "./.git/objects/ea/d1738ae012a657ae2a2d91ccdf321cd2ac7943"
|
|
100
105
|
- "./.git/objects/eb/8c9934c1edbbb9d2d7b70f48e5b4ad2ce4125f"
|
|
101
106
|
- "./.git/objects/f0/cf031748908ac06c5212eb4442175fed69965d"
|
|
102
107
|
- "./.git/objects/f0/cf648547f6239a7881022a31b5215ef724e6c5"
|
|
@@ -116,6 +121,7 @@ files:
|
|
|
116
121
|
- "./.git/refs/tags/0.1.5"
|
|
117
122
|
- "./.git/refs/tags/0.1.6"
|
|
118
123
|
- "./.git/refs/tags/0.1.7"
|
|
124
|
+
- "./.git/refs/tags/0.1.8"
|
|
119
125
|
- "./.gitignore"
|
|
120
126
|
- "./Rakefile"
|
|
121
127
|
- "./bin/docker-utils"
|