From b31a011a5a9168a92905d6a335212536b136428f Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Tue, 24 Oct 2023 16:39:24 +0200 Subject: [PATCH] change chainlink-env to env package and adjust all usages --- .github/workflows/env-e2e.yaml | 123 +++ .../env-publish-test-base-image.yaml | 27 + .github/workflows/lint.yaml | 2 +- .github/workflows/static-analysis.yaml | 2 +- .github/workflows/test.yaml | 6 +- .gitignore | 12 +- .golangci.yaml | 2 + .tool-versions | 5 +- Makefile | 2 +- README.md | 58 +- blockchain/ethereum.go | 2 +- client/mockserver.go | 6 +- client/postgres.go | 4 +- docs/index.md | 1 - docs/setup/code.md | 6 +- env/.gitignore | 13 - env/.golangci.yaml | 15 - env/.tool-versions | 7 - env/Dockerfile | 4 +- env/README.md | 49 -- env/REMOTE_RUN.md | 2 +- env/TUTORIAL.md | 80 +- env/chaos/experiments.go | 9 +- env/client/chaos.go | 6 +- env/client/client.go | 25 +- env/client/cmd.go | 2 +- env/e2e/common/test_common.go | 22 +- env/e2e/local-runner/envs_test.go | 2 +- .../remote-runner/remote_runner_envs_test.go | 14 +- env/environment/artifacts.go | 17 +- env/environment/environment.go | 33 +- env/environment/runner.go | 6 +- env/examples/clones/clones.go | 8 +- env/examples/concurrent/env_test.go | 4 +- env/examples/coverage/env.go | 6 +- env/examples/deployment_part/cmd/env.go | 7 +- env/examples/deployment_part/sol.go | 4 +- .../deployment_part_cdk8s/blockscout.go | 12 +- env/examples/deployment_part_cdk8s/cmd/env.go | 8 +- env/examples/dump/env.go | 6 +- env/examples/modify_cdk8s/env.go | 9 +- env/examples/modify_helm/env.go | 10 +- env/examples/multistage/env.go | 10 +- env/examples/quick-debug/env.go | 6 +- env/examples/remote-test-runner/env.go | 12 +- env/examples/resources/env.go | 9 +- env/examples/simple/env.go | 10 +- env/go.mod | 121 --- env/go.sum | 765 ------------------ .../httpchaos/chaosmeshorg/chaosmeshorg.go | 8 +- .../k8s/iochaos/chaosmeshorg/chaosmeshorg.go | 30 +- env/imports/k8s/jsii/jsii.go | 6 +- env/imports/k8s/k8s.go | 22 +- .../networkchaos/chaosmeshorg/chaosmeshorg.go | 26 +- .../k8s/podchaos/chaosmeshorg/chaosmeshorg.go | 24 +- .../podiochaos/chaosmeshorg/chaosmeshorg.go | 34 +- .../chaosmeshorg/chaosmeshorg.go | 28 +- .../stresschaos/chaosmeshorg/chaosmeshorg.go | 8 +- .../timechaos/chaosmeshorg/chaosmeshorg.go | 8 +- env/logging/log.go | 39 - env/pkg/alias/alias.go | 3 +- env/pkg/cdk8s/blockscout/blockscout.go | 12 +- env/pkg/cdk8s/goc/goc.go | 7 +- env/pkg/cdk8s/http_dummy/dummy.go | 8 +- env/pkg/common.go | 2 +- env/pkg/helm/chainlink/chainlink.go | 6 +- env/pkg/helm/ethereum/geth.go | 6 +- env/pkg/helm/grafana/grafana.go | 4 +- env/pkg/helm/influxdb/influxdb.go | 4 +- env/pkg/helm/kafka-rest/kafka-rest.go | 7 +- env/pkg/helm/kafka/kafka.go | 4 +- env/pkg/helm/mock-adapter/mock-adapter.go | 11 +- env/pkg/helm/mockserver-cfg/mockserver-cfg.go | 2 +- env/pkg/helm/mockserver/mockserver.go | 7 +- env/pkg/helm/polygon-edge/edge.go | 6 +- env/pkg/helm/reorg/reorg.go | 8 +- .../helm/schema-registry/schema-registry.go | 4 +- env/pkg/helm/sol/sol.go | 4 +- env/pkg/helm/starknet/starknet.go | 5 +- env/presets/presets.go | 14 +- env/scripts/buildTestImage | 2 +- env/sonar-project.properties | 7 - go.mod | 25 +- go.sum | 2 - logging/log.go | 3 +- sonar-project.properties | 9 + testreporters/reporter_model.go | 3 +- testreporters/slack_notification.go | 3 +- testsetups/migration.go | 7 +- utils/os_env.go | 2 +- 90 files changed, 595 insertions(+), 1396 deletions(-) create mode 100644 .github/workflows/env-e2e.yaml create mode 100644 .github/workflows/env-publish-test-base-image.yaml delete mode 100644 env/.gitignore delete mode 100644 env/.golangci.yaml delete mode 100644 env/.tool-versions delete mode 100644 env/README.md delete mode 100644 env/go.mod delete mode 100644 env/go.sum delete mode 100644 env/logging/log.go delete mode 100644 env/sonar-project.properties diff --git a/.github/workflows/env-e2e.yaml b/.github/workflows/env-e2e.yaml new file mode 100644 index 000000000..602e631e2 --- /dev/null +++ b/.github/workflows/env-e2e.yaml @@ -0,0 +1,123 @@ +name: (env package) E2E tests +on: + push: + paths: + - "env/**" + +concurrency: + group: e2e-tests-chainlink-env-${{ github.ref }} + cancel-in-progress: true + +env: + INTERNAL_DOCKER_REPO: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com + ENV_JOB_IMAGE: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/chainlink-testing-framework-tests:ci.${{ github.sha }} + BASE_IMAGE_NAME: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/test-base-image:ci.${{ github.sha }} + CHAINLINK_IMAGE: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/chainlink + CHAINLINK_VERSION: develop + SELECTED_NETWORKS: SIMULATED + CHAINLINK_COMMIT_SHA: ${{ github.sha }} + CHAINLINK_ENV_USER: ${{ github.actor }} + TEST_LOG_LEVEL: debug + +jobs: + build_tests: + runs-on: ubuntu-latest + environment: integration + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v3 + - name: Build Base Image + uses: smartcontractkit/chainlink-github-actions/docker/build-push@ce87f8986ca18336cc5015df75916c2ec0a7c4b3 # v2.1.2 + with: + tags: ${{ env.BASE_IMAGE_NAME }} + file: env/Dockerfile.base + AWS_REGION: ${{ secrets.QA_AWS_REGION }} + AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} + - name: Base Image Built + run: | + # shellcheck disable=SC2086 + cat <>$GITHUB_STEP_SUMMARY + ### chainlink image tag used for this test run :link: => \`${{ env.CHAINLINK_VERSION }}\` + ### test-base-image image tag for this test run :ship: => \`ci.${{ github.sha }}\` + EOT + - name: Build Test Runner + uses: smartcontractkit/chainlink-github-actions/docker/build-push@ce87f8986ca18336cc5015df75916c2ec0a7c4b3 # v2.1.2 + with: + tags: ${{ env.ENV_JOB_IMAGE }} + file: env/Dockerfile + build-args: | + BASE_IMAGE=${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/test-base-image + IMAGE_VERSION=ci.${{ github.sha }} + AWS_REGION: ${{ secrets.QA_AWS_REGION }} + AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} + - name: Test Image Built + run: | + # shellcheck disable=SC2086 + cat <>$GITHUB_STEP_SUMMARY + ### chainlink-env-tests image tag for this test run :ship: -> \`ci.${{ github.sha }}\` + EOT + e2e_tests: + runs-on: ubuntu-latest + environment: integration + permissions: + id-token: write + contents: read + env: + TEST_SUITE: local-runner + steps: + - uses: actions/checkout@v3 + - name: Run Tests + uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/run-tests@ce87f8986ca18336cc5015df75916c2ec0a7c4b3 # v2.1.2 + with: + cl_repo: ${{ env.CHAINLINK_IMAGE }} + cl_image_tag: ${{ env.CHAINLINK_VERSION }} + test_command_to_run: unset ENV_JOB_IMAGE && cd env && make test_e2e_ci + test_download_vendor_packages_command: go mod download + artifacts_location: ./e2e/logs + publish_check_name: E2E Test Results + token: ${{ secrets.GITHUB_TOKEN }} + go_mod_path: go.mod + QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }} + QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} + QA_KUBECONFIG: ${{ secrets.QA_KUBECONFIG }} + - name: Upload test log + uses: actions/upload-artifact@v3 + if: failure() + with: + name: test-log + path: /tmp/gotest.log + + e2e_remote_runner_tests: + runs-on: ubuntu-latest + environment: integration + needs: [build_tests] + permissions: + id-token: write + contents: read + env: + TEST_SUITE: remote-runner + TEST_TRIGGERED_BY: chainlink-env-remote-runner-ci + steps: + - uses: actions/checkout@v3 + - name: Run Remote Runner Tests + uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/run-tests@ce87f8986ca18336cc5015df75916c2ec0a7c4b3 # v2.1.2 + with: + cl_repo: ${{ env.CHAINLINK_IMAGE }} + cl_image_tag: ${{ env.CHAINLINK_VERSION }} + test_command_to_run: cd env && make test_e2e_ci_remote_runner + test_download_vendor_packages_command: go mod download + artifacts_location: ./e2e/logs + publish_check_name: E2E Remote Runner Test Results + token: ${{ secrets.GITHUB_TOKEN }} + go_mod_path: go.mod + QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }} + QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} + QA_KUBECONFIG: ${{ secrets.QA_KUBECONFIG }} + - name: Upload test log + uses: actions/upload-artifact@v2 + if: failure() + with: + name: remote-runner-test-log + path: /tmp/remoterunnergotest.log diff --git a/.github/workflows/env-publish-test-base-image.yaml b/.github/workflows/env-publish-test-base-image.yaml new file mode 100644 index 000000000..ba76cc8d9 --- /dev/null +++ b/.github/workflows/env-publish-test-base-image.yaml @@ -0,0 +1,27 @@ +name: (env package) Publish Test Base Image +on: + push: + tags: + - 'v*' + paths: + - "env/**" + +jobs: + publish_test_base_image: + if: ${{ false }} + runs-on: ubuntu-latest + environment: integration + permissions: + id-token: write + contents: read + env: + BASE_IMAGE_TAG: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/test-base-image:${{ github.ref_name }} + steps: + - uses: actions/checkout@v3 + - name: Build Base Image + uses: smartcontractkit/chainlink-github-actions/docker/build-push@cb4a8f51d77cbf77ea6a765bd1f437ffc7a18730 # v2.0.28 + with: + tags: ${{ env.BASE_IMAGE_TAG }} + file: env/Dockerfile.base + AWS_REGION: ${{ secrets.QA_AWS_REGION }} + AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 61b5996c9..d346916d8 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -1,4 +1,4 @@ -name: Linting and SonarQube Analysis +name: (all packages) Lints on: push: branches: diff --git a/.github/workflows/static-analysis.yaml b/.github/workflows/static-analysis.yaml index 3578090b5..03ea613c0 100644 --- a/.github/workflows/static-analysis.yaml +++ b/.github/workflows/static-analysis.yaml @@ -1,4 +1,4 @@ -name: Static Analysis +name: (all packages) Static Analysis on: push: branches: [main] diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 9c2764a3f..ab30e7445 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,4 +1,4 @@ -name: Tests +name: (all packages) Unit tests on: push: tags: @@ -29,7 +29,9 @@ jobs: PATH=$PATH:$(go env GOPATH)/bin export PATH set -euo pipefail - go test -json -cover -covermode=count -coverprofile=unit-test-coverage.out ./... 2>&1 | tee /tmp/gotest.log | gotestfmt + # disabled, because we want to use a multiline output of go list command + # shellcheck disable=SC2046 + go test -json -cover -covermode=count -coverprofile=unit-test-coverage.out $(go list ./... | grep -v /env/e2e/ | grep -v /env/examples/) 2>&1 | tee /tmp/gotest.log | gotestfmt - name: Code Coverage uses: codecov/codecov-action@v3 with: diff --git a/.gitignore b/.gitignore index 2ddd1b7d7..2ed86f9c3 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,14 @@ docs/Gemfile.lock dist/ **/remote_runner_config.yaml -logs/ \ No newline at end of file +logs/ + +env/cmd/chaos +env/bin/ +# temp manifest for deployment and validation +tmp-manifest-*.yaml +# remote runner binary +remote.test +e2e.test + +k3dvolume/ \ No newline at end of file diff --git a/.golangci.yaml b/.golangci.yaml index 8f3dc690c..c5d94bee7 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -3,6 +3,8 @@ run: timeout: 5m skip-dirs: - contracts/ethereum + - examples + - imports linters: enable: # defaults diff --git a/.tool-versions b/.tool-versions index cd9c3faf7..a8994708c 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,7 +1,10 @@ golang 1.21.3 nodejs 14.20.0 -k3d 5.4.6 +k3d 5.5.1 act 0.2.30 golangci-lint 1.54.2 actionlint 1.6.17 shellcheck 0.9.0 +helm 3.10.3 +kubectl 1.25.5 +yarn 1.22.19 \ No newline at end of file diff --git a/Makefile b/Makefile index 82e051f44..cfed3dd39 100644 --- a/Makefile +++ b/Makefile @@ -55,4 +55,4 @@ compile_contracts: python3 ./utils/compile_contracts.py test_unit: install_gotestfmt - go test -json -cover -covermode=count -coverprofile=unit-test-coverage.out ./client ./gauntlet ./testreporters ./docker/test_env 2>&1 | tee /tmp/gotest.log | gotestfmt + go test -json -cover -covermode=count -coverprofile=unit-test-coverage.out ./client ./gauntlet ./testreporters ./docker/test_env ./env/config 2>&1 | tee /tmp/gotest.log | gotestfmt diff --git a/README.md b/README.md index e44609413..bac731602 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,62 @@ -The Chainlink Testing Framework is a blockchain development framework written in Go. Its primary purpose is to help chainlink developers create extensive integration, e2e, performance, and chaos tests to ensure the stability of the chainlink project. It can also be helpful to those who just want to use chainlink oracles in their projects to help test their contracts, or even for those that aren't using chainlink. This project makes ample use of the [chainlink-env](https://github.com/smartcontractkit/chainlink-env) package to launch resources and testing apparatus. +The Chainlink Testing Framework is a blockchain development framework written in Go. Its primary purpose is to help chainlink developers create extensive integration, e2e, performance, and chaos tests to ensure the stability of the chainlink project. It can also be helpful to those who just want to use chainlink oracles in their projects to help test their contracts, or even for those that aren't using chainlink. If you're looking to implement a new chain integration for the testing framework, head over to the [blockchain](./blockchain/) directory for more info. + +## Chainlink environment +This is an environment package we are using in tests, it provides: +- [cdk8s](https://cdk8s.io/) based wrappers +- High-level k8s API +- Automatic port forwarding + +You can also use this package to spin up standalone environments. + +### Local k8s cluster +Read [here](KUBERNETES.md) about how to spin up a local cluster + +#### Install +Set up deps, you need to have `node 14.x.x`, [helm](https://helm.sh/docs/intro/install/) and [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) + +Then use +```shell +make install_deps +``` + +### Running tests in k8s +To read how to run a test in k8s, read [here](./env/REMOTE_RUN.md) + +### Interacting with k8s +To read how to interact with k8s, read [here](./env/KUBERNETES.md) + +### Usage +Create an env in a separate file and run it +``` +export CHAINLINK_IMAGE="public.ecr.aws/chainlink/chainlink" +export CHAINLINK_TAG="1.4.0-root" +export CHAINLINK_ENV_USER="Satoshi" +go run examples/simple/env.go +``` +For more features follow [tutorial](./env/TUTORIAL.md) + +### Development +#### Running standalone example environment +```shell +go run examples/simple/env.go +``` +If you have another env of that type, you can connect by overriding environment name +``` +ENV_NAMESPACE="..." go run examples/chainlink/env.go +``` + +Add more presets [here](./env/presets) + +Add more programmatic examples [here](./env/examples/) + +If you have [chaosmesh]() installed in your cluster you can pull and generated CRD in go like that +``` +make chaosmesh +``` + +If you need to check your system tests coverage, use [that](./env/TUTORIAL.md#coverage) \ No newline at end of file diff --git a/blockchain/ethereum.go b/blockchain/ethereum.go index f47c71c80..a19a7eff4 100644 --- a/blockchain/ethereum.go +++ b/blockchain/ethereum.go @@ -26,7 +26,7 @@ import ( "go.uber.org/atomic" "golang.org/x/sync/errgroup" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" "github.com/smartcontractkit/chainlink-testing-framework/utils" ) diff --git a/client/mockserver.go b/client/mockserver.go index e379bdf24..96d7f8b2c 100644 --- a/client/mockserver.go +++ b/client/mockserver.go @@ -6,10 +6,10 @@ import ( "strings" "github.com/go-resty/resty/v2" - "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" ) // MockserverClient mockserver client diff --git a/client/postgres.go b/client/postgres.go index cfa434211..8aad98507 100644 --- a/client/postgres.go +++ b/client/postgres.go @@ -5,11 +5,11 @@ import ( "strings" "github.com/jmoiron/sqlx" - "github.com/smartcontractkit/chainlink-env/environment" - // import for side effect of sql packages _ "github.com/lib/pq" "github.com/rs/zerolog/log" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) // PostgresConnector sqlx postgres connector diff --git a/docs/index.md b/docs/index.md index 9c468f78d..73651051a 100755 --- a/docs/index.md +++ b/docs/index.md @@ -22,6 +22,5 @@ Here you'll find some guidelines on writing blockchain tests using this framewor Some notable packages we use include: -* [chainlink-env](https://github.com/smartcontractkit/chainlink-env) * [zerolog](https://github.com/rs/zerolog) * [Kubernetes](https://github.com/kubernetes/kubernetes) diff --git a/docs/setup/code.md b/docs/setup/code.md index 7cdcc3509..e4abbe218 100644 --- a/docs/setup/code.md +++ b/docs/setup/code.md @@ -7,11 +7,11 @@ parent: Setup # Test Setup Code -Now that we've got our config and Kubernetes sorted, we can write a bit of code that will deploy an environment for our test to run. To deploy our simulated geth, mock-server, and Chainlink instances, we rely on another chainlink library, [chainlink-env](https://github.com/smartcontractkit/chainlink-env/). This library handles deploying everything our test needs to the Kubernetes cluster. +Now that we've got our config and Kubernetes sorted, we can write a bit of code that will deploy an environment for our test to run. To deploy our simulated geth, mock-server, and Chainlink instances, we rely on `env` package. This package handles deploying everything our test needs to the Kubernetes cluster. ```go -// We use the chainlink-env library to make and handle deployed resources -import "github.com/smartcontractkit/chainlink-env/environment" +// We use the env package to make and handle deployed resources +import "github.com/smartcontractkit/chainlink-testing-framework/env/environment" // Deploy a testing environment, and receive it as the `env` variable. This is used to connect to resources. e = environment.New(nil) diff --git a/env/.gitignore b/env/.gitignore deleted file mode 100644 index b0fc52df4..000000000 --- a/env/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -cmd/chaos -bin/ -# temp manifest for deployment and validation -tmp-manifest-*.yaml -# remote runner binary -remote.test -e2e.test - -.vscode/ -.idea/ -.direnv/ - -k3dvolume/ \ No newline at end of file diff --git a/env/.golangci.yaml b/env/.golangci.yaml deleted file mode 100644 index 6109e7958..000000000 --- a/env/.golangci.yaml +++ /dev/null @@ -1,15 +0,0 @@ -run: - timeout: 5m - skip-dirs: - - bin - - imports -issues: - exclude-use-default: false -linters-settings: - revive: - rules: - - name: exported - severity: warning - - name: dot-imports - disabled: true -linters: \ No newline at end of file diff --git a/env/.tool-versions b/env/.tool-versions deleted file mode 100644 index dc99022a3..000000000 --- a/env/.tool-versions +++ /dev/null @@ -1,7 +0,0 @@ -golang 1.21.1 -helm 3.10.3 -golangci-lint 1.51.1 -kubectl 1.25.5 -nodejs 18.13.0 -yarn 1.22.19 -k3d 5.5.1 diff --git a/env/Dockerfile b/env/Dockerfile index 7a177a2b1..7c848c61c 100644 --- a/env/Dockerfile +++ b/env/Dockerfile @@ -3,5 +3,5 @@ ARG IMAGE_VERSION=latest FROM ${BASE_IMAGE}:${IMAGE_VERSION} COPY . testdir/ WORKDIR /go/testdir -RUN ./scripts/buildTests -ENTRYPOINT ["./scripts/entrypoint"] +RUN ./env/scripts/buildTests +ENTRYPOINT ["./env/scripts/entrypoint"] diff --git a/env/README.md b/env/README.md deleted file mode 100644 index 51469fb76..000000000 --- a/env/README.md +++ /dev/null @@ -1,49 +0,0 @@ -## Chainlink environment -This is an environment library we are using in tests, it provides: -- [cdk8s](https://cdk8s.io/) based wrappers -- High-level k8s API -- Automatic port forwarding - -You can also use this library to spin up standalone environments - -### Local k8s cluster -Read [here](KUBERNETES.md) about how to spin up a local cluster - -#### Install -Set up deps, you need to have `node 14.x.x`, [helm](https://helm.sh/docs/intro/install/) and [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) - -Then use -```shell -make install_deps -``` - -### Usage -Create an env in a separate file and run it -``` -export CHAINLINK_IMAGE="public.ecr.aws/chainlink/chainlink" -export CHAINLINK_TAG="1.4.0-root" -export CHAINLINK_ENV_USER="Satoshi" -go run examples/simple/env.go -``` -For more features follow [tutorial](./TUTORIAL.md) - -# Develop -#### Running standalone example environment -```shell -go run examples/simple/env.go -``` -If you have another env of that type, you can connect by overriding environment name -``` -ENV_NAMESPACE="..." go run examples/chainlink/env.go -``` - -Add more presets [here](./presets) - -Add more programmatic examples [here](./examples/) - -If you have [chaosmesh]() installed in your cluster you can pull and generated CRD in go like that -``` -make chaosmesh -``` - -If you need to check your system tests coverage, use [that](TUTORIAL.md#coverage) \ No newline at end of file diff --git a/env/REMOTE_RUN.md b/env/REMOTE_RUN.md index d5d90bdcf..bd3faf5ac 100644 --- a/env/REMOTE_RUN.md +++ b/env/REMOTE_RUN.md @@ -25,6 +25,6 @@ export TEST_ENV_VAR=myTestVarForAJob ACCOUNT=$(aws sts get-caller-identity | jq -r .Account) export ENV_JOB_IMAGE="${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/core-integration-tests:v1.1" # your example test file to run inside k8s -# if ENV_JOB_IMAGE is present chainlink-env will create a job, wait until it finished and get logs +# if ENV_JOB_IMAGE is present it will create a job, wait until it finished and get logs go run examples/remote-test-runner/env.go ``` \ No newline at end of file diff --git a/env/TUTORIAL.md b/env/TUTORIAL.md index 7622c1383..177e95144 100644 --- a/env/TUTORIAL.md +++ b/env/TUTORIAL.md @@ -33,11 +33,11 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" ) func main() { @@ -82,9 +82,9 @@ You can spin up environment and block on forwarder if you'd like to run some oth package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { @@ -153,9 +153,9 @@ Now let's tie them together package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/examples/deployment_part" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/examples/deployment_part" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" "time" ) @@ -220,10 +220,10 @@ Now let's tie them together package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/examples/deployment_part_cdk8s" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/examples/deployment_part_cdk8s" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { @@ -251,12 +251,12 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/blockscout" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/blockscout" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" ) func main() { @@ -306,10 +306,10 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/blockscout" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/blockscout" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { @@ -354,11 +354,11 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" ) func main() { @@ -483,9 +483,9 @@ You can collect the [logs](examples/dump/env.go) while running tests, or if you package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { @@ -511,10 +511,10 @@ package main import ( "fmt" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { @@ -564,9 +564,9 @@ package main import ( "time" - "github.com/smartcontractkit/chainlink-env/environment" - goc "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/goc" - dummy "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/http_dummy" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + goc "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/goc" + dummy "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/http_dummy" ) func main() { diff --git a/env/chaos/experiments.go b/env/chaos/experiments.go index 9c9b0df70..627ae110a 100644 --- a/env/chaos/experiments.go +++ b/env/chaos/experiments.go @@ -2,10 +2,11 @@ package chaos import ( "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/config" - networkChaos "github.com/smartcontractkit/chainlink-env/imports/k8s/networkchaos/chaosmeshorg" - podChaos "github.com/smartcontractkit/chainlink-env/imports/k8s/podchaos/chaosmeshorg" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + networkChaos "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/networkchaos/chaosmeshorg" + podChaos "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podchaos/chaosmeshorg" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" ) var ( diff --git a/env/client/chaos.go b/env/client/chaos.go index 8757113e7..b7cf900a5 100644 --- a/env/client/chaos.go +++ b/env/client/chaos.go @@ -12,7 +12,7 @@ import ( "k8s.io/apimachinery/pkg/util/json" "k8s.io/apimachinery/pkg/util/wait" - "github.com/smartcontractkit/chainlink-env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" ) // Chaos is controller that manages Chaosmesh CRD instances to run experiments @@ -43,13 +43,13 @@ func (c *Chaos) Run(app cdk8s.App, id string, resource string) (string, error) { config.JSIIGlobalMu.Unlock() log.Trace().Str("Raw", manifest).Msg("Manifest") c.ResourceByName[id] = resource - if err := c.Client.Apply(context.Background(), manifest, c.Namespace); err != nil { + if err := c.Client.Apply(context.Background(), manifest, c.Namespace, false); err != nil { return id, err } if err := c.checkForPodsExistence(app); err != nil { return id, err } - err := c.waitForChaosStatus(id, v1alpha1.ConditionAllInjected, time.Minute) + err := c.waitForChaosStatus(id, v1alpha1.ConditionAllInjected, 5*time.Minute) if err != nil { return id, err } diff --git a/env/client/client.go b/env/client/client.go index 065f9c678..a536b2f07 100644 --- a/env/client/client.go +++ b/env/client/client.go @@ -285,7 +285,7 @@ func (m *K8sClient) WaitPodsReady(ns string, rcd *ReadyCheckData, expectedPodCou for { select { case <-timeout.C: - return fmt.Errorf("waitcontainersready, no pods in %s with selector %s after timeout %s", + return fmt.Errorf("waitcontainersready, no pods in '%s' with selector '%s' after timeout '%s'", ns, rcd.ReadinessProbeCheckSelector, rcd.Timeout) case <-ticker.C: podList, err := m.ListPods(ns, rcd.ReadinessProbeCheckSelector) @@ -303,8 +303,10 @@ func (m *K8sClient) WaitPodsReady(ns string, rcd *ReadyCheckData, expectedPodCou allReady := true for _, pod := range podList.Items { if pod.Status.Phase == "Succeeded" { + log.Debug().Str("Pod", pod.Name).Msg("Pod is in Succeeded state") continue } else if pod.Status.Phase != v1.PodRunning { + log.Debug().Str("Pod", pod.Name).Str("Phase", string(pod.Status.Phase)).Msg("Pod is not running") allReady = false break } @@ -341,16 +343,13 @@ func (m *K8sClient) NamespaceExists(namespace string) bool { // RemoveNamespace removes namespace func (m *K8sClient) RemoveNamespace(namespace string) error { log.Info().Str("Namespace", namespace).Msg("Removing namespace") - if err := m.ClientSet.CoreV1().Namespaces().Delete(context.Background(), namespace, metaV1.DeleteOptions{}); err != nil { - return err - } - return nil + return m.ClientSet.CoreV1().Namespaces().Delete(context.Background(), namespace, metaV1.DeleteOptions{}) } // RolloutStatefulSets applies "rollout statefulset" to all existing statefulsets in that namespace func (m *K8sClient) RolloutStatefulSets(ctx context.Context, namespace string) error { stsClient := m.ClientSet.AppsV1().StatefulSets(namespace) - sts, err := stsClient.List(context.Background(), metaV1.ListOptions{}) + sts, err := stsClient.List(ctx, metaV1.ListOptions{}) if err != nil { return err } @@ -421,7 +420,7 @@ func (m *K8sClient) WaitForJob(namespaceName string, jobName string, fundReturnS } func (m *K8sClient) WaitForDeploymentsAvailable(ctx context.Context, namespace string) error { - deployments, err := m.ClientSet.AppsV1().Deployments(namespace).List(context.Background(), metaV1.ListOptions{}) + deployments, err := m.ClientSet.AppsV1().Deployments(namespace).List(ctx, metaV1.ListOptions{}) if err != nil { return err } @@ -438,7 +437,7 @@ func (m *K8sClient) WaitForDeploymentsAvailable(ctx context.Context, namespace s } // Apply applying a manifest to a currently connected k8s context -func (m *K8sClient) Apply(ctx context.Context, manifest, namespace string) error { +func (m *K8sClient) Apply(ctx context.Context, manifest, namespace string, waitForDeployment bool) error { manifestFile := fmt.Sprintf(TempDebugManifest, uuid.NewString()) log.Info().Str("File", manifestFile).Msg("Applying manifest") if err := os.WriteFile(manifestFile, []byte(manifest), os.ModePerm); err != nil { @@ -449,7 +448,10 @@ func (m *K8sClient) Apply(ctx context.Context, manifest, namespace string) error if err := ExecCmdWithContext(ctx, cmd); err != nil { return err } - return m.WaitForDeploymentsAvailable(ctx, namespace) + if waitForDeployment { + return m.WaitForDeploymentsAvailable(ctx, namespace) + } + return nil } // DeleteResource deletes resource @@ -472,10 +474,7 @@ func (m *K8sClient) Create(manifest string) error { func (m *K8sClient) DryRun(manifest string) error { manifestFile := fmt.Sprintf(TempDebugManifest, uuid.NewString()) log.Info().Str("File", manifestFile).Msg("Creating manifest") - if err := os.WriteFile(manifestFile, []byte(manifest), os.ModePerm); err != nil { - return err - } - return nil + return os.WriteFile(manifestFile, []byte(manifest), os.ModePerm) } // CopyToPod copies src to a particular container. Destination should be in the form of a proper K8s destination path diff --git a/env/client/cmd.go b/env/client/cmd.go index fb0759840..fd66f4513 100644 --- a/env/client/cmd.go +++ b/env/client/cmd.go @@ -34,7 +34,7 @@ func readStdPipe(pipe io.ReadCloser, outputFunction func(string)) { func ExecCmdWithOptions(ctx context.Context, command string, outputFunction func(string)) error { c := strings.Split(command, " ") - cmd := exec.CommandContext(ctx, c[0], c[1:]...) + cmd := exec.CommandContext(ctx, c[0], c[1:]...) // #nosec: G204 stderr, err := cmd.StderrPipe() if err != nil { return err diff --git a/env/e2e/common/test_common.go b/env/e2e/common/test_common.go index 5f764889b..0703ead44 100644 --- a/env/e2e/common/test_common.go +++ b/env/e2e/common/test_common.go @@ -12,19 +12,19 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/smartcontractkit/chainlink-env/chaos" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/logging" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/presets" + "github.com/smartcontractkit/chainlink-testing-framework/env/chaos" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/presets" + "github.com/smartcontractkit/chainlink-testing-framework/logging" ) const ( - TestEnvType = "chainlink-env-test" + TestEnvType = "chainlink-testing-framework-env-test" ) var ( @@ -311,7 +311,7 @@ func TestWithChaos(t *testing.T) { err = e.Run() require.NoError(t, err) - // verify that the node can recieve requests again + // verify that the node can receive requests again url = e.URLs["chainlink_local"][0] res, err = r.R().Get(url) require.NoError(t, err) diff --git a/env/e2e/local-runner/envs_test.go b/env/e2e/local-runner/envs_test.go index a4ae00351..00201b376 100644 --- a/env/e2e/local-runner/envs_test.go +++ b/env/e2e/local-runner/envs_test.go @@ -3,7 +3,7 @@ package env_test import ( "testing" - "github.com/smartcontractkit/chainlink-env/e2e/common" + "github.com/smartcontractkit/chainlink-testing-framework/env/e2e/common" ) func TestMultiStageMultiManifestConnection(t *testing.T) { diff --git a/env/e2e/remote-runner/remote_runner_envs_test.go b/env/e2e/remote-runner/remote_runner_envs_test.go index 17b8728a9..af66b4c1c 100644 --- a/env/e2e/remote-runner/remote_runner_envs_test.go +++ b/env/e2e/remote-runner/remote_runner_envs_test.go @@ -10,13 +10,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/smartcontractkit/chainlink-env/e2e/common" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" - "github.com/smartcontractkit/chainlink-env/presets" + "github.com/smartcontractkit/chainlink-testing-framework/env/e2e/common" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/presets" ) func TestMultiStageMultiManifestConnection(t *testing.T) { diff --git a/env/environment/artifacts.go b/env/environment/artifacts.go index e4dae2508..919f250a2 100644 --- a/env/environment/artifacts.go +++ b/env/environment/artifacts.go @@ -9,7 +9,7 @@ import ( "path/filepath" "strings" - "github.com/smartcontractkit/chainlink-env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" "github.com/pkg/errors" "github.com/rs/zerolog/log" @@ -43,10 +43,7 @@ func (a *Artifacts) DumpTestResult(testDir string, dbName string) error { if err := MkdirIfNotExists(testDir); err != nil { return err } - if err := a.writePodArtifacts(testDir); err != nil { - return err - } - return nil + return a.writePodArtifacts(testDir) } func (a *Artifacts) writePodArtifacts(testDir string) error { @@ -124,10 +121,7 @@ func (a *Artifacts) writePostgresDump(podDir string, pod coreV1.Pod, cont coreV1 if err != nil { return err } - if err = logFile.Close(); err != nil { - return err - } - return nil + return logFile.Close() } func (a *Artifacts) writeContainerLogs(podDir string, pod coreV1.Pod, cont coreV1.Container) error { @@ -153,10 +147,7 @@ func (a *Artifacts) writeContainerLogs(podDir string, pod coreV1.Pod, cont coreV if err = logFile.Close(); err != nil { return err } - if err = podLogs.Close(); err != nil { - return err - } - return nil + return podLogs.Close() } // Writes logs for each container in a pod diff --git a/env/environment/environment.go b/env/environment/environment.go index f00a32583..8652bfe88 100644 --- a/env/environment/environment.go +++ b/env/environment/environment.go @@ -19,12 +19,12 @@ import ( "github.com/rs/zerolog/log" "github.com/stretchr/testify/require" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/imports/k8s" - "github.com/smartcontractkit/chainlink-env/logging" - "github.com/smartcontractkit/chainlink-env/pkg" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/logging" ) const ( @@ -309,7 +309,7 @@ func (m *Environment) initApp() error { startTime := time.Now() deadline, _ := ctx.Deadline() for { - err = m.Client.Apply(ctx, m.CurrentManifest, m.Cfg.Namespace) + err = m.Client.Apply(ctx, m.CurrentManifest, m.Cfg.Namespace, true) if err == nil || ctx.Err() != nil { break } @@ -318,7 +318,7 @@ func (m *Environment) initApp() error { log.Debug().Err(err).Msgf("Failed to apply initial manifest, will continue to retry. Time elapsed: %s, Time until timeout %s\n", elapsed, remaining) time.Sleep(5 * time.Second) } - if ctx.Err() == context.DeadlineExceeded { + if errors.Is(ctx.Err(), context.DeadlineExceeded) { return fmt.Errorf("failed to apply manifest within %s", m.Cfg.ReadyCheckData.Timeout) } if m.Cfg.PodLabels == nil { @@ -691,7 +691,7 @@ func (m *Environment) RunCustomReadyConditions(customCheck *client.ReadyCheckDat return err } if m.Cfg.fundReturnFailed { - return errors.New("failed to return funds in remote runner.") + return errors.New("failed to return funds in remote runner") } m.Cfg.jobDeployed = true } else { @@ -770,15 +770,12 @@ func (m *Environment) DeployCustomReadyConditions(customCheck *client.ReadyCheck log.Info().Str("Namespace", m.Cfg.Namespace).Msg("Deploying namespace") if m.Cfg.DryRun { - if err := m.Client.DryRun(m.CurrentManifest); err != nil { - return err - } - return nil + return m.Client.DryRun(m.CurrentManifest) } ctx, cancel := context.WithTimeout(context.Background(), m.Cfg.ReadyCheckData.Timeout) defer cancel() - err := m.Client.Apply(ctx, m.CurrentManifest, m.Cfg.Namespace) - if ctx.Err() == context.DeadlineExceeded { + err := m.Client.Apply(ctx, m.CurrentManifest, m.Cfg.Namespace, true) + if errors.Is(ctx.Err(), context.DeadlineExceeded) { return errors.New("timeout waiting for environment to be ready") } if err != nil { @@ -814,7 +811,7 @@ func (m *Environment) RolloutStatefulSets() error { ctx, cancel := context.WithTimeout(context.Background(), m.Cfg.ReadyCheckData.Timeout) defer cancel() err := m.Client.RolloutStatefulSets(ctx, m.Cfg.Namespace) - if ctx.Err() == context.DeadlineExceeded { + if errors.Is(ctx.Err(), context.DeadlineExceeded) { return errors.New("timeout waiting for rollout statefulset to complete") } return err @@ -828,7 +825,7 @@ func (m *Environment) RolloutRestartBySelector(resource string, selector string) ctx, cancel := context.WithTimeout(context.Background(), m.Cfg.ReadyCheckData.Timeout) defer cancel() err := m.Client.RolloutRestartBySelector(ctx, m.Cfg.Namespace, resource, selector) - if ctx.Err() == context.DeadlineExceeded { + if errors.Is(ctx.Err(), context.DeadlineExceeded) { return errors.New("timeout waiting for rollout restart to complete") } return err @@ -896,7 +893,7 @@ func getReplicaCount(spec map[string]any) int { if ok { replicaCount += int(replicas.(float64)) } else { - replicaCount += 1 + replicaCount++ } return replicaCount diff --git a/env/environment/runner.go b/env/environment/runner.go index c8295c6ad..a4649b8c9 100644 --- a/env/environment/runner.go +++ b/env/environment/runner.go @@ -9,9 +9,9 @@ import ( "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/imports/k8s" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" ) const REMOTE_RUNNER_NAME = "remote-test-runner" diff --git a/env/examples/clones/clones.go b/env/examples/clones/clones.go index a03dfa41d..d8c54c2d3 100644 --- a/env/examples/clones/clones.go +++ b/env/examples/clones/clones.go @@ -3,10 +3,10 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { diff --git a/env/examples/concurrent/env_test.go b/env/examples/concurrent/env_test.go index c432d10a1..048219e81 100644 --- a/env/examples/concurrent/env_test.go +++ b/env/examples/concurrent/env_test.go @@ -3,8 +3,8 @@ package concurrent_test import ( "testing" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" "github.com/stretchr/testify/require" ) diff --git a/env/examples/coverage/env.go b/env/examples/coverage/env.go index 4718262b8..89ffeef81 100644 --- a/env/examples/coverage/env.go +++ b/env/examples/coverage/env.go @@ -3,9 +3,9 @@ package main import ( "time" - "github.com/smartcontractkit/chainlink-env/environment" - goc "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/goc" - dummy "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/http_dummy" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + goc "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/goc" + dummy "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/http_dummy" ) func main() { diff --git a/env/examples/deployment_part/cmd/env.go b/env/examples/deployment_part/cmd/env.go index 803e267d6..468c84474 100644 --- a/env/examples/deployment_part/cmd/env.go +++ b/env/examples/deployment_part/cmd/env.go @@ -1,10 +1,11 @@ package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/examples/deployment_part" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" "time" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/examples/deployment_part" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" ) func main() { diff --git a/env/examples/deployment_part/sol.go b/env/examples/deployment_part/sol.go index 864c3f8e5..7db11947d 100644 --- a/env/examples/deployment_part/sol.go +++ b/env/examples/deployment_part/sol.go @@ -3,8 +3,8 @@ package deployment_part import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/examples/deployment_part_cdk8s/blockscout.go b/env/examples/deployment_part_cdk8s/blockscout.go index f12d8ffbb..366b2f635 100644 --- a/env/examples/deployment_part_cdk8s/blockscout.go +++ b/env/examples/deployment_part_cdk8s/blockscout.go @@ -5,12 +5,12 @@ import ( cdk8s "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/imports/k8s" - "github.com/smartcontractkit/chainlink-env/pkg" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" ) const ( diff --git a/env/examples/deployment_part_cdk8s/cmd/env.go b/env/examples/deployment_part_cdk8s/cmd/env.go index 424991c6e..59ea0c486 100644 --- a/env/examples/deployment_part_cdk8s/cmd/env.go +++ b/env/examples/deployment_part_cdk8s/cmd/env.go @@ -1,10 +1,10 @@ package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/examples/deployment_part_cdk8s" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/examples/deployment_part_cdk8s" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { diff --git a/env/examples/dump/env.go b/env/examples/dump/env.go index 2c71d9355..a84c4d3ce 100644 --- a/env/examples/dump/env.go +++ b/env/examples/dump/env.go @@ -1,9 +1,9 @@ package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { diff --git a/env/examples/modify_cdk8s/env.go b/env/examples/modify_cdk8s/env.go index fef81d36b..a60f6df47 100644 --- a/env/examples/modify_cdk8s/env.go +++ b/env/examples/modify_cdk8s/env.go @@ -2,10 +2,11 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/blockscout" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/blockscout" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { diff --git a/env/examples/modify_helm/env.go b/env/examples/modify_helm/env.go index 422c5d4c1..985220dba 100644 --- a/env/examples/modify_helm/env.go +++ b/env/examples/modify_helm/env.go @@ -3,11 +3,11 @@ package main import ( "fmt" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" ) func main() { diff --git a/env/examples/multistage/env.go b/env/examples/multistage/env.go index bd0cb5274..dce8c20a3 100644 --- a/env/examples/multistage/env.go +++ b/env/examples/multistage/env.go @@ -3,11 +3,11 @@ package main import ( "time" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" ) func main() { diff --git a/env/examples/quick-debug/env.go b/env/examples/quick-debug/env.go index d41ff24e3..d2e811db1 100644 --- a/env/examples/quick-debug/env.go +++ b/env/examples/quick-debug/env.go @@ -1,9 +1,9 @@ package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { diff --git a/env/examples/remote-test-runner/env.go b/env/examples/remote-test-runner/env.go index ce35edf89..e472d0c7c 100644 --- a/env/examples/remote-test-runner/env.go +++ b/env/examples/remote-test-runner/env.go @@ -3,12 +3,12 @@ package main import ( "os" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" ) func main() { diff --git a/env/examples/resources/env.go b/env/examples/resources/env.go index c251e28f6..e7430b572 100644 --- a/env/examples/resources/env.go +++ b/env/examples/resources/env.go @@ -2,11 +2,12 @@ package main import ( "fmt" + "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) func main() { diff --git a/env/examples/simple/env.go b/env/examples/simple/env.go index 62ecd4eba..9b2a55fff 100644 --- a/env/examples/simple/env.go +++ b/env/examples/simple/env.go @@ -1,11 +1,11 @@ package main import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" ) func main() { diff --git a/env/go.mod b/env/go.mod deleted file mode 100644 index daeb55bfe..000000000 --- a/env/go.mod +++ /dev/null @@ -1,121 +0,0 @@ -module github.com/smartcontractkit/chainlink-env - -go 1.21 - -require ( - github.com/aws/constructs-go/constructs/v10 v10.1.255 - github.com/aws/jsii-runtime-go v1.75.0 - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 - github.com/chaos-mesh/chaos-mesh/api/v1alpha1 v0.0.0-20220226050744-799408773657 - github.com/go-resty/resty/v2 v2.7.0 - github.com/google/uuid v1.3.0 - github.com/imdario/mergo v0.3.13 - github.com/onsi/gomega v1.20.1 - github.com/pkg/errors v0.9.1 - github.com/rs/zerolog v1.29.0 - github.com/stretchr/testify v1.8.1 - golang.org/x/sync v0.1.0 - k8s.io/api v0.25.11 - k8s.io/apimachinery v0.25.11 - k8s.io/cli-runtime v0.25.11 - k8s.io/client-go v0.25.11 - k8s.io/kubectl v0.25.11 -) - -// K8s dependencies are infuriating and go mod tidy keeps wanting to update them, lock them here -replace ( - k8s.io/api => k8s.io/api v0.25.11 - k8s.io/apimachinery => k8s.io/apimachinery v0.25.11 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.25.11 - k8s.io/client-go => k8s.io/client-go v0.25.11 - k8s.io/kubectl => k8s.io/kubectl v0.25.11 -) - -require ( - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect - github.com/MakeNowJust/heredoc v1.0.0 // indirect - github.com/Masterminds/semver/v3 v3.2.0 // indirect - github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/chai2010/gettext-go v1.0.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/docker/go-units v0.4.0 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/evanphx/json-patch v5.6.0+incompatible // indirect - github.com/evanphx/json-patch/v5 v5.6.0 // indirect - github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect - github.com/fatih/camelcase v1.0.0 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect - github.com/fvbommel/sortorder v1.0.2 // indirect - github.com/go-errors/errors v1.4.2 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.20.0 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/kr/pretty v0.2.1 // indirect - github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect - github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/moby/spdystream v0.2.0 // indirect - github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/peterbourgon/diskv v2.0.1+incompatible // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.14.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/russross/blackfriday v1.5.2 // indirect - github.com/sergi/go-diff v1.2.0 // indirect - github.com/spf13/cobra v1.6.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/xlab/treeprint v1.1.0 // indirect - github.com/yuin/goldmark v1.4.13 // indirect - go.starlark.net v0.0.0-20220817180228-f738f5508c12 // indirect - golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect - golang.org/x/mod v0.8.0 // indirect - golang.org/x/net v0.15.0 // indirect - golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 // indirect - golang.org/x/sys v0.12.0 // indirect - golang.org/x/term v0.12.0 // indirect - golang.org/x/text v0.13.0 // indirect - golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect - golang.org/x/tools v0.6.0 // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.25.3 // indirect - k8s.io/component-base v0.25.11 // indirect - k8s.io/klog/v2 v2.80.1 // indirect - k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect - k8s.io/utils v0.0.0-20221107191617-1a15be271d1d // indirect - sigs.k8s.io/controller-runtime v0.13.0 // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/kustomize/api v0.12.1 // indirect - sigs.k8s.io/kustomize/kyaml v0.13.9 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/env/go.sum b/env/go.sum deleted file mode 100644 index d90cd65c7..000000000 --- a/env/go.sum +++ /dev/null @@ -1,765 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= -github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= -github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= -github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a h1:E/8AP5dFtMhl5KPJz66Kt9G0n+7Sn41Fy1wv9/jHOrc= -github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/constructs-go/constructs/v10 v10.1.255 h1:5hARfEmhBqHSTQf/C3QLA3sWOxO2Dfja0iA1W7ZcI7g= -github.com/aws/constructs-go/constructs/v10 v10.1.255/go.mod h1:DCdBSjN04Ck2pajCacTD4RKFqSA7Utya8d62XreYctI= -github.com/aws/jsii-runtime-go v1.75.0 h1:NhpUfyiL7/wsRuUekFsz8FFBCYLfPD/l61kKg9kL/a4= -github.com/aws/jsii-runtime-go v1.75.0/go.mod h1:TKCyrtM0pygEPo4rDZzbMSDNCDNTSYSN6/mGyHI6O3I= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= -github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= -github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk= -github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= -github.com/chaos-mesh/chaos-mesh/api/v1alpha1 v0.0.0-20220226050744-799408773657 h1:CyuI+igIjadM/GRnE2o0q+WCwipDh0n2cUYFPAvxziM= -github.com/chaos-mesh/chaos-mesh/api/v1alpha1 v0.0.0-20220226050744-799408773657/go.mod h1:JRiumF+RFsH1mrrP8FUsi9tExPylKkO/oSRWeQEUdLE= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= -github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= -github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= -github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= -github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= -github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= -github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/fvbommel/sortorder v1.0.2 h1:mV4o8B2hKboCdkJm+a7uX/SIpZob4JzUpc5GGnM45eo= -github.com/fvbommel/sortorder v1.0.2/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= -github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= -github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= -github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= -github.com/google/gnostic v0.6.9/go.mod h1:Nm8234We1lq6iB9OmlgNv3nH91XLLVZHCDayfA3xq+E= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= -github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2 h1:hAHbPm5IJGijwng3PWk09JkG9WeqChjprR5s9bBZ+OM= -github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= -github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU= -github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= -github.com/onsi/gomega v1.20.1 h1:PA/3qinGoukvymdIDV8pii6tiZgC8kbmJO6Z5+b002Q= -github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= -github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w= -github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= -github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI= -github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk= -github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.starlark.net v0.0.0-20220817180228-f738f5508c12 h1:xOBJXWGEDwU5xSDxH6macxO11Us0AH2fTa9rmsbbF7g= -go.starlark.net v0.0.0-20220817180228-f738f5508c12/go.mod h1:VZcBMdr3cT3PnBoWunTabuSEXwVAH+ZJ5zxfs3AdASk= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= -go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 h1:2o1E+E8TpNLklK9nHiPiK1uzIYrIHt+cQx3ynCwq9V8= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 h1:ftMN5LMiBFjbzleLqtoBZk7KdJwhuybIU+FckUHgoyQ= -golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -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-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-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.11 h1:4mjYDfE3yp22jrytjH0knwgzjXKkxHX4D01ZCAazvZM= -k8s.io/api v0.25.11/go.mod h1:bK4UvD4bthtutNlvensrfBX21PRQ/vs2cIYggHkOOAo= -k8s.io/apiextensions-apiserver v0.25.3 h1:bfI4KS31w2f9WM1KLGwnwuVlW3RSRPuIsfNF/3HzR0k= -k8s.io/apiextensions-apiserver v0.25.3/go.mod h1:ZJqwpCkxIx9itilmZek7JgfUAM0dnTsA48I4krPqRmo= -k8s.io/apimachinery v0.25.11 h1:2EhfdrSAMvBxsswvOGCEymKk4ZnHZkranuZqdR0rsO4= -k8s.io/apimachinery v0.25.11/go.mod h1:IFwbcNi3gKkfDhuy0VYu3+BwbxbiIov3p6FR8ge1Epc= -k8s.io/cli-runtime v0.25.11 h1:GE2yNZm1tN+MJtw1SGMOLesLF7Kp7NVAVqRSTbXfu4o= -k8s.io/cli-runtime v0.25.11/go.mod h1:r/nEINuHVEpgGhcd2WamU7hD1t/lMnSz8XM44Autltc= -k8s.io/client-go v0.25.11 h1:DJQ141UsbNRI6wYSlcYLP5J5BW5Wq7Bgm42Ztq2SW70= -k8s.io/client-go v0.25.11/go.mod h1:41Xs7p1SfhoReUnmjjYCfCNWFiq4xSkexwJfbxF2F7A= -k8s.io/component-base v0.25.11 h1:3QmISCE9n9CJkVpTA4spQO1IZCrLlOwbKdzSN9dqZZA= -k8s.io/component-base v0.25.11/go.mod h1:wFR4pfB+xTc6FBak+RoWRNeTmelGE4XWJP/xVOvn3vM= -k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4= -k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E= -k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4= -k8s.io/kubectl v0.25.11 h1:6bsft5Gan6BCvQ7cJbDRFjTm4Zfq8GuUYpsWAdVngYE= -k8s.io/kubectl v0.25.11/go.mod h1:8mIfgkFgT+yJ8/TlmPW1qoRh46H2si9q5nW8id7i9iM= -k8s.io/utils v0.0.0-20221107191617-1a15be271d1d h1:0Smp/HP1OH4Rvhe+4B8nWGERtlqAGSftbSbbmm45oFs= -k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -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.13.0 h1:iqa5RNciy7ADWnIc8QxCbOX5FEKVR3uxVxKHRMc2WIQ= -sigs.k8s.io/controller-runtime v0.13.0/go.mod h1:Zbz+el8Yg31jubvAEyglRZGdLAjplZl+PgtYNI6WNTI= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kustomize/api v0.12.1 h1:7YM7gW3kYBwtKvoY216ZzY+8hM+lV53LUayghNRJ0vM= -sigs.k8s.io/kustomize/api v0.12.1/go.mod h1:y3JUhimkZkR6sbLNwfJHxvo1TCLwuwm14sCYnkH6S1s= -sigs.k8s.io/kustomize/kyaml v0.13.9 h1:Qz53EAaFFANyNgyOEJbT/yoIHygK40/ZcvU3rgry2Tk= -sigs.k8s.io/kustomize/kyaml v0.13.9/go.mod h1:QsRbD0/KcU+wdk0/L0fIp2KLnohkVzs6fQ85/nOXac4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/env/imports/k8s/httpchaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/httpchaos/chaosmeshorg/chaosmeshorg.go index 20fe57bf1..0a7bc1cae 100644 --- a/env/imports/k8s/httpchaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/httpchaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/httpchaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/httpchaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/httpchaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/httpchaos/chaosmeshorg/internal" ) // HTTPChaos is the Schema for the HTTPchaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_HttpChaos) Node() constructs.Node { return returns } - // Defines a "HTTPChaos" API object. func NewHttpChaos(scope constructs.Construct, id *string, props *HttpChaosProps) HttpChaos { _init_.Initialize() @@ -286,7 +285,7 @@ func (h *jsiiProxy_HttpChaos) ToString() *string { // HTTPChaos is the Schema for the HTTPchaos API. type HttpChaosProps struct { Metadata *cdk8s.ApiObjectMetadata `field:"optional" json:"metadata" yaml:"metadata"` - Spec *HttpChaosSpec `field:"optional" json:"spec" yaml:"spec"` + Spec *HttpChaosSpec `field:"optional" json:"spec" yaml:"spec"` } type HttpChaosSpec struct { @@ -451,4 +450,3 @@ const ( // Response. HttpChaosSpecTarget_RESPONSE HttpChaosSpecTarget = "RESPONSE" ) - diff --git a/env/imports/k8s/iochaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/iochaos/chaosmeshorg/chaosmeshorg.go index 076148cc8..8d3fdf136 100644 --- a/env/imports/k8s/iochaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/iochaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/iochaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/iochaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/iochaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/iochaos/chaosmeshorg/internal" ) // IOChaos is the Schema for the iochaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_IoChaos) Node() constructs.Node { return returns } - // Defines a "IOChaos" API object. func NewIoChaos(scope constructs.Construct, id *string, props *IoChaosProps) IoChaos { _init_.Initialize() @@ -359,39 +358,39 @@ const ( // Attr defines the overrided attribution. type IoChaosSpecAttr struct { // Timespec represents a time. - Atime *IoChaosSpecAttrAtime `field:"optional" json:"atime" yaml:"atime"` - Blocks *float64 `field:"optional" json:"blocks" yaml:"blocks"` + Atime *IoChaosSpecAttrAtime `field:"optional" json:"atime" yaml:"atime"` + Blocks *float64 `field:"optional" json:"blocks" yaml:"blocks"` // Timespec represents a time. Ctime *IoChaosSpecAttrCtime `field:"optional" json:"ctime" yaml:"ctime"` - Gid *float64 `field:"optional" json:"gid" yaml:"gid"` - Ino *float64 `field:"optional" json:"ino" yaml:"ino"` + Gid *float64 `field:"optional" json:"gid" yaml:"gid"` + Ino *float64 `field:"optional" json:"ino" yaml:"ino"` // FileType represents type of a file. Kind *string `field:"optional" json:"kind" yaml:"kind"` // Timespec represents a time. Mtime *IoChaosSpecAttrMtime `field:"optional" json:"mtime" yaml:"mtime"` - Nlink *float64 `field:"optional" json:"nlink" yaml:"nlink"` - Perm *float64 `field:"optional" json:"perm" yaml:"perm"` - Rdev *float64 `field:"optional" json:"rdev" yaml:"rdev"` - Size *float64 `field:"optional" json:"size" yaml:"size"` - Uid *float64 `field:"optional" json:"uid" yaml:"uid"` + Nlink *float64 `field:"optional" json:"nlink" yaml:"nlink"` + Perm *float64 `field:"optional" json:"perm" yaml:"perm"` + Rdev *float64 `field:"optional" json:"rdev" yaml:"rdev"` + Size *float64 `field:"optional" json:"size" yaml:"size"` + Uid *float64 `field:"optional" json:"uid" yaml:"uid"` } // Timespec represents a time. type IoChaosSpecAttrAtime struct { Nsec *float64 `field:"required" json:"nsec" yaml:"nsec"` - Sec *float64 `field:"required" json:"sec" yaml:"sec"` + Sec *float64 `field:"required" json:"sec" yaml:"sec"` } // Timespec represents a time. type IoChaosSpecAttrCtime struct { Nsec *float64 `field:"required" json:"nsec" yaml:"nsec"` - Sec *float64 `field:"required" json:"sec" yaml:"sec"` + Sec *float64 `field:"required" json:"sec" yaml:"sec"` } // Timespec represents a time. type IoChaosSpecAttrMtime struct { Nsec *float64 `field:"required" json:"nsec" yaml:"nsec"` - Sec *float64 `field:"required" json:"sec" yaml:"sec"` + Sec *float64 `field:"required" json:"sec" yaml:"sec"` } // Mistake defines what types of incorrectness are injected to IO operations. @@ -481,4 +480,3 @@ type IoChaosSpecSelectorExpressionSelectors struct { // If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. Values *[]*string `field:"optional" json:"values" yaml:"values"` } - diff --git a/env/imports/k8s/jsii/jsii.go b/env/imports/k8s/jsii/jsii.go index 61d738bed..7d3b07906 100644 --- a/env/imports/k8s/jsii/jsii.go +++ b/env/imports/k8s/jsii/jsii.go @@ -5,12 +5,12 @@ package jsii import ( - _ "embed" + _ "embed" - _jsii_ "github.com/aws/jsii-runtime-go/runtime" + _jsii_ "github.com/aws/jsii-runtime-go/runtime" constructs "github.com/aws/constructs-go/constructs/v10/jsii" - cdk8s "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2/jsii" + cdk8s "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2/jsii" ) //go:embed k8s-0.0.0.tgz diff --git a/env/imports/k8s/k8s.go b/env/imports/k8s/k8s.go index 962b0a8b3..030bbe2a3 100644 --- a/env/imports/k8s/k8s.go +++ b/env/imports/k8s/k8s.go @@ -5,11 +5,11 @@ import ( "time" _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/internal" ) // Affinity is a group of affinity scheduling rules. @@ -14106,14 +14106,16 @@ type KubeEndpointSliceV1Beta1Props struct { // Example: // Name: "mysvc", // Subsets: [ -// { -// Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], -// Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] -// }, -// { -// Addresses: [{"ip": "10.10.3.3"}], -// Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] -// }, +// +// { +// Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], +// Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] +// }, +// { +// Addresses: [{"ip": "10.10.3.3"}], +// Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] +// }, +// // ]. type KubeEndpoints interface { cdk8s.ApiObject diff --git a/env/imports/k8s/networkchaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/networkchaos/chaosmeshorg/chaosmeshorg.go index 4f02f0c93..ecbe12a48 100644 --- a/env/imports/k8s/networkchaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/networkchaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/networkchaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/networkchaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/networkchaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/networkchaos/chaosmeshorg/internal" ) // NetworkChaos is the Schema for the networkchaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_NetworkChaos) Node() constructs.Node { return returns } - // Defines a "NetworkChaos" API object. func NewNetworkChaos(scope constructs.Construct, id *string, props *NetworkChaosProps) NetworkChaos { _init_.Initialize() @@ -286,7 +285,7 @@ func (n *jsiiProxy_NetworkChaos) ToString() *string { // NetworkChaos is the Schema for the networkchaos API. type NetworkChaosProps struct { // Spec defines the behavior of a pod chaos experiment. - Spec *NetworkChaosSpec `field:"required" json:"spec" yaml:"spec"` + Spec *NetworkChaosSpec `field:"required" json:"spec" yaml:"spec"` Metadata *cdk8s.ApiObjectMetadata `field:"optional" json:"metadata" yaml:"metadata"` } @@ -370,24 +369,24 @@ type NetworkChaosSpecBandwidth struct { // Corrupt represents the detail about corrupt action. type NetworkChaosSpecCorrupt struct { - Corrupt *string `field:"required" json:"corrupt" yaml:"corrupt"` + Corrupt *string `field:"required" json:"corrupt" yaml:"corrupt"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } // Delay represents the detail about delay action. type NetworkChaosSpecDelay struct { - Latency *string `field:"required" json:"latency" yaml:"latency"` + Latency *string `field:"required" json:"latency" yaml:"latency"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` - Jitter *string `field:"optional" json:"jitter" yaml:"jitter"` + Jitter *string `field:"optional" json:"jitter" yaml:"jitter"` // ReorderSpec defines details of packet reorder. Reorder *NetworkChaosSpecDelayReorder `field:"optional" json:"reorder" yaml:"reorder"` } // ReorderSpec defines details of packet reorder. type NetworkChaosSpecDelayReorder struct { - Gap *float64 `field:"required" json:"gap" yaml:"gap"` - Reorder *string `field:"required" json:"reorder" yaml:"reorder"` - Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` + Gap *float64 `field:"required" json:"gap" yaml:"gap"` + Reorder *string `field:"required" json:"reorder" yaml:"reorder"` + Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } // Direction represents the direction, this applies on netem and network partition action. @@ -399,19 +398,19 @@ const ( // from. NetworkChaosSpecDirection_FROM NetworkChaosSpecDirection = "FROM" // both. - NetworkChaosSpecDirection_BOTH NetworkChaosSpecDirection = "BOTH" + NetworkChaosSpecDirection_BOTH NetworkChaosSpecDirection = "BOTH" NetworkChaosSpecDirection_VALUE_ NetworkChaosSpecDirection = "VALUE_" ) // DuplicateSpec represents the detail about loss action. type NetworkChaosSpecDuplicate struct { - Duplicate *string `field:"required" json:"duplicate" yaml:"duplicate"` + Duplicate *string `field:"required" json:"duplicate" yaml:"duplicate"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } // Loss represents the detail about loss action. type NetworkChaosSpecLoss struct { - Loss *string `field:"required" json:"loss" yaml:"loss"` + Loss *string `field:"required" json:"loss" yaml:"loss"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } @@ -564,4 +563,3 @@ type NetworkChaosSpecTargetSelectorExpressionSelectors struct { // If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. Values *[]*string `field:"optional" json:"values" yaml:"values"` } - diff --git a/env/imports/k8s/podchaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/podchaos/chaosmeshorg/chaosmeshorg.go index 2f4b06f01..40ecde2e9 100644 --- a/env/imports/k8s/podchaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/podchaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/podchaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podchaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/podchaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podchaos/chaosmeshorg/internal" ) // PodChaos is the control script`s spec. @@ -123,7 +123,6 @@ func (j *jsiiProxy_PodChaos) Node() constructs.Node { return returns } - // Defines a "PodChaos" API object. func NewPodChaos(scope constructs.Construct, id *string, props *PodChaosProps) PodChaos { _init_.Initialize() @@ -231,37 +230,37 @@ func PodChaos_GVK() *cdk8s.GroupVersionKind { return returns } -func (p *jsiiProxy_PodChaos) AddDependency(dependencies ...constructs.IConstruct) { +func (j *jsiiProxy_PodChaos) AddDependency(dependencies ...constructs.IConstruct) { args := []interface{}{} for _, a := range dependencies { args = append(args, a) } _jsii_.InvokeVoid( - p, + j, "addDependency", args, ) } -func (p *jsiiProxy_PodChaos) AddJsonPatch(ops ...cdk8s.JsonPatch) { +func (j *jsiiProxy_PodChaos) AddJsonPatch(ops ...cdk8s.JsonPatch) { args := []interface{}{} for _, a := range ops { args = append(args, a) } _jsii_.InvokeVoid( - p, + j, "addJsonPatch", args, ) } -func (p *jsiiProxy_PodChaos) ToJson() interface{} { +func (j *jsiiProxy_PodChaos) ToJson() interface{} { var returns interface{} _jsii_.Invoke( - p, + j, "toJson", nil, // no parameters &returns, @@ -270,11 +269,11 @@ func (p *jsiiProxy_PodChaos) ToJson() interface{} { return returns } -func (p *jsiiProxy_PodChaos) ToString() *string { +func (j *jsiiProxy_PodChaos) ToString() *string { var returns *string _jsii_.Invoke( - p, + j, "toString", nil, // no parameters &returns, @@ -286,7 +285,7 @@ func (p *jsiiProxy_PodChaos) ToString() *string { // PodChaos is the control script`s spec. type PodChaosProps struct { // Spec defines the behavior of a pod chaos experiment. - Spec *PodChaosSpec `field:"required" json:"spec" yaml:"spec"` + Spec *PodChaosSpec `field:"required" json:"spec" yaml:"spec"` Metadata *cdk8s.ApiObjectMetadata `field:"optional" json:"metadata" yaml:"metadata"` } @@ -401,4 +400,3 @@ type PodChaosSpecSelectorExpressionSelectors struct { // If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. Values *[]*string `field:"optional" json:"values" yaml:"values"` } - diff --git a/env/imports/k8s/podiochaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/podiochaos/chaosmeshorg/chaosmeshorg.go index fd306eee5..311db1b9c 100644 --- a/env/imports/k8s/podiochaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/podiochaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/podiochaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podiochaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/podiochaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podiochaos/chaosmeshorg/internal" ) // PodIOChaos is the Schema for the podiochaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_PodIoChaos) Node() constructs.Node { return returns } - // Defines a "PodIOChaos" API object. func NewPodIoChaos(scope constructs.Construct, id *string, props *PodIoChaosProps) PodIoChaos { _init_.Initialize() @@ -311,14 +310,14 @@ type PodIoChaosSpecActions struct { // IOChaosType represents the type of an IOChaos Action. Type *string `field:"required" json:"type" yaml:"type"` // Timespec represents a time. - Atime *PodIoChaosSpecActionsAtime `field:"optional" json:"atime" yaml:"atime"` - Blocks *float64 `field:"optional" json:"blocks" yaml:"blocks"` + Atime *PodIoChaosSpecActionsAtime `field:"optional" json:"atime" yaml:"atime"` + Blocks *float64 `field:"optional" json:"blocks" yaml:"blocks"` // Timespec represents a time. Ctime *PodIoChaosSpecActionsCtime `field:"optional" json:"ctime" yaml:"ctime"` // Faults represents the fault to inject. Faults *[]*PodIoChaosSpecActionsFaults `field:"optional" json:"faults" yaml:"faults"` - Gid *float64 `field:"optional" json:"gid" yaml:"gid"` - Ino *float64 `field:"optional" json:"ino" yaml:"ino"` + Gid *float64 `field:"optional" json:"gid" yaml:"gid"` + Ino *float64 `field:"optional" json:"ino" yaml:"ino"` // FileType represents type of a file. Kind *string `field:"optional" json:"kind" yaml:"kind"` // Latency represents the latency to inject. @@ -329,30 +328,30 @@ type PodIoChaosSpecActions struct { Mistake *PodIoChaosSpecActionsMistake `field:"optional" json:"mistake" yaml:"mistake"` // Timespec represents a time. Mtime *PodIoChaosSpecActionsMtime `field:"optional" json:"mtime" yaml:"mtime"` - Nlink *float64 `field:"optional" json:"nlink" yaml:"nlink"` - Perm *float64 `field:"optional" json:"perm" yaml:"perm"` - Rdev *float64 `field:"optional" json:"rdev" yaml:"rdev"` - Size *float64 `field:"optional" json:"size" yaml:"size"` + Nlink *float64 `field:"optional" json:"nlink" yaml:"nlink"` + Perm *float64 `field:"optional" json:"perm" yaml:"perm"` + Rdev *float64 `field:"optional" json:"rdev" yaml:"rdev"` + Size *float64 `field:"optional" json:"size" yaml:"size"` // Source represents the source of current rules. - Source *string `field:"optional" json:"source" yaml:"source"` - Uid *float64 `field:"optional" json:"uid" yaml:"uid"` + Source *string `field:"optional" json:"source" yaml:"source"` + Uid *float64 `field:"optional" json:"uid" yaml:"uid"` } // Timespec represents a time. type PodIoChaosSpecActionsAtime struct { Nsec *float64 `field:"required" json:"nsec" yaml:"nsec"` - Sec *float64 `field:"required" json:"sec" yaml:"sec"` + Sec *float64 `field:"required" json:"sec" yaml:"sec"` } // Timespec represents a time. type PodIoChaosSpecActionsCtime struct { Nsec *float64 `field:"required" json:"nsec" yaml:"nsec"` - Sec *float64 `field:"required" json:"sec" yaml:"sec"` + Sec *float64 `field:"required" json:"sec" yaml:"sec"` } // IoFault represents the fault to inject and their weight. type PodIoChaosSpecActionsFaults struct { - Errno *float64 `field:"required" json:"errno" yaml:"errno"` + Errno *float64 `field:"required" json:"errno" yaml:"errno"` Weight *float64 `field:"required" json:"weight" yaml:"weight"` } @@ -379,6 +378,5 @@ const ( // Timespec represents a time. type PodIoChaosSpecActionsMtime struct { Nsec *float64 `field:"required" json:"nsec" yaml:"nsec"` - Sec *float64 `field:"required" json:"sec" yaml:"sec"` + Sec *float64 `field:"required" json:"sec" yaml:"sec"` } - diff --git a/env/imports/k8s/podnetworkchaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/podnetworkchaos/chaosmeshorg/chaosmeshorg.go index bc4cf03b5..922d8bcb3 100644 --- a/env/imports/k8s/podnetworkchaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/podnetworkchaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/podnetworkchaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podnetworkchaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/podnetworkchaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/podnetworkchaos/chaosmeshorg/internal" ) // PodNetworkChaos is the Schema for the PodNetworkChaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_PodNetworkChaos) Node() constructs.Node { return returns } - // Defines a "PodNetworkChaos" API object. func NewPodNetworkChaos(scope constructs.Construct, id *string, props *PodNetworkChaosProps) PodNetworkChaos { _init_.Initialize() @@ -286,7 +285,7 @@ func (p *jsiiProxy_PodNetworkChaos) ToString() *string { // PodNetworkChaos is the Schema for the PodNetworkChaos API. type PodNetworkChaosProps struct { // Spec defines the behavior of a pod chaos experiment. - Spec *PodNetworkChaosSpec `field:"required" json:"spec" yaml:"spec"` + Spec *PodNetworkChaosSpec `field:"required" json:"spec" yaml:"spec"` Metadata *cdk8s.ApiObjectMetadata `field:"optional" json:"metadata" yaml:"metadata"` } @@ -305,7 +304,7 @@ type PodNetworkChaosSpecIpsets struct { // The contents of ipset. Cidrs *[]*string `field:"required" json:"cidrs" yaml:"cidrs"` // The name of ipset. - Name *string `field:"required" json:"name" yaml:"name"` + Name *string `field:"required" json:"name" yaml:"name"` Source *string `field:"required" json:"source" yaml:"source"` } @@ -314,7 +313,7 @@ type PodNetworkChaosSpecIptables struct { // The block direction of this iptables rule. Direction *string `field:"required" json:"direction" yaml:"direction"` // The name of iptables chain. - Name *string `field:"required" json:"name" yaml:"name"` + Name *string `field:"required" json:"name" yaml:"name"` Source *string `field:"required" json:"source" yaml:"source"` // The name of related ipset. Ipsets *[]*string `field:"optional" json:"ipsets" yaml:"ipsets"` @@ -362,35 +361,34 @@ type PodNetworkChaosSpecTcsBandwidth struct { // Corrupt represents the detail about corrupt action. type PodNetworkChaosSpecTcsCorrupt struct { - Corrupt *string `field:"required" json:"corrupt" yaml:"corrupt"` + Corrupt *string `field:"required" json:"corrupt" yaml:"corrupt"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } // Delay represents the detail about delay action. type PodNetworkChaosSpecTcsDelay struct { - Latency *string `field:"required" json:"latency" yaml:"latency"` + Latency *string `field:"required" json:"latency" yaml:"latency"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` - Jitter *string `field:"optional" json:"jitter" yaml:"jitter"` + Jitter *string `field:"optional" json:"jitter" yaml:"jitter"` // ReorderSpec defines details of packet reorder. Reorder *PodNetworkChaosSpecTcsDelayReorder `field:"optional" json:"reorder" yaml:"reorder"` } // ReorderSpec defines details of packet reorder. type PodNetworkChaosSpecTcsDelayReorder struct { - Gap *float64 `field:"required" json:"gap" yaml:"gap"` - Reorder *string `field:"required" json:"reorder" yaml:"reorder"` - Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` + Gap *float64 `field:"required" json:"gap" yaml:"gap"` + Reorder *string `field:"required" json:"reorder" yaml:"reorder"` + Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } // DuplicateSpec represents the detail about loss action. type PodNetworkChaosSpecTcsDuplicate struct { - Duplicate *string `field:"required" json:"duplicate" yaml:"duplicate"` + Duplicate *string `field:"required" json:"duplicate" yaml:"duplicate"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } // Loss represents the detail about loss action. type PodNetworkChaosSpecTcsLoss struct { - Loss *string `field:"required" json:"loss" yaml:"loss"` + Loss *string `field:"required" json:"loss" yaml:"loss"` Correlation *string `field:"optional" json:"correlation" yaml:"correlation"` } - diff --git a/env/imports/k8s/stresschaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/stresschaos/chaosmeshorg/chaosmeshorg.go index 64e682027..feae7637d 100644 --- a/env/imports/k8s/stresschaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/stresschaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/stresschaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/stresschaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/stresschaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/stresschaos/chaosmeshorg/internal" ) // StressChaos is the Schema for the stresschaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_StressChaos) Node() constructs.Node { return returns } - // Defines a "StressChaos" API object. func NewStressChaos(scope constructs.Construct, id *string, props *StressChaosProps) StressChaos { _init_.Initialize() @@ -286,7 +285,7 @@ func (s *jsiiProxy_StressChaos) ToString() *string { // StressChaos is the Schema for the stresschaos API. type StressChaosProps struct { // Spec defines the behavior of a time chaos experiment. - Spec *StressChaosSpec `field:"required" json:"spec" yaml:"spec"` + Spec *StressChaosSpec `field:"required" json:"spec" yaml:"spec"` Metadata *cdk8s.ApiObjectMetadata `field:"optional" json:"metadata" yaml:"metadata"` } @@ -423,4 +422,3 @@ type StressChaosSpecStressorsMemory struct { // One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB. Size *string `field:"optional" json:"size" yaml:"size"` } - diff --git a/env/imports/k8s/timechaos/chaosmeshorg/chaosmeshorg.go b/env/imports/k8s/timechaos/chaosmeshorg/chaosmeshorg.go index 1f356deac..5f5412bfb 100644 --- a/env/imports/k8s/timechaos/chaosmeshorg/chaosmeshorg.go +++ b/env/imports/k8s/timechaos/chaosmeshorg/chaosmeshorg.go @@ -3,11 +3,11 @@ package chaosmeshorg import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" - _init_ "github.com/smartcontractkit/chainlink-env/imports/k8s/timechaos/chaosmeshorg/jsii" + _init_ "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/timechaos/chaosmeshorg/jsii" "github.com/aws/constructs-go/constructs/v10" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/imports/k8s/timechaos/chaosmeshorg/internal" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s/timechaos/chaosmeshorg/internal" ) // TimeChaos is the Schema for the timechaos API. @@ -123,7 +123,6 @@ func (j *jsiiProxy_TimeChaos) Node() constructs.Node { return returns } - // Defines a "TimeChaos" API object. func NewTimeChaos(scope constructs.Construct, id *string, props *TimeChaosProps) TimeChaos { _init_.Initialize() @@ -286,7 +285,7 @@ func (t *jsiiProxy_TimeChaos) ToString() *string { // TimeChaos is the Schema for the timechaos API. type TimeChaosProps struct { // Spec defines the behavior of a time chaos experiment. - Spec *TimeChaosSpec `field:"required" json:"spec" yaml:"spec"` + Spec *TimeChaosSpec `field:"required" json:"spec" yaml:"spec"` Metadata *cdk8s.ApiObjectMetadata `field:"optional" json:"metadata" yaml:"metadata"` } @@ -383,4 +382,3 @@ type TimeChaosSpecSelectorExpressionSelectors struct { // If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. Values *[]*string `field:"optional" json:"values" yaml:"values"` } - diff --git a/env/logging/log.go b/env/logging/log.go deleted file mode 100644 index bbdd3c2c7..000000000 --- a/env/logging/log.go +++ /dev/null @@ -1,39 +0,0 @@ -package logging - -import ( - "os" - "sync" - "testing" - "time" - - "github.com/rs/zerolog" - "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/config" -) - -// People often call this multiple times -var loggingMu sync.Mutex - -func getTestLevel() zerolog.Level { - lvlStr := os.Getenv(config.EnvVarLogLevel) - if lvlStr == "" { - lvlStr = "info" - } - lvl, err := zerolog.ParseLevel(lvlStr) - if err != nil { - panic(err) - } - return lvl -} - -func Init() { - loggingMu.Lock() - defer loggingMu.Unlock() - zerolog.TimeFieldFormat = time.RFC3339Nano - log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05.00"}).With().Timestamp().Logger().Level(getTestLevel()) -} - -func GetTestLogger(t *testing.T) zerolog.Logger { - zerolog.TimeFieldFormat = time.RFC3339Nano - return zerolog.New(zerolog.NewTestWriter(t)).Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05.00"}).With().Timestamp().Logger().Level(getTestLevel()) -} diff --git a/env/pkg/alias/alias.go b/env/pkg/alias/alias.go index a571ff254..bfa5b033e 100644 --- a/env/pkg/alias/alias.go +++ b/env/pkg/alias/alias.go @@ -6,7 +6,8 @@ import ( "time" jsii "github.com/aws/jsii-runtime-go" - "github.com/smartcontractkit/chainlink-env/imports/k8s" + + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" ) func Str(value string) *string { diff --git a/env/pkg/cdk8s/blockscout/blockscout.go b/env/pkg/cdk8s/blockscout/blockscout.go index ebdcfee8b..b2fb16815 100644 --- a/env/pkg/cdk8s/blockscout/blockscout.go +++ b/env/pkg/cdk8s/blockscout/blockscout.go @@ -7,12 +7,12 @@ import ( "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/imports/k8s" - "github.com/smartcontractkit/chainlink-env/pkg" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" ) const ( diff --git a/env/pkg/cdk8s/goc/goc.go b/env/pkg/cdk8s/goc/goc.go index 74dbd251f..8889eae47 100644 --- a/env/pkg/cdk8s/goc/goc.go +++ b/env/pkg/cdk8s/goc/goc.go @@ -4,9 +4,10 @@ import ( "fmt" "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/imports/k8s" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" ) type Chart struct { diff --git a/env/pkg/cdk8s/http_dummy/dummy.go b/env/pkg/cdk8s/http_dummy/dummy.go index b82312838..d9cd01447 100644 --- a/env/pkg/cdk8s/http_dummy/dummy.go +++ b/env/pkg/cdk8s/http_dummy/dummy.go @@ -6,10 +6,10 @@ import ( "github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/imports/k8s" - a "github.com/smartcontractkit/chainlink-env/pkg/alias" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/imports/k8s" + a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" ) const ( diff --git a/env/pkg/common.go b/env/pkg/common.go index ff74d6448..e8068ce4d 100644 --- a/env/pkg/common.go +++ b/env/pkg/common.go @@ -1,6 +1,6 @@ package pkg -import a "github.com/smartcontractkit/chainlink-env/pkg/alias" +import a "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/alias" // Common labels for k8s envs const ( diff --git a/env/pkg/helm/chainlink/chainlink.go b/env/pkg/helm/chainlink/chainlink.go index 413f86914..2358b9ee5 100644 --- a/env/pkg/helm/chainlink/chainlink.go +++ b/env/pkg/helm/chainlink/chainlink.go @@ -6,9 +6,9 @@ import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) const ( diff --git a/env/pkg/helm/ethereum/geth.go b/env/pkg/helm/ethereum/geth.go index 6304b074f..5ec398df1 100644 --- a/env/pkg/helm/ethereum/geth.go +++ b/env/pkg/helm/ethereum/geth.go @@ -6,9 +6,9 @@ import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/grafana/grafana.go b/env/pkg/helm/grafana/grafana.go index db08ff04e..e4426c75b 100644 --- a/env/pkg/helm/grafana/grafana.go +++ b/env/pkg/helm/grafana/grafana.go @@ -1,8 +1,8 @@ package grafana import ( - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/influxdb/influxdb.go b/env/pkg/helm/influxdb/influxdb.go index faabcd0a5..a7cf8fabc 100644 --- a/env/pkg/helm/influxdb/influxdb.go +++ b/env/pkg/helm/influxdb/influxdb.go @@ -1,8 +1,8 @@ package influxdb import ( - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/kafka-rest/kafka-rest.go b/env/pkg/helm/kafka-rest/kafka-rest.go index ec7be2efa..c02de9072 100644 --- a/env/pkg/helm/kafka-rest/kafka-rest.go +++ b/env/pkg/helm/kafka-rest/kafka-rest.go @@ -2,9 +2,10 @@ package kafka_rest import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/kafka/kafka.go b/env/pkg/helm/kafka/kafka.go index b94e114a6..6df8d3651 100644 --- a/env/pkg/helm/kafka/kafka.go +++ b/env/pkg/helm/kafka/kafka.go @@ -1,8 +1,8 @@ package kafka import ( - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/mock-adapter/mock-adapter.go b/env/pkg/helm/mock-adapter/mock-adapter.go index db066eaaa..77ecc9791 100644 --- a/env/pkg/helm/mock-adapter/mock-adapter.go +++ b/env/pkg/helm/mock-adapter/mock-adapter.go @@ -5,14 +5,15 @@ import ( "os" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) const ( - LocalURLsKey = "qa_mock_adapter_local" - InternalURLsKey = "qa_mock_adapter_internal" + LocalURLsKey = "qa_mock_adapter_local" // #nosec G101 + InternalURLsKey = "qa_mock_adapter_internal" // #nosec G101 ) type Props struct { diff --git a/env/pkg/helm/mockserver-cfg/mockserver-cfg.go b/env/pkg/helm/mockserver-cfg/mockserver-cfg.go index d5e2136a0..d33f261d1 100644 --- a/env/pkg/helm/mockserver-cfg/mockserver-cfg.go +++ b/env/pkg/helm/mockserver-cfg/mockserver-cfg.go @@ -1,7 +1,7 @@ package mockserver_cfg import ( - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/mockserver/mockserver.go b/env/pkg/helm/mockserver/mockserver.go index 9906de9fb..ff547c0d8 100644 --- a/env/pkg/helm/mockserver/mockserver.go +++ b/env/pkg/helm/mockserver/mockserver.go @@ -5,9 +5,10 @@ import ( "os" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) const ( diff --git a/env/pkg/helm/polygon-edge/edge.go b/env/pkg/helm/polygon-edge/edge.go index 5a262f1c7..5cdabe31b 100644 --- a/env/pkg/helm/polygon-edge/edge.go +++ b/env/pkg/helm/polygon-edge/edge.go @@ -3,9 +3,9 @@ package polygon_edge import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/reorg/reorg.go b/env/pkg/helm/reorg/reorg.go index ffcacf287..e613592f3 100644 --- a/env/pkg/helm/reorg/reorg.go +++ b/env/pkg/helm/reorg/reorg.go @@ -6,15 +6,15 @@ import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) const ( URLsKey = "geth" TXNodesAppLabel = "geth-ethereum-geth" - MinerNodesAppLabel = "geth-ethereum-miner-node" + MinerNodesAppLabel = "geth-ethereum-miner-node" // #nosec G101 ) type Props struct { diff --git a/env/pkg/helm/schema-registry/schema-registry.go b/env/pkg/helm/schema-registry/schema-registry.go index 7e5ee97a7..c4f1b114b 100644 --- a/env/pkg/helm/schema-registry/schema-registry.go +++ b/env/pkg/helm/schema-registry/schema-registry.go @@ -1,8 +1,8 @@ package schema_registry import ( - "github.com/smartcontractkit/chainlink-env/config" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/sol/sol.go b/env/pkg/helm/sol/sol.go index ce4bffc71..5025e2e0b 100644 --- a/env/pkg/helm/sol/sol.go +++ b/env/pkg/helm/sol/sol.go @@ -3,8 +3,8 @@ package sol import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/pkg/helm/starknet/starknet.go b/env/pkg/helm/starknet/starknet.go index 2ff5db607..62443d5cb 100644 --- a/env/pkg/helm/starknet/starknet.go +++ b/env/pkg/helm/starknet/starknet.go @@ -2,8 +2,9 @@ package starknet import ( "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/client" - "github.com/smartcontractkit/chainlink-env/environment" + + "github.com/smartcontractkit/chainlink-testing-framework/env/client" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) type Props struct { diff --git a/env/presets/presets.go b/env/presets/presets.go index 7eb6fe23a..e411a6523 100644 --- a/env/presets/presets.go +++ b/env/presets/presets.go @@ -1,13 +1,13 @@ package presets import ( - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/cdk8s/blockscout" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" - "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver" - mockservercfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" - "github.com/smartcontractkit/chainlink-env/pkg/helm/reorg" + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/cdk8s/blockscout" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver" + mockservercfg "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/mockserver-cfg" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/reorg" ) // EVMOneNode local development Chainlink deployment diff --git a/env/scripts/buildTestImage b/env/scripts/buildTestImage index 5c1e25ff4..d0dfc9e17 100755 --- a/env/scripts/buildTestImage +++ b/env/scripts/buildTestImage @@ -21,4 +21,4 @@ if [ "${TEST_BASE_VERSION}" = "" ]; then TEST_BASE_VERSION="${TEST_BASE_VERSION_DEFAULT}" fi -buildImage "${1}" "chainlink-env-tests" "Dockerfile" "--build-arg BASE_IMAGE=${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/test-base-image --build-arg IMAGE_VERSION=${TEST_BASE_VERSION}" +buildImage "${1}" "chainlink-testing-framework-tests" "Dockerfile" "--build-arg BASE_IMAGE=${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/test-base-image --build-arg IMAGE_VERSION=${TEST_BASE_VERSION}" diff --git a/env/sonar-project.properties b/env/sonar-project.properties deleted file mode 100644 index 54817933c..000000000 --- a/env/sonar-project.properties +++ /dev/null @@ -1,7 +0,0 @@ -sonar.projectKey=smartcontractkit_chainlink-env -sonar.sources=. - -# Full exclusions from the static analysis -sonar.exclusions=**/docs/**/*, **/*.pb.go, **/*report.xml **/*.txt, **/*.abi, **/*.bin, **/*_codecgen.go -# Coverage exclusions -sonar.coverage.exclusions=., **/*, **/*.* diff --git a/go.mod b/go.mod index 9c27e20ed..e0680884a 100644 --- a/go.mod +++ b/go.mod @@ -4,20 +4,22 @@ go 1.21 require ( github.com/avast/retry-go v3.0.0+incompatible + github.com/chaos-mesh/chaos-mesh/api/v1alpha1 v0.0.0-20220226050744-799408773657 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc github.com/docker/go-connections v0.4.0 github.com/ethereum/go-ethereum v1.12.0 github.com/go-resty/resty/v2 v2.7.0 github.com/google/uuid v1.3.1 + github.com/imdario/mergo v0.3.16 github.com/jmoiron/sqlx v1.3.5 github.com/kelseyhightower/envconfig v1.4.0 github.com/lib/pq v1.10.9 + github.com/onsi/gomega v1.27.8 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.17.0 github.com/prometheus/common v0.44.0 github.com/rs/zerolog v1.30.0 github.com/slack-go/slack v0.12.2 - github.com/smartcontractkit/chainlink-env v0.38.3 github.com/smartcontractkit/wasp v0.3.0 github.com/stretchr/testify v1.8.4 github.com/testcontainers/testcontainers-go v0.23.0 @@ -33,10 +35,9 @@ require ( github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect - github.com/onsi/ginkgo/v2 v2.9.7 // indirect - github.com/onsi/gomega v1.27.8 // indirect github.com/pyroscope-io/client v0.7.1 // indirect github.com/rs/cors v1.8.3 // indirect + github.com/sergi/go-diff v1.2.0 // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect ) @@ -69,17 +70,16 @@ require ( github.com/armon/go-metrics v0.4.1 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/aws/aws-sdk-go v1.44.302 // indirect - github.com/aws/constructs-go/constructs/v10 v10.1.255 // indirect - github.com/aws/jsii-runtime-go v1.75.0 // indirect + github.com/aws/constructs-go/constructs/v10 v10.1.255 + github.com/aws/jsii-runtime-go v1.75.0 github.com/beorn7/perks v1.0.1 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/bytedance/sonic v1.9.1 // indirect github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee // indirect - github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect + github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chai2010/gettext-go v1.0.2 // indirect - github.com/chaos-mesh/chaos-mesh/api/v1alpha1 v0.0.0-20220226050744-799408773657 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect github.com/cockroachdb/errors v1.9.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect @@ -166,7 +166,6 @@ require ( github.com/hashicorp/serf v0.10.1 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/holiman/uint256 v1.2.3 // indirect - github.com/imdario/mergo v0.3.16 github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -274,15 +273,15 @@ require ( gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.27.3 // indirect + k8s.io/api v0.27.3 k8s.io/apiextensions-apiserver v0.25.3 // indirect - k8s.io/apimachinery v0.27.3 // indirect - k8s.io/cli-runtime v0.25.11 // indirect - k8s.io/client-go v0.27.3 // indirect + k8s.io/apimachinery v0.27.3 + k8s.io/cli-runtime v0.25.11 + k8s.io/client-go v0.27.3 k8s.io/component-base v0.26.2 // indirect k8s.io/klog/v2 v2.100.1 // indirect k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515 // indirect - k8s.io/kubectl v0.25.11 // indirect + k8s.io/kubectl v0.25.11 k8s.io/utils v0.0.0-20230711102312-30195339c3c7 // indirect nhooyr.io/websocket v1.8.7 // indirect sigs.k8s.io/controller-runtime v0.13.0 // indirect diff --git a/go.sum b/go.sum index 42ebd2dcc..c1eab9707 100644 --- a/go.sum +++ b/go.sum @@ -1555,8 +1555,6 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/slack-go/slack v0.12.2 h1:x3OppyMyGIbbiyFhsBmpf9pwkUzMhthJMRNmNlA4LaQ= github.com/slack-go/slack v0.12.2/go.mod h1:hlGi5oXA+Gt+yWTPP0plCdRKmjsDxecdHxYQdlMQKOw= -github.com/smartcontractkit/chainlink-env v0.38.3 h1:ZtOnwkG622R0VCTxL5V09AnT/QXhlFwkGTjd0Lsfpfg= -github.com/smartcontractkit/chainlink-env v0.38.3/go.mod h1:7z4sw/hN8TxioQCLwFqQdhK3vaOV0a22Qe99z4bRUcg= github.com/smartcontractkit/wasp v0.3.0 h1:mueeLvpb6HyGNwILxCOKShDR6q18plQn7Gb1j3G/Qkk= github.com/smartcontractkit/wasp v0.3.0/go.mod h1:skquNdMbKxIrHi5O8Kyukf66AaaXuEpEEaSTxfHbhak= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= diff --git a/logging/log.go b/logging/log.go index c8cc644f7..ad7cdf60e 100644 --- a/logging/log.go +++ b/logging/log.go @@ -9,8 +9,9 @@ import ( "github.com/rs/zerolog" "github.com/rs/zerolog/log" - "github.com/smartcontractkit/chainlink-env/config" "github.com/stretchr/testify/require" + + "github.com/smartcontractkit/chainlink-testing-framework/env/config" ) const afterTestEndedMsg = "LOG AFTER TEST ENDED" diff --git a/sonar-project.properties b/sonar-project.properties index c03707297..2fd2f090a 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -8,3 +8,12 @@ sonar.exclusions=**/docs/**/*, **/*.pb.go, **/*report.xml **/*.txt, **/*.abi, ** sonar.coverage.exclusions=**/*, **/*.* # Duplication exclusions sonar.cpd.exclusions=**/contracts/**/*.sol + +# we cannot ignore multiple files in single exclusion +sonar.issue.ignore.multicriteria=test_db_pass_1 +sonar.issue.ignore.multicriteria.test_db_pass_1.ruleKey=secrets:S6698 +sonar.issue.ignore.multicriteria.test_db_pass_1.resourceKey=env/config/overrides.go + +sonar.issue.ignore.multicriteria=test_db_pass_2 +sonar.issue.ignore.multicriteria.test_db_pass_2.ruleKey=secrets:S6698 +sonar.issue.ignore.multicriteria.test_db_pass_2.resourceKey=env/config/overrides_test.go \ No newline at end of file diff --git a/testreporters/reporter_model.go b/testreporters/reporter_model.go index a81d22f2e..1f6b155fc 100644 --- a/testreporters/reporter_model.go +++ b/testreporters/reporter_model.go @@ -13,10 +13,11 @@ import ( "github.com/rs/zerolog/log" "github.com/slack-go/slack" - "github.com/smartcontractkit/chainlink-env/environment" "github.com/stretchr/testify/assert" "go.uber.org/zap/zapcore" "golang.org/x/sync/errgroup" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" ) // TestReporter is a general interface for all test reporters diff --git a/testreporters/slack_notification.go b/testreporters/slack_notification.go index d79744174..ffd2d1919 100644 --- a/testreporters/slack_notification.go +++ b/testreporters/slack_notification.go @@ -8,7 +8,8 @@ import ( "github.com/pkg/errors" "github.com/rs/zerolog/log" "github.com/slack-go/slack" - "github.com/smartcontractkit/chainlink-env/config" + + "github.com/smartcontractkit/chainlink-testing-framework/env/config" ) // Common Slack Notification Helpers diff --git a/testsetups/migration.go b/testsetups/migration.go index 4d5432428..edc499d66 100644 --- a/testsetups/migration.go +++ b/testsetups/migration.go @@ -4,9 +4,10 @@ import ( "time" "github.com/pkg/errors" - "github.com/smartcontractkit/chainlink-env/environment" - "github.com/smartcontractkit/chainlink-env/pkg/helm/chainlink" - "github.com/smartcontractkit/chainlink-env/pkg/helm/ethereum" + + "github.com/smartcontractkit/chainlink-testing-framework/env/environment" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/chainlink" + "github.com/smartcontractkit/chainlink-testing-framework/env/pkg/helm/ethereum" ) type FromVersionSpec struct { diff --git a/utils/os_env.go b/utils/os_env.go index c2313dfaf..df99247a1 100644 --- a/utils/os_env.go +++ b/utils/os_env.go @@ -4,7 +4,7 @@ import ( "fmt" "os" - "github.com/smartcontractkit/chainlink-env/config" + "github.com/smartcontractkit/chainlink-testing-framework/env/config" ) // GetEnv returns the value of the environment variable named by the key