Repository navigation
feat(connectors): add OpenSearch sink connector #3873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
d92ea80
6f078e2
fa4cc24
2817a4e
91ba9b0
7adad92
d9946e2
5fbcf84
8fbad8f
eef41fe
7427e83
7fa604f
a1ffd8d
ee210fa
aedfdb1
07cbe3d
32373e9
027dea8
058a0fe
751caed
f3d9688
d2fed69
44f4769
fbbeabd
e277549
f885431
162110f
2a13096
b555316
ee70391
9a43768
e988f13
04bcecc
fb3c3b3
dc5b5fe
2cf8051
612bdfe
93fd702
39f45d4
64ac880
d1e4432
33c9d44
26d2868
6c3ed77
8f509b2
d34eed8
ac49eb5
f355926
0ff70c9
e05f79e
32df6ce
d2a6715
86e0297
6010b43
57e6a9a
d8336bf
554c122
aea4598
80d9ab6
dc832c8
937f13d
58cb135
c770390
9a35e1f
9affa6e
24a1f31
3661c12
e35204d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| # Licensed to the Apache Software Foundation (ASF) under one | ||
| # or more contributor license agreements. See the NOTICE file | ||
| # distributed with this work for additional information | ||
| # regarding copyright ownership. The ASF licenses this file | ||
| # to you under the Apache License, Version 2.0 (the | ||
| # "License"); you may not use this file except in compliance | ||
| # with the License. You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, | ||
| # software distributed under the License is distributed on an | ||
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| # KIND, either express or implied. See the License for the | ||
| # specific language governing permissions and limitations | ||
| # under the License. | ||
|
|
||
| type = "sink" | ||
| key = "opensearch" | ||
| enabled = true | ||
| version = 0 | ||
| name = "OpenSearch sink" | ||
| path = "target/release/libiggy_connector_opensearch_sink" | ||
| verbose = false | ||
|
|
||
| [[streams]] | ||
| stream = "example_stream" | ||
| topics = ["example_topic"] | ||
| schema = "json" | ||
| batch_length = 1000 | ||
| poll_interval = "5ms" | ||
| consumer_group = "opensearch_sink_connector" | ||
|
|
||
| [plugin_config] | ||
| url = "http://localhost:9200" | ||
| index = "iggy_messages" | ||
| # username = "admin" | ||
| # password = "..." | ||
| # document_id_field = "order_id" | ||
| create_index_if_not_exists = true | ||
| include_metadata = true | ||
| batch_size = 1000 | ||
| timeout = "30s" | ||
| refresh = "false" | ||
| max_retries = 3 | ||
| retry_delay = "500ms" | ||
| max_retry_delay = "5s" | ||
| max_open_retries = 5 | ||
| verbose_logging = false |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| # Licensed to the Apache Software Foundation (ASF) under one | ||
| # or more contributor license agreements. See the NOTICE file | ||
| # distributed with this work for additional information | ||
| # regarding copyright ownership. The ASF licenses this file | ||
| # to you under the Apache License, Version 2.0 (the | ||
| # "License"); you may not use this file except in compliance | ||
| # with the License. You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, | ||
| # software distributed under the License is distributed on an | ||
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| # KIND, either express or implied. See the License for the | ||
| # specific language governing permissions and limitations | ||
| # under the License. | ||
|
|
||
| [package] | ||
| name = "iggy_connector_opensearch_sink" | ||
| version = "0.5.0-edge.4" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: |
||
| description = "Iggy OpenSearch sink connector" | ||
| edition = "2024" | ||
| license = "Apache-2.0" | ||
| keywords = ["iggy", "messaging", "streaming", "opensearch", "sink"] | ||
| categories = ["command-line-utilities", "database", "network-programming"] | ||
| homepage = "https://iggy.apache.org" | ||
| documentation = "https://iggy.apache.org/docs" | ||
| repository = "https://github.com/apache/iggy" | ||
| readme = "../../README.md" | ||
| publish = false | ||
|
|
||
| [lib] | ||
| crate-type = ["cdylib", "lib"] | ||
|
|
||
| [dependencies] | ||
| async-trait = { workspace = true } | ||
| base64 = { workspace = true } | ||
| bytes = { workspace = true } | ||
| iggy_common = { workspace = true } | ||
| iggy_connector_sdk = { workspace = true } | ||
| opensearch = { workspace = true } | ||
| secrecy = { workspace = true } | ||
| serde = { workspace = true } | ||
| serde_json = { workspace = true } | ||
| tokio = { workspace = true } | ||
| tracing = { workspace = true } | ||
| url = { workspace = true } | ||
|
|
||
| [dev-dependencies] | ||
| simd-json = { workspace = true } | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| toml = { workspace = true } | ||
| wiremock = { workspace = true } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: The crate omits |
||
|
|
||
| [lints] | ||
| workspace = true | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.