diff --git a/.buildkite/hooks/pre-command b/.buildkite/hooks/pre-command index 9a7228c5b2e3..b22cee81ec91 100644 --- a/.buildkite/hooks/pre-command +++ b/.buildkite/hooks/pre-command @@ -6,7 +6,6 @@ source .buildkite/env-scripts/util.sh # Secrets must be redacted # https://buildkite.com/docs/pipelines/managing-log-output#redacted-environment-variables -AWS_SERVICE_ACCOUNT_SECRET_PATH="kv/ci-shared/platform-ingest/aws_account_auth" PRIVATE_CI_GCS_CREDENTIALS_PATH="kv/ci-shared/platform-ingest/gcp-platform-ingest-ci-service-account" DOCKER_REGISTRY_SECRET_PATH="kv/ci-shared/platform-ingest/docker_registry_prod" GITHUB_TOKEN_VAULT_PATH="kv/ci-shared/platform-ingest/github_token" @@ -75,15 +74,6 @@ for slug in "${ENABLED_BEATS_PIPELINES_SLUGS[@]}"; do fi done -if [[ "$BUILDKITE_PIPELINE_SLUG" == *"xpack-metricbeat"* || "$BUILDKITE_PIPELINE_SLUG" == "beats-xpack-filebeat" ]]; then - if [[ "$BUILDKITE_STEP_KEY" == *"extended-cloud-test"* ]]; then - BEATS_AWS_SECRET_KEY=$(retry_with_count 5 vault kv get -field secret_key ${AWS_SERVICE_ACCOUNT_SECRET_PATH}) - export BEATS_AWS_SECRET_KEY - BEATS_AWS_ACCESS_KEY=$(retry_with_count 5 vault kv get -field access_key ${AWS_SERVICE_ACCOUNT_SECRET_PATH}) - export BEATS_AWS_ACCESS_KEY - fi -fi - if [[ "$BUILDKITE_PIPELINE_SLUG" == "beats-xpack-packetbeat" ]]; then if [[ "$BUILDKITE_STEP_KEY" == "extended-win-10-system-tests" || "$BUILDKITE_STEP_KEY" == "mandatory-win-2022-system-tests" ]]; then PRIVATE_CI_GCS_CREDENTIALS_SECRET=$(retry_with_count 5 vault kv get -field plaintext -format=json ${PRIVATE_CI_GCS_CREDENTIALS_PATH}) diff --git a/.buildkite/pull-requests.json b/.buildkite/pull-requests.json index b2cbb06e70ff..d3e6b7a56c46 100644 --- a/.buildkite/pull-requests.json +++ b/.buildkite/pull-requests.json @@ -15,22 +15,6 @@ "skip_target_branches": [ ], "skip_ci_on_only_changed": [ ], "always_require_ci_on_changed": [ ] - }, - { - "enabled": true, - "pipelineSlug": "beats-xpack-elastic-agent", - "allow_org_users": true, - "allowed_repo_permissions": ["admin", "write"], - "allowed_list": ["dependabot[bot]", "mergify[bot]", "github-actions[bot]"], - "set_commit_status": true, - "build_on_commit": true, - "build_on_comment": true, - "trigger_comment_regex": "^/test elastic-agent$", - "always_trigger_comment_regex": "^/test elastic-agent$", - "skip_ci_labels": [ ], - "skip_target_branches": [ ], - "skip_ci_on_only_changed": ["^x-pack/elastic-agent/README.md", "^x-pack/elastic-agent/docs/.*", "^x-pack/elastic-agent/devtools/.*" ], - "always_require_ci_on_changed": ["^x-pack/elastic-agent/.*", ".buildkite/x-pack/elastic-agent/.*", "^go.mod", "^pytest.ini", "^dev-tools/.*", "^libbeat/.*", "^testing/.*"] - } + } ] } diff --git a/.buildkite/scripts/initCloudEnv.sh b/.buildkite/scripts/initCloudEnv.sh new file mode 100755 index 000000000000..d8feea0d49ee --- /dev/null +++ b/.buildkite/scripts/initCloudEnv.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env bash +set -euo pipefail + +REPO_DIR=$(pwd) +AWS_SERVICE_ACCOUNT_SECRET_PATH="kv/ci-shared/platform-ingest/aws_account_auth" + +exportAwsSecrets() { + local awsSecretKey + local awsAccessKey + + awsSecretKey=$(retry -t 5 -- vault kv get -field secret_key ${AWS_SERVICE_ACCOUNT_SECRET_PATH}) + awsAccessKey=$(retry -t 5 -- vault kv get -field access_key ${AWS_SERVICE_ACCOUNT_SECRET_PATH}) + + echo "~~~ Exporting AWS secrets" + export AWS_ACCESS_KEY_ID=$awsAccessKey + export AWS_SECRET_ACCESS_KEY=$awsSecretKey + + # AWS_REGION is not set here, since AWS region is taken from beat corresponding *.tf file: + # - x-pack/metricbeat/module/aws/terraform.tf + # - x-pack/filebeat/input/awscloudwatch/_meta/terraform/variables.tf +} + +terraformApply() { + echo "Exporting Terraform Env Vars" + TF_VAR_BRANCH=$(echo "${BUILDKITE_BRANCH}" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]/-/g') + TF_VAR_CREATED_DATE=$(date +%s) + export TF_VAR_BUILD_ID="${BUILDKITE_BUILD_ID}" + export TF_VAR_ENVIRONMENT="ci" + export TF_VAR_REPO="beats" + export TF_VAR_BRANCH + export TF_VAR_CREATED_DATE + + echo "Terraform Init on $MODULE_DIR" + terraform -chdir="$MODULE_DIR" init + + echo "Terraform Apply on $MODULE_DIR" + terraform -chdir="$MODULE_DIR" apply -auto-approve +} + +terraformDestroy() { + echo "~~~ Terraform Destroy" + cd $REPO_DIR + find "$MODULE_DIR" -name terraform.tfstate -print0 | while IFS= read -r -d '' tfstate; do + cd "$(dirname "$tfstate")" + buildkite-agent artifact upload "**/terraform.tfstate" + buildkite-agent artifact upload "**/.terraform/**" + buildkite-agent artifact upload "outputs*.yml" + if ! terraform destroy -auto-approve; then + return 1 + fi + cd - + done + return 0 +} + +dockerUp() { + echo "~~~ Run docker-compose services for emulated cloud env" + docker-compose -f .buildkite/deploy/docker/docker-compose.yml up -d +} + +dockerTeardown() { + echo "~~~ Docker Compose Teardown" + docker-compose -f .buildkite/deploy/docker/docker-compose.yml down -v +} + +terraformSetup() { + max_retries=2 + timeout=5 + retries=0 + + while true; do + echo "~~~ Setting up Terraform" + out=$(terraformApply 2>&1) + exit_code=$? + + echo "$out" + + if [ $exit_code -eq 0 ]; then + break + else + retries=$((retries + 1)) + + if [ $retries -gt $max_retries ]; then + teardown + echo "+++ Terraform init & apply failed: $out" + exit 1 + fi + + teardown + + sleep_time=$((timeout * retries)) + echo "~~~~ Retry #$retries failed. Retrying after ${sleep_time}s..." + sleep $sleep_time + fi + done +} + +teardown() { + terraformDestroy + dockerTeardown +} + +trap 'teardown' EXIT + +exportAwsSecrets +dockerUp +terraformSetup diff --git a/.buildkite/scripts/setup_cloud_env.sh b/.buildkite/scripts/setup_cloud_env.sh deleted file mode 100644 index a13a8446dc71..000000000000 --- a/.buildkite/scripts/setup_cloud_env.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -REPO_DIR=$(pwd) - -teardown() { - # reset the directory to the root of the project - cd $REPO_DIR - # Teardown resources after using them - echo "~~~ Terraform Cleanup" - tf_cleanup "${MODULE_DIR}" #TODO: move all docker-compose files from the .ci to .buildkite folder before switching to BK - - echo "~~~ Docker Compose Cleanup" - docker-compose -f .buildkite/deploy/docker/docker-compose.yml down -v -} - -tf_cleanup() { - DIRECTORY=${1:-.} - - for tfstate in $(find $DIRECTORY -name terraform.tfstate); do - cd $(dirname $tfstate) - terraform init - if ! terraform destroy -auto-approve; then - echo "+++ Failed to Terraform destroy the resources" - fi - cd - - done -} - -trap 'teardown' EXIT - -# Prepare the cloud resources using Terraform -echo "~~~ Loading creds" -set +o xtrace -export AWS_ACCESS_KEY_ID=$BEATS_AWS_ACCESS_KEY -export AWS_SECRET_ACCESS_KEY=$BEATS_AWS_SECRET_KEY -export TEST_TAGS="${TEST_TAGS:+$TEST_TAGS,}aws" -set -o xtrace - -echo "~~~ Run docker-compose services for emulated cloud env" -docker-compose -f .buildkite/deploy/docker/docker-compose.yml up -d -echo "~~~ Initialize TF cloud resources" -cd "$MODULE_DIR" -export TF_VAR_BRANCH=$(echo "${BUILDKITE_BRANCH}" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]/-/g') -export TF_VAR_BUILD_ID="${BUILDKITE_BUILD_ID}" -export TF_VAR_CREATED_DATE=$(date +%s) -export TF_VAR_ENVIRONMENT="ci" -export TF_VAR_REPO="${REPO}" -terraform init && terraform apply -auto-approve -cd - diff --git a/.buildkite/x-pack/pipeline.xpack.filebeat.yml b/.buildkite/x-pack/pipeline.xpack.filebeat.yml index d9779dfdc2e9..ea57c4d47e48 100644 --- a/.buildkite/x-pack/pipeline.xpack.filebeat.yml +++ b/.buildkite/x-pack/pipeline.xpack.filebeat.yml @@ -45,7 +45,7 @@ steps: notify: - github_commit_status: context: "x-pack-filebeat: check/update" - + - wait: ~ # with PRs, we want to run mandatory tests only if check/update step succeed # for other cases, e.g. merge commits, we want to run mundatory test (and publish) independently of other tests @@ -285,53 +285,23 @@ steps: - github_commit_status: context: "x-pack/filebeat: macOS arm64 Unit Tests" - - label: ":ubuntu: x-pack/filebeat Cloud (MODULE) Tests" + - label: ":ubuntu: x-pack/filebeat AWS Tests" key: "x-pack-filebeat-extended-cloud-test" + skip: "skipping as it was on Jenkins: elastic/ingest-dev#3467" + # Related issue: https://github.com/elastic/ingest-dev/issues/3467 if: build.env("GITHUB_PR_LABELS") =~ /.*aws.*/ command: | set -euo pipefail - # defines the MODULE env var based on what's changed in a PR - source .buildkite/scripts/changesets.sh - defineModuleFromTheChangeSet x-pack/filebeat - echo "~~~ Running tests" - source .buildkite/scripts/setup_cloud_env.sh - cd x-pack/filebeat - mage build test - env: - ASDF_TERRAFORM_VERSION: 1.0.2 - AWS_REGION: "eu-central-1" - MODULE_DIR: "x-pack/filebeat/input/awss3/_meta/terraform" - REPO: beats - agents: - provider: "gcp" - image: "${IMAGE_UBUNTU_X86_64}" - machineType: "${GCP_DEFAULT_MACHINE_TYPE}" - artifact_paths: - - "x-pack/filebeat/build/*.xml" - - "x-pack/filebeat/build/*.json" - notify: - - github_commit_status: - context: "x-pack/filebeat: Cloud (MODULE) Tests" - - - label: ":ubuntu: x-pack/filebeat Cloud AWS (MODULE) Tests" - key: "x-pack-filebeat-extended-cloud-test-aws" - skip: "Skipping due to elastic/beats#36425" - # https://github.com/elastic/beats/issues/36425 - if: build.env("BUILDKITE_PULL_REQUEST") == "false" || build.env("GITHUB_PR_LABELS") =~ /.*aws.*/ - command: | - set -euo pipefail - # defines the MODULE env var based on what's changed in a PR - source .buildkite/scripts/changesets.sh - defineModuleFromTheChangeSet x-pack/filebeat + source .buildkite/scripts/initCloudEnv.sh echo "~~~ Running tests" - source .buildkite/scripts/setup_cloud_env.sh cd x-pack/filebeat mage build test goIntegTest env: ASDF_TERRAFORM_VERSION: 1.0.2 - AWS_REGION: "eu-central-1" MODULE_DIR: "x-pack/filebeat/input/awss3/_meta/terraform" - REPO: beats + MODULE: "aws" + # TEST_TAGS should be reviewed and updated: https://github.com/elastic/ingest-dev/issues/3476 + TEST_TAGS: "aws" agents: provider: "aws" imagePrefix: "${AWS_IMAGE_UBUNTU_ARM_64}" @@ -341,7 +311,7 @@ steps: - "x-pack/filebeat/build/*.json" notify: - github_commit_status: - context: "x-pack/filebeat: Cloud AWS (MODULE) Tests" + context: "x-pack/filebeat: AWS Tests" - wait: ~ # with PRs, we want to run packaging only if mandatory tests succeed diff --git a/.buildkite/x-pack/pipeline.xpack.metricbeat.yml b/.buildkite/x-pack/pipeline.xpack.metricbeat.yml index a06305d1d240..6a771045b89a 100644 --- a/.buildkite/x-pack/pipeline.xpack.metricbeat.yml +++ b/.buildkite/x-pack/pipeline.xpack.metricbeat.yml @@ -45,7 +45,7 @@ steps: notify: - github_commit_status: context: "x-pack/metricbeat: check/update" - + - wait: ~ # with PRs, we want to run mandatory tests only if check/update step succeed # for other cases, e.g. merge commits, we want to run mundatory test (and publish) independently of other tests @@ -55,8 +55,9 @@ steps: - group: "x-pack/metricbeat Mandatory Tests" key: "x-pack-metricbeat-mandatory-tests" + steps: - - label: ":linux: Ubuntu Unit Tests" + - label: ":ubuntu: x-pack/metricbeat Linux x86_64 Unit Tests" key: "mandatory-linux-unit-test" command: | cd x-pack/metricbeat @@ -73,9 +74,9 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Ubuntu Unit Tests" + context: "x-pack/metricbeat: Linux x86_64 Unit Tests" - - label: ":go: Go (MODULE) Integration Tests" + - label: ":ubuntu: x-pack/metricbeat Go (MODULE) Integration Tests" key: "mandatory-int-test" command: | set -euo pipefail @@ -98,7 +99,7 @@ steps: - github_commit_status: context: "x-pack/metricbeat: Go (MODULE) Integration Tests" - - label: ":python: Python (MODULE) Integration Tests" + - label: ":ubuntu: x-pack/metricbeat Python (MODULE) Integration Tests" key: "mandatory-python-int-test" command: | set -euo pipefail @@ -121,7 +122,7 @@ steps: - github_commit_status: context: "x-pack/metricbeat: Python (MODULE) Integration Tests" - - label: ":windows: Windows 2016 Unit Tests" + - label: ":windows: x-pack/metricbeat Win-2016 Unit Tests" command: | Set-Location -Path x-pack/metricbeat mage build unitTest @@ -140,9 +141,9 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Windows 2016 Unit Tests" + context: "x-pack/metricbeat: Win-2016 Unit Tests" - - label: ":windows: Windows 2022 Unit Tests" + - label: ":windows: x-pack/metricbeat Win-2022 Unit Tests" command: | Set-Location -Path x-pack/metricbeat mage build unitTest @@ -161,13 +162,14 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Windows 2022 Unit Tests" + context: "x-pack/metricbeat: Win-2022 Unit Tests" - group: "x-pack/metricbeat Extended Windows Tests" key: "x-pack-metricbeat-extended-win-tests" if: build.env("BUILDKITE_PULL_REQUEST") == "false" || build.env("GITHUB_PR_LABELS") =~ /.*[Ww]indows.*/ + steps: - - label: ":windows: Windows 10 Unit Tests" + - label: ":windows: x-pack/metricbeat Win 10 Unit Tests" command: | Set-Location -Path x-pack/metricbeat mage build unitTest @@ -186,9 +188,9 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Windows 10 Unit Tests" + context: "x-pack/metricbeat: Win 10 Unit Tests" - - label: ":windows: Windows 11 Unit Tests" + - label: ":windows: x-pack/metricbeat Win 11 Unit Tests" command: | Set-Location -Path x-pack/metricbeat mage build unitTest @@ -207,9 +209,9 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Windows 11 Unit Tests" + context: "x-pack/metricbeat: Win 11 Unit Tests" - - label: ":windows: Windows 2019 Unit Tests" + - label: ":windows: x-pack/metricbeat Win-2019 Unit Tests" command: | Set-Location -Path x-pack/metricbeat mage build unitTest @@ -228,13 +230,14 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Windows 2019 Unit Tests" + context: "x-pack/metricbeat: Win-2019 Unit Tests" - group: "x-pack/metricbeat Extended Tests" key: "x-pack-metricbeat-extended-tests" if: build.env("BUILDKITE_PULL_REQUEST") == "false" || build.env("GITHUB_PR_LABELS") =~ /.*(macOS|aws).*/ + steps: - - label: ":mac: MacOS x86_64 Unit Tests" + - label: ":mac: x-pack/metricbeat macOS x86_64 Unit Tests" if: build.env("BUILDKITE_PULL_REQUEST") == "false" || build.env("GITHUB_PR_LABELS") =~ /.*macOS.*/ command: | set -euo pipefail @@ -251,11 +254,11 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: MacOS x86_64 Unit Tests" + context: "x-pack/metricbeat: macOS x86_64 Unit Tests" - - label: ":mac: MacOS arm64 Unit Tests" - skip: "Skipping due to elastic/beats#33036" - # https://github.com/elastic/beats/issues/33036 + - label: ":mac: x-pack/metricbeat macOS arm64 Unit Tests" + skip: "Skipping due to elastic/beats#33036 & elastic/ingest-dev#3400" + # https://github.com/elastic/beats/issues/33036 https://github.com/elastic/ingest-dev/issues/3400 if: build.env("BUILDKITE_PULL_REQUEST") == "false" || build.env("GITHUB_PR_LABELS") =~ /.*macOS.*/ command: | set -euo pipefail @@ -272,56 +275,23 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: MacOS arm64 Unit Tests" + context: "x-pack/metricbeat: macOS arm64 Unit Tests" - - label: ":linux: Cloud (MODULE) Tests" + - label: ":ubuntu: x-pack/metricbeat AWS Tests" key: "x-pack-metricbeat-extended-cloud-test" if: build.env("GITHUB_PR_LABELS") =~ /.*aws.*/ command: | set -euo pipefail - # defines the MODULE env var based on what's changed in a PR - source .buildkite/scripts/changesets.sh - defineModuleFromTheChangeSet x-pack/metricbeat - echo "~~~ Running tests" - source .buildkite/scripts/setup_cloud_env.sh - cd x-pack/metricbeat - mage build test - env: - ASDF_TERRAFORM_VERSION: 1.0.2 - AWS_REGION: "eu-central-1" - MODULE_DIR: x-pack/metricbeat/module/aws - REPO: beats - agents: - provider: "gcp" - image: "${IMAGE_UBUNTU_X86_64}" - machineType: "${GCP_DEFAULT_MACHINE_TYPE}" - artifact_paths: - - "x-pack/metricbeat/build/*.xml" - - "x-pack/metricbeat/build/*.json" - notify: - - github_commit_status: - context: "x-pack/metricbeat: Cloud (MODULE) Tests" - - - label: ":linux: Cloud AWS (MODULE) Tests" - key: "x-pack-metricbeat-extended-cloud-test-aws" - skip: "Skipping due elastic/beats#36425 & elastic/ingest-dev#3170" - # https://github.com/elastic/beats/issues/36425 & https://github.com/elastic/ingest-dev/issues/3170 - if: build.env("GITHUB_PR_LABELS") =~ /.*aws.*/ - command: | - set -euo pipefail - # defines the MODULE env var based on what's changed in a PR - source .buildkite/scripts/changesets.sh - defineModuleFromTheChangeSet x-pack/metricbeat - + source .buildkite/scripts/initCloudEnv.sh echo "~~~ Running tests" - source .buildkite/scripts/setup_cloud_env.sh cd x-pack/metricbeat mage build test goIntegTest env: ASDF_TERRAFORM_VERSION: 1.0.2 - AWS_REGION: "eu-central-1" - MODULE_DIR: x-pack/metricbeat/module/aws - REPO: beats + MODULE_DIR: "x-pack/metricbeat/module/aws" + MODULE: "aws" + # TEST_TAGS should be reviewed and updated: https://github.com/elastic/ingest-dev/issues/3476 + TEST_TAGS: "aws" agents: provider: "aws" imagePrefix: "${AWS_IMAGE_UBUNTU_ARM_64}" @@ -331,7 +301,7 @@ steps: - "x-pack/metricbeat/build/*.json" notify: - github_commit_status: - context: "x-pack/metricbeat: Cloud AWS (MODULE) Tests" + context: "x-pack/metricbeat: AWS Tests" - wait: ~ # with PRs, we want to run packaging only if mandatory tests succeed @@ -344,7 +314,7 @@ steps: - group: "x-pack/metricbeat Packaging" key: "x-pack-metricbeat-packaging" steps: - - label: ":linux: Packaging Linux" + - label: ":ubuntu: x-pack/metricbeat Packaging Linux" key: "packaging-linux" command: | cd x-pack/metricbeat @@ -365,7 +335,7 @@ steps: - github_commit_status: context: "x-pack/metricbeat: Packaging Linux" - - label: ":linux: Packaging ARM" + - label: ":ubuntu: x-pack/metricbeat Packaging linux arm64" key: "packaging-arm" command: | cd x-pack/metricbeat @@ -383,4 +353,4 @@ steps: PACKAGES: "docker" notify: - github_commit_status: - context: "x-pack/metricbeat: Packaging Linux ARM" + context: "x-pack/metricbeat: Packaging Linux arm64" diff --git a/NOTICE.txt b/NOTICE.txt index 3461b42f8667..8f31999afdba 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -13391,11 +13391,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-s -------------------------------------------------------------------------------- Dependency : github.com/elastic/go-concert -Version: v0.2.0 +Version: v0.3.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/go-concert@v0.2.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/go-concert@v0.3.0/LICENSE: Apache License Version 2.0, January 2004 @@ -50946,428 +50946,6 @@ Contents of probable licence file $GOMODCACHE/github.com/tklauser/numcpus@v0.4.0 limitations under the License. --------------------------------------------------------------------------------- -Dependency : github.com/urso/diag -Version: v0.0.0-20200210123136-21b3cc8eb797 -Licence type (autodetected): Apache-2.0 --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/urso/diag@v0.0.0-20200210123136-21b3cc8eb797/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/urso/sderr -Version: v0.0.0-20210525210834-52b04e8f5c71 -Licence type (autodetected): Apache-2.0 --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/urso/sderr@v0.0.0-20210525210834-52b04e8f5c71/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/vishvananda/netlink Version: v1.1.0 diff --git a/go.mod b/go.mod index 84203986bf09..b2f5857a1e79 100644 --- a/go.mod +++ b/go.mod @@ -72,7 +72,7 @@ require ( github.com/eapache/go-resiliency v1.2.0 github.com/eclipse/paho.mqtt.golang v1.3.5 github.com/elastic/elastic-agent-client/v7 v7.13.0 - github.com/elastic/go-concert v0.2.0 + github.com/elastic/go-concert v0.3.0 github.com/elastic/go-libaudit/v2 v2.5.0 github.com/elastic/go-licenser v0.4.2 github.com/elastic/go-lookslike v1.0.1 @@ -141,7 +141,6 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tsg/go-daemon v0.0.0-20200207173439-e704b93fd89b github.com/ugorji/go/codec v1.1.8 - github.com/urso/sderr v0.0.0-20210525210834-52b04e8f5c71 // indirect github.com/vmware/govmomi v0.0.0-20170802214208-2cad15190b41 go.elastic.co/ecszap v1.0.2 go.elastic.co/go-licence-detector v0.6.1 @@ -359,7 +358,6 @@ require ( github.com/stoewer/go-strcase v1.2.0 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/tklauser/numcpus v0.4.0 // indirect - github.com/urso/diag v0.0.0-20200210123136-21b3cc8eb797 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect diff --git a/go.sum b/go.sum index d5ba1663f47d..8840be400fde 100644 --- a/go.sum +++ b/go.sum @@ -558,8 +558,8 @@ github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8 github.com/elastic/fsevents v0.0.0-20181029231046-e1d381a4d270 h1:cWPqxlPtir4RoQVCpGSRXmLqjEHpJKbR60rxh1nQZY4= github.com/elastic/fsevents v0.0.0-20181029231046-e1d381a4d270/go.mod h1:Msl1pdboCbArMF/nSCDUXgQuWTeoMmE/z8607X+k7ng= github.com/elastic/glog v1.0.1-0.20210831205241-7d8b5c89dfc4/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/elastic/go-concert v0.2.0 h1:GAQrhRVXprnNjtvTP9pWJ1d4ToEA4cU5ci7TwTa20xg= -github.com/elastic/go-concert v0.2.0/go.mod h1:HWjpO3IAEJUxOeaJOWXWEp7imKd27foxz9V5vegC/38= +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-elasticsearch/v8 v8.14.0 h1:1ywU8WFReLLcxE1WJqii3hTtbPUE2hc38ZK/j4mMFow= github.com/elastic/go-elasticsearch/v8 v8.14.0/go.mod h1:WRvnlGkSuZyp83M2U8El/LGXpCjYLrvlkSgkAH4O5I4= github.com/elastic/go-libaudit/v2 v2.5.0 h1:5OK919QRnGtcjVBz3n/cs5F42im1mPlVTA9TyIn2K54= @@ -1634,10 +1634,6 @@ github.com/ugorji/go/codec v1.1.8 h1:4dryPvxMP9OtkjIbuNeK2nb27M38XMHLGlfNSNph/5s github.com/ugorji/go/codec v1.1.8/go.mod h1:X00B19HDtwvKbQY2DcYjvZxKQp8mzrJoQ6EgoIY/D2E= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urso/diag v0.0.0-20200210123136-21b3cc8eb797 h1:OHNw/6pXODJAB32NujjdQO/KIYQ3KAbHQfCzH81XdCs= -github.com/urso/diag v0.0.0-20200210123136-21b3cc8eb797/go.mod h1:pNWFTeQ+V1OYT/TzWpnWb6eQBdoXpdx+H+lrH97/Oyo= -github.com/urso/sderr v0.0.0-20210525210834-52b04e8f5c71 h1:CehQeKbysHV8J2V7AD0w8NL2x1h04kmmo/Ft5su4lU0= -github.com/urso/sderr v0.0.0-20210525210834-52b04e8f5c71/go.mod h1:Wp40HwmjM59FkDIVFfcCb9LzBbnc0XAMp8++hJuWvSU= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= @@ -1742,7 +1738,6 @@ go.uber.org/atomic v1.8.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -2186,7 +2181,6 @@ golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304024140-c4206d458c3f/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=