docker-utils 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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"
|