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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTM4M2E4ZmIyYWZlYTQ4YWNhMDBiNjkzMTgxYTE2MzI2NWQ0MDk2Nw==
4
+ YzQ2ZGIzOGJmOGNlYmM1YzY2OThlZGZjNTNmNTk2OGUwMGFmMjM3YQ==
5
5
  data.tar.gz: !binary |-
6
- NmNmMWYyMTMyMThmMjJjMGZjMWI0YzJiMjk1ZjgzZGFlMTI3YjRhZA==
6
+ YzgxYTlmNWVmY2U3NWRmODEzMmZmZGU2OGU5ODlhZjNkNGI0OGJmYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Y2FmNDhhM2MxYWVhZDBjMmJjNjUyODU0OGU0YTMwODg3YjE1MDBjNzQ3OTE1
10
- NGVlNTQwOWU1ZTcxYWQwMjkyNWRkMzNjYWVlNjU4MDI0ZjlmMDZjODQzNDc1
11
- MmYwNWQ3ZjAyNTM4NjkyZDVhMjY2NTU5NmI2NDYzYTMwYTk1YjU=
9
+ OTkyNDdlMjkwNDg0ZDAxMWFlZjkyN2UxZTIxZTViYzcxY2ExZWUwNGRlMTVi
10
+ MzIyNjM4MTdlNTU1NDk2NGExOWI0MDkxMjU2NTg0NDEzYmU3MjM4OWNhNzZk
11
+ NGE3ZmFlMTYyZDk5NWY1OTlkNTEzZmVkM2NkMDdmYWMyYWQ3OTk=
12
12
  data.tar.gz: !binary |-
13
- MjdkNzA2MGMzYjBjODk1ZGEyMGQ2NjcyMjU4OTQ0NTk4MWQ1OWQ5ZmFiNzRk
14
- YWE0YTE0MjExOTk5MWQ5MTZmYmJlODA2Y2I2ZjEyYTJkYTYxMTU4MDllZWVm
15
- ODg5YjAwOTNiYTQ2NGJlNzYzYjRiZTJmODY2NjEwMDA0NjVjM2M=
13
+ MzQzODllMGIzMTA4YjA1ODIyNGEwZWJkMjdlOTkwYzc0ZjJlNzYwMGZjMGJj
14
+ MDU1ZmQyYjUwN2Y5ZjMxNjc0Mjc1Y2MxMjkzYmM5Y2I3OWVmYjNiMDNiNWQ0
15
+ YTRmMTZkMjQ3YmRhNDg3YWEzNTZmNDA5MDg5NDRmNWU0NzQ0Y2M=
data/Rakefile CHANGED
@@ -1 +1,5 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
+ require 'reevoocop/rake_task'
3
+ ReevooCop::RakeTask.new(:reevoocop)
4
+
5
+ task build: :reevoocop
@@ -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 = "assemblyline-cli"
7
+ spec.name = 'assemblyline-cli'
8
8
  spec.version = Assemblyline::CLI_VERSION
9
- spec.authors = ["Ed Robinson"]
10
- spec.email = ["ed@reevoo.com"]
11
- spec.summary = %q{A super-lightweight wrapper to start assemblyline tasks}
12
- spec.homepage = "http://github.com/assemblyline"
13
- spec.license = "MIT"
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(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
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 "thor", "~> 0.19"
21
- spec.add_development_dependency "bundler", "~> 1.5"
22
- spec.add_development_dependency "rake"
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
@@ -1,3 +1,3 @@
1
1
  module Assemblyline
2
- CLI_VERSION = "0.0.4"
2
+ CLI_VERSION = '0.0.5'
3
3
  end
@@ -1,23 +1,54 @@
1
- require "assemblyline/cli/version"
1
+ require 'assemblyline/cli/version'
2
2
  require 'thor'
3
3
 
4
4
  module Assemblyline
5
5
  class CLI < Thor
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 -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock -e SSH_KEY=#{ssh_key} -e DOCKERCFG=#{dockercfg} quay.io/assemblyline/builder:latest bin/build #{url} #{ref}"
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 "SSH private key not found" unless key
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
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