From e1f31aa8419f3192b9769671260eda27a0603dcb Mon Sep 17 00:00:00 2001 From: Wojciech Zyla Date: Tue, 21 Jan 2025 14:53:09 +0100 Subject: [PATCH] feat: add kafka topics observer extension MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add changelog entry update kafkatopicsobserver README update branch name, CHANGELOG and delete Unmarshal function from config.go update stability to In Development fix CI issues change order of imports update go.mod add kafkatopicsobserver codeowner update go.mod Update All golang.org/x packages (#37828) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | golang.org/x/crypto | `v0.32.0` -> `v0.33.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ‘ป **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Yang Song update tests Update All golang.org/x packages (#37828) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | golang.org/x/crypto | `v0.32.0` -> `v0.33.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ‘ป **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Yang Song Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.203.0 (#37863) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.202.4` -> `v1.203.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Yang Song Update All golang.org/x packages (#37828) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | golang.org/x/crypto | `v0.32.0` -> `v0.33.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ‘ป **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Yang Song Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.203.0 (#37863) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.202.4` -> `v1.203.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Yang Song [tailsamplingprocessor] Support external decision cache implementations (#37035) #### Description Adding a feature. This PR adds support for external implementations of the decision cache. This allows the collector (or another service using the processor) to supply an alternative decision cache based on alternative algorithms or external services like memcached without needing to explicitly add support for all possible options in the processor. It re-uses the existing function option pattern and only exposes two options for now: `WithSampledDecisionCache` and `WithNonSampledDecisionCache`. I've avoided exporting other options to avoid bloating the external interface without a concrete use case. The majority of changes are cleanup from the refactoring to move `Option` values into the `Config` struct instead of in a variadic parameter on `newTracesProcessor`. --------- Co-authored-by: Yuna Verheyden [chore] fix flaky e2e test in k8sclusterreceiver (#37830) #### Description This PR addresses the flaky E2E test in the k8sclusterreceiver. Will need to run this multiple times to make sure this solves the issue #### Link to tracking issue Fixes #37756 #### Testing Adapted the assertion logic in the existing test --------- Signed-off-by: Florian Bacher [chore] Exclude generated modules from `make for-all` (#37755) #### Context
The `Makefile` currently has two variables listing "every" module in the repo: - `ALL_MODS` contains everything except the non-gitted modules `cmd/otelcontribcol` and `cmd/oteltestbedcol`; - `NONROOT_MODS` contains everything except the root module, but including `cmd/otel*col` if present. These variables are mostly used through the following helpers: - `make for-all CMD=blabla` loops through `NONROOT_MODS` + (explicitly) the root module; - `make for-all-target` loops through `ALL_MODS`. The result is that the former includes `cmd/otel*col`, while the latter does not. This discrepancy is confusing, and can cause issues. For instance, the `make check-contrib` task in Core (surprise, this is yet another PR indirectly related to [core#11167](https://github.com/open-telemetry/opentelemetry-collector/issues/11167)) needs to perform the following steps: 1. replace core dependencies in contrib using `make for-all` 2. run `make gotidy`, which uses `make for-all-target` (or used to until my recent PR, but the `tidylist`-based version still excludes the generated modules) 3. run `make generate`, which uses `make for-all` 4. run `make gotest`, which uses `make for-all-target` The discrepancy causes `make generate` to fail because `cmd/otel*col` was modified to replace core dependencies, but not tidied. I don't believe there are many instances where a command needs to be run on all modules, *including* `cmd/otel*col`, so I decided to standardize on `ALL_MODS` in this PR.
#### Description This PR removes the `NONROOT_MODS` variable from the `Makefile`, and modifies `make for-all` to use `ALL_MODS` instead. The practical consequence is that `make generate`, `make otel-from-tree`, and `make otel-from-lib` no longer apply to the non-gitted modules `cmd/otelcontribcol` and `cmd/oteltestbedcol`. This matches the existing behavior of all the `make goXXX` targets, reducing discrepancies. I added a new module group `GENERATED_MODS`, which contains the two problematic modules iff they are present on disk. The new `make for-generated` target can be used along with `make for-all` to return to the previous behavior. I don't believe there are any scripts in contrib or core that require this change (since `cmd/otel*col` don't have `//go:generate` statements). I also made some miscellaneous improvements to the Makefile: - removed a definition of `EXPORTER_MODS_0/1` that is overwritten just below - fix the addition of the root module in `ALL_MODS` (currently broken when calling from another directory with `make -C`, see [this StackOverflow answer](https://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile)) - updated the output of `make all-groups` with missing groups and macOS-compatible `-e` option I can move these to another PR if it seems too messy to include these here. Update module github.com/vmware/govmomi to v0.48.1 (#37864) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/vmware/govmomi](https://redirect.github.com/vmware/govmomi) | `v0.48.0` -> `v0.48.1` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvmware%2fgovmomi/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fvmware%2fgovmomi/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fvmware%2fgovmomi/v0.48.0/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvmware%2fgovmomi/v0.48.0/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
vmware/govmomi (github.com/vmware/govmomi) ### [`v0.48.1`](https://redirect.github.com/vmware/govmomi/releases/tag/v0.48.1) [Compare Source](https://redirect.github.com/vmware/govmomi/compare/v0.48.0...v0.48.1) #### [Release v0.48.1](https://redirect.github.com/vmware/govmomi/compare/v0.48.0...v0.48.1) > Release Date: 2025-02-11 ##### ๐Ÿž Fix - \[[`92adc45`](https://redirect.github.com/vmware/govmomi/commit/92adc453)] Drop operationID soap header for unsupported endpoints ##### ๐Ÿ’ซ `govc` (CLI) - \[[`8df8254`](https://redirect.github.com/vmware/govmomi/commit/8df82543)] Rewrite kms.export URL to use the host we connected to vCenter with - \[[`93efaa5`](https://redirect.github.com/vmware/govmomi/commit/93efaa51)] Add storage.policy.create '-e' option to enable encryption ##### ๐Ÿงน Chore - \[[`cc1a61b`](https://redirect.github.com/vmware/govmomi/commit/cc1a61ba)] Update version.go for v0.48.1 ##### โš ๏ธ BREAKING ##### ๐Ÿ“– Commits - \[[`cc1a61b`](https://redirect.github.com/vmware/govmomi/commit/cc1a61ba)] chore: Update version.go for v0.48.1 - \[[`f642f66`](https://redirect.github.com/vmware/govmomi/commit/f642f66f)] build(deps): bump golang.org/x/text from 0.21.0 to 0.22.0 - \[[`92adc45`](https://redirect.github.com/vmware/govmomi/commit/92adc453)] fix: Drop operationID soap header for unsupported endpoints - \[[`8df8254`](https://redirect.github.com/vmware/govmomi/commit/8df82543)] govc: Rewrite kms.export URL to use the host we connected to vCenter with - \[[`93efaa5`](https://redirect.github.com/vmware/govmomi/commit/93efaa51)] govc: Add storage.policy.create '-e' option to enable encryption
--- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> [receiver/mysql] Integration tests for MariaDB (#37840) #### Description * Added integration tests for Mariadb `10.11.11` and `11.6.2` * Migrated test per method, into parameterised test #### Link to tracking issue Fixes #37813 [pkg/ottl] Introduce ToSnakeCase() converter function (#37429) #### Link to tracking issue Fixes #32942 --------- Signed-off-by: odubajDT Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com> Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com> [chore] Spelling connector + extension (#37135) #### Description Fix spelling in connector/ + extension/ https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37128#pullrequestreview-2541561439 I can split this into two distinct items, but 45 files seems like a digestible chunk... #### Link to tracking issue * #37128 --------- Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> bump minimum supported go version to 1.23 (#37875) With the release of 1.24, we need to bump the tested versions. Fixes https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/37865 Fixes https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/35722 --------- Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> Update module github.com/google/go-github/v68 to v69 (#37846) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/google/go-github/v68](https://redirect.github.com/google/go-github) | `v68.0.0` -> `v69.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-github%2fv68/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fgo-github%2fv68/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fgo-github%2fv68/v68.0.0/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-github%2fv68/v68.0.0/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. :warning: MAJOR VERSION UPDATE :warning: - please manually update this package --- ### Release Notes
google/go-github (github.com/google/go-github/v68) ### [`v69.0.0`](https://redirect.github.com/google/go-github/releases/tag/v69.0.0) [Compare Source](https://redirect.github.com/google/go-github/compare/v68.0.0...v69.0.0) This release contains the following breaking API changes: - feat!: Add support for enterprise rulesets ([#​3417](https://redirect.github.com/google/go-github/issues/3417)) BREAKING CHANGE: `Create*Ruleset` and `Update*Ruleset` now pass `ruleset` parameter by-value instead of by-reference. - fix!: Typo in field names in the CheckSuite struct ([#​3444](https://redirect.github.com/google/go-github/issues/3444)) BREAKING CHANGE: `Rerequstable`=>`Rerequestable`, `RunsRerequstable`=>`RunsRerequestable` - fix!: Typo in field names in the PullStats struct ([#​3445](https://redirect.github.com/google/go-github/issues/3445)) BREAKING CHANGE: `MergablePulls`=>`MergeablePulls`, `UnmergablePulls`=>`UnmergeablePulls` - refactor!: Do not capitalize error strings ([#​3446](https://redirect.github.com/google/go-github/issues/3446)) BREAKING CHANGE: Some error strings are slightly modified - please do not rely on error text in general. - fix!: Refactor the repository ruleset code ([#​3430](https://redirect.github.com/google/go-github/issues/3430)) BREAKING CHANGES: The following types have been renamed: - `Ruleset` -> `RepositoryRuleset` - `RulesetLink` -> `RepositoryRulesetLink` - `RulesetLinks` -> `RepositoryRulesetLinks` - `RulesetRefConditionParameters` -> `RepositoryRulesetRefConditionParameters` - `RulesetRepositoryNamesConditionParameters` -> `RepositoryRulesetRepositoryNamesConditionParameters` - `RulesetRepositoryIDsConditionParameters` -> `RepositoryRulesetRepositoryIDsConditionParameters` - `RulesetRepositoryPropertyTargetParameters` -> `Repository` - `RulesetRepositoryPropertyConditionParameters` -> `RepositoryRulesetRepositoryPropertyConditionParameters` - `RulesetOrganizationNamesConditionParameters` -> `RepositoryRulesetOrganizationNamesConditionParameters` - `RulesetOrganizationIDsConditionParameters` -> `RepositoryRulesetOrganizationIDsConditionParameters` - `RulesetConditions` -> `RepositoryRulesetConditions` - `RepositoryRulesetEditedChanges` -> `RepositoryRulesetChanges` - `RepositoryRulesetEditedSource` -> `RepositoryRulesetChangeSource` - `RepositoryRulesetEditedSources` -> `RepositoryRulesetChangeSources` - `RepositoryRulesetEditedConditions` -> `RepositoryRulesetUpdatedConditions` - `RepositoryRulesetUpdatedConditionsEdited` -> `RepositoryRulesetUpdatedCondition` - `RepositoryRulesetEditedRules` -> `RepositoryRulesetChangedRules` - `RepositoryRulesetUpdatedRules` -> `RepositoryRulesetUpdatedRules` - `RepositoryRulesetEditedRuleChanges` -> `RepositoryRulesetChangedRule` - chore!: Add sliceofpointers custom linter ([#​3447](https://redirect.github.com/google/go-github/issues/3447)) BREAKING CHANGE: `ListOAuthApps` now returns `([]*OAuthApp, error)` instead of `([]OAuthApp, error)`. - feat!: Change User.InheritedFrom to a slice ([#​3460](https://redirect.github.com/google/go-github/issues/3460)) BREAKING CHANGE: `User.InheritedFrom` is changed from a `*Team` to a `[]*Team`. ...and the following additional changes: - Bump go-github from v67 to v68 in /scrape ([#​3398](https://redirect.github.com/google/go-github/issues/3398)) - build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 in /scrape ([#​3400](https://redirect.github.com/google/go-github/issues/3400)) - build(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 ([#​3401](https://redirect.github.com/google/go-github/issues/3401)) - Bump golang.org/x/net to v0.33.0 ([#​3402](https://redirect.github.com/google/go-github/issues/3402)) - Add TokenID and TokenName to PersonalAccessToken struct ([#​3404](https://redirect.github.com/google/go-github/issues/3404)) - Bump github.com/PuerkitoBio/goquery from 1.9.2 to 1.10.1 in /scrape ([#​3408](https://redirect.github.com/google/go-github/issues/3408)) - Bump Go to 1.22.10 or 1.23.4 in go.mod files ([#​3410](https://redirect.github.com/google/go-github/issues/3410)) - Add opt-in rate limit support on endpoints returning 302s ([#​3411](https://redirect.github.com/google/go-github/issues/3411)) - Update OpenAPI ([#​3419](https://redirect.github.com/google/go-github/issues/3419)) - build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 in /scrape ([#​3420](https://redirect.github.com/google/go-github/issues/3420)) - Permit toggling rate limit check by consumers ([#​3386](https://redirect.github.com/google/go-github/issues/3386)) - build(deps): Pin and group actions/\* ([#​3424](https://redirect.github.com/google/go-github/issues/3424)) - Add deprecation messages to security managers APIs ([#​3426](https://redirect.github.com/google/go-github/issues/3426)) - fix: Relax go directive in go.mod to 1.22.0 ([#​3423](https://redirect.github.com/google/go-github/issues/3423)) - Enforce toolchain requirement in generate.sh ([#​3428](https://redirect.github.com/google/go-github/issues/3428)) - feat: Add missing notification_setting to Team ([#​3431](https://redirect.github.com/google/go-github/issues/3431)) - chore: Add reviewers file ([#​3435](https://redirect.github.com/google/go-github/issues/3435)) - gen-accessors: Update dumping of getters ([#​3437](https://redirect.github.com/google/go-github/issues/3437)) - chore: Fix codecov upload ([#​3440](https://redirect.github.com/google/go-github/issues/3440)) - chore: Spell "unmarshal" consistently with one el ([#​3441](https://redirect.github.com/google/go-github/issues/3441)) - fix: Typos in func parameter, vars, error, and comments ([#​3442](https://redirect.github.com/google/go-github/issues/3442)) - feat: Add manage_ghes endpoints introduced in 3.15 ([#​3433](https://redirect.github.com/google/go-github/issues/3433)) - Fix minor typo ([#​3448](https://redirect.github.com/google/go-github/issues/3448)) - chore: Check and fix license headers ([#​3449](https://redirect.github.com/google/go-github/issues/3449)) - Add new fields for IssueType ([#​3451](https://redirect.github.com/google/go-github/issues/3451)) - ci: update golangci-lint to v1.63.4 ([#​3452](https://redirect.github.com/google/go-github/issues/3452)) - Extend Rate and Rate Limiting with X-Ratelimit-Used and `X-Ratelimit-Resource` headers ([#​3453](https://redirect.github.com/google/go-github/issues/3453)) - build(deps): bump actions/setup-go from 5.2.0 to 5.3.0 in the actions group ([#​3454](https://redirect.github.com/google/go-github/issues/3454)) - build(deps): bump codecov/codecov-action from 5.1.2 to 5.3.1 ([#​3455](https://redirect.github.com/google/go-github/issues/3455)) - docs: Add clarifications for mergeable field in pull requests ([#​3396](https://redirect.github.com/google/go-github/issues/3396)) - build(deps): bump github.com/alecthomas/kong from 1.6.0 to 1.7.0 in /tools ([#​3458](https://redirect.github.com/google/go-github/issues/3458)) - Bump version of go-github to v69.0.0 ([#​3463](https://redirect.github.com/google/go-github/issues/3463))
--- ### Configuration ๐Ÿ“… **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Curtis Robert [encoding/googlecloudlogentry] Scaffold new component (#37531) (#37789) #### Description As described in `CONTRIBUTING` this is the scaffolded components for a new encoding extension. This encoder is currently part of the `googlecloudpubsubreceiver`. The main goal to extract this so that this component can have an alpha stability (due to the changing semantic conventions), and the `googlepubsubreceiver` can reach GA stability. #### Link to tracking issue Introduces #37531 #### Testing Scaffolded component, but already includes tests for config #### Documentation The README includes the documentation of the new extension [pkg/ottl] Introduce ToUpperCase() converter function (#37427) #### Link to tracking issue Fixes #32942 --------- Signed-off-by: odubajDT Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com> Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com> [chore] add myself as codeowner (#37866) cc @evan-bradley --------- Signed-off-by: zirain [chore] remove unused variable (#37878) This was left behind when we moved to lychee Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> go tidy run make --- .chloggen/feat_kafka-topics-observer.yaml | 27 ++ .github/CODEOWNERS | 1 + .github/ISSUE_TEMPLATE/bug_report.yaml | 1 + .github/ISSUE_TEMPLATE/feature_request.yaml | 1 + .github/ISSUE_TEMPLATE/other.yaml | 1 + .github/ISSUE_TEMPLATE/unmaintained.yaml | 1 + cmd/otelcontribcol/builder-config.yaml | 2 +- .../observer/kafkatopicsobserver/Makefile | 1 + .../observer/kafkatopicsobserver/README.md | 60 +++++ .../observer/kafkatopicsobserver/config.go | 33 +++ extension/observer/kafkatopicsobserver/doc.go | 6 + .../observer/kafkatopicsobserver/extension.go | 58 +++++ .../observer/kafkatopicsobserver/factory.go | 47 ++++ .../generated_component_test.go | 52 ++++ .../generated_package_test.go | 13 + extension/observer/kafkatopicsobserver/go.mod | 89 +++++++ extension/observer/kafkatopicsobserver/go.sum | 241 ++++++++++++++++++ .../internal/metadata/generated_status.go | 16 ++ .../kafkatopicsobserver/metadata.yaml | 10 + internal/tidylist/tidylist.txt | 1 + reports/distributions/contrib.yaml | 1 + versions.yaml | 1 + 22 files changed, 662 insertions(+), 1 deletion(-) create mode 100644 .chloggen/feat_kafka-topics-observer.yaml create mode 100644 extension/observer/kafkatopicsobserver/Makefile create mode 100644 extension/observer/kafkatopicsobserver/README.md create mode 100644 extension/observer/kafkatopicsobserver/config.go create mode 100644 extension/observer/kafkatopicsobserver/doc.go create mode 100644 extension/observer/kafkatopicsobserver/extension.go create mode 100644 extension/observer/kafkatopicsobserver/factory.go create mode 100644 extension/observer/kafkatopicsobserver/generated_component_test.go create mode 100644 extension/observer/kafkatopicsobserver/generated_package_test.go create mode 100644 extension/observer/kafkatopicsobserver/go.mod create mode 100644 extension/observer/kafkatopicsobserver/go.sum create mode 100644 extension/observer/kafkatopicsobserver/internal/metadata/generated_status.go create mode 100644 extension/observer/kafkatopicsobserver/metadata.yaml diff --git a/.chloggen/feat_kafka-topics-observer.yaml b/.chloggen/feat_kafka-topics-observer.yaml new file mode 100644 index 000000000000..c3f5d748b70f --- /dev/null +++ b/.chloggen/feat_kafka-topics-observer.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: new_component + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: kafkatopicsobserver + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Adding new kafka topics observer extension + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [37665] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [user] diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 61acabb34964..3509303c3462 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -114,6 +114,7 @@ extension/observer/dockerobserver/ @open-telemetry extension/observer/ecsobserver/ @open-telemetry/collector-contrib-approvers @dmitryax extension/observer/hostobserver/ @open-telemetry/collector-contrib-approvers @MovieStoreGuy extension/observer/k8sobserver/ @open-telemetry/collector-contrib-approvers @dmitryax @ChrsMark +extension/observer/kafkatopicsobserver/ @open-telemetry/collector-contrib-approvers @MovieStoreGuy extension/oidcauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling extension/opampcustommessages/ @open-telemetry/collector-contrib-approvers @evan-bradley extension/opampextension/ @open-telemetry/collector-contrib-approvers @portertech @evan-bradley @tigrannajaryan diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 28fbf1692fce..f3e7938be34e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -117,6 +117,7 @@ body: - extension/observer/ecstaskobserver - extension/observer/hostobserver - extension/observer/k8sobserver + - extension/observer/kafkatopicsobserver - extension/oidcauth - extension/opamp - extension/opampcustommessages diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 58a2080937de..136ce57afa9f 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -111,6 +111,7 @@ body: - extension/observer/ecstaskobserver - extension/observer/hostobserver - extension/observer/k8sobserver + - extension/observer/kafkatopicsobserver - extension/oidcauth - extension/opamp - extension/opampcustommessages diff --git a/.github/ISSUE_TEMPLATE/other.yaml b/.github/ISSUE_TEMPLATE/other.yaml index 83444fecd73a..1993301d2baf 100644 --- a/.github/ISSUE_TEMPLATE/other.yaml +++ b/.github/ISSUE_TEMPLATE/other.yaml @@ -111,6 +111,7 @@ body: - extension/observer/ecstaskobserver - extension/observer/hostobserver - extension/observer/k8sobserver + - extension/observer/kafkatopicsobserver - extension/oidcauth - extension/opamp - extension/opampcustommessages diff --git a/.github/ISSUE_TEMPLATE/unmaintained.yaml b/.github/ISSUE_TEMPLATE/unmaintained.yaml index 76dd776b4791..2f8ce5a532d4 100644 --- a/.github/ISSUE_TEMPLATE/unmaintained.yaml +++ b/.github/ISSUE_TEMPLATE/unmaintained.yaml @@ -116,6 +116,7 @@ body: - extension/observer/ecstaskobserver - extension/observer/hostobserver - extension/observer/k8sobserver + - extension/observer/kafkatopicsobserver - extension/oidcauth - extension/opamp - extension/opampcustommessages diff --git a/cmd/otelcontribcol/builder-config.yaml b/cmd/otelcontribcol/builder-config.yaml index b5a09ddb42ec..19bda33b77a7 100644 --- a/cmd/otelcontribcol/builder-config.yaml +++ b/cmd/otelcontribcol/builder-config.yaml @@ -167,7 +167,7 @@ receivers: - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver v0.119.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.119.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver v0.119.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.119.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver v0.119.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.119.0 diff --git a/extension/observer/kafkatopicsobserver/Makefile b/extension/observer/kafkatopicsobserver/Makefile new file mode 100644 index 000000000000..bdd863a203be --- /dev/null +++ b/extension/observer/kafkatopicsobserver/Makefile @@ -0,0 +1 @@ +include ../../../Makefile.Common diff --git a/extension/observer/kafkatopicsobserver/README.md b/extension/observer/kafkatopicsobserver/README.md new file mode 100644 index 000000000000..aadf84301ef3 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/README.md @@ -0,0 +1,60 @@ +# Kafka Topics Observer Extension + +| Status | | +| ------------- |-----------| +| Stability | [beta] | +| Distributions | [contrib] | +| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fkafkatopicsobserver%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fkafkatopicsobserver) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fkafkatopicsobserver%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fkafkatopicsobserver) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@MovieStoreGuy](https://www.github.com/MovieStoreGuy) | + +[beta]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#beta +[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib + + +The Kafka topics observer extension is a [Receiver Creator](../../../receiver/receivercreator/README.md)-compatible "watch observer" that will detect and report +kafka topics in kafka cluster based on regex template. This observer watches available topics and matches them with the +provided regex. If any change in available topics matching the regex is detected, the observer updates the endpoints list. + +## Configuration + +The following settings are required: + +- `protocol_version` (no default): Kafka protocol version e.g. 2.0.0 + +The following settings can be optionally configured: + +- `brokers` (default = localhost:9092): The list of kafka brokers +- `resolve_canonical_bootstrap_servers_only` (default = false): Whether to resolve then reverse-lookup broker IPs during startup +- `topic_regex` regex pattern of the topic name to subscribe to. +- `session_timeout` (default = `10s`): The request timeout for detecting client failures when using Kafkaโ€™s group management facilities. +- `heartbeat_interval` (default = `3s`): The expected time between heartbeats to the consumer coordinator when using Kafkaโ€™s group management facilities. +- `auth` + - `plain_text` + - `username`: The username to use. + - `password`: The password to use + - `sasl` + - `username`: The username to use. + - `password`: The password to use + - `mechanism`: The sasl mechanism to use (SCRAM-SHA-256, SCRAM-SHA-512, AWS_MSK_IAM, AWS_MSK_IAM_OAUTHBEARER or PLAIN) + - `aws_msk.region`: AWS Region in case of AWS_MSK_IAM or AWS_MSK_IAM_OAUTHBEARER mechanism + - `aws_msk.broker_addr`: MSK Broker address in case of AWS_MSK_IAM mechanism + - `tls` + - `ca_file`: path to the CA cert. For a client this verifies the server certificate. Should + only be used if `insecure` is set to false. + - `cert_file`: path to the TLS cert to use for TLS required connections. Should + only be used if `insecure` is set to false. + - `key_file`: path to the TLS key to use for TLS required connections. Should + only be used if `insecure` is set to false. + - `insecure` (default = false): Disable verifying the server's certificate + chain and host name (`InsecureSkipVerify` in the tls config) + - `server_name_override`: ServerName indicates the name of the server requested by the client + in order to support virtual hosting. + - `kerberos` + - `service_name`: Kerberos service name + - `realm`: Kerberos realm + - `use_keytab`: Use of keytab instead of password, if this is true, keytab file will be used instead of password + - `username`: The Kerberos username used for authenticate with KDC + - `password`: The Kerberos password used for authenticate with KDC + - `config_file`: Path to Kerberos configuration. i.e /etc/krb5.conf + - `keytab_file`: Path to keytab file. i.e /etc/security/kafka.keytab + - `disable_fast_negotiation`: Disable PA-FX-FAST negotiation (Pre-Authentication Framework - Fast). Some common Kerberos implementations do not support PA-FX-FAST negotiation. This is set to `false` by default. \ No newline at end of file diff --git a/extension/observer/kafkatopicsobserver/config.go b/extension/observer/kafkatopicsobserver/config.go new file mode 100644 index 000000000000..b072bdccbab7 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/config.go @@ -0,0 +1,33 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package kafkatopicsobserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver" + +import ( + "time" + + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka" +) + +// Config defines configuration for docker observer +type Config struct { + // The list of kafka brokers (default localhost:9092) + Brokers []string `mapstructure:"brokers"` + // ResolveCanonicalBootstrapServersOnly makes Sarama do a DNS lookup for + // each of the provided brokers. It will then do a PTR lookup for each + // returned IP, and that set of names becomes the broker list. This can be + // required in SASL environments. + ResolveCanonicalBootstrapServersOnly bool `mapstructure:"resolve_canonical_bootstrap_servers_only"` + // Kafka protocol version + ProtocolVersion string `mapstructure:"protocol_version"` + // Session interval for the Kafka consumer + SessionTimeout time.Duration `mapstructure:"session_timeout"` + // Heartbeat interval for the Kafka consumer + HeartbeatInterval time.Duration `mapstructure:"heartbeat_interval"` + Authentication kafka.Authentication `mapstructure:"auth"` + TopicRegex string `mapstructure:"topic_regex"` +} + +func (config Config) Validate() error { + return nil +} diff --git a/extension/observer/kafkatopicsobserver/doc.go b/extension/observer/kafkatopicsobserver/doc.go new file mode 100644 index 000000000000..2b35c755eb4d --- /dev/null +++ b/extension/observer/kafkatopicsobserver/doc.go @@ -0,0 +1,6 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:generate mdatagen metadata.yaml + +package kafkatopicsobserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver" diff --git a/extension/observer/kafkatopicsobserver/extension.go b/extension/observer/kafkatopicsobserver/extension.go new file mode 100644 index 000000000000..5901ed026393 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/extension.go @@ -0,0 +1,58 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package kafkatopicsobserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver" + +import ( + "context" + "sync" + "time" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/extension" + "go.uber.org/zap" + + "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer" +) + +// Mock implementation for the initial PR +var ( + _ extension.Extension = (*kafkaTopicsObserver)(nil) + _ observer.EndpointsLister = (*kafkaTopicsObserver)(nil) + _ observer.Observable = (*kafkaTopicsObserver)(nil) +) + +type kafkaTopicsObserver struct { + *observer.EndpointsWatcher + logger *zap.Logger + config *Config + cancel func() + once *sync.Once + _ context.Context +} + +func newObserver(logger *zap.Logger, config *Config) (extension.Extension, error) { + d := &kafkaTopicsObserver{ + logger: logger, config: config, + once: &sync.Once{}, + cancel: func() { + }, + } + d.EndpointsWatcher = observer.NewEndpointsWatcher(d, time.Second, logger) + return d, nil +} + +func (d *kafkaTopicsObserver) ListEndpoints() []observer.Endpoint { + var endpoints []observer.Endpoint + return endpoints +} + +func (d *kafkaTopicsObserver) Start(_ context.Context, _ component.Host) error { + return nil +} + +func (d *kafkaTopicsObserver) Shutdown(_ context.Context) error { + d.StopListAndWatch() + d.cancel() + return nil +} diff --git a/extension/observer/kafkatopicsobserver/factory.go b/extension/observer/kafkatopicsobserver/factory.go new file mode 100644 index 000000000000..84313c3223aa --- /dev/null +++ b/extension/observer/kafkatopicsobserver/factory.go @@ -0,0 +1,47 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package kafkatopicsobserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver" + +import ( + "context" + "time" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/extension" + + "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver/internal/metadata" +) + +const ( + defaultBroker = "localhost:9092" + defaultSessionTimeout = 10 * time.Second + defaultHeartbeatInterval = 3 * time.Second +) + +// NewFactory should be called to create a factory with default values. +func NewFactory() extension.Factory { + return extension.NewFactory( + metadata.Type, + createDefaultConfig, + createExtension, + component.StabilityLevelBeta, + ) +} + +func createDefaultConfig() component.Config { + return &Config{ + Brokers: []string{defaultBroker}, + SessionTimeout: defaultSessionTimeout, + HeartbeatInterval: defaultHeartbeatInterval, + } +} + +func createExtension( + _ context.Context, + settings extension.Settings, + cfg component.Config, +) (extension.Extension, error) { + config := cfg.(*Config) + return newObserver(settings.Logger, config) +} diff --git a/extension/observer/kafkatopicsobserver/generated_component_test.go b/extension/observer/kafkatopicsobserver/generated_component_test.go new file mode 100644 index 000000000000..c704db170c90 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/generated_component_test.go @@ -0,0 +1,52 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package kafkatopicsobserver + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/confmap/confmaptest" + "go.opentelemetry.io/collector/extension/extensiontest" +) + +var typ = component.MustNewType("kafkatopics_observer") + +func TestComponentFactoryType(t *testing.T) { + require.Equal(t, typ, NewFactory().Type()) +} + +func TestComponentConfigStruct(t *testing.T) { + require.NoError(t, componenttest.CheckConfigStruct(NewFactory().CreateDefaultConfig())) +} + +func TestComponentLifecycle(t *testing.T) { + factory := NewFactory() + + cm, err := confmaptest.LoadConf("metadata.yaml") + require.NoError(t, err) + cfg := factory.CreateDefaultConfig() + sub, err := cm.Sub("tests::config") + require.NoError(t, err) + require.NoError(t, sub.Unmarshal(&cfg)) + t.Run("shutdown", func(t *testing.T) { + e, err := factory.Create(context.Background(), extensiontest.NewNopSettingsWithType(typ), cfg) + require.NoError(t, err) + err = e.Shutdown(context.Background()) + require.NoError(t, err) + }) + t.Run("lifecycle", func(t *testing.T) { + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettingsWithType(typ), cfg) + require.NoError(t, err) + require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) + require.NoError(t, firstExt.Shutdown(context.Background())) + + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettingsWithType(typ), cfg) + require.NoError(t, err) + require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) + require.NoError(t, secondExt.Shutdown(context.Background())) + }) +} diff --git a/extension/observer/kafkatopicsobserver/generated_package_test.go b/extension/observer/kafkatopicsobserver/generated_package_test.go new file mode 100644 index 000000000000..a0fe1c888802 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/generated_package_test.go @@ -0,0 +1,13 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package kafkatopicsobserver + +import ( + "testing" + + "go.uber.org/goleak" +) + +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +} diff --git a/extension/observer/kafkatopicsobserver/go.mod b/extension/observer/kafkatopicsobserver/go.mod new file mode 100644 index 000000000000..e8ae76015762 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/go.mod @@ -0,0 +1,89 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver + +go 1.23.0 + +require ( + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0 + github.com/stretchr/testify v1.10.0 + go.opentelemetry.io/collector/component v0.119.1-0.20250210123122-44b3eeda354c + go.opentelemetry.io/collector/component/componenttest v0.119.1-0.20250210123122-44b3eeda354c + go.opentelemetry.io/collector/confmap v1.25.1-0.20250210123122-44b3eeda354c + go.opentelemetry.io/collector/extension v0.119.1-0.20250210123122-44b3eeda354c + go.opentelemetry.io/collector/extension/extensiontest v0.119.1-0.20250210123122-44b3eeda354c + go.uber.org/goleak v1.3.0 + go.uber.org/zap v1.27.0 +) + +require ( + github.com/IBM/sarama v1.45.0 // indirect + github.com/aws/aws-msk-iam-sasl-signer-go v1.0.1 // indirect + github.com/aws/aws-sdk-go v1.55.6 // indirect + github.com/aws/aws-sdk-go-v2 v1.36.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.29.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.59 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.15 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 // indirect + github.com/aws/smithy-go v1.22.2 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/eapache/go-resiliency v1.7.0 // indirect + github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect + github.com/eapache/queue v1.1.0 // indirect + github.com/fsnotify/fsnotify v1.8.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/jcmturner/aescts/v2 v2.0.0 // indirect + github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect + github.com/jcmturner/gofork v1.7.6 // indirect + github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect + github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/klauspost/compress v1.17.11 // indirect + github.com/knadh/koanf/maps v0.1.1 // indirect + github.com/knadh/koanf/providers/confmap v0.1.0 // indirect + github.com/knadh/koanf/v2 v2.1.2 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/pierrec/lz4/v4 v4.1.22 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/xdg-go/pbkdf2 v1.0.0 // indirect + github.com/xdg-go/scram v1.1.2 // indirect + github.com/xdg-go/stringprep v1.0.4 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.25.1-0.20250210123122-44b3eeda354c // indirect + go.opentelemetry.io/collector/config/configtls v1.25.1-0.20250210123122-44b3eeda354c // indirect + go.opentelemetry.io/collector/pdata v1.25.1-0.20250210123122-44b3eeda354c // indirect + go.opentelemetry.io/otel v1.34.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect + go.opentelemetry.io/otel/sdk v1.34.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/crypto v0.33.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.30.0 // indirect + golang.org/x/text v0.22.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.5 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka => ../../../internal/kafka + +replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer => ../ diff --git a/extension/observer/kafkatopicsobserver/go.sum b/extension/observer/kafkatopicsobserver/go.sum new file mode 100644 index 000000000000..43a994e77581 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/go.sum @@ -0,0 +1,241 @@ +github.com/IBM/sarama v1.45.0 h1:IzeBevTn809IJ/dhNKhP5mpxEXTmELuezO2tgHD9G5E= +github.com/IBM/sarama v1.45.0/go.mod h1:EEay63m8EZkeumco9TDXf2JT3uDnZsZqFgV46n4yZdY= +github.com/aws/aws-msk-iam-sasl-signer-go v1.0.1 h1:nMp7diZObd4XEVUR0pEvn7/E13JIgManMX79Q6quV6E= +github.com/aws/aws-msk-iam-sasl-signer-go v1.0.1/go.mod h1:MVYeeOhILFFemC/XlYTClvBjYZrg/EPd3ts885KrNTI= +github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk= +github.com/aws/aws-sdk-go v1.55.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go-v2 v1.36.1 h1:iTDl5U6oAhkNPba0e1t1hrwAo02ZMqbrGq4k5JBWM5E= +github.com/aws/aws-sdk-go-v2 v1.36.1/go.mod h1:5PMILGVKiW32oDzjj6RU52yrNrDPUHcbZQYr1sM7qmM= +github.com/aws/aws-sdk-go-v2/config v1.29.6 h1:fqgqEKK5HaZVWLQoLiC9Q+xDlSp+1LYidp6ybGE2OGg= +github.com/aws/aws-sdk-go-v2/config v1.29.6/go.mod h1:Ft+WLODzDQmCTHDvqAH1JfC2xxbZ0MxpZAcJqmE1LTQ= +github.com/aws/aws-sdk-go-v2/credentials v1.17.59 h1:9btwmrt//Q6JcSdgJOLI98sdr5p7tssS9yAsGe8aKP4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.59/go.mod h1:NM8fM6ovI3zak23UISdWidyZuI1ghNe2xjzUZAyT+08= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28 h1:KwsodFKVQTlI5EyhRSugALzsV6mG/SGrdjlMXSZSdso= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28/go.mod h1:EY3APf9MzygVhKuPXAc5H+MkGb8k/DOSQjWS0LgkKqI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32 h1:BjUcr3X3K0wZPGFg2bxOWW3VPN8rkE3/61zhP+IHviA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32/go.mod h1:80+OGC/bgzzFFTUmcuwD0lb4YutwQeKLFpmt6hoWapU= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32 h1:m1GeXHVMJsRsUAqG6HjZWx9dj7F5TR+cF1bjyfYyBd4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32/go.mod h1:IitoQxGfaKdVLNg0hD8/DXmAqNy0H4K2H2Sf91ti8sI= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13 h1:SYVGSFQHlchIcy6e7x12bsrxClCXSP5et8cqVhL8cuw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13/go.mod h1:kizuDaLX37bG5WZaoxGPQR/LNFXpxp0vsUnqfkWXfNE= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.15 h1:/eE3DogBjYlvlbhd2ssWyeuovWunHLxfgw3s/OJa4GQ= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.15/go.mod h1:2PCJYpi7EKeA5SkStAmZlF6fi0uUABuhtF8ILHjGc3Y= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 h1:M/zwXiL2iXUrHputuXgmO94TVNmcenPHxgLXLutodKE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14/go.mod h1:RVwIw3y/IqxC2YEXSIkAzRDdEU1iRabDPaYjpGCbCGQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 h1:TzeR06UCMUq+KA3bDkujxK1GVGy+G8qQN/QVYzGLkQE= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.14/go.mod h1:dspXf/oYWGWo6DEvj98wpaTeqt5+DMidZD0A9BYTizc= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/eapache/go-resiliency v1.7.0 h1:n3NRTnBn5N0Cbi/IeOHuQn9s2UwVUH7Ga0ZWcP+9JTA= +github.com/eapache/go-resiliency v1.7.0/go.mod h1:5yPzW0MIvSe0JDsv0v+DvcjEv2FyD6iZYSs1ZI+iQho= +github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 h1:Oy0F4ALJ04o5Qqpdz8XLIpNA3WM/iSIXqxtqo7UGVws= +github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3/go.mod h1:YvSRo5mw33fLEx1+DlK6L2VV43tJt5Eyel9n9XBcR+0= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= +github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= +github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= +github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= +github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= +github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh687T8= +github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= +github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= +github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= +github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= +github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= +github.com/knadh/koanf/v2 v2.1.2 h1:I2rtLRqXRy1p01m/utEtpZSSA6dcJbgGVuE27kW2PzQ= +github.com/knadh/koanf/v2 v2.1.2/go.mod h1:Gphfaen0q1Fc1HTgJgSTC4oRX9R2R5ErYMZJy8fLJBo= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= +github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/collector/component v0.119.1-0.20250210123122-44b3eeda354c h1:ZXGMlIb8kRtTT+XjfDVXndwIfxJLoSgbsI3UKLMJSG4= +go.opentelemetry.io/collector/component v0.119.1-0.20250210123122-44b3eeda354c/go.mod h1:QATB3WRjNkcJSkdb4BaIp0d3nTFayiwEZqIJLy/p3H4= +go.opentelemetry.io/collector/component/componenttest v0.119.1-0.20250210123122-44b3eeda354c h1:PJHoTjFL9upl5mi+ppIseTlebzesalg0+bvzDic/obw= +go.opentelemetry.io/collector/component/componenttest v0.119.1-0.20250210123122-44b3eeda354c/go.mod h1:qw0JC0EJRxKb7Dmqrdvg1dDs3Ovjprrry8cpF5Q0vF0= +go.opentelemetry.io/collector/config/configopaque v1.25.1-0.20250210123122-44b3eeda354c h1:qUu/dYxO7K8IHZVrcTKwCh0D22tELu1r8yB3EEfGda0= +go.opentelemetry.io/collector/config/configopaque v1.25.1-0.20250210123122-44b3eeda354c/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= +go.opentelemetry.io/collector/config/configtls v1.25.1-0.20250210123122-44b3eeda354c h1:F2MffZ1aWmosk0ANMZHnvG5V6qKJgcoU8RZPdch2x5g= +go.opentelemetry.io/collector/config/configtls v1.25.1-0.20250210123122-44b3eeda354c/go.mod h1:jE4WbJE12AltJ3BZU1R0GnYI8D14bTqbTq4yuaTHdms= +go.opentelemetry.io/collector/confmap v1.25.1-0.20250210123122-44b3eeda354c h1:LO+X9E8QkbObkjZMSSMnuQzAjQOTiF7EnXfmktg2NXw= +go.opentelemetry.io/collector/confmap v1.25.1-0.20250210123122-44b3eeda354c/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/extension v0.119.1-0.20250210123122-44b3eeda354c h1:9koiLXtEcu3pNTWokNI7/p+kGoPFb20OB7fPwHY516o= +go.opentelemetry.io/collector/extension v0.119.1-0.20250210123122-44b3eeda354c/go.mod h1:qJ07BdPHd7x6vgUeGH8LjC0+0jGD71T0za9vbnzqNHI= +go.opentelemetry.io/collector/extension/extensiontest v0.119.1-0.20250210123122-44b3eeda354c h1:iDBzCm38IfZB6EXMSnRwV0CI0jJi81tX4yIpztbmtBY= +go.opentelemetry.io/collector/extension/extensiontest v0.119.1-0.20250210123122-44b3eeda354c/go.mod h1:60NvaucqzvE/lYy4FdEqsXIO2f2D0n+DlVXWRkWpXJs= +go.opentelemetry.io/collector/pdata v1.25.1-0.20250210123122-44b3eeda354c h1:noCm8Icz32bpyqS1Oc/dTt515Mr6yqpMElPAF1GeQCc= +go.opentelemetry.io/collector/pdata v1.25.1-0.20250210123122-44b3eeda354c/go.mod h1:ceSqZgTsX5dWzK73YmLBkP87sIEmY1t4d3sf3I2M1VQ= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= +golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6 h1:2duwAxN2+k0xLNpjnHTXoMUgnv6VPSp5fiqTuwSxjmI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6/go.mod h1:8BS3B93F/U1juMFq9+EDk+qOT5CO1R9IzXxG3PTqiRk= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/extension/observer/kafkatopicsobserver/internal/metadata/generated_status.go b/extension/observer/kafkatopicsobserver/internal/metadata/generated_status.go new file mode 100644 index 000000000000..4d4d8d080bc8 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/internal/metadata/generated_status.go @@ -0,0 +1,16 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package metadata + +import ( + "go.opentelemetry.io/collector/component" +) + +var ( + Type = component.MustNewType("kafkatopics_observer") + ScopeName = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver" +) + +const ( + ExtensionStability = component.StabilityLevelBeta +) diff --git a/extension/observer/kafkatopicsobserver/metadata.yaml b/extension/observer/kafkatopicsobserver/metadata.yaml new file mode 100644 index 000000000000..e2ed7c698f87 --- /dev/null +++ b/extension/observer/kafkatopicsobserver/metadata.yaml @@ -0,0 +1,10 @@ +type: kafkatopics_observer + +status: + class: extension + stability: + beta: [extension] + distributions: [contrib] + codeowners: + active: [MovieStoreGuy] + diff --git a/internal/tidylist/tidylist.txt b/internal/tidylist/tidylist.txt index b24284828523..eced05c3b8bf 100644 --- a/internal/tidylist/tidylist.txt +++ b/internal/tidylist/tidylist.txt @@ -172,6 +172,7 @@ extension/observer/ecsobserver extension/observer/ecstaskobserver extension/observer/hostobserver extension/observer/k8sobserver +extension/observer/kafkatopicsobserver extension/oidcauthextension extension/opampcustommessages extension/opampextension diff --git a/reports/distributions/contrib.yaml b/reports/distributions/contrib.yaml index f52c2435cafc..bbefb4ba86cd 100644 --- a/reports/distributions/contrib.yaml +++ b/reports/distributions/contrib.yaml @@ -78,6 +78,7 @@ components: - http_forwarder - jaegerremotesampling - k8s_observer + - kafkatopics_observer - oauth2client - oidc - opamp diff --git a/versions.yaml b/versions.yaml index 949adbac3d39..ddef2d1ba194 100644 --- a/versions.yaml +++ b/versions.yaml @@ -105,6 +105,7 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver + - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/kafkatopicsobserver - github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension - github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages - github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension