logstash-input-kinesis 2.0.4-java → 2.0.5-java
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 +5 -5
- data/CHANGELOG.md +16 -0
- data/README.md +5 -2
- data/lib/logstash/inputs/kinesis.rb +11 -1
- data/lib/logstash/inputs/kinesis/version.rb +1 -1
- data/spec/inputs/kinesis_spec.rb +20 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f3e4d9614e4481f001a52c155e113fa7597462bd6d23961e3ae925895b5c800f
|
4
|
+
data.tar.gz: 35e2f182b3c99631a5dc8585b161239b3d25881654869423d84cad7cff3394ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0aa496b90b0bc671323218b4a1d057857c518745a9e5b2eff66272598f37507a7ea4fc049f48e405c480ad56beafd1f69bad6cd22fdc8e230d429f28a9de1295
|
7
|
+
data.tar.gz: e6461c17ea75489281a20cb216494d864559bb6ea59a3f5dc69b0a2f997038a8d97f9b27ac2c980f2c53a6e8ed4357a339dc31c66e84963546c49aaf618e6079
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
## 2.0.5
|
2
|
+
- Docs: Add CHANGELOG.md
|
3
|
+
- Support for specifying an AWS credentials profile with the `profile` config parameter
|
4
|
+
- Docs: Remove extraneous text added during doc extract
|
5
|
+
|
6
|
+
## 2.0.4
|
7
|
+
- Docs: Bump version for automated doc build
|
8
|
+
|
9
|
+
## 2.0.3
|
10
|
+
- Fix error about failed to coerce java.util.logging.Level to org.apache.log4j.Level with logstash 5.1.1
|
11
|
+
|
12
|
+
## 2.0.2
|
13
|
+
- Fix error with Logstash 5.0
|
14
|
+
|
15
|
+
## 2.0.1
|
16
|
+
- Add partition_key, approximate_arrival_timestamp and sequence_number fields in the @metadata sub-has
|
data/README.md
CHANGED
@@ -46,10 +46,13 @@ This are the properties you can configure and what are the default values:
|
|
46
46
|
* `metrics`: Worker metric tracking. By default this is disabled, set it to "cloudwatch" to enable the cloudwatch integration in the Kinesis Client Library.
|
47
47
|
* **required**: false
|
48
48
|
* **default value**: `nil`
|
49
|
+
* `profile`: The AWS profile name for authentication. This ensures that the `~/.aws/credentials` AWS auth provider is used. By default this is empty and the default chain will be used.
|
50
|
+
* **required**: false
|
51
|
+
* **default value**: `""`
|
49
52
|
|
50
53
|
## Authentication
|
51
54
|
|
52
|
-
This plugin uses the default AWS SDK auth chain, [DefaultAWSCredentialsProviderChain](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html), to determine which credentials the client will use.
|
55
|
+
This plugin uses the default AWS SDK auth chain, [DefaultAWSCredentialsProviderChain](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html), to determine which credentials the client will use, unless `profile` is set, in which case [ProfileCredentialsProvider](http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/profile/ProfileCredentialsProvider.html) is used.
|
53
56
|
|
54
57
|
The default chain follows this order trying to read the credentials:
|
55
58
|
* `AWS_ACCESS_KEY_ID` / `AWS_SECRET_KEY` environment variables
|
@@ -61,7 +64,7 @@ The credentials will need access to the following services:
|
|
61
64
|
* AWS DynamoDB: the client library stores information for worker coordination in DynamoDB (offsets and active worker per partition)
|
62
65
|
* AWS CloudWatch: if the metrics are enabled the credentials need CloudWatch update permisions granted.
|
63
66
|
|
64
|
-
Look at the [documentation](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html) for deeper information.
|
67
|
+
Look at the [documentation](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html) for deeper information on the default chain.
|
65
68
|
|
66
69
|
## Contributing
|
67
70
|
|
@@ -50,6 +50,9 @@ class LogStash::Inputs::Kinesis < LogStash::Inputs::Base
|
|
50
50
|
# to enable the cloudwatch integration in the Kinesis Client Library.
|
51
51
|
config :metrics, :validate => [nil, "cloudwatch"], :default => nil
|
52
52
|
|
53
|
+
# Select AWS profile for input
|
54
|
+
config :profile, :validate => :string
|
55
|
+
|
53
56
|
def initialize(params = {})
|
54
57
|
super(params)
|
55
58
|
end
|
@@ -64,7 +67,14 @@ class LogStash::Inputs::Kinesis < LogStash::Inputs::Base
|
|
64
67
|
end
|
65
68
|
|
66
69
|
worker_id = java.util::UUID.randomUUID.to_s
|
67
|
-
|
70
|
+
|
71
|
+
# If the AWS profile is set, use the profile credentials provider.
|
72
|
+
# Otherwise fall back to the default chain.
|
73
|
+
unless @profile.nil?
|
74
|
+
creds = com.amazonaws.auth.profile::ProfileCredentialsProvider.new(@profile)
|
75
|
+
else
|
76
|
+
creds = com.amazonaws.auth::DefaultAWSCredentialsProviderChain.new
|
77
|
+
end
|
68
78
|
@kcl_config = KCL::KinesisClientLibConfiguration.new(
|
69
79
|
@application_name,
|
70
80
|
@kinesis_stream_name,
|
data/spec/inputs/kinesis_spec.rb
CHANGED
@@ -2,7 +2,6 @@ require "logstash/plugin"
|
|
2
2
|
require "logstash/inputs/kinesis"
|
3
3
|
require "logstash/codecs/json"
|
4
4
|
|
5
|
-
|
6
5
|
RSpec.describe "inputs/kinesis" do
|
7
6
|
KCL = com.amazonaws.services.kinesis.clientlibrary.lib.worker
|
8
7
|
|
@@ -13,6 +12,18 @@ RSpec.describe "inputs/kinesis" do
|
|
13
12
|
"metrics" => metrics,
|
14
13
|
"checkpoint_interval_seconds" => 120,
|
15
14
|
"region" => "ap-southeast-1",
|
15
|
+
"profile" => nil
|
16
|
+
}}
|
17
|
+
|
18
|
+
# Config hash to test credentials provider to be used if profile is specified
|
19
|
+
let(:config_with_profile) {{
|
20
|
+
"application_name" => "my-processor",
|
21
|
+
"kinesis_stream_name" => "run-specs",
|
22
|
+
"codec" => codec,
|
23
|
+
"metrics" => metrics,
|
24
|
+
"checkpoint_interval_seconds" => 120,
|
25
|
+
"region" => "ap-southeast-1",
|
26
|
+
"profile" => "my-aws-profile"
|
16
27
|
}}
|
17
28
|
|
18
29
|
subject!(:kinesis) { LogStash::Inputs::Kinesis.new(config) }
|
@@ -33,6 +44,14 @@ RSpec.describe "inputs/kinesis" do
|
|
33
44
|
expect(kinesis.kcl_config.streamName).to eq("run-specs")
|
34
45
|
expect(kinesis.kcl_config.regionName).to eq("ap-southeast-1")
|
35
46
|
expect(kinesis.kcl_config.initialPositionInStream).to eq(KCL::InitialPositionInStream::TRIM_HORIZON)
|
47
|
+
expect(kinesis.kcl_config.get_kinesis_credentials_provider.getClass.to_s).to eq("com.amazonaws.auth.DefaultAWSCredentialsProviderChain")
|
48
|
+
end
|
49
|
+
|
50
|
+
subject!(:kinesis_with_profile) { LogStash::Inputs::Kinesis.new(config_with_profile) }
|
51
|
+
|
52
|
+
it "uses ProfileCredentialsProvider if profile is specified" do
|
53
|
+
kinesis_with_profile.register
|
54
|
+
expect(kinesis_with_profile.kcl_config.get_kinesis_credentials_provider.getClass.to_s).to eq("com.amazonaws.auth.profile.ProfileCredentialsProvider")
|
36
55
|
end
|
37
56
|
|
38
57
|
context "#run" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-kinesis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Brian Palmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,13 +72,16 @@ dependencies:
|
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
|
-
description: This gem is a logstash plugin required to be installed on top of the
|
75
|
+
description: This gem is a logstash plugin required to be installed on top of the
|
76
|
+
Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
|
77
|
+
a stand-alone program
|
76
78
|
email:
|
77
79
|
- brian@codekitchen.net
|
78
80
|
executables: []
|
79
81
|
extensions: []
|
80
82
|
extra_rdoc_files: []
|
81
83
|
files:
|
84
|
+
- CHANGELOG.md
|
82
85
|
- CONTRIBUTORS
|
83
86
|
- Gemfile
|
84
87
|
- README.md
|
@@ -134,7 +137,7 @@ requirements:
|
|
134
137
|
- jar 'com.amazonaws:amazon-kinesis-client', '1.7.0'
|
135
138
|
- jar 'com.amazonaws:aws-java-sdk-core', '1.11.16'
|
136
139
|
rubyforge_project:
|
137
|
-
rubygems_version: 2.
|
140
|
+
rubygems_version: 2.6.11
|
138
141
|
signing_key:
|
139
142
|
specification_version: 4
|
140
143
|
summary: Logstash plugin for Kinesis input
|