zillabyte-cli 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +8 -8
  2. data/bin/zb +1 -15
  3. data/bin/zillabyte +1 -15
  4. data/lib/zillabyte-cli.rb +0 -3
  5. data/lib/zillabyte-cli/version.rb +1 -1
  6. data/lib/zillabyte/api.rb +14 -34
  7. data/lib/zillabyte/api/apps.rb +3 -4
  8. data/lib/zillabyte/api/base.rb +2 -2
  9. data/lib/zillabyte/api/components.rb +1 -3
  10. data/lib/zillabyte/api/data.rb +2 -1
  11. data/lib/zillabyte/api/flows.rb +9 -4
  12. data/lib/zillabyte/api/keys.rb +2 -1
  13. data/lib/zillabyte/api/logs.rb +1 -2
  14. data/lib/zillabyte/api/metrics.rb +3 -2
  15. data/lib/zillabyte/api/queries.rb +2 -0
  16. data/lib/zillabyte/api/semantic_tags.rb +1 -0
  17. data/lib/zillabyte/api/sources.rb +2 -0
  18. data/lib/zillabyte/api/zillalogs.rb +1 -0
  19. data/lib/zillabyte/auth.rb +8 -12
  20. data/lib/zillabyte/cli.rb +7 -24
  21. data/lib/zillabyte/cli/apps.rb +7 -12
  22. data/lib/zillabyte/cli/base.rb +3 -3
  23. data/lib/zillabyte/cli/components.rb +6 -3
  24. data/lib/zillabyte/cli/config.rb +3 -3
  25. data/lib/zillabyte/cli/data.rb +6 -8
  26. data/lib/zillabyte/cli/flows.rb +17 -16
  27. data/lib/zillabyte/cli/help.rb +5 -2
  28. data/lib/zillabyte/cli/helpers/table_output_builder.rb +3 -3
  29. data/lib/zillabyte/cli/keys.rb +0 -5
  30. data/lib/zillabyte/cli/log_formatter.rb +2 -0
  31. data/lib/zillabyte/cli/nuke.rb +0 -3
  32. data/lib/zillabyte/cli/query.rb +1 -1
  33. data/lib/zillabyte/cli/repl.rb +4 -2
  34. data/lib/zillabyte/command.rb +29 -12
  35. data/lib/zillabyte/common/tar.rb +8 -7
  36. data/lib/zillabyte/helpers.rb +4 -2
  37. data/lib/zillabyte/runner/app_runner.rb +4 -4
  38. data/lib/zillabyte/runner/component_operation.rb +2 -5
  39. data/lib/zillabyte/runner/component_runner.rb +3 -3
  40. data/lib/zillabyte/runner/multilang_operation.rb +8 -6
  41. data/zillabyte-cli.gemspec +3 -7
  42. metadata +2 -45
  43. data/lib/zillabyte/api/locks.rb +0 -4
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTIwZDM4NGVlY2I5YWQ0MjMzMGZmMDQwMjcxMDQ0YjAxMGQxOTY1Yg==
4
+ NjczNzk4NGFlYTc2MGY1M2JjZWExZDNmZjg4MzBkNDlmNGEzYTg3NA==
5
5
  data.tar.gz: !binary |-
6
- YjY4ZjE5Njk0ZmJiOGFkNDM3ODBiOTM5YTQ5OGUyNGQ2M2MxYTRhZQ==
6
+ MzM4MDJlMjc3M2NiMmRhM2E5ZWQ5ZThmZjA2ZjY5YTcyZjI3ZTNhMg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NDljMmMxOWRkY2Q3MDk4N2YwYzc1YTRlYzViM2M4ZDgwYWMzMTdjZDgyNGRl
10
- NzAxZDY5ZTRjYzRhNmIxODhlM2EwNDAyNTBjMDcxYWEwY2ZhMWZmZWExMzRk
11
- NWFlN2E5MzI5OGQ0YjFkNWQ0NjRkMDg2ODE2ZjllN2M5Nzk1OGE=
9
+ OWQ5NzcxYTUzODMwNDI3ZDRmMmMyYmM4NTgwY2JjMzU5NDA2ZjZlODdkMWJk
10
+ YTM5YjI0ZmFhM2VlNDBjZDMzNjZjOGFmNWVlMTRiMTQzOWZhY2UwNDFkOWUw
11
+ YmUwYjY1ZGJlYjZhNmZjMzYzY2RjYzVkZTljMDc1MjEzNzk2ZjI=
12
12
  data.tar.gz: !binary |-
