assemblyline-cli 0.0.4 → 0.0.5
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 +8 -8
- data/Rakefile +5 -1
- data/assemblyline-cli.gemspec +13 -12
- data/lib/assemblyline/cli/version.rb +1 -1
- data/lib/assemblyline/cli.rb +37 -6
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzQ2ZGIzOGJmOGNlYmM1YzY2OThlZGZjNTNmNTk2OGUwMGFmMjM3YQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzgxYTlmNWVmY2U3NWRmODEzMmZmZGU2OGU5ODlhZjNkNGI0OGJmYw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTkyNDdlMjkwNDg0ZDAxMWFlZjkyN2UxZTIxZTViYzcxY2ExZWUwNGRlMTVi
|
10
|
+
MzIyNjM4MTdlNTU1NDk2NGExOWI0MDkxMjU2NTg0NDEzYmU3MjM4OWNhNzZk
|
11
|
+
NGE3ZmFlMTYyZDk5NWY1OTlkNTEzZmVkM2NkMDdmYWMyYWQ3OTk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzQzODllMGIzMTA4YjA1ODIyNGEwZWJkMjdlOTkwYzc0ZjJlNzYwMGZjMGJj
|
14
|
+
MDU1ZmQyYjUwN2Y5ZjMxNjc0Mjc1Y2MxMjkzYmM5Y2I3OWVmYjNiMDNiNWQ0
|
15
|
+
YTRmMTZkMjQ3YmRhNDg3YWEzNTZmNDA5MDg5NDRmNWU0NzQ0Y2M=
|
data/Rakefile
CHANGED
data/assemblyline-cli.gemspec
CHANGED
@@ -4,20 +4,21 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'assemblyline/cli/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'assemblyline-cli'
|
8
8
|
spec.version = Assemblyline::CLI_VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary =
|
12
|
-
spec.homepage =
|
13
|
-
spec.license =
|
9
|
+
spec.authors = ['Ed Robinson']
|
10
|
+
spec.email = ['ed@reevoo.com']
|
11
|
+
spec.summary = 'A super-lightweight wrapper to start assemblyline tasks'
|
12
|
+
spec.homepage = 'http://github.com/assemblyline'
|
13
|
+
spec.license = 'MIT'
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
16
|
-
spec.executables = spec.files.grep(
|
17
|
-
spec.test_files = spec.files.grep(
|
18
|
-
spec.require_paths = [
|
16
|
+
spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
|
17
|
+
spec.test_files = spec.files.grep(/^(test|spec|features)\//)
|
18
|
+
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_dependency
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
20
|
+
spec.add_dependency 'thor', '~> 0.19'
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.5'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'reevoocop'
|
23
24
|
end
|
data/lib/assemblyline/cli.rb
CHANGED
@@ -1,23 +1,54 @@
|
|
1
|
-
require
|
1
|
+
require 'assemblyline/cli/version'
|
2
2
|
require 'thor'
|
3
3
|
|
4
4
|
module Assemblyline
|
5
5
|
class CLI < Thor
|
6
|
-
desc
|
7
|
-
def build(url, ref=nil)
|
8
|
-
exec "docker run --rm
|
6
|
+
desc 'build URL (REF)', 'Build an assemblyline project from a git url and optionaly merge REF into master'
|
7
|
+
def build(url, ref = nil)
|
8
|
+
exec "docker run --rm #{bind_mounts} #{env_flags} #{assemblyline_builder} bin/build #{url} #{ref}"
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'update', 'update assemblyline'
|
12
|
+
def update
|
13
|
+
fail unless system "docker pull #{assemblyline_builder}"
|
14
|
+
exec 'gem install assemblyline-cli'
|
15
|
+
end
|
16
|
+
|
17
|
+
map '-v' => 'version', '--version' => 'version'
|
18
|
+
desc 'version', 'print the current version'
|
19
|
+
def version
|
20
|
+
puts CLI_VERSION
|
9
21
|
end
|
10
22
|
|
11
23
|
private
|
12
24
|
|
25
|
+
def env_flags
|
26
|
+
env.map { |var, val| "-e #{var}=#{val}" }.join(' ')
|
27
|
+
end
|
28
|
+
|
29
|
+
def env
|
30
|
+
{
|
31
|
+
'SSH_KEY' => ssh_key,
|
32
|
+
'DOCKERCFG' => dockercfg,
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
def bind_mounts
|
37
|
+
'-v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock'
|
38
|
+
end
|
39
|
+
|
40
|
+
def assemblyline_builder
|
41
|
+
'quay.io/assemblyline/builder:latest'
|
42
|
+
end
|
43
|
+
|
13
44
|
def ssh_key
|
14
45
|
key = File.read(key_path)
|
15
|
-
fail
|
46
|
+
fail 'SSH private key not found' unless key
|
16
47
|
key.dump
|
17
48
|
end
|
18
49
|
|
19
50
|
def dockercfg
|
20
|
-
cfg = File.read(File.join(ENV['HOME'], '.dockercfg')).gsub("\n",'')
|
51
|
+
cfg = File.read(File.join(ENV['HOME'], '.dockercfg')).gsub("\n", '')
|
21
52
|
cfg.dump
|
22
53
|
end
|
23
54
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assemblyline-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ed Robinson
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: reevoocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description:
|
56
70
|
email:
|
57
71
|
- ed@reevoo.com
|