Skip to content

Commit 252e4bf

Browse files
authored
Solarwinds (#390)
* Solarwinds * usage * Add test * Move into context * Example * Dain Cook * Space * Whatever * Version bump * ok
1 parent 33e1c71 commit 252e4bf

File tree

5 files changed

+54
-2
lines changed

5 files changed

+54
-2
lines changed

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
aptible-cli (0.24.9)
4+
aptible-cli (0.24.10)
55
activesupport (>= 4.0, < 6.0)
66
aptible-api (~> 1.8.0)
77
aptible-auth (~> 1.2.5)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ Commands:
8181
aptible log_drain:create:https HANDLE --url URL --environment ENVIRONMENT [--drain-apps|--no-drain-apps] [--drain-databases|--no-drain-databases] [--drain-ephemeral-sessions|--no-drain-ephemeral-sessions] [--drain_proxies|--no-drain-proxies] # Create a HTTPS Drain
8282
aptible log_drain:create:logdna HANDLE --url LOGDNA_URL --environment ENVIRONMENT [--drain-apps|--no-drain-apps] [--drain-databases|--no-drain-databases] [--drain-ephemeral-sessions|--no-drain-ephemeral-sessions] [--drain_proxies|--no-drain-proxies] # Create a LogDNA/Mezmo Log Drain. By default, App, Database, Ephemeral Session, and Proxy logs will be sent to your chosen destination.
8383
aptible log_drain:create:papertrail HANDLE --host PAPERTRAIL_HOST --port PAPERTRAIL_PORT --environment ENVIRONMENT [--drain-apps|--no-drain-apps] [--drain-databases|--no-drain-databases] [--drain-ephemeral-sessions|--no-drain-ephemeral-sessions] [--drain_proxies|--no-drain-proxies] # Create a Papertrail Log Drain. By default, App, Database, Ephemeral Session, and Proxy logs will be sent to your chosen destination.
84+
aptible log_drain:create:solarwinds HANDLE --host SWO_HOSTNAME --token SWO_TOKEN --environment ENVIRONMENT [--drain-apps|--no-drain-apps] [--drain-databases|--no-drain-databases] [--drain-ephemeral-sessions|--no-drain-ephemeral-sessions] [--drain_proxies|--no-drain-proxies] # Create a SolarWinds Log Drain. By default, App, Database, Ephemeral Session, and Proxy logs will be sent to your chosen destination.
8485
aptible log_drain:create:sumologic HANDLE --url SUMOLOGIC_URL --environment ENVIRONMENT [--drain-apps|--no-drain-apps] [--drain-databases|--no-drain-databases] [--drain-ephemeral-sessions|--no-drain-ephemeral-sessions] [--drain_proxies|--no-drain-proxies] # Create a Sumologic Drain. By default, App, Database, Ephemeral Session, and Proxy logs will be sent to your chosen destination.
8586
aptible log_drain:create:syslog HANDLE --host SYSLOG_HOST --port SYSLOG_PORT [--token TOKEN] --environment ENVIRONMENT [--drain-apps|--no-drain-apps] [--drain-databases|--no-drain-databases] [--drain-ephemeral-sessions|--no-drain-ephemeral-sessions] [--drain_proxies|--no-drain-proxies] # Create a Syslog Log Drain. By default, App, Database, Ephemeral Session, and Proxy logs will be sent to your chosen destination.
8687
aptible log_drain:deprovision HANDLE --environment ENVIRONMENT # Deprovisions a log drain

lib/aptible/cli/subcommands/log_drain.rb

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,33 @@ def self.drain_options
152152
create_syslog_based_log_drain(handle, options)
153153
end
154154

155+
desc 'log_drain:create:solarwinds HANDLE ' \
156+
'--host SWO_HOSTNAME --token SWO_TOKEN ' \
157+
+ drain_flags,
158+
'Create a SolarWinds Log Drain. By default, App, Database, ' \
159+
+ 'Ephemeral Session, and Proxy logs will be sent ' \
160+
+ 'to your chosen destination.'
161+
option :host, type: :string
162+
option :token, type: :string
163+
drain_options
164+
define_method 'log_drain:create:solarwinds' do |handle|
165+
telemetry(__method__, options.merge(handle: handle))
166+
167+
account = ensure_environment(options)
168+
169+
opts = {
170+
handle: handle,
171+
drain_host: options[:host],
172+
logging_token: options[:token],
173+
drain_apps: options[:drain_apps],
174+
drain_databases: options[:drain_databases],
175+
drain_ephemeral_sessions: options[:drain_ephemeral_sessions],
176+
drain_proxies: options[:drain_proxies],
177+
drain_type: :solarwinds
178+
}
179+
create_log_drain(account, opts)
180+
end
181+
155182
desc 'log_drain:create:syslog HANDLE ' \
156183
'--host SYSLOG_HOST --port SYSLOG_PORT ' \
157184
'[--token TOKEN] ' \

lib/aptible/cli/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Aptible
22
module CLI
3-
VERSION = '0.24.9'.freeze
3+
VERSION = '0.24.10'.freeze
44
end
55
end

spec/aptible/cli/subcommands/log_drain_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,30 @@ def expect_provision_log_drain(create_opts, provision_opts = {})
195195
subject.send('log_drain:create:syslog', 'test-syslog')
196196
end
197197
end
198+
199+
describe 'solarwinds' do
200+
it 'creates a new Solarwinds log drain' do
201+
opts = {
202+
handle: 'test-solarwinds',
203+
drain_host: 'some-solarwinds.domain.com',
204+
logging_token: 'test-token',
205+
drain_apps: nil,
206+
drain_databases: nil,
207+
drain_ephemeral_sessions: nil,
208+
drain_proxies: nil,
209+
drain_type: :solarwinds
210+
}
211+
212+
expect_provision_log_drain(opts)
213+
214+
subject.options = {
215+
environment: account.handle,
216+
host: 'some-solarwinds.domain.com',
217+
token: 'test-token'
218+
}
219+
subject.send('log_drain:create:solarwinds', 'test-solarwinds')
220+
end
221+
end
198222
end
199223

200224
describe '#log_drain:deprovision' do

0 commit comments

Comments
 (0)