13
- NzdhYjQ0M2NlZGNkYWEyY2RhNDVlNjU3MTFmYTEzODQyMTYyNjMyY2I2NGE0
14
- ZTc3YWMwZjZiNzg5NjYwY2Y4ZjVmY2NmOGQzZjc1NzBlNGZlMTRhMjlhNmM3
15
- MzY1N2E2MGZmMTJkMTlmOTAwZGQyZDVlYTZhMDk3ZjdkOWVmNDk=
13
+ NjZiMmI2YmM4MjA4NGFiYjNlY2M0MTc2YzQ5ODZmMjM5MjUzZWNlNmViMGQz
14
+ MmY3MGYxZTY2ZmZiOTk1OGJhZWZlZjU0MTcwMmRkMzYyYTcxZjYwODdlZDkz
15
+ NjA0MTY3Y2E2YWJlZjVhMzc4NTZmYTU3NDY1ZTNlYzQxMGI1ZGQ=
data/bin/zb CHANGED
@@ -1,18 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'zillabyte' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
2
 
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- require_relative '../lib/zillabyte-cli'
3
+ require("zillabyte-cli")
17
4
  Zillabyte::CLI.start(*ARGV)
18
-
data/bin/zillabyte CHANGED
@@ -1,18 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'zillabyte' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
2
 
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- require_relative '../lib/zillabyte-cli'
3
+ require("zillabyte-cli")
17
4
  Zillabyte::CLI.start(*ARGV)
18
-
data/lib/zillabyte-cli.rb CHANGED
@@ -1,5 +1,2 @@
1
1
  require "zillabyte-cli/version"
2
- require "zillabyte/api"
3
2
  require "zillabyte/cli"
4
- require "zillabyte/common"
5
- require "zillabyte/queries"
@@ -1,5 +1,5 @@
1
1
  module Zillabyte
2
2
  module CLI
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
  end
5
5
  end
data/lib/zillabyte/api.rb CHANGED
@@ -1,20 +1,4 @@
1
- # load('zillabyte/helpers.rb') # reload helpers after possible inject_loadpath
2
- # load('zillabyte/updater.rb') # reload updater after possible inject_loadpath
3
-
4
- require "base64"
5
- require "excon"
6
- # require "securerandom"
7
- require "uri"
8
- require "zlib"
9
- require "active_support/core_ext/object/to_query.rb"
10
- require 'json'
11
-
12
-
13
- # workaround for rescue/reraise to define errors in command.rb failing in 1.8.6
14
- if RUBY_VERSION =~ /^1.8.6/
15
- # require('zillabyte-api')
16
- require('rest_client')
17
- end
1
+ require("json")
18
2
 
19
3
  class Zillabyte::API
20
4
 
@@ -38,6 +22,7 @@ class Zillabyte::API
38
22
 
39
23
 
40
24
  def initialize(options={})
25
+ require("excon")
41
26
  options = OPTIONS.merge(options)
42
27
  @session = options.delete(:session)
43
28
  @api_key = options.delete(:api_key) || ENV['ZILLABYTE_API_KEY']
@@ -178,76 +163,71 @@ class Zillabyte::API
178
163
 
179
164
 
180
165
  def data
166
+ require("zillabyte/api/data")
181
167
  @_data ||= ::Zillabyte::API::Data.new(self)
182
168
  end
183
169
 
184
170
  def logs
171
+ require("zillabyte/api/logs")
185
172
  @_logs ||= ::Zillabyte::API::Logs.new(self)
186
173
  end
187
174
 
188
175
  def keys
176
+ require("zillabyte/api/keys")
189
177
  @_keys ||= ::Zillabyte::API::Keys.new(self)
190
178
  end
191
179
 
192
180
  def queries
181
+ require("zillabyte/api/queries")
193
182
  @_queries ||= ::Zillabyte::API::Queries.new(self)
194
183
  end
195
184
  alias_method :query, :queries
196
185
 
