logstash-output-vespa_feed 0.5.2 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3466c338ea2f0c1d0cd7bc2786c60f04885baa6757ff76ee7ea77430e1687071
4
- data.tar.gz: 241a288d4738e6829c1488ea67f0026c74e972683cd11e3aaa53f4b13fa2d2e1
3
+ metadata.gz: 251a25498ff1530a83bb12e8fe4297b26e06f2e436f9448045eb2b17a6f379e0
4
+ data.tar.gz: f0ed08c9891c3a05beb615d41d554d46eabefcd06610347878299d0fec5426fc
5
5
  SHA512:
6
- metadata.gz: 7c34fe0cf3b538075576afbe54afd3588e671e52ccaec43e6e5c0ff92f064e581f437effb99ce58a94326f2b79529e87ced3697080931f0d0a96b40e4b3ce0ed
7
- data.tar.gz: 964e417fe7bf99d6d0262d8114873477ba836ad20cdb09ba6e8fd2f5443f950c7879785aaf5e0321842d3b27d30f37e402a4dcacaa19fa2804b47a8696bb2a15
6
+ metadata.gz: 8aecdcb83a8a4c0bd8d8d73fdf145ef8c68fc99631212fe5c278aaa5a13f071701796ffd11d5fe0e76dc6fb649f68b08311c51f5502c392691c4636458c79a9a
7
+ data.tar.gz: 47a9ada688f5c2c9addbf694d14fa4f85a2ae8c94d98398a146aced557304a8261fd5391fec0d902562327b276983465359f28c2338ad2ab12b09040d81b7c71
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.6.0
2
+ - adds options to remove fields after using them for writing
3
+
1
4
  ## 0.5.0
2
5
  - supports update and remove operations
3
6
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ If you're developing the plugin, you'll want to do something like:
17
17
  # run tests
18
18
  ./gradlew test
19
19
  # install it as a Logstash plugin
20
- /opt/logstash/bin/logstash-plugin install /path/to/logstash-output-vespa/logstash-output-vespa_feed-0.5.2.gem
20
+ /opt/logstash/bin/logstash-plugin install /path/to/logstash-output-vespa/logstash-output-vespa_feed-0.6.0.gem
21
21
  # profit
22
22
  /opt/logstash/bin/logstash
23
23
  ```
@@ -26,6 +26,18 @@ Some more good info about Logstash Java plugins can be found [here](https://www.
26
26
  It looks like the JVM options from [here](https://github.com/logstash-plugins/.ci/blob/main/dockerjdk17.env)
27
27
  are useful to make JRuby's `bundle install` work.
28
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
+
29
41
  Note to self: for some reason, `bundle exec rake publish_gem` fails, but `gem push logstash-output-vespa_feed-$VERSION.gem`
30
42
  does the trick.
31
43
 
@@ -103,6 +115,12 @@ output {
103
115
  # if the field doesn't exist, we generate a UUID
104
116
  id_field => "id"
105
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
+
106
124
  # how many HTTP/2 connections to keep open
107
125
  max_connections => 1
108
126
  # number of streams per connection
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.2
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
- [id="plugins-{type}s-{plugin}-create"]
108
- ===== `create`
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`, 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].
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}-id_field"]
115
- ===== `id_field`
128
+ [id="plugins-{type}s-{plugin}-remove_namespace"]
129
+ ===== `remove_namespace`
116
130
 
117
- * Value type is <<string,string>>
118
- * Default value is `id`
131
+ * Value type is <<boolean,boolean>>
132
+ * Default value is `false`
119
133
 
120
- Field to get the document id from. If not present, a UUID will be generated
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`
@@ -2,4 +2,4 @@
2
2
  # encoding: utf-8
3
3
 
4
4
  require 'jar_dependencies'
5
- require_jar('org.logstashplugins', 'logstash-output-vespa_feed', '0.5.2')
5
+ require_jar('org.logstashplugins', 'logstash-output-vespa_feed', '0.6.1')
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.5.2
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-20 00:00:00.000000000 Z
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.5.2/logstash-output-vespa_feed-0.5.2.jar
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