logstash-output-vespa_feed 0.5.1 → 0.6.1
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 +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +24 -2
- data/VERSION +1 -1
- data/docs/index.asciidoc +45 -8
- data/lib/logstash-output-vespa_feed_jars.rb +1 -1
- data/vendor/jar-dependencies/org/logstashplugins/logstash-output-vespa_feed/{0.5.1/logstash-output-vespa_feed-0.5.1.jar → 0.6.1/logstash-output-vespa_feed-0.6.1.jar} +0 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 251a25498ff1530a83bb12e8fe4297b26e06f2e436f9448045eb2b17a6f379e0
|
4
|
+
data.tar.gz: f0ed08c9891c3a05beb615d41d554d46eabefcd06610347878299d0fec5426fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8aecdcb83a8a4c0bd8d8d73fdf145ef8c68fc99631212fe5c278aaa5a13f071701796ffd11d5fe0e76dc6fb649f68b08311c51f5502c392691c4636458c79a9a
|
7
|
+
data.tar.gz: 47a9ada688f5c2c9addbf694d14fa4f85a2ae8c94d98398a146aced557304a8261fd5391fec0d902562327b276983465359f28c2338ad2ab12b09040d81b7c71
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -14,8 +14,10 @@ If you're developing the plugin, you'll want to do something like:
|
|
14
14
|
```
|
15
15
|
# build the gem
|
16
16
|
./gradlew gem
|
17
|
+
# run tests
|
18
|
+
./gradlew test
|
17
19
|
# install it as a Logstash plugin
|
18
|
-
/opt/logstash/bin/logstash-plugin install /path/to/logstash-output-vespa/logstash-output-vespa_feed-0.
|
20
|
+
/opt/logstash/bin/logstash-plugin install /path/to/logstash-output-vespa/logstash-output-vespa_feed-0.6.0.gem
|
19
21
|
# profit
|
20
22
|
/opt/logstash/bin/logstash
|
21
23
|
```
|
@@ -24,6 +26,18 @@ Some more good info about Logstash Java plugins can be found [here](https://www.
|
|
24
26
|
It looks like the JVM options from [here](https://github.com/logstash-plugins/.ci/blob/main/dockerjdk17.env)
|
25
27
|
are useful to make JRuby's `bundle install` work.
|
26
28
|
|
29
|
+
### Integration tests
|
30
|
+
To run integration tests, you'll need to have a Vespa instance running with an app deployed that supports an "id" field. And Logstash installed.
|
31
|
+
|
32
|
+
Check out the `integration-test` directory for more information.
|
33
|
+
|
34
|
+
```
|
35
|
+
cd integration-test
|
36
|
+
./run_tests.sh
|
37
|
+
```
|
38
|
+
|
39
|
+
### Publishing the gem
|
40
|
+
|
27
41
|
Note to self: for some reason, `bundle exec rake publish_gem` fails, but `gem push logstash-output-vespa_feed-$VERSION.gem`
|
28
42
|
does the trick.
|
29
43
|
|
@@ -61,7 +75,9 @@ filter {
|
|
61
75
|
columns => ["id", "description", ...]
|
62
76
|
}
|
63
77
|
|
64
|
-
# remove fields
|
78
|
+
# remove fields we don't need
|
79
|
+
# NOTE: the fields below are added by Logstash by default. You probably *need* this block
|
80
|
+
# otherwise Vespa will reject documents complaining that e.g. @timestamp is an unknown field
|
65
81
|
mutate {
|
66
82
|
remove_field => ["@timestamp", "@version", "event", "host", "log", "message"]
|
67
83
|
}
|
@@ -99,6 +115,12 @@ output {
|
|
99
115
|
# if the field doesn't exist, we generate a UUID
|
100
116
|
id_field => "id"
|
101
117
|
|
118
|
+
# remove fields from the document after using them for writing
|
119
|
+
remove_id => false # if set to true, remove the ID field after using it
|
120
|
+
remove_namespace => false # would remove the namespace field (if dynamic)
|
121
|
+
remove_document_type => false # same for document type
|
122
|
+
remove_operation => false # and operation
|
123
|
+
|
102
124
|
# how many HTTP/2 connections to keep open
|
103
125
|
max_connections => 1
|
104
126
|
# number of streams per connection
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.1
|
data/docs/index.asciidoc
CHANGED
@@ -42,6 +42,10 @@ Writes documents to Vespa.
|
|
42
42
|
| <<plugins-{type}s-{plugin}-operation>> |<<string,string>>|No
|
43
43
|
| <<plugins-{type}s-{plugin}-create>> |<<boolean,boolean>>|No
|
44
44
|
| <<plugins-{type}s-{plugin}-id_field>> |<<string,string>>|No
|
45
|
+
| <<plugins-{type}s-{plugin}-remove_id>> |<<boolean,boolean>>|No
|
46
|
+
| <<plugins-{type}s-{plugin}-remove_namespace>> |<<boolean,boolean>>|No
|
47
|
+
| <<plugins-{type}s-{plugin}-remove_document_type>> |<<boolean,boolean>>|No
|
48
|
+
| <<plugins-{type}s-{plugin}-remove_operation>> |<<boolean,boolean>>|No
|
45
49
|
| <<plugins-{type}s-{plugin}-max_retries>> |<<number,number>>|No
|
46
50
|
| <<plugins-{type}s-{plugin}-max_connections>> |<<number,number>>|No
|
47
51
|
| <<plugins-{type}s-{plugin}-max_streams>> |<<number,number>>|No
|
@@ -77,6 +81,14 @@ Make sure to set the `client_key` as well. The certificate should be in PEM form
|
|
77
81
|
|
78
82
|
Corresponding private key for the `client_cert` certificate. It must not be password-protected, otherwise Logstash will fail to start complaining `Could not find private key in PEM file`.
|
79
83
|
|
84
|
+
[id="plugins-{type}s-{plugin}-id_field"]
|
85
|
+
===== `id_field`
|
86
|
+
|
87
|
+
* Value type is <<string,string>>
|
88
|
+
* Default value is `id`
|
89
|
+
|
90
|
+
Field to get the document id from. If not present, a UUID will be generated
|
91
|
+
|
80
92
|
[id="plugins-{type}s-{plugin}-namespace"]
|
81
93
|
===== `namespace`
|
82
94
|
|
@@ -104,20 +116,45 @@ Like `namespace`, this can be static or dynamic. So you can use `%{foo}` to use
|
|
104
116
|
|
105
117
|
Operation to perform. Can be `put`, `update`, or `remove`. Dynamic values are supported (e.g. `%{foo}`). If not present, the plugin will use `put`.
|
106
118
|
|
107
|
-
|
108
|
-
|
119
|
+
|
120
|
+
[id="plugins-{type}s-{plugin}-remove_id"]
|
121
|
+
===== `remove_id`
|
109
122
|
|
110
123
|
* Value type is <<boolean,boolean>>
|
124
|
+
* Default value is `false`
|
111
125
|
|
112
|
-
If set to `true`,
|
126
|
+
If set to `true`, removes the ID field from the document after using it for document identification.
|
113
127
|
|
114
|
-
[id="plugins-{type}s-{plugin}-
|
115
|
-
===== `
|
128
|
+
[id="plugins-{type}s-{plugin}-remove_namespace"]
|
129
|
+
===== `remove_namespace`
|
116
130
|
|
117
|
-
* Value type is <<
|
118
|
-
* Default value is `
|
131
|
+
* Value type is <<boolean,boolean>>
|
132
|
+
* Default value is `false`
|
119
133
|
|
120
|
-
|
134
|
+
When using a dynamic namespace (e.g., `%{my_namespace}`), if set to `true`, removes the field containing the namespace value from the document after using it.
|
135
|
+
|
136
|
+
[id="plugins-{type}s-{plugin}-remove_document_type"]
|
137
|
+
===== `remove_document_type`
|
138
|
+
|
139
|
+
* Value type is <<boolean,boolean>>
|
140
|
+
* Default value is `false`
|
141
|
+
|
142
|
+
When using a dynamic document type (e.g., `%{my_doc_type}`), if set to `true`, removes the field containing the document type value from the document after using it.
|
143
|
+
|
144
|
+
[id="plugins-{type}s-{plugin}-remove_operation"]
|
145
|
+
===== `remove_operation`
|
146
|
+
|
147
|
+
* Value type is <<boolean,boolean>>
|
148
|
+
* Default value is `false`
|
149
|
+
|
150
|
+
When using a dynamic operation (e.g., `%{my_operation}`), if set to `true`, removes the field containing the operation value from the document after using it.
|
151
|
+
|
152
|
+
[id="plugins-{type}s-{plugin}-create"]
|
153
|
+
===== `create`
|
154
|
+
|
155
|
+
* Value type is <<boolean,boolean>>
|
156
|
+
|
157
|
+
If set to `true`, the plugin will add the `create=true` parameter to the request. It works for `put` and `update` operations, but mostly used for `update` as https://docs.vespa.ai/en/document-v1-api-guide.html#upserts[upserts].
|
121
158
|
|
122
159
|
[id="plugins-{type}s-{plugin}-max_retries"]
|
123
160
|
===== `max_retries`
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-vespa_feed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Radu Gheorghe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
11
|
+
date: 2024-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,7 +76,7 @@ files:
|
|
76
76
|
- lib/logstash-output-vespa_feed_jars.rb
|
77
77
|
- lib/logstash/outputs/vespa_feed.rb
|
78
78
|
- logstash-output-vespa_feed.gemspec
|
79
|
-
- vendor/jar-dependencies/org/logstashplugins/logstash-output-vespa_feed/0.
|
79
|
+
- vendor/jar-dependencies/org/logstashplugins/logstash-output-vespa_feed/0.6.1/logstash-output-vespa_feed-0.6.1.jar
|
80
80
|
homepage: https://vespa.ai
|
81
81
|
licenses:
|
82
82
|
- Apache-2.0
|