197
186
  def apps
187
+ require("zillabyte/api/apps")
198
188
  @_apps ||= ::Zillabyte::API::Apps.new(self)
199
189
  end
200
190
  alias_method :app, :apps
201
191
 
202
192
  def flows
193
+ require("zillabyte/api/flows")
203
194
  @_flows || ::Zillabyte::API::Flows.new(self)
204
195
  end
205
196
  alias_method :flow, :flows
206
197
 
207
198
  def components
199
+ require("zillabyte/api/components")
208
200
  @_components ||= ::Zillabyte::API::Components.new(self)
209
201
  end
210
202
  alias_method :component, :components
211
203
 
212
204
  def metrics
205
+ require("zillabyte/api/metrics")
213
206
  @_metrics ||= ::Zillabyte::API::Metrics.new(self)
214
207
  end
215
208
  alias_method :metric, :metrics
216
209
 
217
210
  def zillalogs
211
+ require("zilabyte/api/zillalogs")
218
212
  @_rules ||= ::Zillabyte::API::Zillalogs.new(self)
219
213
  end
220
214
  alias_method :zillalog, :zillalogs
221
215
 
222
216
  def sources
217
+ require("zillabyte/api/sources")
223
218
  @_sources ||= ::Zillabyte::API::Sources.new(self)
224
219
  end
225
220
  alias_method :source, :sources
226
221
 
227
222
  def collectors
223
+ require("zillabyte/api/collectors")
228
224
  @_collectors ||= ::Zillabyte::API::Collectors.new(self)
229
225
  end
230
226
  alias_method :collector, :collectors
231
227
 
232
228
  def semantic_tags
229
+ require("zillabyte/api/semantic_tags")
233
230
  @_rules ||= ::Zillabyte::API::SemanticTags.new(self)
234
231
  end
235
232
  alias_method :zillalog, :zillalogs
236
-
237
- def self.load
238
- require File.join(File.dirname(__FILE__), "api", "base.rb")
239
- Dir[File.join(File.dirname(__FILE__), "api", "*.rb")].sort.each do |file|
240
- require file
241
- end
242
-
243
- Dir[File.join(File.dirname(__FILE__), "api", "helpers", "*.rb")].sort.each do |file|
244
- require file
245
- end
246
- end
247
-
248
-
249
233
  end
250
-
251
-
252
- # Load all helpers...
253
- Zillabyte::API.load()
@@ -1,6 +1,4 @@
1
- require 'net/http'
2
- require 'zillabyte/cli/config'
3
- require 'zillabyte/api/flows'
1
+ require("zillabyte/api/flows")
4
2
 
5
3
  class Zillabyte::API::Apps < Zillabyte::API::Flows
6
4
 
@@ -88,7 +86,7 @@ class Zillabyte::API::Apps < Zillabyte::API::Flows
88
86
  # POST /apps
89
87
  #
90
88
  def push_directory(dir, session = nil, options = {})
91
-
89
+ require("zillabyte/common/tar")
92
90
  type = options[:output_type]
93
91
  # Get the meta info
94
92
  options[:local_flag] = 1
@@ -134,6 +132,7 @@ class Zillabyte::API::Apps < Zillabyte::API::Flows
134
132
 
135
133
 
136
134
  if(res.body['uri'])
135
+ require("net/http")
137
136
  uri = URI(res.body['uri'])
138
137
  try_again = 1
139
138
  while(try_again)
@@ -1,4 +1,4 @@
1
- class Zillabyte::API::Base
1
+ module Zillabyte; class API; class Base
2
2
 
3
3
  def initialize(api)
4
4
  @api = api
@@ -8,4 +8,4 @@ class Zillabyte::API::Base
8
8
  @api.request(*args)
9
9
  end
10
10
 
11
- end
11
+ end; end; end
@@ -1,6 +1,4 @@
1
- require 'net/http'
2
- require 'zillabyte/cli/config'
3
- require 'zillabyte/api/flows'
1
+ require("zillabyte/api/flows")
4
2
 
5
3
  class Zillabyte::API::Components < Zillabyte::API::Flows
6
4
 
@@ -1,4 +1,5 @@
1
- require 'net/http'
1
+ require("zillabyte/api/base")
2
+ require("cgi")
2
3
 
