Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
aptible-cli (0.24.9)
aptible-cli (0.24.10)
activesupport (>= 4.0, < 6.0)
aptible-api (~> 1.8.0)
aptible-auth (~> 1.2.5)
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ Commands:
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
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.
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.
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.
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.
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.
aptible log_drain:deprovision HANDLE --environment ENVIRONMENT # Deprovisions a log drain
Expand Down
27 changes: 27 additions & 0 deletions lib/aptible/cli/subcommands/log_drain.rb
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,33 @@ def self.drain_options
create_syslog_based_log_drain(handle, options)
end

desc 'log_drain:create:solarwinds HANDLE ' \
'--host SWO_HOSTNAME --token SWO_TOKEN ' \
+ drain_flags,
'Create a SolarWinds Log Drain. By default, App, Database, ' \
+ 'Ephemeral Session, and Proxy logs will be sent ' \
+ 'to your chosen destination.'
option :host, type: :string
option :token, type: :string
drain_options
define_method 'log_drain:create:solarwinds' do |handle|
telemetry(__method__, options.merge(handle: handle))

account = ensure_environment(options)

opts = {
handle: handle,
drain_host: options[:host],
logging_token: options[:token],
drain_apps: options[:drain_apps],
drain_databases: options[:drain_databases],
drain_ephemeral_sessions: options[:drain_ephemeral_sessions],
drain_proxies: options[:drain_proxies],
drain_type: :solarwinds
}
create_log_drain(account, opts)
end

desc 'log_drain:create:syslog HANDLE ' \
'--host SYSLOG_HOST --port SYSLOG_PORT ' \
'[--token TOKEN] ' \
Expand Down
2 changes: 1 addition & 1 deletion lib/aptible/cli/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aptible
module CLI
VERSION = '0.24.9'.freeze
VERSION = '0.24.10'.freeze
end
end
24 changes: 24 additions & 0 deletions spec/aptible/cli/subcommands/log_drain_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,30 @@ def expect_provision_log_drain(create_opts, provision_opts = {})
subject.send('log_drain:create:syslog', 'test-syslog')
end
end

describe 'solarwinds' do
it 'creates a new Solarwinds log drain' do
opts = {
handle: 'test-solarwinds',
drain_host: 'some-solarwinds.domain.com',
logging_token: 'test-token',
drain_apps: nil,
drain_databases: nil,
drain_ephemeral_sessions: nil,
drain_proxies: nil,
drain_type: :solarwinds
}

expect_provision_log_drain(opts)

subject.options = {
environment: account.handle,
host: 'some-solarwinds.domain.com',
token: 'test-token'
}
subject.send('log_drain:create:solarwinds', 'test-solarwinds')
end
end
end

describe '#log_drain:deprovision' do
Expand Down