From f1b080cfbb397c60aeed69dde3e526476ff462ae Mon Sep 17 00:00:00 2001 From: Vihas Makwana <121151420+VihasMakwana@users.noreply.github.com> Date: Fri, 27 Dec 2024 22:54:31 +0530 Subject: [PATCH 01/17] [integration] - enable TestBeatsServerless (#6438) * chore: temporarily skip TestBeatsServerless * fix: ci * renable * renable --- testing/integration/beats_serverless_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/testing/integration/beats_serverless_test.go b/testing/integration/beats_serverless_test.go index e5b20fd14b5..c8f875559cd 100644 --- a/testing/integration/beats_serverless_test.go +++ b/testing/integration/beats_serverless_test.go @@ -58,7 +58,6 @@ func TestBeatsServerless(t *testing.T) { Local: false, Sudo: true, }) - t.Skip("Flaky test: https://github.com/elastic/elastic-agent/issues/6431") suite.Run(t, &BeatRunner{requirementsInfo: info}) } From f37017cca223f666500ab1b07faa293581410e8b Mon Sep 17 00:00:00 2001 From: Vihas Makwana <121151420+VihasMakwana@users.noreply.github.com> Date: Mon, 30 Dec 2024 16:32:05 +0530 Subject: [PATCH 02/17] [go.mod] update elastic-agent-system-metrics (#6428) * update elastic-agent-system-metrics * remove go update * Updating NOTICE --------- Co-authored-by: Shaunak Kashyap --- NOTICE.txt | 224 +++++++++++++++++++++++++++++++++++++++++++++++++++-- go.mod | 6 +- go.sum | 14 ++-- 3 files changed, 229 insertions(+), 15 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 51487705326..79e3bcc77dd 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -852,11 +852,11 @@ Contents of probable licence file $GOMODCACHE/github.com/dolmen-go/contextio@v0. -------------------------------------------------------------------------------- Dependency : github.com/elastic/beats/v7 -Version: v7.0.0-alpha2.0.20241202144630-0eb63c16f21a +Version: v7.0.0-alpha2.0.20241212201805-58af1537830b Licence type (autodetected): Elastic -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/beats/v7@v7.0.0-alpha2.0.20241202144630-0eb63c16f21a/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/beats/v7@v7.0.0-alpha2.0.20241212201805-58af1537830b/LICENSE.txt: Source code in this repository is variously licensed under the Apache License Version 2.0, an Apache compatible license, or the Elastic License. Outside of @@ -1530,11 +1530,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-l -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.11.4 +Version: v0.11.5 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.4/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.5/LICENSE.txt: Apache License Version 2.0, January 2004 @@ -22387,11 +22387,11 @@ Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-pipeline-g -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go -Version: v65.0.0+incompatible +Version: v68.0.0+incompatible Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go@v65.0.0+incompatible/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go@v68.0.0+incompatible/LICENSE.txt: The MIT License (MIT) @@ -96851,6 +96851,218 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : go.uber.org/mock +Version: v0.5.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/go.uber.org/mock@v0.5.0/LICENSE: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + + -------------------------------------------------------------------------------- Dependency : go.uber.org/multierr Version: v1.11.0 diff --git a/go.mod b/go.mod index 357924c2820..d7f283cf0bb 100644 --- a/go.mod +++ b/go.mod @@ -13,11 +13,11 @@ require ( github.com/docker/docker v27.4.0+incompatible github.com/docker/go-units v0.5.0 github.com/dolmen-go/contextio v0.0.0-20200217195037-68fc5150bcd5 - github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241202144630-0eb63c16f21a + github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b github.com/elastic/elastic-agent-autodiscover v0.9.0 github.com/elastic/elastic-agent-client/v7 v7.17.0 github.com/elastic/elastic-agent-libs v0.17.5 - github.com/elastic/elastic-agent-system-metrics v0.11.4 + github.com/elastic/elastic-agent-system-metrics v0.11.5 github.com/elastic/elastic-transport-go/v8 v8.6.0 github.com/elastic/go-elasticsearch/v8 v8.17.0 github.com/elastic/go-licenser v0.4.2 @@ -151,7 +151,7 @@ require ( github.com/Azure/azure-amqp-common-go/v4 v4.2.0 // indirect github.com/Azure/azure-event-hubs-go/v3 v3.6.1 // indirect github.com/Azure/azure-pipeline-go v0.2.3 // indirect - github.com/Azure/azure-sdk-for-go v65.0.0+incompatible // indirect + github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect diff --git a/go.sum b/go.sum index 32de93e813b..b1f388d5633 100644 --- a/go.sum +++ b/go.sum @@ -69,8 +69,8 @@ github.com/Azure/azure-event-hubs-go/v3 v3.6.1 h1:vSiMmn3tOwgiLyfnmhT5K6Of/3QWRL github.com/Azure/azure-event-hubs-go/v3 v3.6.1/go.mod h1:i2NByb9Pr2na7y8wi/XefEVKkuA2CDUjCNoWQJtTsGo= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9EbjRYTySD/t8i1Ee/W5EGXw= -github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= @@ -438,16 +438,16 @@ github.com/eclipse/paho.mqtt.golang v1.3.5 h1:sWtmgNxYM9P2sP+xEItMozsR3w0cqZFlqn github.com/eclipse/paho.mqtt.golang v1.3.5/go.mod h1:eTzb4gxwwyWpqBUHGQZ4ABAV7+Jgm1PklsYT/eo8Hcc= github.com/elastic/bayeux v1.0.5 h1:UceFq01ipmT3S8DzFK+uVAkbCdiPR0Bqei8qIGmUeY0= github.com/elastic/bayeux v1.0.5/go.mod h1:CSI4iP7qeo5MMlkznGvYKftp8M7qqP/3nzmVZoXHY68= -github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241202144630-0eb63c16f21a h1:bZLPxICBQF6vi7cKHBgpXD6MnNrkvBZ/trdmrpR/7iE= -github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241202144630-0eb63c16f21a/go.mod h1:PXesnqjLgwNDhPV0MD8+rhePhDYlcQ5y+o5Lmnb1qI4= +github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b h1:BMd6gkQF5Zk4rQ7ZbySgUpF5dPZFy4zAzV3Ujds6fw4= +github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b/go.mod h1:JZIuztvKeiuHUM8zvfQ24wz6nJPPOM1DVqu9FHu9a0Q= github.com/elastic/elastic-agent-autodiscover v0.9.0 h1:+iWIKh0u3e8I+CJa3FfWe9h0JojNasPgYIA47gpuuns= github.com/elastic/elastic-agent-autodiscover v0.9.0/go.mod h1:5iUxLHhVdaGSWYTveSwfJEY4RqPXTG13LPiFoxcpFd4= github.com/elastic/elastic-agent-client/v7 v7.17.0 h1:TPLrEHF4kJ3RkmQzZPffrniY4WeW4vriHZbOAzM1hFo= github.com/elastic/elastic-agent-client/v7 v7.17.0/go.mod h1:6h+f9QdIr3GO2ODC0Y8+aEXRwzbA5W4eV4dd/67z7nI= github.com/elastic/elastic-agent-libs v0.17.5 h1:oyv5BohMia+49tZnsOmTyRWp5LoZbH8iOmGa7c4TqTs= github.com/elastic/elastic-agent-libs v0.17.5/go.mod h1:5CR02awPrBr+tfmjBBK+JI+dMmHNQjpVY24J0wjbC7M= -github.com/elastic/elastic-agent-system-metrics v0.11.4 h1:Z/8CML5RKvGpi6/QUFok1K3EriBAv2kUAXnsk8hCifk= -github.com/elastic/elastic-agent-system-metrics v0.11.4/go.mod h1:TTW2ysv78uHBQ68hG8TXiaX1m6f29ZHgGWb8XONYsU8= +github.com/elastic/elastic-agent-system-metrics v0.11.5 h1:JSjXFEn8uYZ9hoC/GxZNMgJ622UoP96sjYP/49/Uvuo= +github.com/elastic/elastic-agent-system-metrics v0.11.5/go.mod h1:nzkrGajQA29YNcfP62gfzhxX9an3/xdQ3RmfQNw9YTI= github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/fsnotify v1.6.1-0.20240920222514-49f82bdbc9e3 h1:UyNbxdkQiSfyipwsOCWAlO+ju3xXC61Z4prx/HBTtFk= @@ -1710,6 +1710,8 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= 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/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= From 7980b914677d68b8f243091506504f97fd0d9d15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Dec 2024 14:52:44 +0100 Subject: [PATCH 03/17] build(deps): bump updatecli/updatecli-action from 2.74.0 to 2.75.0 (#6436) Bumps [updatecli/updatecli-action](https://github.com/updatecli/updatecli-action) from 2.74.0 to 2.75.0. - [Release notes](https://github.com/updatecli/updatecli-action/releases) - [Commits](https://github.com/updatecli/updatecli-action/compare/1e7fcb1c5df159bca56c24c5335a050d611fbfdd...4aca518a70708e38063453d8de9c551af7f48ac3) --- updated-dependencies: - dependency-name: updatecli/updatecli-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/bump-golang.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bump-golang.yml b/.github/workflows/bump-golang.yml index 728c84bd9a3..45d56e436bd 100644 --- a/.github/workflows/bump-golang.yml +++ b/.github/workflows/bump-golang.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - name: Install Updatecli in the runner - uses: updatecli/updatecli-action@1e7fcb1c5df159bca56c24c5335a050d611fbfdd # 2.74.0 + uses: updatecli/updatecli-action@4aca518a70708e38063453d8de9c551af7f48ac3 # 2.75.0 - name: Run Updatecli in Apply mode run: updatecli apply --config .ci/updatecli/updatecli-bump-golang.yml --values .ci/updatecli/values.d/scm.yml From c1d060e9c3b47b1273d1002d6eccdd67e010ab51 Mon Sep 17 00:00:00 2001 From: Tiago Queiroz Date: Mon, 30 Dec 2024 09:57:34 -0500 Subject: [PATCH 04/17] Add Journald to the examples and default configuration (#6414) --- _meta/config/common.p2.yml.tmpl | 10 ++++++++++ _meta/config/common.reference.p2.yml.tmpl | 11 +++++++++++ elastic-agent.reference.yml | 11 +++++++++++ elastic-agent.yml | 10 ++++++++++ 4 files changed, 42 insertions(+) diff --git a/_meta/config/common.p2.yml.tmpl b/_meta/config/common.p2.yml.tmpl index 784b538ab2d..57de0ec5d0a 100644 --- a/_meta/config/common.p2.yml.tmpl +++ b/_meta/config/common.p2.yml.tmpl @@ -52,6 +52,16 @@ inputs: # paths: # - /var/log/*.log +# # Collecting journald logs, including coredumps. +# - type: journald +# # Input ID allowing Elastic Agent to track the state of this input. Must be unique. +# id: your-journald-input-id +# streams: +# # Stream ID for this data stream allowing Filebeat to track the state of the ingested data. Must be unique. +# # Each journald data stream creates a separate instance of the Filebeat journald input. +# - id: your-journald-stream-id +# data_stream: +# dataset: generic # agent.monitoring: # # enabled turns on monitoring of running processes diff --git a/_meta/config/common.reference.p2.yml.tmpl b/_meta/config/common.reference.p2.yml.tmpl index 9a2e73fe31c..44de9243894 100644 --- a/_meta/config/common.reference.p2.yml.tmpl +++ b/_meta/config/common.reference.p2.yml.tmpl @@ -50,6 +50,17 @@ inputs: # paths: # - /var/log/*.log +# # Collecting journald logs, including coredumps. +# - type: journald +# # Input ID allowing Elastic Agent to track the state of this input. Must be unique. +# id: your-journald-input-id +# streams: +# # Stream ID for this data stream allowing Filebeat to track the state of the ingested data. Must be unique. +# # Each journald data stream creates a separate instance of the Filebeat journald input. +# - id: your-journald-stream-id +# data_stream: +# dataset: generic + # management: # # Mode of management, the Elastic Agent support two modes of operation: # # diff --git a/elastic-agent.reference.yml b/elastic-agent.reference.yml index fa3f2429fe5..bd1cc0f1273 100644 --- a/elastic-agent.reference.yml +++ b/elastic-agent.reference.yml @@ -56,6 +56,17 @@ inputs: # paths: # - /var/log/*.log +# # Collecting journald logs, including coredumps. +# - type: journald +# # Input ID allowing Elastic Agent to track the state of this input. Must be unique. +# id: your-journald-input-id +# streams: +# # Stream ID for this data stream allowing Filebeat to track the state of the ingested data. Must be unique. +# # Each journald data stream creates a separate instance of the Filebeat journald input. +# - id: your-journald-stream-id +# data_stream: +# dataset: generic + # management: # # Mode of management, the Elastic Agent support two modes of operation: # # diff --git a/elastic-agent.yml b/elastic-agent.yml index ae70df26213..c54cd81fe37 100644 --- a/elastic-agent.yml +++ b/elastic-agent.yml @@ -58,6 +58,16 @@ inputs: # paths: # - /var/log/*.log +# # Collecting journald logs, including coredumps. +# - type: journald +# # Input ID allowing Elastic Agent to track the state of this input. Must be unique. +# id: your-journald-input-id +# streams: +# # Stream ID for this data stream allowing Filebeat to track the state of the ingested data. Must be unique. +# # Each journald data stream creates a separate instance of the Filebeat journald input. +# - id: your-journald-stream-id +# data_stream: +# dataset: generic # agent.monitoring: # # enabled turns on monitoring of running processes From 4484c62753ed017f73c0506a092edc6260d2a0c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Dec 2024 07:38:20 +0100 Subject: [PATCH 05/17] build(deps): bump github.com/elastic/elastic-agent-system-metrics from 0.11.5 to 0.11.7 (#6450) * build(deps): bump github.com/elastic/elastic-agent-system-metrics Bumps [github.com/elastic/elastic-agent-system-metrics](https://github.com/elastic/elastic-agent-system-metrics) from 0.11.5 to 0.11.7. - [Release notes](https://github.com/elastic/elastic-agent-system-metrics/releases) - [Commits](https://github.com/elastic/elastic-agent-system-metrics/compare/v0.11.5...v0.11.7) --- updated-dependencies: - dependency-name: github.com/elastic/elastic-agent-system-metrics dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Update NOTICE.txt --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- NOTICE.txt | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 79e3bcc77dd..3df36715971 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1530,11 +1530,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-l -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.11.5 +Version: v0.11.7 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.7/LICENSE.txt: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index d7f283cf0bb..80eacd30241 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/elastic/elastic-agent-autodiscover v0.9.0 github.com/elastic/elastic-agent-client/v7 v7.17.0 github.com/elastic/elastic-agent-libs v0.17.5 - github.com/elastic/elastic-agent-system-metrics v0.11.5 + github.com/elastic/elastic-agent-system-metrics v0.11.7 github.com/elastic/elastic-transport-go/v8 v8.6.0 github.com/elastic/go-elasticsearch/v8 v8.17.0 github.com/elastic/go-licenser v0.4.2 diff --git a/go.sum b/go.sum index b1f388d5633..e76e0b329ba 100644 --- a/go.sum +++ b/go.sum @@ -446,8 +446,8 @@ github.com/elastic/elastic-agent-client/v7 v7.17.0 h1:TPLrEHF4kJ3RkmQzZPffrniY4W github.com/elastic/elastic-agent-client/v7 v7.17.0/go.mod h1:6h+f9QdIr3GO2ODC0Y8+aEXRwzbA5W4eV4dd/67z7nI= github.com/elastic/elastic-agent-libs v0.17.5 h1:oyv5BohMia+49tZnsOmTyRWp5LoZbH8iOmGa7c4TqTs= github.com/elastic/elastic-agent-libs v0.17.5/go.mod h1:5CR02awPrBr+tfmjBBK+JI+dMmHNQjpVY24J0wjbC7M= -github.com/elastic/elastic-agent-system-metrics v0.11.5 h1:JSjXFEn8uYZ9hoC/GxZNMgJ622UoP96sjYP/49/Uvuo= -github.com/elastic/elastic-agent-system-metrics v0.11.5/go.mod h1:nzkrGajQA29YNcfP62gfzhxX9an3/xdQ3RmfQNw9YTI= +github.com/elastic/elastic-agent-system-metrics v0.11.7 h1:1xm2okCM0eQZ4jivZgUFSlt6HAn/nPgKB/Fj8eLG6mY= +github.com/elastic/elastic-agent-system-metrics v0.11.7/go.mod h1:nzkrGajQA29YNcfP62gfzhxX9an3/xdQ3RmfQNw9YTI= github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/fsnotify v1.6.1-0.20240920222514-49f82bdbc9e3 h1:UyNbxdkQiSfyipwsOCWAlO+ju3xXC61Z4prx/HBTtFk= From 565d139a4de9038c95e16f8a90d9ece168488d85 Mon Sep 17 00:00:00 2001 From: Lee E Hinman <57081003+leehinman@users.noreply.github.com> Date: Tue, 31 Dec 2024 01:30:00 -0600 Subject: [PATCH 06/17] Add logging to EventLog for error, install, uninstall (#6410) Co-authored-by: Julien Lind --- ...Logging-to-install,-uninstall,-enroll.yaml | 32 +++++++++++++++++++ internal/pkg/agent/cmd/enroll.go | 1 + internal/pkg/agent/cmd/install.go | 1 + internal/pkg/agent/cmd/uninstall.go | 1 + 4 files changed, 35 insertions(+) create mode 100644 changelog/fragments/1734626964-Windows-add-Event-Logging-to-install,-uninstall,-enroll.yaml diff --git a/changelog/fragments/1734626964-Windows-add-Event-Logging-to-install,-uninstall,-enroll.yaml b/changelog/fragments/1734626964-Windows-add-Event-Logging-to-install,-uninstall,-enroll.yaml new file mode 100644 index 00000000000..b64393d748f --- /dev/null +++ b/changelog/fragments/1734626964-Windows-add-Event-Logging-to-install,-uninstall,-enroll.yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: enhancement + +# Change summary; a 80ish characters long description of the change. +summary: Windows add Event Logging to install, uninstall, enroll failures + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; a word indicating the component this changeset affects. +component: elastic-agent + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/6410 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +issue: https://github.com/elastic/elastic-agent/6338 diff --git a/internal/pkg/agent/cmd/enroll.go b/internal/pkg/agent/cmd/enroll.go index b1f82e6989e..534f89503f6 100644 --- a/internal/pkg/agent/cmd/enroll.go +++ b/internal/pkg/agent/cmd/enroll.go @@ -42,6 +42,7 @@ func newEnrollCommandWithArgs(_ []string, streams *cli.IOStreams) *cobra.Command Run: func(c *cobra.Command, args []string) { if err := enroll(streams, c); err != nil { fmt.Fprintf(streams.Err, "Error: %v\n%s\n", err, troubleshootMessage()) + logExternal(fmt.Sprintf("%s enroll failed: %s", paths.BinaryName, err)) os.Exit(1) } }, diff --git a/internal/pkg/agent/cmd/install.go b/internal/pkg/agent/cmd/install.go index b6f8447b779..8d70c2bd3c0 100644 --- a/internal/pkg/agent/cmd/install.go +++ b/internal/pkg/agent/cmd/install.go @@ -47,6 +47,7 @@ would like the Agent to operate. Run: func(c *cobra.Command, _ []string) { if err := installCmd(streams, c); err != nil { fmt.Fprintf(streams.Err, "Error: %v\n%s\n", err, troubleshootMessage()) + logExternal(fmt.Sprintf("%s install failed: %s", paths.BinaryName, err)) os.Exit(1) } }, diff --git a/internal/pkg/agent/cmd/uninstall.go b/internal/pkg/agent/cmd/uninstall.go index 0fb69157082..0a5c39b2467 100644 --- a/internal/pkg/agent/cmd/uninstall.go +++ b/internal/pkg/agent/cmd/uninstall.go @@ -29,6 +29,7 @@ Unless -f is used this command will ask confirmation before performing removal. Run: func(c *cobra.Command, _ []string) { if err := uninstallCmd(streams, c); err != nil { fmt.Fprintf(streams.Err, "Error: %v\n%s\n", err, troubleshootMessage()) + logExternal(fmt.Sprintf("%s uninstall failed: %s", paths.BinaryName, err)) os.Exit(1) } }, From 41e7499ce71e3f5878575ffd6d7d1f4a2d0732c4 Mon Sep 17 00:00:00 2001 From: Rohit <59366992+Rohit-code14@users.noreply.github.com> Date: Tue, 31 Dec 2024 15:50:04 +0530 Subject: [PATCH 07/17] Added skip audit/unenroll flag to uninstall command (#6206) * Added skip audit/unenroll flag to uninstall command * Added tests for skip-fleet-audit flag * Added tests for skip-fleet-audit flag * Added tests for skip-fleet-audit flag * ran mage fmt * Test all combinations for which fleet audit/unenroll will be skipped --------- Co-authored-by: Michal Pristas --- .../1733248787-flag-to-skip-fleet-audit.yaml | 32 ++++++++++++++ internal/pkg/agent/cmd/install.go | 4 +- internal/pkg/agent/cmd/uninstall.go | 4 +- internal/pkg/agent/install/uninstall.go | 16 ++++--- internal/pkg/agent/install/uninstall_test.go | 42 +++++++++++++++++++ 5 files changed, 90 insertions(+), 8 deletions(-) create mode 100644 changelog/fragments/1733248787-flag-to-skip-fleet-audit.yaml diff --git a/changelog/fragments/1733248787-flag-to-skip-fleet-audit.yaml b/changelog/fragments/1733248787-flag-to-skip-fleet-audit.yaml new file mode 100644 index 00000000000..023cb7e589f --- /dev/null +++ b/changelog/fragments/1733248787-flag-to-skip-fleet-audit.yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: enhancement + +# Change summary; a 80ish characters long description of the change. +summary: Add a flag to skip audit/unenroll call to fleet server during uninstall + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +description: This change adds a flag to skip audit/unenroll call to fleet server. While uninstalling elastic-agent it tries to notify fleet server about the uninstallation. But in somecases users might know that the fleet server is unreachable and this notification logs multiple failures continuously. Adding this flag skips this call. + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: "elastic-agent" + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +#pr: https://github.com/owner/repo/1234 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +#issue: https://github.com/owner/repo/1234 diff --git a/internal/pkg/agent/cmd/install.go b/internal/pkg/agent/cmd/install.go index 8d70c2bd3c0..90090e3ecfd 100644 --- a/internal/pkg/agent/cmd/install.go +++ b/internal/pkg/agent/cmd/install.go @@ -253,7 +253,7 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command) error { return err } } else { - err := install.Uninstall(cmd.Context(), cfgFile, topPath, "", log, progBar) + err := install.Uninstall(cmd.Context(), cfgFile, topPath, "", log, progBar, false) if err != nil { progBar.Describe("Uninstall from binary failed") return err @@ -277,7 +277,7 @@ func installCmd(streams *cli.IOStreams, cmd *cobra.Command) error { defer func() { if err != nil { progBar.Describe("Uninstalling") - innerErr := install.Uninstall(cmd.Context(), cfgFile, topPath, "", log, progBar) + innerErr := install.Uninstall(cmd.Context(), cfgFile, topPath, "", log, progBar, false) if innerErr != nil { progBar.Describe("Failed to Uninstall") } else { diff --git a/internal/pkg/agent/cmd/uninstall.go b/internal/pkg/agent/cmd/uninstall.go index 0a5c39b2467..26c670f07da 100644 --- a/internal/pkg/agent/cmd/uninstall.go +++ b/internal/pkg/agent/cmd/uninstall.go @@ -37,6 +37,7 @@ Unless -f is used this command will ask confirmation before performing removal. cmd.Flags().BoolP("force", "f", false, "Force overwrite the current and do not prompt for confirmation") cmd.Flags().String("uninstall-token", "", "Uninstall token required for protected agent uninstall") + cmd.Flags().Bool("skip-fleet-audit", false, "Skip fleet audit/unenroll") return cmd } @@ -61,6 +62,7 @@ func uninstallCmd(streams *cli.IOStreams, cmd *cobra.Command) error { force, _ := cmd.Flags().GetBool("force") uninstallToken, _ := cmd.Flags().GetString("uninstall-token") + skipFleetAudit, _ := cmd.Flags().GetBool("skip-fleet-audit") if status == install.Broken { if !force { fmt.Fprintf(streams.Out, "Elastic Agent is installed but currently broken: %s\n", reason) @@ -95,7 +97,7 @@ func uninstallCmd(streams *cli.IOStreams, cmd *cobra.Command) error { fmt.Fprint(os.Stderr, logBuff.String()) }() - err = install.Uninstall(cmd.Context(), paths.ConfigFile(), paths.Top(), uninstallToken, log, progBar) + err = install.Uninstall(cmd.Context(), paths.ConfigFile(), paths.Top(), uninstallToken, log, progBar, skipFleetAudit) if err != nil { progBar.Describe("Failed to uninstall agent") return fmt.Errorf("error uninstalling agent: %w", err) diff --git a/internal/pkg/agent/install/uninstall.go b/internal/pkg/agent/install/uninstall.go index f08e753964d..4f2be70ff12 100644 --- a/internal/pkg/agent/install/uninstall.go +++ b/internal/pkg/agent/install/uninstall.go @@ -55,7 +55,7 @@ func (a *agentInfo) AgentID() string { } // Uninstall uninstalls persistently Elastic Agent on the system. -func Uninstall(ctx context.Context, cfgFile, topPath, uninstallToken string, log *logp.Logger, pt *progressbar.ProgressBar) error { +func Uninstall(ctx context.Context, cfgFile, topPath, uninstallToken string, log *logp.Logger, pt *progressbar.ProgressBar, skipFleetAudit bool) error { cwd, err := os.Getwd() if err != nil { return fmt.Errorf("unable to get current working directory") @@ -166,13 +166,19 @@ func Uninstall(ctx context.Context, cfgFile, topPath, uninstallToken string, log } pt.Describe("Removed install directory") - if notifyFleet && !localFleet { - notifyFleetAuditUninstall(ctx, log, pt, cfg, &agentID) //nolint:errcheck // ignore the error as we can't act on it - } - + notifyFleetIfNeeded(ctx, log, pt, cfg, agentID, notifyFleet, localFleet, skipFleetAudit, notifyFleetAuditUninstall) return nil } +// Injecting notifyFleetAuditUninstall for easier unit testing +func notifyFleetIfNeeded(ctx context.Context, log *logp.Logger, pt *progressbar.ProgressBar, cfg *configuration.Configuration, agentID agentInfo, notifyFleet, localFleet, skipFleetAudit bool, notifyFleetAuditUninstall NotifyFleetAuditUninstall) { + if notifyFleet && !localFleet && !skipFleetAudit { + notifyFleetAuditUninstall(ctx, log, pt, cfg, &agentID) //nolint:errcheck // ignore the error as we can't act on it) + } +} + +type NotifyFleetAuditUninstall func(ctx context.Context, log *logp.Logger, pt *progressbar.ProgressBar, cfg *configuration.Configuration, ai fleetapi.AgentInfo) error + // notifyFleetAuditUninstall will attempt to notify fleet-server of the agent's uninstall. // // There are retries for the attempt after a 10s wait, but it is a best-effort approach. diff --git a/internal/pkg/agent/install/uninstall_test.go b/internal/pkg/agent/install/uninstall_test.go index 19b5afdee95..d2465fa1d87 100644 --- a/internal/pkg/agent/install/uninstall_test.go +++ b/internal/pkg/agent/install/uninstall_test.go @@ -26,6 +26,7 @@ import ( "github.com/elastic/elastic-agent/internal/pkg/agent/application/secret" "github.com/elastic/elastic-agent/internal/pkg/agent/configuration" "github.com/elastic/elastic-agent/internal/pkg/agent/vault" + "github.com/elastic/elastic-agent/internal/pkg/fleetapi" "github.com/elastic/elastic-agent/internal/pkg/fleetapi/client" "github.com/elastic/elastic-agent/internal/pkg/remote" ) @@ -226,3 +227,44 @@ func TestNotifyFleetAuditUnenroll(t *testing.T) { }) } + +type MockNotifyFleetAuditUninstall struct { + Called bool +} + +func (m *MockNotifyFleetAuditUninstall) Call(ctx context.Context, log *logp.Logger, pt *progressbar.ProgressBar, cfg *configuration.Configuration, ai fleetapi.AgentInfo) { + m.Called = true +} + +func TestSkipFleetAuditUnenroll(t *testing.T) { + log := &logp.Logger{} + pt := &progressbar.ProgressBar{} + cfg := &configuration.Configuration{} + var agentID agentInfo = "testID" + + testCases := []struct { + notifyFleet bool + localFleet bool + skipFleetAudit bool + }{ + {true, true, true}, + {true, true, false}, + {true, false, true}, + {false, true, true}, + {false, true, false}, + {false, false, true}, + {false, false, false}, + } + + for i, tc := range testCases { + t.Run( + fmt.Sprintf("test case #%d: %t:%t:%t", i, tc.notifyFleet, tc.localFleet, tc.skipFleetAudit), + func(t *testing.T) { + mockNotify := &MockNotifyFleetAuditUninstall{} + notifyFleetIfNeeded(context.Background(), log, pt, cfg, agentID, tc.notifyFleet, tc.localFleet, tc.skipFleetAudit, notifyFleetAuditUninstall) + assert.False(t, mockNotify.Called, "NotifyFleetAuditUninstall should not be invoked when notifyFleet: %t - localFleet: %t - skipFleetAudit: %t", tc.notifyFleet, tc.localFleet, tc.skipFleetAudit) + }, + ) + } + +} From 63686c422ca25ace6e85696664fe0352830ca304 Mon Sep 17 00:00:00 2001 From: Denis Date: Tue, 31 Dec 2024 13:05:14 +0100 Subject: [PATCH 08/17] Build only cloud image variant when it's requested (#6408) Before this change we were building all possible Docker images to produce the cloud image. Which is unnecessary and takes a long time. Now only the `cloud` variant is built. --- magefile.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/magefile.go b/magefile.go index 1e3839d1255..7a916035b7c 100644 --- a/magefile.go +++ b/magefile.go @@ -84,6 +84,7 @@ const ( externalArtifacts = "EXTERNAL" platformsEnv = "PLATFORMS" packagesEnv = "PACKAGES" + dockerVariants = "DOCKER_VARIANTS" configFile = "elastic-agent.yml" agentDropPath = "AGENT_DROP_PATH" checksumFilename = "checksum.yml" @@ -782,9 +783,13 @@ func (Cloud) Image(ctx context.Context) { dev := os.Getenv(devEnv) defer os.Setenv(devEnv, dev) + variant := os.Getenv(dockerVariants) + defer os.Setenv(dockerVariants, variant) + os.Setenv(platformsEnv, "linux/amd64") os.Setenv(packagesEnv, "docker") os.Setenv(devEnv, "true") + os.Setenv(dockerVariants, "cloud") if s, err := strconv.ParseBool(snapshot); err == nil && !s { // only disable SNAPSHOT build when explicitely defined @@ -798,6 +803,7 @@ func (Cloud) Image(ctx context.Context) { devtools.DevBuild = true devtools.Platforms = devtools.Platforms.Filter("linux/amd64") devtools.SelectedPackageTypes = []devtools.PackageType{devtools.Docker} + devtools.SelectedDockerVariants = []devtools.DockerVariant{devtools.Cloud} if _, hasExternal := os.LookupEnv(externalArtifacts); !hasExternal { devtools.ExternalBuild = true From 68d58336e229acdcec067b59571bf0bd5a030d1e Mon Sep 17 00:00:00 2001 From: Kaan Yalti Date: Tue, 31 Dec 2024 08:56:20 -0500 Subject: [PATCH 09/17] fix(6023): replace list with items (#6437) * fix(6023): replace list with items * fix(6023): added changelog * fix(6023): added test validating the new items matches the deprecated list * fix(6023): added comment to better trace where the integration test comes from The integration test added in this pull request needs to be removed once the list component is removed from the kibana api * fixs(6023): ran mage update * fix(6023): add build tag to integration test * fix(6023): added unit test for kibanaFetchToken * fix(6023): added error checks in unit test --- ...ove-deprecated-list-in-favor-of-items.yaml | 31 +++++++++ internal/pkg/agent/cmd/container.go | 13 ++-- internal/pkg/agent/cmd/container_test.go | 68 +++++++++++++++++++ .../validate_items_deprecated_list_test.go | 66 ++++++++++++++++++ 4 files changed, 171 insertions(+), 7 deletions(-) create mode 100644 changelog/fragments/1735137195-remove-deprecated-list-in-favor-of-items.yaml create mode 100644 testing/integration/validate_items_deprecated_list_test.go diff --git a/changelog/fragments/1735137195-remove-deprecated-list-in-favor-of-items.yaml b/changelog/fragments/1735137195-remove-deprecated-list-in-favor-of-items.yaml new file mode 100644 index 00000000000..015675d0e8e --- /dev/null +++ b/changelog/fragments/1735137195-remove-deprecated-list-in-favor-of-items.yaml @@ -0,0 +1,31 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: feature + +# Change summary; a 80ish characters long description of the change. +summary: removes `list` from kibanaFetchToken in favor of `items` as the former is deprecated and will be removed from the api response + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: "elastic-agent" + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/pull/6437 +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +issue: https://github.com/elastic/elastic-agent/issues/6023 diff --git a/internal/pkg/agent/cmd/container.go b/internal/pkg/agent/cmd/container.go index b807c8ec162..a983f4df3eb 100644 --- a/internal/pkg/agent/cmd/container.go +++ b/internal/pkg/agent/cmd/container.go @@ -51,11 +51,9 @@ const ( logsPathPerms = 0775 ) -var ( - // Used to strip the appended ({uuid}) from the name of an enrollment token. This makes much easier for - // a container to reference a token by name, without having to know what the generated UUID is for that name. - tokenNameStrip = regexp.MustCompile(`\s\([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\)$`) -) +// Used to strip the appended ({uuid}) from the name of an enrollment token. This makes much easier for +// a container to reference a token by name, without having to know what the generated UUID is for that name. +var tokenNameStrip = regexp.MustCompile(`\s\([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\)$`) func newContainerCommand(_ []string, streams *cli.IOStreams) *cobra.Command { cmd := cobra.Command{ @@ -293,6 +291,7 @@ func runContainerCmd(streams *cli.IOStreams, cfg setupConfig) error { return err } } + if cfg.Fleet.Enroll { var policy *kibanaPolicy token := cfg.Fleet.EnrollmentToken @@ -547,7 +546,7 @@ func kibanaFetchToken(cfg setupConfig, client *kibana.Client, policy *kibanaPoli if err != nil { return "", err } - key, err := findKey(keys.List, policy, tokenName) + key, err := findKey(keys.Items, policy, tokenName) if err != nil { return "", err } @@ -951,7 +950,7 @@ type kibanaAPIKey struct { } type kibanaAPIKeys struct { - List []kibanaAPIKey `json:"list"` + Items []kibanaAPIKey `json:"items"` } type kibanaAPIKeyDetail struct { diff --git a/internal/pkg/agent/cmd/container_test.go b/internal/pkg/agent/cmd/container_test.go index 3ada160fee8..1136985a4e6 100644 --- a/internal/pkg/agent/cmd/container_test.go +++ b/internal/pkg/agent/cmd/container_test.go @@ -5,11 +5,17 @@ package cmd import ( + "encoding/json" + "net/http" + "net/http/httptest" + "strings" "testing" "time" "github.com/stretchr/testify/require" + "github.com/elastic/elastic-agent-libs/kibana" + "github.com/elastic/elastic-agent/internal/pkg/cli" "github.com/elastic/elastic-agent/internal/pkg/config" ) @@ -173,3 +179,65 @@ func TestBuildEnrollArgs(t *testing.T) { }) } } + +func TestKibanaFetchToken(t *testing.T) { + t.Run("should fetch details from items in the api response", func(t *testing.T) { + mux := http.NewServeMux() + mux.HandleFunc("/api/fleet/enrollment_api_keys/", func(w http.ResponseWriter, r *http.Request) { + basePath := "/api/fleet/enrollment_api_keys/" + + apiKey := kibanaAPIKey{ + ID: "id", + PolicyID: "policyID", + Name: "tokenName", + APIKey: "apiKey", + } + + trimmed := strings.TrimPrefix(r.URL.String(), basePath) + if trimmed == "" { + apiKeys := kibanaAPIKeys{ + Items: []kibanaAPIKey{ + apiKey, + }, + } + b, err := json.Marshal(apiKeys) + require.NoError(t, err) + + _, err = w.Write(b) + require.NoError(t, err) + + return + } + + keyDetail := kibanaAPIKeyDetail{ + Item: apiKey, + } + b, err := json.Marshal(keyDetail) + require.NoError(t, err) + + _, err = w.Write(b) + require.NoError(t, err) + }) + + policy := kibanaPolicy{ + ID: "policyID", + } + + server := httptest.NewServer(mux) + defer server.Close() + + client := &kibana.Client{ + Connection: kibana.Connection{ + URL: server.URL, + Username: "", + Password: "", + APIKey: "", + ServiceToken: "", + HTTP: &http.Client{}, + }, + } + ak, err := kibanaFetchToken(setupConfig{Kibana: kibanaConfig{RetryMaxCount: 1}}, client, &policy, cli.NewIOStreams(), "tokenName") + require.NoError(t, err) + require.Equal(t, "apiKey", ak) + }) +} diff --git a/testing/integration/validate_items_deprecated_list_test.go b/testing/integration/validate_items_deprecated_list_test.go new file mode 100644 index 00000000000..ce7828bf487 --- /dev/null +++ b/testing/integration/validate_items_deprecated_list_test.go @@ -0,0 +1,66 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License 2.0; +// you may not use this file except in compliance with the Elastic License 2.0. + +//go:build integration + +package integration + +import ( + "encoding/json" + "io" + "net/http" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/elastic/elastic-agent/pkg/testing/define" +) + +type testKibanaApiKey struct { + ID string `json:"id"` + Name string `json:"name"` + Active bool `json:"active"` + PolicyID string `json:"policy_id"` + APIKey string `json:"api_key"` +} + +type deprecatedBody struct { + List []testKibanaApiKey `json:"list"` +} + +type newBody struct { + Items []testKibanaApiKey `json:"items"` +} + +// TODO: Remove test after list deprecation is complete +// Added by https://github.com/elastic/elastic-agent/pull/6437 +func TestItemsMatchDeprecatedList(t *testing.T) { + info := define.Require(t, define.Requirements{ + Group: Default, + Stack: &define.Stack{}, + Local: true, + Sudo: false, + }) + + res, err := info.KibanaClient.Connection.Send(http.MethodGet, "/api/fleet/enrollment_api_keys", nil, nil, nil) + require.NoError(t, err) + defer res.Body.Close() + + body, err := io.ReadAll(res.Body) + require.NoError(t, err) + + dpb := deprecatedBody{} + nb := newBody{} + + err = json.Unmarshal(body, &dpb) + require.NoError(t, err) + + err = json.Unmarshal(body, &nb) + require.NoError(t, err) + + require.Equal(t, len(dpb.List), len(nb.Items)) + for i := 0; i < len(dpb.List); i++ { + require.Equal(t, dpb.List[i], nb.Items[i]) + } +} From ed4f9235df42c3c4cda5c310cd483501ac340b8f Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Wed, 1 Jan 2025 13:35:25 +0200 Subject: [PATCH 10/17] feat: implement support for creating services for agent presets (#6002) --- .../examples/netflow-service/README.md | 28 +++ .../netflow-service/agent-netflow-values.yaml | 62 +++++++ .../netflow-service/rendered/manifest.yaml | 168 ++++++++++++++++++ .../templates/agent/eck/_pod_template.yaml | 20 ++- .../templates/agent/eck/deployment.yaml | 2 +- .../templates/agent/eck/statefulset.yaml | 2 +- .../templates/agent/k8s/_pod_template.yaml | 20 ++- .../templates/agent/k8s/daemonset.yaml | 2 +- .../templates/agent/k8s/deployment.yaml | 2 +- .../templates/agent/k8s/statefulset.yaml | 2 +- .../templates/agent/service.yaml | 48 +++++ deploy/helm/elastic-agent/values.schema.json | 143 +++++++++++++++ 12 files changed, 492 insertions(+), 7 deletions(-) create mode 100644 deploy/helm/elastic-agent/examples/netflow-service/README.md create mode 100644 deploy/helm/elastic-agent/examples/netflow-service/agent-netflow-values.yaml create mode 100644 deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml create mode 100644 deploy/helm/elastic-agent/templates/agent/service.yaml diff --git a/deploy/helm/elastic-agent/examples/netflow-service/README.md b/deploy/helm/elastic-agent/examples/netflow-service/README.md new file mode 100644 index 00000000000..d4e4337c74c --- /dev/null +++ b/deploy/helm/elastic-agent/examples/netflow-service/README.md @@ -0,0 +1,28 @@ +# Example: Netflow Custom Integration + +In this example we define a `netflow` custom integration alongside a custom agent preset defined in [agent-netflow-values.yaml](agent-netflow-values.yaml). Also, we disable all `kubernetes` related providers and creation of cluster role and service account, as they are not required for this example. + +## Prerequisites: +1. A k8s secret that contains the connection details to an Elasticsearch cluster such as the URL and the API key ([Kibana - Creating API Keys](https://www.elastic.co/guide/en/kibana/current/api-keys.html)): + ```console + kubectl create secret generic es-api-secret \ + --from-literal=api_key=... \ + --from-literal=url=... + ``` + +2. `NetFlow Records` integration assets are installed through Kibana + +## Run: +1. Install Helm chart + ```console + helm install elastic-agent ../../ -f ./agent-netflow-values.yaml + ``` + +2. Run the netflow data generator deployment + ```console + kubectl run -it --rm netflow-generator --image=networkstatic/nflow-generator --restart=Never -- -t agent-netflow-elastic-agent.default.svc.cluster.local -p 2055 + ``` + +## Validate: + +1. The Kibana `netflow`-related dashboards should start showing netflow related data. diff --git a/deploy/helm/elastic-agent/examples/netflow-service/agent-netflow-values.yaml b/deploy/helm/elastic-agent/examples/netflow-service/agent-netflow-values.yaml new file mode 100644 index 00000000000..59d0d0040aa --- /dev/null +++ b/deploy/helm/elastic-agent/examples/netflow-service/agent-netflow-values.yaml @@ -0,0 +1,62 @@ +outputs: + default: + type: ESSecretAuthAPI + secretName: es-api-secret + +extraIntegrations: + netflow: + id: netflow-netflow-60a9d5b2-c611-4749-90bf-5e2443936c1d + name: netflow-1 + preset: netflow + revision: 1 + type: netflow + use_output: default + meta: + package: + name: netflow + version: 2.19.1 + data_stream: + namespace: default + package_policy_id: 60a9d5b2-c611-4749-90bf-5e2443936c1d + streams: + - id: netflow-netflow.log-60a9d5b2-c611-4749-90bf-5e2443936c1d + data_stream: + dataset: netflow.log + type: logs + protocols: + - v1 + - v5 + - v6 + - v7 + - v8 + - v9 + - ipfix + host: '0.0.0.0:2055' + max_message_size: 10KiB + expiration_timeout: 30m + queue_size: 8192 + detect_sequence_reset: true + tags: + - netflow + - forwarded + publisher_pipeline.disable_host: true + +kubernetes: + enabled: false + +agent: + unprivileged: true + presets: + netflow: + automountServiceAccountToken: false + mode: deployment + service: + type: ClusterIP + ports: + - containerPort: 2055 + servicePort: 2055 + protocol: UDP + serviceAccount: + create: false + clusterRole: + create: false diff --git a/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml new file mode 100644 index 00000000000..b768f25fd14 --- /dev/null +++ b/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml @@ -0,0 +1,168 @@ +--- +# Source: elastic-agent/templates/agent/k8s/secret.yaml +apiVersion: v1 +kind: Secret +metadata: + name: agent-netflow-example + namespace: "default" + labels: + helm.sh/chart: elastic-agent-9.0.0-beta + app.kubernetes.io/name: elastic-agent + app.kubernetes.io/instance: example + app.kubernetes.io/version: 9.0.0 +stringData: + + agent.yml: |- + id: agent-netflow-example + outputs: + default: + api_key: ${OUTPUT_DEFAULT_API_KEY} + hosts: + - ${OUTPUT_DEFAULT_URL} + type: elasticsearch + secret_references: [] + inputs: + - data_stream: + namespace: default + id: netflow-netflow-60a9d5b2-c611-4749-90bf-5e2443936c1d + meta: + package: + name: netflow + version: 2.19.1 + name: netflow-1 + package_policy_id: 60a9d5b2-c611-4749-90bf-5e2443936c1d + preset: netflow + revision: 1 + streams: + - data_stream: + dataset: netflow.log + type: logs + detect_sequence_reset: true + expiration_timeout: 30m + host: 0.0.0.0:2055 + id: netflow-netflow.log-60a9d5b2-c611-4749-90bf-5e2443936c1d + max_message_size: 10KiB + protocols: + - v1 + - v5 + - v6 + - v7 + - v8 + - v9 + - ipfix + publisher_pipeline.disable_host: true + queue_size: 8192 + tags: + - netflow + - forwarded + type: netflow + use_output: default + providers: + kubernetes_leaderelection: + enabled: false + leader_lease: example-netflow +--- +# Source: elastic-agent/templates/agent/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: agent-netflow-example + namespace: "default" + labels: + helm.sh/chart: elastic-agent-9.0.0-beta + app.kubernetes.io/name: elastic-agent + app.kubernetes.io/instance: example + app.kubernetes.io/version: 9.0.0 +spec: + type: ClusterIP + selector: + name: agent-netflow-example + ports: + - port: 2055 + targetPort: 2055 + protocol: UDP +--- +# Source: elastic-agent/templates/agent/k8s/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: agent-netflow-example + namespace: "default" + labels: + helm.sh/chart: elastic-agent-9.0.0-beta + app.kubernetes.io/name: elastic-agent + app.kubernetes.io/instance: example + app.kubernetes.io/version: 9.0.0 +spec: + selector: + matchLabels: + name: agent-netflow-example + template: + metadata: + labels: + name: agent-netflow-example + annotations: + checksum/config: 4e9f48f0d6ae172f2f6aa5d526b0ca3af7dd28250e7c06c9d4e67ec0a2fc4573 + spec: + automountServiceAccountToken: false + containers: + - args: + - -c + - /etc/elastic-agent/agent.yml + - -e + env: + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: STATE_PATH + value: /usr/share/elastic-agent/state + - name: OUTPUT_DEFAULT_URL + valueFrom: + secretKeyRef: + key: url + name: es-api-secret + - name: OUTPUT_DEFAULT_API_KEY + valueFrom: + secretKeyRef: + key: api_key + name: es-api-secret + image: docker.elastic.co/beats/elastic-agent:9.0.0-SNAPSHOT + imagePullPolicy: IfNotPresent + name: agent + ports: + - containerPort: 2055 + protocol: UDP + securityContext: + capabilities: + add: + - CHOWN + - SETPCAP + - DAC_READ_SEARCH + - SYS_PTRACE + drop: + - ALL + privileged: false + runAsGroup: 1000 + runAsUser: 1000 + volumeMounts: + - mountPath: /usr/share/elastic-agent/state + name: agent-data + - mountPath: /etc/elastic-agent/agent.yml + name: config + readOnly: true + subPath: agent.yml + dnsPolicy: ClusterFirstWithHostNet + volumes: + - hostPath: + path: /etc/elastic-agent/default/agent-netflow-example/state + type: DirectoryOrCreate + name: agent-data + - name: config + secret: + defaultMode: 292 + secretName: agent-netflow-example diff --git a/deploy/helm/elastic-agent/templates/agent/eck/_pod_template.yaml b/deploy/helm/elastic-agent/templates/agent/eck/_pod_template.yaml index 1bc118743db..4b7e4b8b295 100644 --- a/deploy/helm/elastic-agent/templates/agent/eck/_pod_template.yaml +++ b/deploy/helm/elastic-agent/templates/agent/eck/_pod_template.yaml @@ -72,6 +72,24 @@ template: resources: {{- . | toYaml | nindent 10 }} {{- end }} + {{- with ($presetVal).ports }} + ports: + {{- range $idx, $port := . }} + - containerPort: {{ $port.containerPort }} + {{- with $port.protocol | default "TCP" }} + protocol: {{ . }} + {{- end }} + {{- with $port.name }} + name: {{ . }} + {{- end }} + {{- with $port.hostPort }} + hostPort: {{ . }} + {{- end }} + {{- with $port.hostIP }} + hostIP: {{ . }} + {{- end }} + {{- end }} + {{- end }} volumeMounts: {{- with ($presetVal).extraVolumeMounts }} {{- . | toYaml | nindent 10 }} @@ -93,7 +111,7 @@ template: {{- if eq $.Values.agent.fleet.enabled false }} {{- with ($presetVal).outputs }} {{- range $outputName, $outputVal := . -}} - {{- (include (printf "elasticagent.output.%s.preset.envvars" ($outputVal).type) (list $ $outputName $outputVal)) | nindent 14 }} + {{- (include (printf "elasticagent.output.%s.preset.envvars" ($outputVal).type) (list $ $outputName $outputVal)) | nindent 10 }} {{- end }} {{- end }} {{- end }} diff --git a/deploy/helm/elastic-agent/templates/agent/eck/deployment.yaml b/deploy/helm/elastic-agent/templates/agent/eck/deployment.yaml index d1237d84043..956c6a6782f 100644 --- a/deploy/helm/elastic-agent/templates/agent/eck/deployment.yaml +++ b/deploy/helm/elastic-agent/templates/agent/eck/deployment.yaml @@ -2,7 +2,7 @@ {{- range $presetName, $presetVal := $.Values.agent.presets -}} {{- if and (eq ($presetVal).mode "deployment") (eq $.Values.agent.engine "eck") -}} {{- $agentName := include "elasticagent.preset.fullname" (list $ $presetName) -}} -{{- $podTemplateResource := include "elasticagent.engine.eck.podTemplate" (list $ $presetVal $agentName) | fromYaml -}} +{{- $podTemplateResource := include "elasticagent.engine.eck.podTemplate" (list $ $presetVal $agentName) | fromYaml }} apiVersion: agent.k8s.elastic.co/v1alpha1 kind: Agent metadata: diff --git a/deploy/helm/elastic-agent/templates/agent/eck/statefulset.yaml b/deploy/helm/elastic-agent/templates/agent/eck/statefulset.yaml index 3a32fae7be8..f5a0153c88c 100644 --- a/deploy/helm/elastic-agent/templates/agent/eck/statefulset.yaml +++ b/deploy/helm/elastic-agent/templates/agent/eck/statefulset.yaml @@ -2,7 +2,7 @@ {{- range $presetName, $presetVal := $.Values.agent.presets -}} {{- if and (eq ($presetVal).mode "statefulset") (eq $.Values.agent.engine "eck") -}} {{- $agentName := include "elasticagent.preset.fullname" (list $ $presetName) -}} -{{- $podTemplateResource := include "elasticagent.engine.eck.podTemplate" (list $ $presetVal $agentName) | fromYaml -}} +{{- $podTemplateResource := include "elasticagent.engine.eck.podTemplate" (list $ $presetVal $agentName) | fromYaml }} apiVersion: agent.k8s.elastic.co/v1alpha1 kind: Agent metadata: diff --git a/deploy/helm/elastic-agent/templates/agent/k8s/_pod_template.yaml b/deploy/helm/elastic-agent/templates/agent/k8s/_pod_template.yaml index d21de316317..afc8c5ab05d 100644 --- a/deploy/helm/elastic-agent/templates/agent/k8s/_pod_template.yaml +++ b/deploy/helm/elastic-agent/templates/agent/k8s/_pod_template.yaml @@ -98,6 +98,24 @@ template: resources: {{- . | toYaml | nindent 10 }} {{- end }} + {{- with ($presetVal).ports }} + ports: + {{- range $idx, $port := . }} + - containerPort: {{ $port.containerPort }} + {{- with $port.protocol | default "TCP" }} + protocol: {{ . }} + {{- end }} + {{- with $port.name }} + name: {{ . }} + {{- end }} + {{- with $port.hostPort }} + hostPort: {{ . }} + {{- end }} + {{- with $port.hostIP }} + hostIP: {{ . }} + {{- end }} + {{- end }} + {{- end }} volumeMounts: {{- $definedAgentStateVolumeMount := false -}} {{- with ($presetVal).extraVolumeMounts }} @@ -135,7 +153,7 @@ template: {{- if eq $.Values.agent.fleet.enabled false }} {{- with ($presetVal).outputs }} {{- range $outputName, $outputVal := . -}} - {{- (include (printf "elasticagent.output.%s.preset.envvars" ($outputVal).type) (list $ $outputName $outputVal)) | nindent 12 }} + {{- (include (printf "elasticagent.output.%s.preset.envvars" ($outputVal).type) (list $ $outputName $outputVal)) | nindent 10 }} {{- end }} {{- end }} {{- end }} diff --git a/deploy/helm/elastic-agent/templates/agent/k8s/daemonset.yaml b/deploy/helm/elastic-agent/templates/agent/k8s/daemonset.yaml index 653038b2403..ca152c860b8 100644 --- a/deploy/helm/elastic-agent/templates/agent/k8s/daemonset.yaml +++ b/deploy/helm/elastic-agent/templates/agent/k8s/daemonset.yaml @@ -2,7 +2,7 @@ {{- range $presetName, $presetVal := $.Values.agent.presets -}} {{- if and (eq ($presetVal).mode "daemonset") (eq $.Values.agent.engine "k8s") -}} {{- $agentName := include "elasticagent.preset.fullname" (list $ $presetName) -}} -{{- $podTemplateResource := include "elasticagent.engine.k8s.podTemplate" (list $ $presetVal $agentName) | fromYaml -}} +{{- $podTemplateResource := include "elasticagent.engine.k8s.podTemplate" (list $ $presetVal $agentName) | fromYaml }} apiVersion: apps/v1 kind: DaemonSet metadata: diff --git a/deploy/helm/elastic-agent/templates/agent/k8s/deployment.yaml b/deploy/helm/elastic-agent/templates/agent/k8s/deployment.yaml index fccf2f8061b..44c66451255 100644 --- a/deploy/helm/elastic-agent/templates/agent/k8s/deployment.yaml +++ b/deploy/helm/elastic-agent/templates/agent/k8s/deployment.yaml @@ -2,7 +2,7 @@ {{- range $presetName, $presetVal := $.Values.agent.presets -}} {{- if and (eq ($presetVal).mode "deployment") (eq $.Values.agent.engine "k8s") -}} {{- $agentName := include "elasticagent.preset.fullname" (list $ $presetName) -}} -{{- $podTemplateResource := include "elasticagent.engine.k8s.podTemplate" (list $ $presetVal $agentName) | fromYaml -}} +{{- $podTemplateResource := include "elasticagent.engine.k8s.podTemplate" (list $ $presetVal $agentName) | fromYaml }} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/deploy/helm/elastic-agent/templates/agent/k8s/statefulset.yaml b/deploy/helm/elastic-agent/templates/agent/k8s/statefulset.yaml index f389306da21..18394b1015d 100644 --- a/deploy/helm/elastic-agent/templates/agent/k8s/statefulset.yaml +++ b/deploy/helm/elastic-agent/templates/agent/k8s/statefulset.yaml @@ -2,7 +2,7 @@ {{- range $presetName, $presetVal := $.Values.agent.presets -}} {{- if and (eq ($presetVal).mode "statefulset") (eq $.Values.agent.engine "k8s") -}} {{- $agentName := include "elasticagent.preset.fullname" (list $ $presetName) -}} -{{- $podTemplateResource := include "elasticagent.engine.k8s.podTemplate" (list $ $presetVal $agentName) | fromYaml -}} +{{- $podTemplateResource := include "elasticagent.engine.k8s.podTemplate" (list $ $presetVal $agentName) | fromYaml }} apiVersion: apps/v1 kind: StatefulSet metadata: diff --git a/deploy/helm/elastic-agent/templates/agent/service.yaml b/deploy/helm/elastic-agent/templates/agent/service.yaml new file mode 100644 index 00000000000..47b042dace8 --- /dev/null +++ b/deploy/helm/elastic-agent/templates/agent/service.yaml @@ -0,0 +1,48 @@ +{{- range $presetName, $presetVal := $.Values.agent.presets -}} +{{- $presetService := dig "service" dict $presetVal -}} +{{- $ports := dig "ports" list $presetVal -}} +{{- if and $presetService $ports -}} +{{- $agentName := include "elasticagent.preset.fullname" (list $ $presetName) -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ $agentName }} + namespace: {{ $.Release.Namespace | quote }} + labels: + {{- include "elasticagent.labels" $ | nindent 4 }} + {{- with ($presetVal).labels -}} + {{ toYaml . | nindent 4 }} + {{- end }} + {{- $presetValAnnotations := ($presetVal).annotations | default dict }} + {{- $presetServiceAnnotations := $presetService.annotations | default dict }} + {{- with merge dict $presetValAnnotations $presetServiceAnnotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + type: {{ $presetService.type }} + selector: + name: {{ $agentName }} + ports: + {{- range $idx, $port := $ports }} + - port: {{ $port.servicePort | default $port.containerPort }} + targetPort: {{ $port.containerPort }} + {{- with $port.protocol | default "TCP" }} + protocol: {{ . }} + {{- end }} + {{- with $port.name }} + name: {{ . }} + {{- end }} + {{- with $port.appProtocol }} + appProtocol: {{ . }} + {{- end }} + {{- with $port.nodePort }} + nodePort: {{ . }} + {{- end }} + {{- end }} + {{- with omit $presetService "type" "ports" "selector" }} + {{- toYaml | nindent 2 }} + {{- end }} +--- +{{- end }} +{{- end }} diff --git a/deploy/helm/elastic-agent/values.schema.json b/deploy/helm/elastic-agent/values.schema.json index 5cae987e654..f9b473cab5b 100644 --- a/deploy/helm/elastic-agent/values.schema.json +++ b/deploy/helm/elastic-agent/values.schema.json @@ -937,6 +937,149 @@ } ] }, + "service": { + "type": "object", + "description": "Service configuration.", + "properties": { + "clusterIP": { + "type": "string", + "description": "The IP address of the service. Automatically assigned unless specified." + }, + "clusterIPs": { + "type": "array", + "description": "A list of IP addresses assigned to this service, used for dual-stack services.", + "items": { "type": "string" } + }, + "type": { + "type": "string", + "enum": ["ClusterIP", "NodePort", "LoadBalancer"], + "description": "Determines how the service is exposed. Defaults to ClusterIP." + }, + "externalIPs": { + "type": "array", + "description": "A list of external IP addresses for the service to accept traffic on.", + "items": { "type": "string" } + }, + "sessionAffinity": { + "type": "string", + "enum": ["None", "ClientIP"], + "description": "Specifies session affinity. Defaults to None." + }, + "loadBalancerIP": { + "type": "string", + "description": "The load balancer IP address, if applicable and supported by the cloud provider." + }, + "loadBalancerSourceRanges": { + "type": "array", + "description": "CIDR ranges that allow access to the load balancer.", + "items": { "type": "string" } + }, + "externalName": { + "type": "string", + "description": "The external reference name used by ExternalName services." + }, + "externalTrafficPolicy": { + "type": "string", + "enum": ["Cluster", "Local"], + "description": "Specifies how nodes handle external traffic. Defaults to Cluster." + }, + "healthCheckNodePort": { + "type": "integer", + "description": "The health check node port for LoadBalancer services with local traffic policy." + }, + "publishNotReadyAddresses": { + "type": "boolean", + "description": "If true, publishes addresses even if the pods are not ready." + }, + "sessionAffinityConfig": { + "type": "object", + "description": "Configuration for session affinity." + }, + "ipFamilies": { + "type": "array", + "description": "The IP families (IPv4, IPv6) assigned to the service for dual-stack clusters.", + "items": { "type": "string", "enum": ["IPv4", "IPv6"] } + }, + "ipFamilyPolicy": { + "type": "string", + "enum": ["SingleStack", "PreferDualStack", "RequireDualStack"], + "description": "Defines the dual-stack behavior of the service." + }, + "allocateLoadBalancerNodePorts": { + "type": "boolean", + "description": "If true, allocates NodePorts for LoadBalancer services. Defaults to true." + }, + "loadBalancerClass": { + "type": "string", + "description": "The class of the load balancer implementation for this service." + }, + "internalTrafficPolicy": { + "type": "string", + "enum": ["Cluster", "Local"], + "description": "Describes how internal traffic is distributed. Defaults to Cluster." + }, + "trafficDistribution": { + "type": "string", + "description": "Specifies traffic distribution preferences. This is an alpha feature." + } + }, + "required": [ + "type" + ], + "examples": [ + { + "type": "ClusterIP" + } + ] + }, + "ports": { + "type": "array", + "description": "Port configuration.", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the port." + }, + "hostPort": { + "type": "integer", + "description": "Specifies the port on the node that the container ports is exposed." + }, + "containerPort": { + "type": "integer", + "description": "The port number on which the service is exposed." + }, + "protocol": { + "type": "string", + "description": "The protocol used by both the service and container ports. Defaults to TCP." + }, + "hostIP": { + "type": "string", + "description": "Specifies the host IP to bind the external port to." + }, + "servicePort": { + "type": "integer", + "description": "Specifies the port that the service should listen on." + }, + "serviceNodePort": { + "type": "integer", + "description": "The port on each node to expose the service if the type is NodePort." + }, + "appProtocol": { + "type": "string", + "description": "The application protocol for this port, such as HTTP, HTTPS, or GRPC." + }, + "nodePort": { + "type": "integer", + "description": "The port on each node to expose the service if the type is NodePort." + } + }, + "required": [ + "containerPort" + ] + } + }, "affinity": { "type": "object", "description": "Affinity rules for the deployment.", From 2113e2583f86506f306e317c4fa0ac281f09f55e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:17:58 +0100 Subject: [PATCH 11/17] build(deps): bump github.com/elastic/elastic-agent-libs from 0.17.5 to 0.18.0 (#6464) * build(deps): bump github.com/elastic/elastic-agent-libs Bumps [github.com/elastic/elastic-agent-libs](https://github.com/elastic/elastic-agent-libs) from 0.17.5 to 0.18.0. - [Release notes](https://github.com/elastic/elastic-agent-libs/releases) - [Commits](https://github.com/elastic/elastic-agent-libs/compare/v0.17.5...v0.18.0) --- updated-dependencies: - dependency-name: github.com/elastic/elastic-agent-libs dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Update NOTICE.txt --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- NOTICE.txt | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 3df36715971..2414295733b 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Elastic Beats -Copyright 2014-2024 Elasticsearch BV +Copyright 2014-2025 Elasticsearch BV This product includes software developed by The Apache Software Foundation (http://www.apache.org/). @@ -1319,11 +1319,11 @@ SOFTWARE -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-libs -Version: v0.17.5 +Version: v0.18.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-libs@v0.17.5/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-libs@v0.18.0/LICENSE: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index 80eacd30241..0ca056f5dcd 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b github.com/elastic/elastic-agent-autodiscover v0.9.0 github.com/elastic/elastic-agent-client/v7 v7.17.0 - github.com/elastic/elastic-agent-libs v0.17.5 + github.com/elastic/elastic-agent-libs v0.18.0 github.com/elastic/elastic-agent-system-metrics v0.11.7 github.com/elastic/elastic-transport-go/v8 v8.6.0 github.com/elastic/go-elasticsearch/v8 v8.17.0 diff --git a/go.sum b/go.sum index e76e0b329ba..a1d413a38bf 100644 --- a/go.sum +++ b/go.sum @@ -444,8 +444,8 @@ github.com/elastic/elastic-agent-autodiscover v0.9.0 h1:+iWIKh0u3e8I+CJa3FfWe9h0 github.com/elastic/elastic-agent-autodiscover v0.9.0/go.mod h1:5iUxLHhVdaGSWYTveSwfJEY4RqPXTG13LPiFoxcpFd4= github.com/elastic/elastic-agent-client/v7 v7.17.0 h1:TPLrEHF4kJ3RkmQzZPffrniY4WeW4vriHZbOAzM1hFo= github.com/elastic/elastic-agent-client/v7 v7.17.0/go.mod h1:6h+f9QdIr3GO2ODC0Y8+aEXRwzbA5W4eV4dd/67z7nI= -github.com/elastic/elastic-agent-libs v0.17.5 h1:oyv5BohMia+49tZnsOmTyRWp5LoZbH8iOmGa7c4TqTs= -github.com/elastic/elastic-agent-libs v0.17.5/go.mod h1:5CR02awPrBr+tfmjBBK+JI+dMmHNQjpVY24J0wjbC7M= +github.com/elastic/elastic-agent-libs v0.18.0 h1:PKG1StgHu2MfOwOryGuAVgNZlZXyvVSDw3SvLUfel+w= +github.com/elastic/elastic-agent-libs v0.18.0/go.mod h1:5CR02awPrBr+tfmjBBK+JI+dMmHNQjpVY24J0wjbC7M= github.com/elastic/elastic-agent-system-metrics v0.11.7 h1:1xm2okCM0eQZ4jivZgUFSlt6HAn/nPgKB/Fj8eLG6mY= github.com/elastic/elastic-agent-system-metrics v0.11.7/go.mod h1:nzkrGajQA29YNcfP62gfzhxX9an3/xdQ3RmfQNw9YTI= github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= From 8f02d3590ea33b9ec406702e60ebbb56f93cf06b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:22:07 +0100 Subject: [PATCH 12/17] build(deps): bump github.com/elastic/go-docappender/v2 from 2.3.2 to 2.3.3 (#6462) * build(deps): bump github.com/elastic/go-docappender/v2 Bumps [github.com/elastic/go-docappender/v2](https://github.com/elastic/go-docappender) from 2.3.2 to 2.3.3. - [Release notes](https://github.com/elastic/go-docappender/releases) - [Commits](https://github.com/elastic/go-docappender/compare/v2.3.2...v2.3.3) --- updated-dependencies: - dependency-name: github.com/elastic/go-docappender/v2 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Update NOTICE.txt --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- NOTICE.txt | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 2414295733b..5a02a273720 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -41591,11 +41591,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-concert@v0.3 -------------------------------------------------------------------------------- Dependency : github.com/elastic/go-docappender/v2 -Version: v2.3.2 +Version: v2.3.3 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/go-docappender/v2@v2.3.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/go-docappender/v2@v2.3.3/LICENSE: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index 0ca056f5dcd..c2c7bc08d6c 100644 --- a/go.mod +++ b/go.mod @@ -266,7 +266,7 @@ require ( github.com/eclipse/paho.mqtt.golang v1.3.5 // indirect github.com/elastic/bayeux v1.0.5 // indirect github.com/elastic/go-concert v0.3.0 // indirect - github.com/elastic/go-docappender/v2 v2.3.2 // indirect + github.com/elastic/go-docappender/v2 v2.3.3 // indirect github.com/elastic/go-elasticsearch/v7 v7.17.10 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/go-lumber v0.1.2-0.20220819171948-335fde24ea0f // indirect diff --git a/go.sum b/go.sum index a1d413a38bf..a76f2d4b3ab 100644 --- a/go.sum +++ b/go.sum @@ -454,8 +454,8 @@ github.com/elastic/fsnotify v1.6.1-0.20240920222514-49f82bdbc9e3 h1:UyNbxdkQiSfy github.com/elastic/fsnotify v1.6.1-0.20240920222514-49f82bdbc9e3/go.mod h1:DAsKqylc/16NDcfdk8dN5axVtSOsQwgP2kV+NV5xPDE= github.com/elastic/go-concert v0.3.0 h1:Y66JFn3ENndpHErOhTASu8/Fz1SSsLZicPufCmvQD60= github.com/elastic/go-concert v0.3.0/go.mod h1:UWt1MB5HxxZ85hKynLaYl/AaLIKFx0WiBP2uJSRfduA= -github.com/elastic/go-docappender/v2 v2.3.2 h1:FJhYgq2DpCaxGaZUquc75dauEzWTWOyWUESAA/h8SPY= -github.com/elastic/go-docappender/v2 v2.3.2/go.mod h1:5URybRUfmexRMtM/lwvcIRLje3Gsrj15qiiLm41gDrc= +github.com/elastic/go-docappender/v2 v2.3.3 h1:9/p9dTiO7AZYIxIfaSOdZ1PYFYmORqaK/p9RcMRN7cc= +github.com/elastic/go-docappender/v2 v2.3.3/go.mod h1:uUf4Fg5TXW63SEpzqJT9v5/IQ6ktLrEkgrfyqZY4Wxo= github.com/elastic/go-elasticsearch/v7 v7.17.10 h1:TCQ8i4PmIJuBunvBS6bwT2ybzVFxxUhhltAs3Gyu1yo= github.com/elastic/go-elasticsearch/v7 v7.17.10/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= github.com/elastic/go-elasticsearch/v8 v8.17.0 h1:e9cWksE/Fr7urDRmGPGp47Nsp4/mvNOrU8As1l2HQQ0= From dbfd4471abcd5b9cc8ecf7c6d0be94fd4406c80d Mon Sep 17 00:00:00 2001 From: Roger Coll Date: Thu, 2 Jan 2025 13:06:03 +0100 Subject: [PATCH 13/17] [otel] add loadbalancing exporter component (#6315) * feat: add loadbalancing Otel exporter * chore: add fragments changelog file --------- Co-authored-by: Andrzej Stencel --- NOTICE.txt | 1593 +++++++++++++---- ...dbalancing-exporter-to-EDOT-collector.yaml | 32 + go.mod | 32 +- go.sum | 64 +- internal/pkg/otel/README.md | 1 + internal/pkg/otel/components.go | 4 +- 6 files changed, 1309 insertions(+), 417 deletions(-) create mode 100644 changelog/fragments/1734023789-add-loadbalancing-exporter-to-EDOT-collector.yaml diff --git a/NOTICE.txt b/NOTICE.txt index 5a02a273720..9f3ebe9c884 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -5677,12 +5677,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5888,12 +5888,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6099,12 +6099,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6310,12 +6310,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6521,12 +6521,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6732,12 +6732,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6943,12 +6943,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7154,12 +7154,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7365,12 +7365,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7576,12 +7576,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7787,12 +7787,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7998,12 +7998,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8209,12 +8209,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8420,12 +8420,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8631,12 +8631,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8842,12 +8842,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9053,12 +9053,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9264,12 +9264,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9475,12 +9475,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9686,168 +9686,14 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/otiai10/copy -Version: v1.14.0 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/otiai10/copy@v1.14.0/LICENSE: - -The MIT License (MIT) - -Copyright (c) 2018 otiai10 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- -Dependency : github.com/rednafi/link-patrol -Version: v0.0.0-20240826150821-057643e74d4d -Licence type (autodetected): MIT --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/rednafi/link-patrol@v0.0.0-20240826150821-057643e74d4d/LICENSE: - -MIT License - -Copyright (c) [2023] [Redowan Delowar] - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Dependency : github.com/rs/zerolog -Version: v1.27.0 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/rs/zerolog@v1.27.0/LICENSE: - -MIT License - -Copyright (c) 2017 Olivier Poitrey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Dependency : github.com/sajari/regression -Version: v1.0.1 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/sajari/regression@v1.0.1/LICENSE: - -The MIT License (MIT) - -Copyright (c) 2014 Sajari Pty Ltd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - --------------------------------------------------------------------------------- -Dependency : github.com/schollz/progressbar/v3 -Version: v3.13.1 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/schollz/progressbar/v3@v3.13.1/LICENSE: - -MIT License - -Copyright (c) 2017 Zack - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------------------------------- -Dependency : github.com/spf13/cobra -Version: v1.8.1 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver +Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.8.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver@v0.116.0/LICENSE: - Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -10022,56 +9868,421 @@ Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.8.1/LICE incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + -------------------------------------------------------------------------------- -Dependency : github.com/spf13/pflag -Version: v1.0.5 -Licence type (autodetected): BSD-3-Clause +Dependency : github.com/otiai10/copy +Version: v1.14.0 +Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/spf13/pflag@v1.0.5/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/otiai10/copy@v1.14.0/LICENSE: -Copyright (c) 2012 Alex Ogier. All rights reserved. -Copyright (c) 2012 The Go Authors. All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Copyright (c) 2018 otiai10 - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -Dependency : github.com/stretchr/testify -Version: v1.10.0 +Dependency : github.com/rednafi/link-patrol +Version: v0.0.0-20240826150821-057643e74d4d Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.10.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/rednafi/link-patrol@v0.0.0-20240826150821-057643e74d4d/LICENSE: MIT License -Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors. +Copyright (c) [2023] [Redowan Delowar] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/rs/zerolog +Version: v1.27.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/rs/zerolog@v1.27.0/LICENSE: + +MIT License + +Copyright (c) 2017 Olivier Poitrey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/sajari/regression +Version: v1.0.1 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/sajari/regression@v1.0.1/LICENSE: + +The MIT License (MIT) + +Copyright (c) 2014 Sajari Pty Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +-------------------------------------------------------------------------------- +Dependency : github.com/schollz/progressbar/v3 +Version: v3.13.1 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/schollz/progressbar/v3@v3.13.1/LICENSE: + +MIT License + +Copyright (c) 2017 Zack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/spf13/cobra +Version: v1.8.1 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.8.1/LICENSE.txt: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + +-------------------------------------------------------------------------------- +Dependency : github.com/spf13/pflag +Version: v1.0.5 +Licence type (autodetected): BSD-3-Clause +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/spf13/pflag@v1.0.5/LICENSE: + +Copyright (c) 2012 Alex Ogier. All rights reserved. +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/stretchr/testify +Version: v1.10.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.10.0/LICENSE: + +MIT License + +Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29135,11 +29346,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go@v1.55.5/ -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2 -Version: v1.30.5 +Version: v1.32.6 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.30.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.32.6/LICENSE.txt: Apache License @@ -29559,11 +29770,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/aws/p -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/config -Version: v1.27.29 +Version: v1.28.6 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/config@v1.27.29/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/config@v1.28.6/LICENSE.txt: Apache License @@ -29771,11 +29982,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/confi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/credentials -Version: v1.17.29 +Version: v1.17.47 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/credentials@v1.17.29/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/credentials@v1.17.47/LICENSE.txt: Apache License @@ -29983,11 +30194,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/crede -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/feature/ec2/imds -Version: v1.16.12 +Version: v1.16.21 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.12/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.21/LICENSE.txt: Apache License @@ -30407,11 +30618,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/featu -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/internal/configsources -Version: v1.3.17 +Version: v1.3.25 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.17/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.25/LICENSE.txt: Apache License @@ -30619,11 +30830,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 -Version: v2.6.17 +Version: v2.6.25 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.17/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.25/LICENSE.txt: Apache License @@ -31891,11 +32102,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding -Version: v1.11.4 +Version: v1.12.1 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.11.4/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.12.1/LICENSE.txt: Apache License @@ -32315,11 +32526,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/internal/presigned-url -Version: v1.11.18 +Version: v1.12.6 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.11.18/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.12.6/LICENSE.txt: Apache License @@ -32949,6 +33160,218 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi limitations under the License. +-------------------------------------------------------------------------------- +Dependency : github.com/aws/aws-sdk-go-v2/service/servicediscovery +Version: v1.33.7 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/servicediscovery@v1.33.7/LICENSE.txt: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + + -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/sqs Version: v1.34.5 @@ -33163,11 +33586,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/sso -Version: v1.22.5 +Version: v1.24.7 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sso@v1.22.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sso@v1.24.7/LICENSE.txt: Apache License @@ -33375,11 +33798,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/ssooidc -Version: v1.26.5 +Version: v1.28.6 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.26.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.28.6/LICENSE.txt: Apache License @@ -33587,11 +34010,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/sts -Version: v1.30.5 +Version: v1.33.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sts@v1.30.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sts@v1.33.2/LICENSE.txt: Apache License @@ -33799,11 +34222,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/smithy-go -Version: v1.20.4 +Version: v1.22.1 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/smithy-go@v1.20.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/aws/smithy-go@v1.22.1/LICENSE: Apache License @@ -67027,131 +67450,553 @@ Contents of probable licence file $GOMODCACHE/github.com/oklog/ulid@v1.3.1/LICEN -------------------------------------------------------------------------------- -Dependency : github.com/olekukonko/tablewriter -Version: v0.0.5 -Licence type (autodetected): MIT +Dependency : github.com/olekukonko/tablewriter +Version: v0.0.5 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/olekukonko/tablewriter@v0.0.5/LICENSE.md: + +Copyright (C) 2014 by Oleku Konko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/onsi/ginkgo +Version: v1.16.5 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/onsi/ginkgo@v1.16.5/LICENSE: + +Copyright (c) 2013-2014 Onsi Fakhouri + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/onsi/ginkgo/v2 +Version: v2.20.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/onsi/ginkgo/v2@v2.20.0/LICENSE: + +Copyright (c) 2013-2014 Onsi Fakhouri + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/onsi/gomega +Version: v1.34.1 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/onsi/gomega@v1.34.1/LICENSE: + +Copyright (c) 2013-2014 Onsi Fakhouri + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter +Version: v0.116.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter@v0.116.0/LICENSE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + + +-------------------------------------------------------------------------------- +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding +Version: v0.116.0 +Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/olekukonko/tablewriter@v0.0.5/LICENSE.md: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding@v0.116.0/LICENSE: -Copyright (C) 2014 by Oleku Konko + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + 1. Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. --------------------------------------------------------------------------------- -Dependency : github.com/onsi/ginkgo -Version: v1.16.5 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Contents of probable licence file $GOMODCACHE/github.com/onsi/ginkgo@v1.16.5/LICENSE: + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Copyright (c) 2013-2014 Onsi Fakhouri + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." --------------------------------------------------------------------------------- -Dependency : github.com/onsi/ginkgo/v2 -Version: v2.20.0 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Contents of probable licence file $GOMODCACHE/github.com/onsi/ginkgo/v2@v2.20.0/LICENSE: + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Copyright (c) 2013-2014 Onsi Fakhouri + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and --------------------------------------------------------------------------------- -Dependency : github.com/onsi/gomega -Version: v1.34.1 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -Contents of probable licence file $GOMODCACHE/github.com/onsi/gomega@v1.34.1/LICENSE: + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Copyright (c) 2013-2014 Onsi Fakhouri + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -67357,12 +68202,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -67568,12 +68413,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -67779,12 +68624,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/common Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/common@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -67990,12 +68835,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -68201,12 +69046,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/common +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/common@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -68412,12 +69257,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -68623,12 +69468,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -68834,12 +69679,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -69045,12 +69890,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -69256,12 +70101,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -69467,12 +70312,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -69678,12 +70523,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -69889,12 +70734,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal Version: v0.116.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal@v0.116.0/LICENSE: Apache License Version 2.0, January 2004 @@ -98419,11 +99264,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : k8s.io/apiextensions-apiserver -Version: v0.30.3 +Version: v0.31.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/k8s.io/apiextensions-apiserver@v0.30.3/LICENSE: +Contents of probable licence file $GOMODCACHE/k8s.io/apiextensions-apiserver@v0.31.0/LICENSE: Apache License @@ -100745,11 +101590,11 @@ Contents of probable licence file $GOMODCACHE/oras.land/oras-go@v1.2.5/LICENSE: -------------------------------------------------------------------------------- Dependency : sigs.k8s.io/controller-runtime -Version: v0.18.2 +Version: v0.19.3 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/sigs.k8s.io/controller-runtime@v0.18.2/LICENSE: +Contents of probable licence file $GOMODCACHE/sigs.k8s.io/controller-runtime@v0.19.3/LICENSE: Apache License Version 2.0, January 2004 diff --git a/changelog/fragments/1734023789-add-loadbalancing-exporter-to-EDOT-collector.yaml b/changelog/fragments/1734023789-add-loadbalancing-exporter-to-EDOT-collector.yaml new file mode 100644 index 00000000000..4aa562c412c --- /dev/null +++ b/changelog/fragments/1734023789-add-loadbalancing-exporter-to-EDOT-collector.yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: feature + +# Change summary; a 80ish characters long description of the change. +summary: add loadbalancing exporter to EDOT collector + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: "elastic-agent" + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +#pr: https://github.com/owner/repo/1234 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +#issue: https://github.com/owner/repo/1234 diff --git a/go.mod b/go.mod index c2c7bc08d6c..a79f9c792ed 100644 --- a/go.mod +++ b/go.mod @@ -44,6 +44,7 @@ require ( github.com/magefile/mage v1.15.0 github.com/oklog/ulid/v2 v2.1.0 github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.116.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.116.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.116.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.116.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.116.0 @@ -202,27 +203,28 @@ require ( github.com/armon/go-radix v1.0.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect - github.com/aws/aws-sdk-go-v2 v1.30.5 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.6 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect - github.com/aws/aws-sdk-go-v2/config v1.27.29 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.29 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17 // indirect + github.com/aws/aws-sdk-go-v2/config v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.5 // indirect github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.34.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect - github.com/aws/smithy-go v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 // indirect + github.com/aws/smithy-go v1.22.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bmatcuk/doublestar/v4 v4.7.1 // indirect github.com/chai2010/gettext-go v1.0.2 // indirect @@ -431,12 +433,14 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.116.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.116.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.116.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.116.0 // indirect @@ -591,7 +595,7 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect howett.net/plist v1.0.1 // indirect - k8s.io/apiextensions-apiserver v0.30.3 // indirect + k8s.io/apiextensions-apiserver v0.31.0 // indirect k8s.io/apiserver v0.31.3 // indirect k8s.io/component-base v0.31.3 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect @@ -600,7 +604,7 @@ require ( k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect kernel.org/pub/linux/libs/security/libcap/psx v1.2.70 // indirect oras.land/oras-go v1.2.5 // indirect - sigs.k8s.io/controller-runtime v0.18.2 // indirect + sigs.k8s.io/controller-runtime v0.19.3 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect sigs.k8s.io/yaml v1.4.0 // indirect diff --git a/go.sum b/go.sum index a76f2d4b3ab..9d2aa4758b8 100644 --- a/go.sum +++ b/go.sum @@ -237,22 +237,22 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:W github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.30.5 h1:mWSRTwQAb0aLE17dSzztCVJWI9+cRMgqebndjwDyK0g= -github.com/aws/aws-sdk-go-v2 v1.30.5/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= +github.com/aws/aws-sdk-go-v2 v1.32.6 h1:7BokKRgRPuGmKkFMhEg/jSul+tB9VvXhcViILtfG8b4= +github.com/aws/aws-sdk-go-v2 v1.32.6/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= -github.com/aws/aws-sdk-go-v2/config v1.27.29 h1:+ZPKb3u9Up4KZWLGTtpTmC5T3XmRD1ZQ8XQjRCHUvJw= -github.com/aws/aws-sdk-go-v2/config v1.27.29/go.mod h1:yxqvuubha9Vw8stEgNiStO+yZpP68Wm9hLmcm+R/Qk4= -github.com/aws/aws-sdk-go-v2/credentials v1.17.29 h1:CwGsupsXIlAFYuDVHv1nnK0wnxO0wZ/g1L8DSK/xiIw= -github.com/aws/aws-sdk-go-v2/credentials v1.17.29/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= +github.com/aws/aws-sdk-go-v2/config v1.28.6 h1:D89IKtGrs/I3QXOLNTH93NJYtDhm8SYa9Q5CsPShmyo= +github.com/aws/aws-sdk-go-v2/config v1.28.6/go.mod h1:GDzxJ5wyyFSCoLkS+UhGB0dArhb9mI+Co4dHtoTxbko= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47 h1:48bA+3/fCdi2yAwVt+3COvmatZ6jUDNkDTIsqDiMUdw= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47/go.mod h1:+KdckOejLW3Ks3b0E3b5rHsr2f9yuORBum0WPnE5o5w= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE/Vb8fttJCLRPv8oAkprc0= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.13 h1:X8EeaOjl91c8sP14NG8EHx5ZxXLJg0tHDp+KQSghp28= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.13/go.mod h1:kEI/h2bETfm09LSd7xEEH2qcU1cd//+5HH4Le7p9JgY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17 h1:pI7Bzt0BJtYA0N/JEC6B8fJ4RBrEMi1LBrkMdFYNSnQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17/go.mod h1:Dh5zzJYMtxfIjYW+/evjQ8uj2OyR/ve2KROHGHlSFqE= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17 h1:Mqr/V5gvrhA2gvgnF42Zh5iMiQNcOYthFYwCyrnuWlc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17/go.mod h1:aLJpZlCmjE+V+KtN1q1uyZkfnUWpQGpbsn89XPKyzfU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25/go.mod h1:DBdPrgeocww+CSl1C8cEV8PN1mHMBhuCDLpXezyvWkE= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc= @@ -263,26 +263,28 @@ github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0 h1:fWhkSvaQqa5eWiRwBw10FUnk1Ya github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0/go.mod h1:ISODge3zgdwOEa4Ou6WM9PKbxJWJ15DYKnr2bfmCAIA= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.34.2 h1:pWaVzH7OFh4MmHTjIGBNRTbFauJDVpIaRTtGF1BEq2o= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.34.2/go.mod h1:rdgCuor2mAOU7LhpD7tO3TPl7BACCY4PzM9N0jnnHyo= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 h1:50+XsN70RS7dwJ2CkVNXzj7U2L1HKP8nqTd3XWEXBN4= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6/go.mod h1:WqgLmwY7so32kG01zD8CPTJWVWM+TzJoOVHwTg4aPug= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY= github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1 h1:mx2ucgtv+MWzJesJY9Ig/8AFHgoE5FwLXwUVgW/FGdI= github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 h1:GfXWwM9/iEJVcWQaMu22YzBeGQnY6zjiZD556awNJBA= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7/go.mod h1:YMM+e0OfZQVBpTJs+WNZWP/hdodeWnepXgancR5NFFw= github.com/aws/aws-sdk-go-v2/service/sqs v1.34.5 h1:HYyVDOC2/PIg+3oBX1q0wtDU5kONki6lrgIG0afrBkY= github.com/aws/aws-sdk-go-v2/service/sqs v1.34.5/go.mod h1:7idt3XszF6sE9WPS1GqZRiDJOxw4oPtlRBXodWnCGjU= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 h1:rLnYAfXQ3YAccocshIH5mzNNwZBkBo+bP6EhIxak6Hw= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7/go.mod h1:ZHtuQJ6t9A/+YDuxOLnbryAmITtr8UysSny3qcyvJTc= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 h1:JnhTZR3PiYDNKlXy50/pNeix9aGMo6lLpXwJ1mw8MD4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6/go.mod h1:URronUEGfXZN1VpdktPSD1EkAL9mfrV+2F4sjH38qOY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 h1:s4074ZO1Hk8qv65GqNXqDjmkf4HSQqJukaLuuW0TpDA= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2/go.mod h1:mVggCnIWoM09jP71Wh+ea7+5gAp53q+49wDFs1SW5z8= +github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= +github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -1122,6 +1124,8 @@ github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearch github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.116.0/go.mod h1:BLnzep6J7myTuI803KoSeJKmLfg+Q9DCbvJRnfWStmU= github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.116.0 h1:LLL3+AGJqpOACsN83KPK2BPZ87Nn3xyEl/0CEv0z4Ds= github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.116.0/go.mod h1:2mewI31zfhrUMu0pa8sgesUMAEPTxgxfnjycJd6LR/Y= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.116.0 h1:pOVZETpZxBbaLYmI+8jG5sxsSq43S0WHphCIvDGsYLM= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.116.0/go.mod h1:0TWruiNYrdEDA6PiQfhYu2x3KsoyTbEBqZL/ve0Z4po= github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.116.0 h1:kDPTGIKqGR52zV0vvGtJUi/dLgGO9lPCAJY+oUkO8gU= github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.116.0/go.mod h1:9DGVPNNo9jsJkwNG2PFlXM/NPd/rx9KG5nOmjva9CyA= github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.116.0 h1:6HBsPKvRRZwWzWqVMHAz1EzXbm1QK5psMzzfVuhcnDM= @@ -1142,6 +1146,8 @@ github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.116 github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.116.0/go.mod h1:WXJuadNLluxAiVZts1bAJbhAVurBpogToBbjtFKzie8= github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.116.0 h1:xDbf946Zm0rTzWcYEyUfU0Ft2KthhaH4xrNm303vpbI= github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.116.0/go.mod h1:yuIyOGmQJOn37u6NVfG8yOCzVvwboqnt+pjOSTvDeLo= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.116.0 h1:Kxk5Ral+Dc6VB9UmTketVjs+rbMZP8JxQ4SXDx4RivQ= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.116.0/go.mod h1:ctT6oQmGmWGGGgUIKyx2fDwqz77N9+04gqKkDyAzKCg= github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.116.0 h1:5T7nt2K73pHYT131FTj9BjS6xdjIJZQ3fzp9nCB1dYo= github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.116.0/go.mod h1:SY4FYy6K/cr63UY6ImhNSRy/1/WmK6fvSHsSpW+lT1Q= github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.116.0 h1:apNG21F4adLWr1BUHJLqXBk//GtZ/rRHNGBqrc7zkGc= @@ -1156,6 +1162,8 @@ github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0. github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.116.0/go.mod h1:oa6vnMIde7Mb5qNocvRaba6TAytPsRRjnV/Ja+1I67g= github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.116.0 h1:B4vA2+XhP1fncFxeaH9P1VNpEXKJIUgXGpvGGwbOPGg= github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.116.0/go.mod h1:+0FjpCBgkcLsumJTuLInasEA67JaizGakt3PRAPbFpQ= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.116.0 h1:Gdmg6Pr9X/h+HqTnRWCnH0tcLbCRymXJ9Lj1RGchs3M= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.116.0/go.mod h1:jJseeb/N41qHL1YOd+dzhgyEMR04s7cbkD6dsXKjoUk= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.116.0 h1:TikMyKw831AMWZWU7ZbQXsprJVAnFX0zzred77oTVGE= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.116.0/go.mod h1:g28BUWU4E1whAYWz8ficLdQdpSlMeFnzWhYDJjkfO1w= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.116.0 h1:YENvOsl67sj8Ovvl5R8hKMnpPvdW3q5B7+CYYgy/GvQ= @@ -2185,8 +2193,8 @@ howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= k8s.io/api v0.31.3 h1:umzm5o8lFbdN/hIXbrK9oRpOproJO62CV1zqxXrLgk8= k8s.io/api v0.31.3/go.mod h1:UJrkIp9pnMOI9K2nlL6vwpxRzzEX5sWgn8kGQe92kCE= -k8s.io/apiextensions-apiserver v0.30.3 h1:oChu5li2vsZHx2IvnGP3ah8Nj3KyqG3kRSaKmijhB9U= -k8s.io/apiextensions-apiserver v0.30.3/go.mod h1:uhXxYDkMAvl6CJw4lrDN4CPbONkF3+XL9cacCT44kV4= +k8s.io/apiextensions-apiserver v0.31.0 h1:fZgCVhGwsclj3qCw1buVXCV6khjRzKC5eCFt24kyLSk= +k8s.io/apiextensions-apiserver v0.31.0/go.mod h1:b9aMDEYaEe5sdK+1T0KU78ApR/5ZVp4i56VacZYEHxk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= k8s.io/apimachinery v0.31.3 h1:6l0WhcYgasZ/wk9ktLq5vLaoXJJr5ts6lkaQzgeYPq4= k8s.io/apimachinery v0.31.3/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= @@ -2228,8 +2236,8 @@ oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/controller-runtime v0.18.2 h1:RqVW6Kpeaji67CY5nPEfRz6ZfFMk0lWQlNrLqlNpx+Q= -sigs.k8s.io/controller-runtime v0.18.2/go.mod h1:tuAt1+wbVsXIT8lPtk5RURxqAnq7xkpv2Mhttslg7Hw= +sigs.k8s.io/controller-runtime v0.19.3 h1:XO2GvC9OPftRst6xWCpTgBZO04S2cbp0Qqkj8bX1sPw= +sigs.k8s.io/controller-runtime v0.19.3/go.mod h1:j4j87DqtsThvwTv5/Tc5NFRyyF/RF0ip4+62tbTSIUM= sigs.k8s.io/e2e-framework v0.4.0 h1:4yYmFDNNoTnazqmZJXQ6dlQF1vrnDbutmxlyvBpC5rY= sigs.k8s.io/e2e-framework v0.4.0/go.mod h1:JilFQPF1OL1728ABhMlf9huse7h+uBJDXl9YeTs49A8= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/internal/pkg/otel/README.md b/internal/pkg/otel/README.md index c3513ba9716..1d63611fa9f 100644 --- a/internal/pkg/otel/README.md +++ b/internal/pkg/otel/README.md @@ -44,6 +44,7 @@ This section provides a summary of components included in the Elastic Distributi | Component | Version | |---|---| +| [loadbalancingexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/loadbalancingexporter/v0.116.0/exporter/loadbalancingexporter/README.md) | v0.116.0 | | [elasticsearchexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/elasticsearchexporter/v0.116.0/exporter/elasticsearchexporter/README.md) | v0.116.0 | | [fileexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/fileexporter/v0.116.0/exporter/fileexporter/README.md) | v0.116.0 | | [debugexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/debugexporter/v0.116.0/exporter/debugexporter/README.md) | v0.116.0 | diff --git a/internal/pkg/otel/components.go b/internal/pkg/otel/components.go index 44b27af9f16..72ff90572b5 100644 --- a/internal/pkg/otel/components.go +++ b/internal/pkg/otel/components.go @@ -45,7 +45,8 @@ import ( // Exporters: "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter" fileexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter" // for e2e tests - debugexporter "go.opentelemetry.io/collector/exporter/debugexporter" // for dev + "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter" + debugexporter "go.opentelemetry.io/collector/exporter/debugexporter" // for dev "go.opentelemetry.io/collector/exporter/otlpexporter" otlphttpexporter "go.opentelemetry.io/collector/exporter/otlphttpexporter" @@ -110,6 +111,7 @@ func components(extensionFactories ...extension.Factory) func() (otelcol.Factori debugexporter.NewFactory(), fileexporter.NewFactory(), elasticsearchexporter.NewFactory(), + loadbalancingexporter.NewFactory(), otlphttpexporter.NewFactory(), ) if err != nil { From 6c005a48168b9c3c15cde01bb5dc98396eec0fe5 Mon Sep 17 00:00:00 2001 From: Kaan Yalti Date: Thu, 2 Jan 2025 13:40:39 -0500 Subject: [PATCH 14/17] cleanup(2489): removed path.install option from the paths command, removed any usage of this command (#6461) * cleanup(2489): removed path.install option from the paths command, removed any usage of this command * cleanup(2489): updated changelog --- ...move-deprecated-path-install-cli-flag.yaml | 30 +++++++++++++++++++ .../pkg/agent/application/paths/common.go | 2 -- internal/pkg/agent/cmd/common.go | 1 - internal/pkg/agent/cmd/container.go | 3 -- internal/pkg/agent/cmd/enroll_cmd.go | 3 -- 5 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 changelog/fragments/1735664420-remove-deprecated-path-install-cli-flag.yaml diff --git a/changelog/fragments/1735664420-remove-deprecated-path-install-cli-flag.yaml b/changelog/fragments/1735664420-remove-deprecated-path-install-cli-flag.yaml new file mode 100644 index 00000000000..f0a3da1d2db --- /dev/null +++ b/changelog/fragments/1735664420-remove-deprecated-path-install-cli-flag.yaml @@ -0,0 +1,30 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: breaking-change + +# Change summary; a 80ish characters long description of the change. +summary: Removing --path.install option + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: "elastic-agent" +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/pull/6461/files +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +issue: https://github.com/elastic/elastic-agent/issues/2489 diff --git a/internal/pkg/agent/application/paths/common.go b/internal/pkg/agent/application/paths/common.go index da4d2af7d51..463f7ea4fdb 100644 --- a/internal/pkg/agent/application/paths/common.go +++ b/internal/pkg/agent/application/paths/common.go @@ -84,7 +84,6 @@ func init() { fs.StringVar(&configFilePath, "config", DefaultConfigName, "Configuration file, relative to path.config") fs.StringVar(&configFilePath, "c", DefaultConfigName, "Configuration file, relative to path.config") fs.StringVar(&logsPath, "path.logs", logsPath, "Logs path contains Agent log output") - fs.StringVar(&installPath, "path.install", installPath, "DEPRECATED, setting this flag has no effect since v8.6.0") fs.StringVar(&controlSocketPath, "path.socket", controlSocketPath, "Control protocol socket path for the Agent") // enable user to download update artifacts to alternative place @@ -158,7 +157,6 @@ func SetConfig(path string) { // ConfigFile returns the path to the configuration file. func ConfigFile() string { - return configFileWithDefaultOverride(DefaultConfigName) } diff --git a/internal/pkg/agent/cmd/common.go b/internal/pkg/agent/cmd/common.go index 6047191d563..059c144399d 100644 --- a/internal/pkg/agent/cmd/common.go +++ b/internal/pkg/agent/cmd/common.go @@ -67,7 +67,6 @@ func NewCommandWithArgs(args []string, streams *cli.IOStreams) *cobra.Command { cmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("config")) cmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("path.logs")) cmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("path.downloads")) - cmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("path.install")) cmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("path.socket")) // logging flags diff --git a/internal/pkg/agent/cmd/container.go b/internal/pkg/agent/cmd/container.go index a983f4df3eb..84db4685a5b 100644 --- a/internal/pkg/agent/cmd/container.go +++ b/internal/pkg/agent/cmd/container.go @@ -417,9 +417,6 @@ func buildEnrollArgs(cfg setupConfig, token string, policyID string) ([]string, if paths.Downloads() != "" { args = append(args, "--path.downloads", paths.Downloads()) } - if paths.Install() != "" { - args = append(args, "--path.install", paths.Install()) - } if !paths.IsVersionHome() { args = append(args, "--path.home.unversioned") } diff --git a/internal/pkg/agent/cmd/enroll_cmd.go b/internal/pkg/agent/cmd/enroll_cmd.go index 91f652c9ef5..6c3df8e8998 100644 --- a/internal/pkg/agent/cmd/enroll_cmd.go +++ b/internal/pkg/agent/cmd/enroll_cmd.go @@ -663,9 +663,6 @@ func (c *enrollCmd) startAgent(ctx context.Context) (<-chan *os.ProcessState, er if paths.Downloads() != "" { args = append(args, "--path.downloads", paths.Downloads()) } - if paths.Install() != "" { - args = append(args, "--path.install", paths.Install()) - } if !paths.IsVersionHome() { args = append(args, "--path.home.unversioned") } From d354d9f48c92b69aed61fbca5f46853b54cba956 Mon Sep 17 00:00:00 2001 From: Michel Laterman <82832767+michel-laterman@users.noreply.github.com> Date: Thu, 2 Jan 2025 17:07:18 -0300 Subject: [PATCH 15/17] Log warning on same version upgrade to prevent failed status (#6273) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Log warning on same version upgrade and filter error to prevent upgrade status reporting. If a user attempts to upgrade to the same version, the elastic-agent upgrade call will exit with an error, but the agent's status will be cleared of any upgrade markers. Include an earlier check for same-version upgrades before artifacts are downloaded to prevent unnecessary downloads --------- Co-authored-by: Paolo Chilà --- ...ning-on-same-version-upgrade-attempts.yaml | 34 ++++++++ .../application/coordinator/coordinator.go | 5 ++ .../pkg/agent/application/upgrade/upgrade.go | 43 ++++++++-- .../agent/application/upgrade/upgrade_test.go | 82 +++++++++++++++++++ .../upgrade_standalone_same_commit_test.go | 5 +- testing/upgradetest/upgrader.go | 28 +++++++ 6 files changed, 189 insertions(+), 8 deletions(-) create mode 100644 changelog/fragments/1733862556-Log-warning-on-same-version-upgrade-attempts.yaml diff --git a/changelog/fragments/1733862556-Log-warning-on-same-version-upgrade-attempts.yaml b/changelog/fragments/1733862556-Log-warning-on-same-version-upgrade-attempts.yaml new file mode 100644 index 00000000000..fb2f01d09ed --- /dev/null +++ b/changelog/fragments/1733862556-Log-warning-on-same-version-upgrade-attempts.yaml @@ -0,0 +1,34 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: bug-fix + +# Change summary; a 80ish characters long description of the change. +summary: Log warning on same version upgrade attempts + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +description: | + Log a warning instead of reporting an error whan a same-version upgrade is + attempted. This prevents the agent from reporting a "failed" status. + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: elastic-agent + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +#pr: https://github.com/owner/repo/1234 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +issue: https://github.com/elastic/elastic-agent/issues/6186 diff --git a/internal/pkg/agent/application/coordinator/coordinator.go b/internal/pkg/agent/application/coordinator/coordinator.go index 718192f55f6..0394d301df9 100644 --- a/internal/pkg/agent/application/coordinator/coordinator.go +++ b/internal/pkg/agent/application/coordinator/coordinator.go @@ -575,6 +575,11 @@ func (c *Coordinator) Upgrade(ctx context.Context, version string, sourceURI str cb, err := c.upgradeMgr.Upgrade(ctx, version, sourceURI, action, det, skipVerifyOverride, skipDefaultPgp, pgpBytes...) if err != nil { c.ClearOverrideState() + if errors.Is(err, upgrade.ErrUpgradeSameVersion) { + // Set upgrade state to completed so update no longer shows in-progress. + det.SetState(details.StateCompleted) + return nil + } det.Fail(err) return err } diff --git a/internal/pkg/agent/application/upgrade/upgrade.go b/internal/pkg/agent/application/upgrade/upgrade.go index 43702d44f83..122aac54825 100644 --- a/internal/pkg/agent/application/upgrade/upgrade.go +++ b/internal/pkg/agent/application/upgrade/upgrade.go @@ -55,6 +55,7 @@ var agentArtifact = artifact.Artifact{ } var ErrWatcherNotStarted = errors.New("watcher did not start in time") +var ErrUpgradeSameVersion = errors.New("upgrade did not occur because it is the same version") // Upgrader performs an upgrade type Upgrader struct { @@ -162,6 +163,19 @@ func (av agentVersion) String() string { func (u *Upgrader) Upgrade(ctx context.Context, version string, sourceURI string, action *fleetapi.ActionUpgrade, det *details.Details, skipVerifyOverride bool, skipDefaultPgp bool, pgpBytes ...string) (_ reexec.ShutdownCallbackFn, err error) { u.log.Infow("Upgrading agent", "version", version, "source_uri", sourceURI) + currentVersion := agentVersion{ + version: release.Version(), + snapshot: release.Snapshot(), + hash: release.Commit(), + } + + // Compare versions and exit before downloading anything if the upgrade + // is for the same release version that is currently running + if isSameReleaseVersion(u.log, currentVersion, version) { + u.log.Warnf("Upgrade action skipped because agent is already at version %s", currentVersion) + return nil, ErrUpgradeSameVersion + } + // Inform the Upgrade Marker Watcher that we've started upgrading. Note that this // is only possible to do in-memory since, today, the process that's initiating // the upgrade is the same as the Agent process in which the Upgrade Marker Watcher is @@ -206,15 +220,12 @@ func (u *Upgrader) Upgrade(ctx context.Context, version string, sourceURI string return nil, fmt.Errorf("reading metadata for elastic agent version %s package %q: %w", version, archivePath, err) } - currentVersion := agentVersion{ - version: release.Version(), - snapshot: release.Snapshot(), - hash: release.Commit(), - } - + // Compare the downloaded version (including git hash) to see if we need to upgrade + // versions are the same if the numbers and hash match which may occur in a SNAPSHOT -> SNAPSHOT upgrage same, newVersion := isSameVersion(u.log, currentVersion, metadata, version) if same { - return nil, fmt.Errorf("agent version is already %s", currentVersion) + u.log.Warnf("Upgrade action skipped because agent is already at version %s", currentVersion) + return nil, ErrUpgradeSameVersion } u.log.Infow("Unpacking agent package", "version", newVersion) @@ -626,3 +637,21 @@ func IsInProgress(c client.Client, watcherPIDsFetcher func() ([]int, error)) (bo return state.State == cproto.State_UPGRADING, nil } + +// isSameReleaseVersion will return true if upgradeVersion and currentVersion are equal using only release numbers and SNAPSHOT prerelease qualifiers. +// They are not equal if either are a SNAPSHOT, or if the semver numbers (including prerelease and build identifiers) differ. +func isSameReleaseVersion(log *logger.Logger, current agentVersion, upgradeVersion string) bool { + if current.snapshot { + return false + } + target, err := agtversion.ParseVersion(upgradeVersion) + if err != nil { + log.Warnw("Unable too parse version for released version comparison", upgradeVersion, err) + return false + } + targetVersion, targetSnapshot := target.ExtractSnapshotFromVersionString() + if targetSnapshot { + return false + } + return current.version == targetVersion +} diff --git a/internal/pkg/agent/application/upgrade/upgrade_test.go b/internal/pkg/agent/application/upgrade/upgrade_test.go index 55c5d3cf996..71deb314ab3 100644 --- a/internal/pkg/agent/application/upgrade/upgrade_test.go +++ b/internal/pkg/agent/application/upgrade/upgrade_test.go @@ -733,6 +733,23 @@ func TestIsSameVersion(t *testing.T) { newVersion: agentVersion123SNAPSHOTghijkl, }, }, + { + name: "same version and snapshot, no hash (SNAPSHOT upgrade before download)", + args: args{ + current: agentVersion123SNAPSHOTabcdef, + metadata: packageMetadata{ + manifest: nil, + }, + version: "1.2.3-SNAPSHOT", + }, + want: want{ + same: false, + newVersion: agentVersion{ + version: "1.2.3", + snapshot: true, + }, + }, + }, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { @@ -983,3 +1000,68 @@ func Test_selectWatcherExecutable(t *testing.T) { }) } } + +func TestIsSameReleaseVersion(t *testing.T) { + tests := []struct { + name string + current agentVersion + target string + expect bool + }{{ + name: "current version is snapshot", + current: agentVersion{ + version: "1.2.3", + snapshot: true, + }, + target: "1.2.3", + expect: false, + }, { + name: "target version is snapshot", + current: agentVersion{ + version: "1.2.3", + }, + target: "1.2.3-SNAPSHOT", + expect: false, + }, { + name: "target version is different version", + current: agentVersion{ + version: "1.2.3", + }, + target: "1.2.4", + expect: false, + }, { + name: "target version has same major.minor.patch, different pre-release", + current: agentVersion{ + version: "1.2.3", + }, + target: "1.2.3-custom.info", + expect: false, + }, { + name: "target version is same with build", + current: agentVersion{ + version: "1.2.3", + }, + target: "1.2.3+buildID", + expect: false, + }, { + name: "target version is same", + current: agentVersion{ + version: "1.2.3", + }, + target: "1.2.3", + expect: true, + }, { + name: "target version is invalid", + current: agentVersion{ + version: "1.2.3", + }, + target: "a.b.c", + expect: false, + }} + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + log, _ := loggertest.New(tc.name) + assert.Equal(t, tc.expect, isSameReleaseVersion(log, tc.current, tc.target)) + }) + } +} diff --git a/testing/integration/upgrade_standalone_same_commit_test.go b/testing/integration/upgrade_standalone_same_commit_test.go index a6a2de61087..e493d184ac2 100644 --- a/testing/integration/upgrade_standalone_same_commit_test.go +++ b/testing/integration/upgrade_standalone_same_commit_test.go @@ -74,7 +74,10 @@ func TestStandaloneUpgradeSameCommit(t *testing.T) { upgradetest.WithUnprivileged(unprivilegedAvailable), upgradetest.WithDisableHashCheck(true), ) - assert.ErrorContainsf(t, err, fmt.Sprintf("agent version is already %s", currentVersion), "upgrade should fail indicating we are already at the same version") + // PerformUpgrade will exit after calling `elastic-agent upgrade ...` if a subsequent call to + // `elastic-agent status` returns the running state with no upgrade details. This indicates that + // the agent did a nop upgrade. + assert.NoError(t, err) }) t.Run(fmt.Sprintf("Upgrade on a repackaged version of agent %s (%s)", currentVersion, unPrivilegedString), func(t *testing.T) { diff --git a/testing/upgradetest/upgrader.go b/testing/upgradetest/upgrader.go index 7094e49fda5..43ca705ed25 100644 --- a/testing/upgradetest/upgrader.go +++ b/testing/upgradetest/upgrader.go @@ -343,6 +343,14 @@ func PerformUpgrade( } } + // check status + if status := getStatus(ctx, startFixture); status != nil { + if status.State == 2 && status.UpgradeDetails == nil { + logger.Logf("Agent status indicates no upgrade is in progress.") + return nil + } + } + // wait for the watcher to show up logger.Logf("waiting for upgrade watcher to start") err = WaitForWatcher(ctx, 5*time.Minute, 10*time.Second) @@ -653,3 +661,23 @@ func windowsBaseTemp() (string, error) { } return baseTmp, nil } + +// getStatus will attempt to get the agent status with retries if enounters an error +func getStatus(ctx context.Context, fixture *atesting.Fixture) *atesting.AgentStatusOutput { + ctx, cancel := context.WithTimeout(ctx, time.Second*30) + defer cancel() + ticker := time.NewTicker(time.Second * 5) + defer ticker.Stop() + for { + select { + case <-ctx.Done(): + return nil + case <-ticker.C: + status, err := fixture.ExecStatus(ctx) + if err != nil { + continue + } + return &status + } + } +} From ed8e35151c13fa62f759cc7afe72c042989b5e65 Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Mon, 6 Jan 2025 02:56:36 +0200 Subject: [PATCH 16/17] fix: reload Helm chart for each example folder (#6475) --- magefile.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/magefile.go b/magefile.go index 7a916035b7c..cddd7e17466 100644 --- a/magefile.go +++ b/magefile.go @@ -3417,12 +3417,7 @@ func (Helm) RenderExamples() error { settings := cli.New() // Helm CLI settings actionConfig := &action.Configuration{} - helmChart, err := loader.Load(helmChartPath) - if err != nil { - return fmt.Errorf("failed to load helm chart: %w", err) - } - - err = actionConfig.Init(settings.RESTClientGetter(), "default", "", + err := actionConfig.Init(settings.RESTClientGetter(), "default", "", func(format string, v ...interface{}) {}) if err != nil { return fmt.Errorf("failed to init helm action config: %w", err) @@ -3439,6 +3434,11 @@ func (Helm) RenderExamples() error { continue } + helmChart, err := loader.Load(helmChartPath) + if err != nil { + return fmt.Errorf("failed to load helm chart: %w", err) + } + exampleFullPath := filepath.Join(examplesPath, d.Name()) helmValues := make(map[string]any) From 8325d47184db0d8046b70427132caf1b15364526 Mon Sep 17 00:00:00 2001 From: Andrzej Stencel Date: Tue, 7 Jan 2025 09:35:30 +0100 Subject: [PATCH 17/17] Fix flaky test TestUpgradeHandlerSameVersion (#6476) Increased the maximum timeout to a generous 1 second. This does not extend the normal test execution time, so no reason to make this timeout too restrictive. --- .../actions/handlers/handler_action_upgrade_test.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/pkg/agent/application/actions/handlers/handler_action_upgrade_test.go b/internal/pkg/agent/application/actions/handlers/handler_action_upgrade_test.go index fbea0dcc745..1cac13e00f1 100644 --- a/internal/pkg/agent/application/actions/handlers/handler_action_upgrade_test.go +++ b/internal/pkg/agent/application/actions/handlers/handler_action_upgrade_test.go @@ -123,14 +123,13 @@ func TestUpgradeHandler(t *testing.T) { // Make sure this test does not dead lock or wait for too long select { - case <-time.Tick(50 * time.Millisecond): + case <-time.Tick(1 * time.Second): t.Fatal("mockUpgradeManager.Upgrade was not called") case <-upgradeCalledChan: } } func TestUpgradeHandlerSameVersion(t *testing.T) { - t.Skip("flaky test: https://github.com/elastic/elastic-agent/issues/5938") // Create a cancellable context that will shut down the coordinator after // the test. ctx, cancel := context.WithCancel(context.Background()) @@ -185,7 +184,7 @@ func TestUpgradeHandlerSameVersion(t *testing.T) { // Make sure this test does not dead lock or wait for too long select { - case <-time.Tick(50 * time.Millisecond): + case <-time.Tick(1 * time.Second): t.Fatal("mockUpgradeManager.Upgrade was not called") case <-upgradeCalledChan: }