3
4
  class Zillabyte::API::Data < Zillabyte::API::Base
4
5
 
@@ -1,5 +1,4 @@
1
- require 'net/http'
2
- require 'zillabyte/cli/config'
1
+ require("zillabyte/api/base")
3
2
 
4
3
  class Zillabyte::API::Flows < Zillabyte::API::Base
5
4
 
@@ -88,7 +87,8 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
88
87
 
89
88
  # GET /flows/id/download
90
89
  def pull_to_directory(id, dir, session = nil, options = {})
91
-
90
+ require("zillabyte/common/tar")
91
+ require("stringio")
92
92
  # Get the resource. note query params
93
93
  type = options[:output_type]
94
94
  session.display "downloading ##{id}" if session && type.nil?
@@ -105,11 +105,13 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
105
105
  else
106
106
  if(hash['tar'])
107
107
  session.display "unpacking to #{dir}" if type.nil?
108
+ require("base64")
108
109
  tar = StringIO.new(Base64.decode64(hash['tar']))
109
110
  hash.delete('tar')
110
111
  Zillabyte::Common::Tar.untar(tar, dir)
111
112
  #If you get an uri instead of the tar, then download the file directly from s3
112
113
  elsif(hash['uri'])
114
+ require("net/http")
113
115
  session.display "downloading ##{id} to #{dir}" if type.nil?
114
116
  uri = URI(hash['uri'])
115
117
  try_again = 1
@@ -143,6 +145,7 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
143
145
  # #
144
146
  ####################################################IMPORTANT####################################################
145
147
  def self.get_rich_meta_info_from_script(dir, session = nil, options = {})
148
+ require("zillabyte/cli/config")
146
149
  hash = Zillabyte::CLI::Config.get_config_info(dir, session, options)
147
150
  if hash.nil?
148
151
  return {"status" => "error", "error" => "invalid_directory", "error_message" => "The specified directory (#{dir}) does not appear to contain a valid Zillabyte configuration file."}
@@ -153,7 +156,7 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
153
156
  full_script = File.join(dir, hash['script'])
154
157
  command = nil
155
158
 
156
-
159
+ require("securerandom")
157
160
  info_file = "#{dir}/#{SecureRandom.uuid}"
158
161
  arg = "--info --file #{info_file}"
159
162
 
@@ -169,6 +172,7 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
169
172
  command = "cd \"#{dir}\"; PYTHONPATH=~/zb1/multilang/python/Zillabyte python \"#{full_script}\" #{arg}"
170
173
  end
171
174
  when "js"
175
+ require("zillabyte/api/settings")
172
176
  #command = "#{Zillabyte::API::CASPERJS_BIN} #{Zillabyte::API::API_CLIENT_JS} \"#{full_script}\" --info"
173
177
  command = "cd \"#{dir}\"; NODE_PATH=~/zb1/multilang/js/src/lib #{Zillabyte::API::NODEJS_BIN} \"#{full_script}\" #{arg}"
174
178
  else
@@ -176,6 +180,7 @@ class Zillabyte::API::Flows < Zillabyte::API::Base
176
180
  return nil
177
181
  end
178
182
 
183
+ require("zillabyte/cli/flows")
179
184
  results = Zillabyte::Command::Flows.get_info(command, info_file, dir, options)
180
185
 
181
186
  begin
@@ -1,4 +1,5 @@
1
- require 'net/http'
1
+ require("zillabyte/api/base")
2
+ require("cgi")
2
3
 
3
4
  class Zillabyte::API::Keys < Zillabyte::API::Base
4
5
 
@@ -1,5 +1,4 @@
1
- require 'net/http'
2
- require 'open-uri'
1
+ require("zillabyte/api/base")
3
2
 
4
3
  class Zillabyte::API::Logs < Zillabyte::API::Base
5
4
 
@@ -1,3 +1,5 @@
1
+ require("zillabyte/api/base")
2
+
1
3
  class Zillabyte::API::Metrics < Zillabyte::API::Base
2
4
 
3
5
 
@@ -22,8 +24,7 @@ class Zillabyte::API::Metrics < Zillabyte::API::Base
22
24
 
23
25
  # GET /metrics
24
26
  def show(id, options = {}, block = nil)
