assemblyline-cli 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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