25
-
26
-
27
+ require("active_support/core_ext/object/to_query.rb")
27
28
  if block
28
29
  res = @api.request(
29
30
  :expects => 200,
@@ -1,3 +1,5 @@
1
+ require("zillabyte/api/base")
2
+
1
3
  class Zillabyte::API::Queries < Zillabyte::API::Base
2
4
 
3
5
 
@@ -1,3 +1,4 @@
1
+ require("zillabyte/api/base")
1
2
 
2
3
  class Zillabyte::API::SemanticTags < Zillabyte::API::Base
3
4
 
@@ -1,3 +1,5 @@
1
+ require("zillabyte/api/base")
2
+
1
3
  class Zillabyte::API::Sources < Zillabyte::API::Base
2
4
 
3
5
 
@@ -1,3 +1,4 @@
1
+ require("zillabyte/api/base")
1
2
 
2
3
  class Zillabyte::API::Zillalogs < Zillabyte::API::Base
3
4
 
@@ -1,8 +1,3 @@
1
- require "cgi"
2
- require "zillabyte/helpers"
3
-
4
- require "netrc"
5
-
6
1
  class Zillabyte::Auth
7
2
  class << self
8
3
  include Zillabyte::Helpers
@@ -55,6 +50,7 @@ class Zillabyte::Auth
55
50
 
56
51
 
57
52
  def netrc_path
53
+ require("netrc")
58
54
  default = Netrc.default_path
59
55
  encrypted = default + ".gpg"
60
56
  if File.exists?(encrypted)
@@ -65,9 +61,10 @@ class Zillabyte::Auth
65
61
  end
66
62
 
67
63
  def netrc # :nodoc:
64
+ require("netrc")
68
65
  @netrc ||= begin
69
66
  Netrc.read(netrc_path)
70
- rescue Zillabyte::Auth::NetrcError => error
67
+ rescue Netrc::Error => error
71
68
  if error.message =~ /^Permission bits for/
72
69
  perm = File.stat(netrc_path).mode & 0777
73
70
  abort("Permissions #{perm} for '#{netrc_path}' are too open. You should run `chmod 0600 #{netrc_path}` so that your credentials are NOT accessible by others.")
@@ -104,12 +101,13 @@ class Zillabyte::Auth
104
101
 
105
102
  def write_credentials(email, auth_token)
106
103
  begin
104
+ require("fileutils")
107
105
  FileUtils.mkdir_p(File.dirname(netrc_path))
108
106
  FileUtils.touch(netrc_path)
109
107
  FileUtils.chmod 0600, netrc_path
110
108
  netrc[host] = [email, auth_token]
111
109
  netrc.save
112
- rescue Zillabyte::Auth::NetrcError => error
110
+ rescue Netrc::Error => error
113
111
  display 'Netrc Read or Save Error'
114
112
  display error.message
115
113
  exit 1
@@ -119,7 +117,7 @@ class Zillabyte::Auth
119
117
  def delete_credentials
120
118
  begin
121
119
  netrc.delete(host)
122
- rescue Zillabyte::Auth::NetrcError => error
120
+ rescue Netrc::Error => error
123
121
  display 'Netrc Delete Error'
124
122
  display error.message
125
123
  exit 1
@@ -128,7 +126,7 @@ class Zillabyte::Auth
128
126
  tries = 0
129
127
  begin
130
128
  netrc.save
131
- rescue Zillabyte::Auth::NetrcError => error
129
+ rescue Netrc::Error => error
132
130
  tries +=1
133
131
  display 'netrc save error'
134
132
  error.message
@@ -151,6 +149,7 @@ class Zillabyte::Auth
151
149
  end
152
150
 
153
151
  def valid_credentials?(email, auth_token)
152
+ require("zillabyte/api")
154
153
  api = Zillabyte::API.new(:api_key => auth_token, :session => self)
155
154
  response = api.request(
156
155
  :expects => 200,
@@ -255,8 +254,5 @@ class Zillabyte::Auth
255
254
  end
256
255
  end
257
256
 
258
- class Zillabyte::Auth::NetrcError < Netrc::Error
259
- end
260
-
261
257
  class Zillabyte::Auth::InvalidCredentialsException < Exception
262
258
  end