From 45dc266f4d502b1a91e036fad1f24e569bb1d6c5 Mon Sep 17 00:00:00 2001 From: Vladislav Sukhin Date: Wed, 22 Nov 2023 14:21:10 +0300 Subject: [PATCH] feat: Release/v1.16.0 (#4648) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: error logs * fix: report path * fix: change id and uri * fix: unit test * fix: unit test * fix: remove typo * feat: Initial changes for distributed jmeter (#4289) * feat: Initial changes for distributed jmeter Signed-off-by: hiteshwani * Added jmeter slaves script and Dockerfile Signed-off-by: hiteshwani * Removed duplicate files and imported from existing jmeter executor Signed-off-by: hiteshwani * Add secret refs for git username and token for slave pods Signed-off-by: hiteshwani * Support for user provided plugins (#2) * Support for user provided plugins * Add secret refs for git username and token for slave pods Signed-off-by: hiteshwani * Modified logic for adding JMETER_USER_PLUGINS_FOLDER env var Signed-off-by: hiteshwani * Support for user provided plugins Signed-off-by: Aman Parauliya * Add secret refs for git username and token for slave pods Signed-off-by: hiteshwani * Modified logic for adding JMETER_USER_PLUGINS_FOLDER env var Signed-off-by: hiteshwani --------- Signed-off-by: hiteshwani Signed-off-by: Aman Parauliya Co-authored-by: hiteshwani * Update README file for Jmeterd Signed-off-by: Aman Parauliya * Changed base image to kubeshop/jmeter and removed tests (#5) * Changed base image to kubeshop/jmeter and removed tests Signed-off-by: hiteshwani * modify slaves script so it will not exited on error Signed-off-by: hiteshwani --------- Signed-off-by: hiteshwani * Support for user.properties file (#3) * Support for user provided plugins Signed-off-by: Aman Parauliya * Add secret refs for git username and token for slave pods Signed-off-by: hiteshwani * Modified logic for adding JMETER_USER_PLUGINS_FOLDER env var Signed-off-by: hiteshwani * Added the support for user.properties file --------- Signed-off-by: Aman Parauliya Signed-off-by: hiteshwani Co-authored-by: hiteshwani * Addressed review comments Signed-off-by: Aman Parauliya * Fixed review comments of Dejan Signed-off-by: Aman Parauliya * Refactored slaves pod configuration and added validation for pod name (#8) Signed-off-by: hiteshwani * Update README file of Distributor JMeter Signed-off-by: Aman Parauliya * Adding a new example in a new folder named giflow under the examples folder Signed-off-by: Aman Parauliya * Remove plugins from /lib Signed-off-by: hiteshwani --------- Signed-off-by: hiteshwani Signed-off-by: Aman Parauliya Co-authored-by: Aman Parauliya <30143812+parauliya@users.noreply.github.com> Co-authored-by: Aman Parauliya * docs: Add Dashboard and CLI Tabs (#4297) * Add Dashboard and CLI Tabs To scheduling tests and test triggers pages. * conflicts resolved * Update scheduling-tests.mdx * Update test-triggers.mdx * Update scheduling-tests.mdx * Update test-triggers.mdx * docs - schedule-test-suites.png added --------- Co-authored-by: Tomasz Konieczny * testsuites for dev/staging/demo updated (#4369) * ci: jmeterd executor and slave (#4371) * add jmeterd ci * docs: Advanced Test Orchestration, AI Insights, Add advantages to Overview … (#4370) * Advanced Test Orchestration, AI Insights, Add advantages to Overview page * docs - index.mdx - colors build issue fixed --------- Co-authored-by: Tomasz Konieczny * fix: change jmeterd docker versions (#4372) * fix: typo in jmeterd slave image (#4373) * feat: concurrency policy model * fix: map for concurrency policy * fix: support allow and forbid options * feat: replace trigger executions * fix: unit test * fix: lint * fix: enable caching * fix: return concurrency policies * fix: dep update * fix: increase retry * update jmeterd docs * docs: fix bright mode logo (#4380) * feat: cd event log output * fix: send logs at the end of tests * fix: event condition * fix: url address * Add labels to the slave pods (#4384) Signed-off-by: Aman Parauliya * feat: allow to pass multi namespace flags for testkube cloud init command (#4388) * feat: add ReadOnly flag to test (#4389) * fix: remove duplicated code executor.ExecuteSync (#4393) * fix: update execution status in watcher * fix: change log message * fix: change log parameter * fix: check for exit code * fix: replace timer by ticker * fix: change error message * fix: add events to messages * fix: filter pod events * fix: update error message * feat: test and test suite --update flag * feat: additional update flags * feat: update docs * fix: check if update flag was chaged * feat: update operator reference (#4399) * feat: jmeterd test updates * feat: Slave configuration in Executor CRD and ownerReferences changes in slaves pod (#4385) * Added slaves filed in Executor CRD to add slaves configs Signed-off-by: hiteshwani * OwnerRefs changes for slaves pod Signed-off-by: hiteshwani * removed the local path from go.mod file Signed-off-by: Aman Parauliya * Fixed linters issue Signed-off-by: Aman Parauliya --------- Signed-off-by: hiteshwani Signed-off-by: Aman Parauliya Co-authored-by: Aman Parauliya * feat: refactor jmeterd slaves module (#4408) * feat: refactor jmeterd slaves module * fix flaky slaves unit test * ci: add arm64 (#4374) * add arm64 for jmeterd * feat: add labels to count metrics * fix: metric fields * feat: support dirs for soap, postman, curl * fix: flaky jmeterd test (#4412) * feat: allow skipping execution deletion on test deletion (#4411) * add latest tag to jmeterd slave (#4414) * docs: fix default commands format (#4415) * feat: metric uri * fix: add test and testsuite uri * fix: sort labels * fix: format labels * fix: update openapi schema (#4417) * fix: do not store output in test suite execution result (#4409) * fix: do not store output in test suite execution result * fix: clean execution result in the BatchResults as well * fix: add apis spec note and check for nil * fix: batch output clean (#4423) * Distributed JMeter and Misc Editing (#4404) * docs: add status pages (#4376) * docs: add status pages without images * docs: remove pro reference * docs: apply suggestions from code review Co-authored-by: Julianne Fermi * docs: more detailed description of the pages * docs: add suggestion from review * docs: apply suggestions from code review Co-authored-by: Julianne Fermi * docs: add example curl test * docs: add screenshots * docs: apply review suggestion * docs: update images * docs: update example to use UI instead of CLI * docs: review suggestions --------- Co-authored-by: Julianne Fermi * docs: add sp to sidebars (#4426) * feat: slack dashboard uri * fix: slack template * fix: slack template * feat: add dashbaord uris for executions * fix: make error verbose * Update docker-build-develop.yaml * ci: fix goreleaser build (#4429) * Turn off cache for api * Image Updates for 1.14 Part 1 (#4434) * update docs (#4436) * feat: execute post run script before scraping * fix: unit test * fix: update docs * fix: dep update * docs: add cached test result docs (#4441) * docs: add cached test result docs * Apply suggestions from code review Co-authored-by: Julianne Fermi --------- Co-authored-by: Julianne Fermi * docs: update installation video with cloud (#4442) * docs: update installation video with cloud * docs: update installation video with cloud * docs: update installation video with cloud * fix: replace deprecated method * feat: add readonly flag to test-suites (#4448) * ci: fix cache (#4449) * fix cache * fix: update CRD for Dashboard tests to match mono-repository setup (#4451) * fix: test artifacts failing due to empty file placement (#4444) (#4445) * tests - expected failures extended - oomkilled, timeout (#4452) * tests - curl directory (#4454) * tests - expected failures extended - oomkilled for Cypress (#4453) * feat: evaluate environment variables in the args of gradle (#4457) * fix: error message * fix: get error message * fix: remove condition * [Docs] Getting started - Fix Step 1 link (#4463) * fix: remove secrets endpoint * fix: exit code and mongo transaction * fix: missed init * fix: missed db init * fix: remove transaction * fix: remove transaction options * fix: clean error message * docs: update images for sp (#4466) * feat: add output stream functions and mocks (#4431) * feat: add output stream functions and mocks * fix: implement size reading and improve interfaces * fix: literal to const * fix: nil context * docs: guide on how to deploy TK from private registry (#4468) add guide on how to deploy TK from private registry * add category to docs * fix jmeterd slave build * docs: fix navbar not showing on small screens (#4490) * feat: add Testkube Cloud announcement in docs (#4492) * feat: move announcement bar below the navigation bar * feat: add announcement bar for Testkube Cloud * fix: adjust the search button on mobile devices * fix: adjust sign in link to match existing [id^=sign] GTM trigger * ci: fix kubepug installation (#4495) fix kubepug installation * feat: resource regex (#4480) * feat: name regex for trigger selectors * fix: dep update * fix: regex test * doc: add example for regex * fix: select tests and test suites for name reg ex * fix: dep update * fix: enable secrets endpoint (#4469) * fix: enable secrets endpoint * fix: env mame typo * fix: visibility label for secrets * fix: dep update * fix: dep update * fix: expand env for args (#4481) * feat: run scripts in working dir (#4489) * feat: run scripts in working dir * fix: add default working dir * feat: working dir env var * use: working dir param * fix: fmt option * fix: don't check stdin piping * fix: use env param * fix: use working dir env var * fix: use env working dir * feat: Maven jdk 8 test, example (based on the one for 11) (#4501) * Maven example for jdk8 * Maven example for jdk8, tests * fix: Maven 8 test - branch fixed (#4502) * Maven example for jdk8 * Maven example for jdk8, tests * maven test - branch * Testkube OSS page and additional screenshot updates (#4493) * fix: wrong link (#4504) * feat: minor jmeterd updates (#4503) * minor updated to jmeterd * remove more redundant logic in jmeterd * fix: remove var * feat: improve performance for slowest operations / fix: loading total executions number for test suite (#4507) * fix: count total executions for single test suite, not all * feat: optimize getting latest tests/test suites queries * docs: argocd integration (#4510) update argocd docs * fix: add npm report permissions (#4511) * fix: add npm report permissions * fix: add comment * fix: merge issue * fix: merge typo * fix: merge issues * fix: merge issues * feat: Update k6s executor image (#4516) * replace image for k6 * feat: improve performance of listing tests/test suites/executions (#4518) * feat: improve performance of listing tests/test suites/executions * renamed template crd example name to job-template Signed-off-by: Satish Kumar Kadarkarai Main * feat: add env var for runner * fix: unit test * feat: speed up aggregates with projection and _id $lookups (#4524) * fix: ignore post script error * fix: return executions for all tests when requested (#4528) * fix: total number of test suite executions should ignore paging filters (#4530) * docs: add pro feature badge to pro feature pages (#4529) * docs: added pro feature badge to pro feature pages * docs: fix indent * docs: Getting Started Rework (#4523) * Getting Started Rework Add 'Open Source or Cloud' doc to the Overview section at the beginning of the documentation. * Getting Started Rework Update testkube-oss.md to refer to table in Open Source or Cloud. * docs: Fix OSS documentation link (#4538) * feat: add MongoDB migrations, run it on API start (#4534) * feat: add MongoDB migrations, run it on API start * feat: move MongoDB migrations to common directory * fix typo * feat: allow disabling MongoDB migrations with environment variable / fix: display migrations planner error * feat: extract Database wrapper from DbMigrator * feat: extract logic for getting the migrations from disk out of NewDbMigrator * chore: delete error from NewDbMigrator * fix: DbMigrator bugs * fix: add unit tests for DbMigrator * fix: order imports * fix: make the failing MongoDB migrations warning instead of error * fixup linting * feat: embed MongoDB migrations in the binary (#4540) * feat: use fs.FS for DbMigrator * chore: add unit tests for getting MongoDB migrations from FS * feat: embed MongoDB migrations in binary * fix: flaky jmeterd test (#4521) * propagate env vars to jmeterd slaves (#4541) * feat: speed up - use covered queries for tests/test suites list (#4536) * feat: speed up - use covered queries for tests/test suites list * feat: add compound index for new executions search query * feat: make optional junit * fix: print new env var * fix: remove code duplication * docs: Clean up and reorganize getting starter pages and redirects (#4551) * docs: update GH action (#4496) * update docs for GH action * fix: optional artillery junit * fix: optional ginkgo junit * fix: optional jmeter junit * fix: optional junit for jmeterd * fix: postman optional junit * fix: obfuscate args * docs: argocd image updates (#4553) * updated docs for ArgocdCD sync * docs: env vars * fix: typo * Update docs/docs/articles/running-tests.md Co-authored-by: Julianne Fermi * fix: use `aggregate: 1` for getting latest by test (#4560) * update executors with curl, openssh, sshpass * add remove cache * add sshpass to jmeterd * fix: ignore empty secret ref * feat: change executor model * feat: use data dir as working dir model * fix: dep update * fix: unit test * fix: use data dir as working dir * docs: cli * fix: dep update * feat: pass wartcher event to trigger * docs: env vars * fix: remove hint * build postman * remove testing branch * fix: aggregate(1) on test suite results (#4577) * fix: result line for websockets (#4576) * feat: download testsuite artifacts * fix: download conditions * fix: remove check * docs: cached test suites (#4580) * fix: cli disable get config for cload context (#4583) * fix: dep update * feat: download artifacts in init container * fix: field comment * fix: unittest * fix: remove namespace * fix: uri scheme * fix: dep update * docs: passed artifacts * fix: support silent mode * fix: allow download reports for failed * fix: test suite err check * fix: update to outdated cypress images (#4607) * fix: typo in test run image flag (#4608) * fix: typo in test run image flag * fix: typo in test run image flag * fix: typo in test run image flag * fix: typo in test run image flag * add enterprise docs * fix failing docs * fix api values * Update docs/docs/testkube-enterprise/articles/auth.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/auth.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/auth.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/auth.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/auth.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update docs/docs/testkube-enterprise/articles/usage-guide.md Co-authored-by: Julianne Fermi * Update production setup * add email examples * add space * fix docs * chore: rename secret label * fix: dep update * docs: argocd cron jobs sync * feat: adding support for tracetest cloud on tracetest executor (#4613) * feat: adding support for tracetest cloud on tracetest executor * fix lint issues * adding integration tests for tracetest executor * fixing unit test * adding PR suggestions * feat: add test name to the download folder * feat: update test staus after completion * docs: added gitlab and jenkins cicd docs (#4619) * added gitlab and jenkins cicd docs * added example * Update docs/docs/articles/gitlab.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/gitlab.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/gitlab.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/gitlab.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/gitlab.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/jenkins.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/jenkins.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/jenkins.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/jenkins.md Co-authored-by: Julianne Fermi * Update docs/docs/articles/jenkins.md Co-authored-by: Julianne Fermi * added samples to jenkins and some refinement in gitlab --------- Co-authored-by: Julianne Fermi * fixed cicd review (#4634) * Update cicd-overview.md * fix: do not return empty latestExecution with Test/TestSuite (#4636) * fix: allow terminating CLI while watching test/test suite run (#4638) * docs: some fixes (#4637) * some fixes * used container image instead of default * fix: table output performance (#4640) * chore: update tablewriter to the latest version * feat: truncate the error message for test suites * feat: Executor tests - Container executor: Playwright - args (#4645) * executor tests - playwright - args * playwright testsuite updated * playwright test updated * fix scorecard failing on branches which are not default * fix: use existing file for kubepug test (#4644) * used existing file for kubepug * change the data structures and outdated examples to match newer version of kubepug * Fix editUrl for docs (#4652) "Edit this page" links on documentation pages were broken because of the change to have the `develop` branch as default. This PR fixes the editUrl in Docusaurus config. * fix: Latest image tag for testkube cli (#4653) * added the latest image tag * test: update branch name in kubepug tests (#4654) * fix: dep update --------- Signed-off-by: hiteshwani Signed-off-by: Aman Parauliya Signed-off-by: Satish Kumar Kadarkarai Main Co-authored-by: hiteshwani <110378441+hiteshwani@users.noreply.github.com> Co-authored-by: Aman Parauliya <30143812+parauliya@users.noreply.github.com> Co-authored-by: Aman Parauliya Co-authored-by: Julianne Fermi Co-authored-by: Tomasz Konieczny Co-authored-by: Tomasz Konieczny Co-authored-by: ypoplavs <45286051+ypoplavs@users.noreply.github.com> Co-authored-by: Dejan Zele Pejchev Co-authored-by: fivenp Co-authored-by: Jacek Wysocki Co-authored-by: Povilas Versockas Co-authored-by: Ale <93217218+alelthomas@users.noreply.github.com> Co-authored-by: nicufk <89570185+nicufk@users.noreply.github.com> Co-authored-by: Lilla Vass Co-authored-by: Dawid Rusnak Co-authored-by: PepperKick Co-authored-by: jmorante-ks <142315352+jmorante-ks@users.noreply.github.com> Co-authored-by: ypoplavs Co-authored-by: Satish Kumar Kadarkarai Main Co-authored-by: Bogdan Hanea Co-authored-by: Javier Morante Co-authored-by: Daniel Baptista Dias Co-authored-by: Hamid <33328203+emamihe@users.noreply.github.com> Co-authored-by: Catalin <20538711+devcatalin@users.noreply.github.com> --- .../docker-build-api-executors-tag.yaml | 255 ++++++----- .github/workflows/release.yaml | 1 + .github/workflows/scorecard.yml | 2 +- .github/workflows/test.yaml | 9 +- Makefile | 2 +- api/v1/testkube.yaml | 3 + cmd/api-server/main.go | 32 ++ .../commands/executors/common.go | 42 +- .../commands/executors/create.go | 3 +- .../commands/executors/get.go | 1 + .../commands/executors/update.go | 2 + cmd/kubectl-testkube/commands/root.go | 24 +- cmd/kubectl-testkube/commands/tests/create.go | 2 +- cmd/kubectl-testkube/commands/tests/run.go | 13 +- .../commands/testsuites/run.go | 12 +- config/executors.json | 12 +- .../cypress/build/agent/Dockerfile.cypress12 | 2 +- .../cypress/build/agent/Dockerfile.cypress13 | 17 + contrib/executor/kubepug/README.md | 2 +- .../executor/kubepug/build/agent/Dockerfile | 2 +- contrib/executor/kubepug/pkg/runner/result.go | 2 +- .../kubepug/pkg/runner/result_test.go | 218 ++------- contrib/executor/kubepug/pkg/runner/runner.go | 6 +- .../kubepug/pkg/runner/runner_test.go | 209 +++++++-- .../test-files/manifest-deprecated.yaml | 52 +++ .../test-files/manifest-valid/manifest.yaml | 52 +++ .../pkg/runner/runner_integration_test.go | 12 +- .../executor/postman/build/agent/Dockerfile | 4 +- contrib/executor/tracetest/Makefile | 34 +- contrib/executor/tracetest/README.md | 75 ++-- .../executor/tracetest/pkg/model/result.go | 17 +- .../executor/tracetest/pkg/runner/runner.go | 121 +++-- .../pkg/runner/runner_integration_test.go | 179 ++++++++ .../tracetest/pkg/runner/runner_test.go | 21 +- .../pkg/runner/tracetest_core_runner.go | 63 +++ .../tracetest/pkg/runner/tracetest_runner.go | 93 ++++ .../docker-compose-tracetest-cloud.yaml | 54 +++ .../docker-compose-tracetest-core.yaml | 73 ++++ .../pkg/testing/tracetest-config.yaml | 7 + .../pkg/testing/tracetest-provision.yaml | 24 + .../pkg/testing/tracetest-test-script.yaml | 20 + docs/docs/articles/argocd-integration.md | 201 ++++++++- docs/docs/articles/cicd-overview.md | 7 +- ...g-first-test.md => creating-first-test.md} | 15 +- docs/docs/articles/deploying-in-aws.md | 2 +- docs/docs/articles/flux-integration.md | 2 +- .../docs/articles/getting-started-overview.md | 11 - docs/docs/articles/getting-started.md | 61 +++ docs/docs/articles/github-actions.md | 223 +++++----- docs/docs/articles/gitlab.md | 125 ++++++ docs/docs/articles/helm-chart.md | 1 + ...ep1-installing-cli.mdx => install-cli.mdx} | 5 +- docs/docs/articles/jenkins.md | 204 +++++++++ docs/docs/articles/open-source-or-cloud.md | 15 + .../articles/run-tests-with-github-actions.md | 1 + .../step2-installing-cluster-components.md | 53 --- docs/docs/articles/templates.mdx | 2 +- docs/docs/articles/test-triggers.mdx | 9 + .../articles/testkube-oss.md | 14 +- docs/docs/cli/testkube_create_executor.md | 1 + docs/docs/cli/testkube_update_executor.md | 1 + docs/docs/img/argocd-dashbord.png | Bin 0 -> 239829 bytes docs/docs/img/argocd-sync.png | Bin 0 -> 204039 bytes docs/docs/img/argocd-synced-tests.png | Bin 0 -> 187897 bytes docs/docs/img/cli-get-tests-executions.png | Bin 0 -> 121097 bytes docs/docs/img/cli-tests-results.png | Bin 0 -> 161945 bytes docs/docs/img/list-tests-cli.png | Bin 0 -> 113365 bytes docs/docs/img/offline-test-suite.png | Bin 0 -> 83664 bytes docs/docs/img/test-executions-ui.png | Bin 0 -> 243787 bytes docs/docs/index.mdx | 4 +- docs/docs/test-types/executor-kubepug.md | 4 +- .../articles/AI-test-insights.md | 10 + .../testkube-cloud/articles/cached-results.md | 18 +- .../articles/installing-agent.md | 11 +- .../testkube-cloud/articles/status-pages.md | 12 +- .../docs/testkube-enterprise/articles/auth.md | 99 +++++ .../articles/usage-guide.md | 390 +++++++++++++++++ docs/docusaurus.config.js | 2 +- docs/redirects.js | 20 +- docs/sidebars.js | 32 +- docs/src/css/custom.css | 17 + go.mod | 17 +- go.sum | 412 +++++++++++++++++- internal/app/api/v1/executions_test.go | 4 +- internal/app/api/v1/tests.go | 73 +--- internal/app/api/v1/testsuites.go | 78 +--- internal/config/config.go | 1 + .../db-migrations/01_create_indexes.down.json | 10 + .../db-migrations/01_create_indexes.up.json | 60 +++ .../02_execution_search_indexes.down.json | 10 + .../02_execution_search_indexes.up.json | 28 ++ internal/db-migrations/fs.go | 6 + pkg/api/v1/testkube/model_executor.go | 2 + .../testkube/model_executor_update_request.go | 2 + .../testkube/model_executor_upsert_request.go | 2 + pkg/api/v1/testkube/model_test_base.go | 4 +- pkg/cloud/data/result/result.go | 66 ++- pkg/cloud/data/result/result_test.go | 28 +- pkg/cloud/data/testresult/testresult.go | 71 ++- pkg/cloud/data/testresult/testresult_test.go | 31 +- pkg/crd/crd_test.go | 3 +- pkg/crd/templates/executor.tmpl | 3 + pkg/dbmigrator/database.go | 63 +++ pkg/dbmigrator/dbmigrator.go | 159 +++++++ pkg/dbmigrator/dbmigrator_test.go | 239 ++++++++++ pkg/dbmigrator/mock_database.go | 93 ++++ pkg/executor/agent/agent.go | 2 +- pkg/executor/client/job.go | 10 + pkg/executor/common.go | 3 + .../containerexecutor/containerexecutor.go | 10 + .../containerexecutor_test.go | 4 +- pkg/mapper/executors/mapper.go | 89 ++-- pkg/mapper/tests/openapi_kube.go | 4 +- pkg/repository/result/interface.go | 4 +- pkg/repository/result/mock_repository.go | 18 +- pkg/repository/result/mongo.go | 132 ++++-- pkg/repository/result/mongo_numbers.go | 4 +- pkg/repository/testresult/interface.go | 4 +- pkg/repository/testresult/mock_repository.go | 18 +- pkg/repository/testresult/mongo.go | 120 +++-- pkg/scheduler/test_scheduler.go | 10 + pkg/scheduler/test_scheduler_test.go | 25 +- pkg/secret/client.go | 4 +- pkg/triggers/executor.go | 28 +- pkg/triggers/executor_test.go | 27 +- pkg/triggers/matcher.go | 2 +- pkg/triggers/matcher_test.go | 14 +- pkg/triggers/service_test.go | 25 +- pkg/triggers/watcher_test.go | 2 +- .../executor-smoke/crd/playwright.yaml | 28 ++ .../container-executor-playwright.yaml | 13 + .../playwright-project/tests/smoke.spec.js | 2 +- .../playwright-project/tests/smoke2.spec.js | 8 + ...utor-container-playwright-smoke-tests.yaml | 3 + 134 files changed, 4272 insertions(+), 1152 deletions(-) create mode 100644 contrib/executor/cypress/build/agent/Dockerfile.cypress13 create mode 100644 contrib/executor/kubepug/pkg/runner/test-files/manifest-deprecated.yaml create mode 100644 contrib/executor/kubepug/pkg/runner/test-files/manifest-valid/manifest.yaml create mode 100644 contrib/executor/tracetest/pkg/runner/runner_integration_test.go create mode 100644 contrib/executor/tracetest/pkg/runner/tracetest_core_runner.go create mode 100644 contrib/executor/tracetest/pkg/runner/tracetest_runner.go create mode 100644 contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-cloud.yaml create mode 100644 contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-core.yaml create mode 100644 contrib/executor/tracetest/pkg/testing/tracetest-config.yaml create mode 100644 contrib/executor/tracetest/pkg/testing/tracetest-provision.yaml create mode 100644 contrib/executor/tracetest/pkg/testing/tracetest-test-script.yaml rename docs/docs/articles/{step3-creating-first-test.md => creating-first-test.md} (95%) delete mode 100644 docs/docs/articles/getting-started-overview.md create mode 100644 docs/docs/articles/getting-started.md create mode 100644 docs/docs/articles/gitlab.md rename docs/docs/articles/{step1-installing-cli.mdx => install-cli.mdx} (97%) create mode 100644 docs/docs/articles/jenkins.md create mode 100644 docs/docs/articles/open-source-or-cloud.md delete mode 100644 docs/docs/articles/step2-installing-cluster-components.md rename docs/docs/{testkube-cloud => }/articles/testkube-oss.md (61%) create mode 100644 docs/docs/img/argocd-dashbord.png create mode 100644 docs/docs/img/argocd-sync.png create mode 100644 docs/docs/img/argocd-synced-tests.png create mode 100644 docs/docs/img/cli-get-tests-executions.png create mode 100644 docs/docs/img/cli-tests-results.png create mode 100644 docs/docs/img/list-tests-cli.png create mode 100644 docs/docs/img/offline-test-suite.png create mode 100644 docs/docs/img/test-executions-ui.png create mode 100644 docs/docs/testkube-enterprise/articles/auth.md create mode 100644 docs/docs/testkube-enterprise/articles/usage-guide.md create mode 100644 internal/db-migrations/01_create_indexes.down.json create mode 100644 internal/db-migrations/01_create_indexes.up.json create mode 100644 internal/db-migrations/02_execution_search_indexes.down.json create mode 100644 internal/db-migrations/02_execution_search_indexes.up.json create mode 100644 internal/db-migrations/fs.go create mode 100644 pkg/dbmigrator/database.go create mode 100644 pkg/dbmigrator/dbmigrator.go create mode 100644 pkg/dbmigrator/dbmigrator_test.go create mode 100644 pkg/dbmigrator/mock_database.go create mode 100644 test/playwright/executor-tests/playwright-project/tests/smoke2.spec.js diff --git a/.github/workflows/docker-build-api-executors-tag.yaml b/.github/workflows/docker-build-api-executors-tag.yaml index 7003356194d..839a65e647d 100644 --- a/.github/workflows/docker-build-api-executors-tag.yaml +++ b/.github/workflows/docker-build-api-executors-tag.yaml @@ -46,8 +46,8 @@ jobs: with: destination_container_repo: kubeshop/testkube-api-server provider: dockerhub - short_description: 'Testkube Kubernetes API Server' - readme_file: './README.md' + short_description: "Testkube Kubernetes API Server" + readme_file: "./README.md" - name: Release uses: goreleaser/goreleaser-action@v4 @@ -71,11 +71,25 @@ jobs: single_executor: strategy: matrix: - executor: [artillery, curl, example, ginkgo, k6, kubepug, postman, soapui, init, scraper, template, tracetest, zap ] + executor: + [ + artillery, + curl, + example, + ginkgo, + k6, + kubepug, + postman, + soapui, + init, + scraper, + template, + tracetest, + zap, + ] runs-on: ubuntu-latest steps: - - name: Checkout uses: actions/checkout@v2 @@ -113,7 +127,7 @@ jobs: with: destination_container_repo: "kubeshop/testkube-${{ matrix.executor }}-executor" provider: dockerhub - short_description: 'Testkube ${{ matrix.executor }} executor' + short_description: "Testkube ${{ matrix.executor }} executor" readme_file: "./contrib/executor/${{ matrix.executor }}/README.md" - name: Release @@ -133,7 +147,6 @@ jobs: executor_jmeter: runs-on: ubuntu-latest steps: - - name: Checkout uses: actions/checkout@v2 @@ -171,7 +184,7 @@ jobs: with: destination_container_repo: "kubeshop/testkube-jmeter-executor" provider: dockerhub - short_description: 'Testkube jmeter executor' + short_description: "Testkube jmeter executor" readme_file: "./contrib/executor/jmeter/README.md" - name: Release @@ -189,7 +202,6 @@ jobs: executor_jmeterd: runs-on: ubuntu-latest steps: - - name: Checkout uses: actions/checkout@v2 @@ -227,7 +239,7 @@ jobs: with: destination_container_repo: "kubeshop/testkube-jmeterd-executor" provider: dockerhub - short_description: 'Testkube jmeterd executor' + short_description: "Testkube jmeterd executor" readme_file: "./contrib/executor/jmeterd/README.md" - name: Release @@ -324,7 +336,7 @@ jobs: with: destination_container_repo: "kubeshop/testkube-maven-executor" provider: dockerhub - short_description: 'Testkube maven executor' + short_description: "Testkube maven executor" readme_file: "./contrib/executor/maven/README.md" - name: Release @@ -342,7 +354,6 @@ jobs: executor_gradle: runs-on: ubuntu-latest steps: - - name: Checkout uses: actions/checkout@v2 @@ -380,7 +391,7 @@ jobs: with: destination_container_repo: "kubeshop/testkube-gradle-executor" provider: dockerhub - short_description: 'Testkube gradle executor' + short_description: "Testkube gradle executor" readme_file: "./contrib/executor/gradle/README.md" - name: Release @@ -398,11 +409,20 @@ jobs: executor_cypress: strategy: matrix: - version: [ cypress8, cypress9, cypress10, cypress11, cypress12, yarn, npm ] + version: + [ + cypress8, + cypress9, + cypress10, + cypress11, + cypress12, + cypress13, + yarn, + npm, + ] runs-on: ubuntu-latest steps: - - name: Checkout uses: actions/checkout@v2 @@ -437,7 +457,7 @@ jobs: with: destination_container_repo: "kubeshop/testkube-cypress-executor" provider: dockerhub - short_description: 'Testkube cypress executor' + short_description: "Testkube cypress executor" readme_file: "./contrib/executor/cypress/README.md" - name: Get tag @@ -467,124 +487,141 @@ jobs: docker push kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 docker push kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 - executor_cypress_manifest: needs: executor_cypress strategy: matrix: - version: [ cypress8, cypress9, cypress10, cypress11, cypress12, yarn, npm ] + version: + [ + cypress8, + cypress9, + cypress10, + cypress11, + cypress12, + cypress13, + yarn, + npm, + ] runs-on: ubuntu-latest steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - uses: sigstore/cosign-installer@v3.0.5 - - uses: anchore/sbom-action/download-syft@v0.14.2 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v1 + - uses: sigstore/cosign-installer@v3.0.5 + - uses: anchore/sbom-action/download-syft@v0.14.2 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 - - name: Get tag - id: tag - uses: dawidd6/action-get-tag@v1 - with: - strip_v: true + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Use tag - run: echo ${{steps.tag.outputs.tag}} + - name: Get tag + id: tag + uses: dawidd6/action-get-tag@v1 + with: + strip_v: true - - name: Create manifests - run: | - docker manifest create kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 - docker manifest push -p kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }} - cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 --yes - cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 --yes - cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }} --yes + - name: Use tag + run: echo ${{steps.tag.outputs.tag}} - docker manifest create kubeshop/testkube-cypress-executor:${{ matrix.version }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 - docker manifest push -p kubeshop/testkube-cypress-executor:${{ matrix.version }} - cosign sign kubeshop/testkube-cypress-executor:${{ matrix.version }} --yes + - name: Create manifests + run: | + docker manifest create kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 + docker manifest push -p kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }} + cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 --yes + cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 --yes + cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }} --yes - docker manifest create kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-arm64v8 - docker manifest push -p kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} - cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --yes + docker manifest create kubeshop/testkube-cypress-executor:${{ matrix.version }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-${{ matrix.version }}-arm64v8 + docker manifest push -p kubeshop/testkube-cypress-executor:${{ matrix.version }} + cosign sign kubeshop/testkube-cypress-executor:${{ matrix.version }} --yes + docker manifest create kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-arm64v8 + docker manifest push -p kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} + cosign sign kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }} --yes - docker manifest create kubeshop/testkube-cypress-executor:latest --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-arm64v8 - docker manifest push -p kubeshop/testkube-cypress-executor:latest - cosign sign kubeshop/testkube-cypress-executor:latest --yes - docker manifest create kubeshop/testkube-cypress-executor:legacy --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-npm-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-npm-arm64v8 - docker manifest push -p kubeshop/testkube-cypress-executor:legacy - cosign sign kubeshop/testkube-cypress-executor:legacy --yes + docker manifest create kubeshop/testkube-cypress-executor:latest --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-cypress12-arm64v8 + docker manifest push -p kubeshop/testkube-cypress-executor:latest + cosign sign kubeshop/testkube-cypress-executor:latest --yes + docker manifest create kubeshop/testkube-cypress-executor:legacy --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-npm-amd64 --amend kubeshop/testkube-cypress-executor:${{ steps.tag.outputs.tag }}-npm-arm64v8 + docker manifest push -p kubeshop/testkube-cypress-executor:legacy + cosign sign kubeshop/testkube-cypress-executor:legacy --yes executor_playwright: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v2 - - - uses: sigstore/cosign-installer@v3.0.5 - - uses: anchore/sbom-action/download-syft@v0.14.2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v1 - - - name: Go Cache - uses: actions/cache@v2 - with: - path: | - ~/go/pkg/mod - ~/.cache/go-build - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Push README to Dockerhub - uses: christian-korneck/update-container-description-action@v1 - env: - DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_PASS: ${{ secrets.DOCKERHUB_TOKEN }} - with: - destination_container_repo: "kubeshop/testkube-playwright-executor" - provider: dockerhub - short_description: 'Testkube playwright executor' - readme_file: "./contrib/executor/playwright/README.md" - - - name: Release - uses: goreleaser/goreleaser-action@v4 - with: - distribution: goreleaser - version: latest - args: release -f goreleaser_files/.goreleaser-docker-build-executor-playwright.yml - env: - GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} - DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" - DOCKER_BUILDX_CACHE_FROM: "type=gha" - DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" + - name: Checkout + uses: actions/checkout@v2 + + - uses: sigstore/cosign-installer@v3.0.5 + - uses: anchore/sbom-action/download-syft@v0.14.2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + + - name: Go Cache + uses: actions/cache@v2 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Push README to Dockerhub + uses: christian-korneck/update-container-description-action@v1 + env: + DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKER_PASS: ${{ secrets.DOCKERHUB_TOKEN }} + with: + destination_container_repo: "kubeshop/testkube-playwright-executor" + provider: dockerhub + short_description: "Testkube playwright executor" + readme_file: "./contrib/executor/playwright/README.md" + + - name: Release + uses: goreleaser/goreleaser-action@v4 + with: + distribution: goreleaser + version: latest + args: release -f goreleaser_files/.goreleaser-docker-build-executor-playwright.yml + env: + GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} + DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" + DOCKER_BUILDX_CACHE_FROM: "type=gha" + DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" update_api_helm_charts: - needs: [api, single_executor, executor_jmeter, executor_maven, executor_gradle, executor_cypress, executor_cypress_manifest, executor_playwright] + needs: + [ + api, + single_executor, + executor_jmeter, + executor_maven, + executor_gradle, + executor_cypress, + executor_cypress_manifest, + executor_playwright, + ] runs-on: ubuntu-latest steps: - name: Get tag diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b2edbd6be83..80675bc7b0c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -90,6 +90,7 @@ jobs: run: | docker push kubeshop/testkube-cli:${{ steps.github_sha.outputs.sha_short }}-arm64v8 docker push kubeshop/testkube-cli:${{ steps.github_sha.outputs.sha_short }}-amd64 + docker push kubeshop/testkube-cli:latest - name: Upload Artifacts uses: actions/upload-artifact@master diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ec9953b5f24..d55cef5bb67 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -12,7 +12,7 @@ on: schedule: - cron: '35 11 * * 1' push: - branches: [ "develop", "main" ] + branches: [ "develop" ] # Declare default permissions as read only. permissions: read-all diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 16e0b9180c9..f40ae06e370 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -113,10 +113,10 @@ jobs: - name: Install Artillery@2.0 run: npm install -g artillery@2.0.0-31 - - name: Install kubepug@1.5 - uses: cpanato/kubepug-installer@v1.1.0 + - name: Install kubepug@1.7.1 + uses: cpanato/kubepug-installer@v1.2.0 with: - kubepug-release: '1.5.0' + kubepug-release: '1.7.1' - name: Install k6 run: | @@ -146,6 +146,9 @@ jobs: - name: Set up Playwright run: pnpx playwright install --with-deps + - name: Set up Tracetest + run: curl -L https://raw.githubusercontent.com/kubeshop/tracetest/main/install-cli.sh | bash + - name: Set up git run: sudo apt-get install -y git diff --git a/Makefile b/Makefile index 0f074967193..274fe6e4934 100644 --- a/Makefile +++ b/Makefile @@ -149,7 +149,7 @@ unit-tests: .PHONY: integration-tests integration-tests: - gotestsum --format short-verbose -- -tags=integration -cover ./... + INTEGRATION="true" gotestsum --format short-verbose -- -tags=integration -cover ./... test-e2e: go test --tags=e2e -v ./test/e2e diff --git a/api/v1/testkube.yaml b/api/v1/testkube.yaml index c1afabcc349..e96c48c10e6 100644 --- a/api/v1/testkube.yaml +++ b/api/v1/testkube.yaml @@ -5104,6 +5104,9 @@ components: - junit-report meta: $ref: "#/components/schemas/ExecutorMeta" + useDataDirAsWorkingDir: + type: boolean + description: use data dir as working dir for executor ExecutorDetails: description: Executor details with Executor data and additional information like list of executions diff --git a/cmd/api-server/main.go b/cmd/api-server/main.go index 995d5c62d85..d07b01b656f 100644 --- a/cmd/api-server/main.go +++ b/cmd/api-server/main.go @@ -8,11 +8,13 @@ import ( "net" "os" "os/signal" + "path/filepath" "strings" "syscall" executorsclientv1 "github.com/kubeshop/testkube-operator/pkg/client/executors/v1" + "go.mongodb.org/mongo-driver/mongo" "google.golang.org/grpc" cloudartifacts "github.com/kubeshop/testkube/pkg/cloud/data/artifact" @@ -30,6 +32,7 @@ import ( "github.com/kubeshop/testkube/internal/common" "github.com/kubeshop/testkube/internal/config" + dbmigrations "github.com/kubeshop/testkube/internal/db-migrations" parser "github.com/kubeshop/testkube/internal/template" "github.com/kubeshop/testkube/pkg/version" @@ -71,6 +74,7 @@ import ( apiv1 "github.com/kubeshop/testkube/internal/app/api/v1" "github.com/kubeshop/testkube/internal/migrations" "github.com/kubeshop/testkube/pkg/configmap" + "github.com/kubeshop/testkube/pkg/dbmigrator" "github.com/kubeshop/testkube/pkg/log" "github.com/kubeshop/testkube/pkg/migrator" "github.com/kubeshop/testkube/pkg/reconciler" @@ -101,6 +105,26 @@ func runMigrations() (err error) { return migrations.Migrator.Run(version.Version, migrator.MigrationTypeServer) } +func runMongoMigrations(ctx context.Context, db *mongo.Database, migrationsDir string) error { + migrationsCollectionName := "__migrations" + activeMigrations, err := dbmigrator.GetDbMigrationsFromFs(dbmigrations.MongoMigrationsFs) + if err != nil { + return errors.Wrap(err, "failed to obtain MongoDB migrations from disk") + } + dbMigrator := dbmigrator.NewDbMigrator(dbmigrator.NewDatabase(db, migrationsCollectionName), activeMigrations) + plan, err := dbMigrator.Plan(ctx) + if err != nil { + return errors.Wrap(err, "failed to plan MongoDB migrations") + } + if plan.Total == 0 { + log.DefaultLogger.Info("No MongoDB migrations to apply.") + } else { + log.DefaultLogger.Info(fmt.Sprintf("Applying MongoDB migrations: %d rollbacks and %d ups.", len(plan.Downs), len(plan.Ups))) + } + err = dbMigrator.Apply(ctx) + return errors.Wrap(err, "failed to apply MongoDB migrations") +} + func main() { cfg, err := config.Get() ui.ExitOnError("error getting application config", err) @@ -242,6 +266,14 @@ func main() { log.DefaultLogger.Infow("minio is not available, using default logs storage", "error", err) } } + + // Run DB migrations + if !cfg.DisableMongoMigrations { + err := runMongoMigrations(ctx, db, filepath.Join(cfg.TestkubeConfigDir, "db-migrations")) + if err != nil { + log.DefaultLogger.Warnf("failed to apply MongoDB migrations: %v", err) + } + } } configName := fmt.Sprintf("testkube-api-server-config-%s", cfg.TestkubeNamespace) diff --git a/cmd/kubectl-testkube/commands/executors/common.go b/cmd/kubectl-testkube/commands/executors/common.go index 7cdf14b2d10..cfbdf342022 100644 --- a/cmd/kubectl-testkube/commands/executors/common.go +++ b/cmd/kubectl-testkube/commands/executors/common.go @@ -73,6 +73,10 @@ func NewUpsertExecutorOptionsFromFlags(cmd *cobra.Command) (options apiClient.Up iconURI := cmd.Flag("icon-uri").Value.String() docsURI := cmd.Flag("docs-uri").Value.String() + useDataDirAsWorkingDir, err := cmd.Flags().GetBool("use-data-dir-as-working-dir") + if err != nil { + return options, err + } var meta *testkube.ExecutorMeta if iconURI != "" || docsURI != "" || len(tooltips) != 0 { @@ -84,20 +88,21 @@ func NewUpsertExecutorOptionsFromFlags(cmd *cobra.Command) (options apiClient.Up } options = apiClient.UpsertExecutorOptions{ - Name: name, - Types: types, - ExecutorType: executorType, - Image: image, - ImagePullSecrets: imageSecrets, - Command: command, - Args: executorArgs, - Uri: uri, - ContentTypes: contentTypes, - JobTemplate: jobTemplateContent, - JobTemplateReference: jobTemplateReference, - Features: features, - Labels: labels, - Meta: meta, + Name: name, + Types: types, + ExecutorType: executorType, + Image: image, + ImagePullSecrets: imageSecrets, + Command: command, + Args: executorArgs, + Uri: uri, + ContentTypes: contentTypes, + JobTemplate: jobTemplateContent, + JobTemplateReference: jobTemplateReference, + Features: features, + Labels: labels, + Meta: meta, + UseDataDirAsWorkingDir: useDataDirAsWorkingDir, } return options, nil @@ -233,5 +238,14 @@ func NewUpdateExecutorOptionsFromFlags(cmd *cobra.Command) (options apiClient.Up options.Meta = &meta } + if cmd.Flag("use-data-dir-as-working-dir").Changed { + value, err := cmd.Flags().GetBool("use-data-dir-as-working-dir") + if err != nil { + return options, err + } + + options.UseDataDirAsWorkingDir = &value + } + return options, nil } diff --git a/cmd/kubectl-testkube/commands/executors/create.go b/cmd/kubectl-testkube/commands/executors/create.go index de1eee972f8..2f9e0f91498 100644 --- a/cmd/kubectl-testkube/commands/executors/create.go +++ b/cmd/kubectl-testkube/commands/executors/create.go @@ -18,7 +18,7 @@ func NewCreateExecutorCmd() *cobra.Command { types, command, executorArgs, imagePullSecretNames, features, contentTypes []string name, executorType, image, uri, jobTemplate, iconURI, docsURI, jobTemplateReference string labels, tooltips map[string]string - update bool + update, useDataDirAsWorkingDir bool ) cmd := &cobra.Command{ @@ -100,6 +100,7 @@ func NewCreateExecutorCmd() *cobra.Command { cmd.Flags().StringArrayVar(&contentTypes, "content-type", []string{}, "list of supported content types for executor") cmd.Flags().StringToStringVarP(&tooltips, "tooltip", "", nil, "tooltip key value pair: --tooltip key1=value1") cmd.Flags().BoolVar(&update, "update", false, "update, if executor already exists") + cmd.Flags().BoolVar(&useDataDirAsWorkingDir, "use-data-dir-as-working-dir", false, "use data dir as working dir for all tests") return cmd } diff --git a/cmd/kubectl-testkube/commands/executors/get.go b/cmd/kubectl-testkube/commands/executors/get.go index 033561ded0d..a2f0afca630 100644 --- a/cmd/kubectl-testkube/commands/executors/get.go +++ b/cmd/kubectl-testkube/commands/executors/get.go @@ -94,6 +94,7 @@ func mapExecutorDetailsToCreateExecutorOptions(namespace string, executor *testk options.Features = executor.Executor.Features options.ContentTypes = executor.Executor.ContentTypes options.Meta = executor.Executor.Meta + options.UseDataDirAsWorkingDir = executor.Executor.UseDataDirAsWorkingDir } return options diff --git a/cmd/kubectl-testkube/commands/executors/update.go b/cmd/kubectl-testkube/commands/executors/update.go index f87c1700791..84a9ea133b6 100644 --- a/cmd/kubectl-testkube/commands/executors/update.go +++ b/cmd/kubectl-testkube/commands/executors/update.go @@ -12,6 +12,7 @@ func UpdateExecutorCmd() *cobra.Command { types, command, executorArgs, imagePullSecretNames, features, contentTypes []string name, executorType, image, uri, jobTemplate, iconURI, docsURI, jobTemplateReference string labels, tooltips map[string]string + useDataDirAsWorkingDir bool ) cmd := &cobra.Command{ @@ -59,6 +60,7 @@ func UpdateExecutorCmd() *cobra.Command { cmd.Flags().StringVarP(&docsURI, "docs-uri", "", "", "URI to executor docs") cmd.Flags().StringArrayVar(&contentTypes, "content-type", []string{}, "list of supported content types for executor") cmd.Flags().StringToStringVarP(&tooltips, "tooltip", "", nil, "tooltip key value pair: --tooltip key1=value1") + cmd.Flags().BoolVar(&useDataDirAsWorkingDir, "use-data-dir-as-working-dir", false, "use data dir as working dir for all tests") return cmd } diff --git a/cmd/kubectl-testkube/commands/root.go b/cmd/kubectl-testkube/commands/root.go index 116b342d4fd..072f5ce87b5 100644 --- a/cmd/kubectl-testkube/commands/root.go +++ b/cmd/kubectl-testkube/commands/root.go @@ -1,11 +1,17 @@ package commands import ( + "context" "fmt" "os" + "os/signal" + "syscall" + "github.com/pkg/errors" "github.com/spf13/cobra" + "golang.org/x/sync/errgroup" + "github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/cloud" "github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/common" "github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/common/validator" @@ -160,13 +166,29 @@ func Execute() { apiURI = os.Getenv("TESTKUBE_API_URI") } + // Run services within an errgroup to propagate errors between services. + g, ctx := errgroup.WithContext(context.Background()) + + // Cancel the errgroup context on SIGINT and SIGTERM, + // which shuts everything down gracefully. + stopSignal := make(chan os.Signal, 1) + signal.Notify(stopSignal, syscall.SIGINT, syscall.SIGTERM) + g.Go(func() error { + select { + case <-ctx.Done(): + return nil + case sig := <-stopSignal: + return errors.Errorf("received signal: %v", sig) + } + }) + RootCmd.PersistentFlags().StringVarP(&client, "client", "c", "proxy", "client used for connecting to Testkube API one of proxy|direct") RootCmd.PersistentFlags().StringVarP(&namespace, "namespace", "", defaultNamespace, "Kubernetes namespace, default value read from config if set") RootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "", false, "show additional debug messages") RootCmd.PersistentFlags().StringVarP(&apiURI, "api-uri", "a", apiURI, "api uri, default value read from config if set") RootCmd.PersistentFlags().BoolVarP(&oauthEnabled, "oauth-enabled", "", cfg.OAuth2Data.Enabled, "enable oauth") - if err := RootCmd.Execute(); err != nil { + if err := RootCmd.ExecuteContext(ctx); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } diff --git a/cmd/kubectl-testkube/commands/tests/create.go b/cmd/kubectl-testkube/commands/tests/create.go index 8ea89bd852b..b22cd838d05 100644 --- a/cmd/kubectl-testkube/commands/tests/create.go +++ b/cmd/kubectl-testkube/commands/tests/create.go @@ -234,7 +234,7 @@ func AddCreateFlags(cmd *cobra.Command, flags *CreateCommonFlags) { cmd.Flags().StringVar(&flags.HttpsProxy, "https-proxy", "", "https proxy for executor containers") cmd.Flags().StringToStringVarP(&flags.SecretVariableReferences, "secret-variable-reference", "", nil, "secret variable references in a form name1=secret_name1=secret_key1") cmd.Flags().StringArrayVarP(&flags.CopyFiles, "copy-files", "", []string{}, "file path mappings from host to pod of form source:destination") - cmd.Flags().StringVar(&flags.Image, "image", "", "image for container executor") + cmd.Flags().StringVar(&flags.Image, "image", "", "override executor container image") cmd.Flags().StringArrayVar(&flags.ImagePullSecretNames, "image-pull-secrets", []string{}, "secret name used to pull the image in container executor") cmd.Flags().Int64Var(&flags.Timeout, "timeout", 0, "duration in seconds for test to timeout. 0 disables timeout.") cmd.Flags().StringVar(&flags.ArtifactStorageClassName, "artifact-storage-class-name", "", "artifact storage class name for container executor") diff --git a/cmd/kubectl-testkube/commands/tests/run.go b/cmd/kubectl-testkube/commands/tests/run.go index ce0d2401705..da1c2ce4af3 100644 --- a/cmd/kubectl-testkube/commands/tests/run.go +++ b/cmd/kubectl-testkube/commands/tests/run.go @@ -1,12 +1,14 @@ package tests import ( + "context" "fmt" "os" "strings" "time" "github.com/google/uuid" + "github.com/pkg/errors" "github.com/spf13/cobra" "github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/common" @@ -16,8 +18,6 @@ import ( "github.com/kubeshop/testkube/pkg/ui" ) -const WatchInterval = 2 * time.Second - func NewRunTestCmd() *cobra.Command { var ( name string @@ -242,6 +242,13 @@ func NewRunTestCmd() *cobra.Command { ui.Failf("Pass Test name or labels to run by labels ") } + go func() { + <-cmd.Context().Done() + if errors.Is(cmd.Context().Err(), context.Canceled) { + os.Exit(0) + } + }() + var hasErrors bool for _, execution := range executions { printExecutionDetails(execution) @@ -285,7 +292,7 @@ func NewRunTestCmd() *cobra.Command { } cmd.Flags().StringVarP(&name, "name", "n", "", "execution name, if empty will be autogenerated") - cmd.Flags().StringVarP(&image, "image", "", "", "execution variable passed to executor") + cmd.Flags().StringVarP(&image, "image", "", "", "override executor container image") cmd.Flags().StringVarP(&variablesFile, "variables-file", "", "", "variables file path, e.g. postman env file - will be passed to executor if supported") cmd.Flags().StringToStringVarP(&variables, "variable", "v", map[string]string{}, "execution variable passed to executor") cmd.Flags().StringToStringVarP(&secretVariables, "secret-variable", "s", map[string]string{}, "execution secret variable passed to executor") diff --git a/cmd/kubectl-testkube/commands/testsuites/run.go b/cmd/kubectl-testkube/commands/testsuites/run.go index 090c584ddfd..a1da7b6fc6e 100644 --- a/cmd/kubectl-testkube/commands/testsuites/run.go +++ b/cmd/kubectl-testkube/commands/testsuites/run.go @@ -1,11 +1,13 @@ package testsuites import ( + "context" "fmt" "os" "strings" "time" + "github.com/pkg/errors" "github.com/spf13/cobra" "github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/common" @@ -14,8 +16,6 @@ import ( "github.com/kubeshop/testkube/pkg/ui" ) -const WatchInterval = 2 * time.Second - const ( maxErrorMessageLength = 100000 ) @@ -55,7 +55,6 @@ func NewRunTestSuiteCmd() *cobra.Command { Short: "Starts new test suite", Long: `Starts new test suite based on TestSuite Custom Resource name, returns results to console`, Run: func(cmd *cobra.Command, args []string) { - startTime := time.Now() client, namespace, err := common.GetClient(cmd) ui.ExitOnError("getting client", err) @@ -136,6 +135,13 @@ func NewRunTestSuiteCmd() *cobra.Command { ui.Failf("Pass Test suite name or labels to run by labels ") } + go func() { + <-cmd.Context().Done() + if errors.Is(cmd.Context().Err(), context.Canceled) { + os.Exit(0) + } + }() + var hasErrors bool for _, execution := range executions { if execution.IsFailed() { diff --git a/config/executors.json b/config/executors.json index 2b660a40094..5620f0db96c 100644 --- a/config/executors.json +++ b/config/executors.json @@ -7,17 +7,7 @@ "command": [ "tracetest" ], - "args": [ - "test", - "run", - "--server-url", - "", - "--definition", - "", - "--wait-for-result", - "--output", - "pretty" - ], + "args": [], "types": [ "tracetest/test" ], diff --git a/contrib/executor/cypress/build/agent/Dockerfile.cypress12 b/contrib/executor/cypress/build/agent/Dockerfile.cypress12 index b7dced979a5..eb4df176717 100644 --- a/contrib/executor/cypress/build/agent/Dockerfile.cypress12 +++ b/contrib/executor/cypress/build/agent/Dockerfile.cypress12 @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM cypress/included:12.12.0 +FROM cypress/included:12.17.2 COPY cypress /bin/runner RUN apt-get update && \ diff --git a/contrib/executor/cypress/build/agent/Dockerfile.cypress13 b/contrib/executor/cypress/build/agent/Dockerfile.cypress13 new file mode 100644 index 00000000000..9fdec0fc36d --- /dev/null +++ b/contrib/executor/cypress/build/agent/Dockerfile.cypress13 @@ -0,0 +1,17 @@ +# syntax=docker/dockerfile:1 +FROM cypress/included:13.50.0 +COPY cypress /bin/runner + +RUN apt-get update && \ + apt-get install -y curl && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# run as a root in order to install to /root/cache and write to shared data volume +RUN mkdir /home/runner + +WORKDIR /home/runner/ + +ENV DEPENDENCY_MANAGER=npm + +ENTRYPOINT ["/bin/runner"] diff --git a/contrib/executor/kubepug/README.md b/contrib/executor/kubepug/README.md index b1c2568b49d..85d1182ba66 100644 --- a/contrib/executor/kubepug/README.md +++ b/contrib/executor/kubepug/README.md @@ -2,7 +2,7 @@ # Welcome to Testkube kubepug Executor -Testkube kubepug Executor is a [kubepug](https://github.com/rikatz/kubepug) executor running directly in your Kubernetes cluster via [Testkube](https://testkube.io). +Testkube kubepug Executor is a [kubepug](https://github.com/kubepug/kubepug) executor running directly in your Kubernetes cluster via [Testkube](https://testkube.io). Its main function is to make sure your Kubernetes clusters are up to date, and using the latest APIs. This Executor is automatically installed together with Testkube, there is no need to build it or register it to your local environment. diff --git a/contrib/executor/kubepug/build/agent/Dockerfile b/contrib/executor/kubepug/build/agent/Dockerfile index df0a84f0502..50c2ced0c50 100644 --- a/contrib/executor/kubepug/build/agent/Dockerfile +++ b/contrib/executor/kubepug/build/agent/Dockerfile @@ -10,7 +10,7 @@ COPY kubepug /bin/runner USER root RUN mkdir -p $HOME/.kubepug && \ cd $HOME/.kubepug && \ - wget https://github.com/rikatz/kubepug/releases/download/v1.1.3/kubepug_linux_amd64.tar.gz && \ + wget https://github.com/kubepug/kubepug/releases/download/v1.7.1/kubepug_linux_amd64.tar.gz && \ tar -zxvf kubepug_linux_amd64.tar.gz && \ rm -f kubepug_linux_amd64.tar.gz ENV PATH="$HOME/.kubepug/:${PATH}" diff --git a/contrib/executor/kubepug/pkg/runner/result.go b/contrib/executor/kubepug/pkg/runner/result.go index 4ff13f69c0f..5d5ad90032e 100644 --- a/contrib/executor/kubepug/pkg/runner/result.go +++ b/contrib/executor/kubepug/pkg/runner/result.go @@ -3,8 +3,8 @@ package runner import ( "encoding/json" + kubepug "github.com/kubepug/kubepug/pkg/results" "github.com/pkg/errors" - kubepug "github.com/rikatz/kubepug/pkg/results" ) // GetResult parses the output of a kubepug execution into a Result diff --git a/contrib/executor/kubepug/pkg/runner/result_test.go b/contrib/executor/kubepug/pkg/runner/result_test.go index 64427905230..aa4e966ddbc 100644 --- a/contrib/executor/kubepug/pkg/runner/result_test.go +++ b/contrib/executor/kubepug/pkg/runner/result_test.go @@ -4,177 +4,55 @@ import ( "fmt" "testing" - kubepug "github.com/rikatz/kubepug/pkg/results" + "github.com/kubepug/kubepug/pkg/apis/v1alpha1" + kubepug "github.com/kubepug/kubepug/pkg/results" "github.com/stretchr/testify/assert" ) func TestResultParser(t *testing.T) { - outputDeprecatedAPIs := `[ + output := ` + [ { - "Description": "ComponentStatus holds the cluster validation info. Deprecated: This API is deprecated in v1.19+", - "Group": "", - "Kind": "ComponentStatus", - "Version": "v1", - "Name": "", - "Deprecated": true, - "Items": [ - { - "Scope": "GLOBAL", - "ObjectName": "scheduler", - "Namespace": "" - }, - { - "Scope": "GLOBAL", - "ObjectName": "etcd-0", - "Namespace": "" - }, - { - "Scope": "GLOBAL", - "ObjectName": "etcd-1", - "Namespace": "" - }, - { - "Scope": "GLOBAL", - "ObjectName": "controller-manager", - "Namespace": "" - } - ] - } - ]` - outputDeletedAPIs := `[ - { - "Group": "extensions", - "Kind": "Ingress", - "Version": "v1beta1", - "Name": "ingresses", - "Deleted": true, - "Items": [ - { - "Scope": "OBJECT", - "ObjectName": "cli-testkube-api-server-testkube", - "Namespace": "testkube" - }, - { - "Scope": "OBJECT", - "ObjectName": "oauth2-proxy", - "Namespace": "testkube" - }, - { - "Scope": "OBJECT", - "ObjectName": "testapi", - "Namespace": "testkube" - }, - { - "Scope": "OBJECT", - "ObjectName": "testdash", - "Namespace": "testkube" - }, - { - "Scope": "OBJECT", - "ObjectName": "testkube-dashboard-testkube", - "Namespace": "testkube" - }, - { - "Scope": "OBJECT", - "ObjectName": "ui-testkube-api-server-testkube", - "Namespace": "testkube" - } - ] - }, - { - "Group": "policy", - "Kind": "PodSecurityPolicy", - "Version": "v1beta1", - "Name": "podsecuritypolicies", - "Deleted": true, - "Items": [ - { - "Scope": "GLOBAL", - "ObjectName": "gce.gke-metrics-agent", - "Namespace": "" - } - ] - } - ]` - - expectedDeprecatedAPIs := []kubepug.DeprecatedAPI{ - { - Description: "ComponentStatus holds the cluster validation info. Deprecated: This API is deprecated in v1.19+", - Kind: "ComponentStatus", - Version: "v1", - Deprecated: true, - Items: []kubepug.Item{ - { - Scope: "GLOBAL", - ObjectName: "scheduler", - }, + "group":"apps", + "kind":"Deployment", + "version":"v1beta2", + "replacement": { - Scope: "GLOBAL", - ObjectName: "etcd-0", + "group":"apps", + "version":"v1", + "kind":"Deployment" }, + "k8sversion":"1.16", + "description":"DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for\nmore information.\nDeployment enables declarative updates for Pods and ReplicaSets.", + "deleted_items":[ { - Scope: "GLOBAL", - ObjectName: "etcd-1", - }, - { - Scope: "GLOBAL", - ObjectName: "controller-manager", - }, - }, - }, - } + "scope":"OBJECT", + "objectname":"testkube-dashboard", + "namespace":"testkube", + "location":"deployment.yaml" + } + ] + } + ]` - expectedDeletedAPIs := []kubepug.DeletedAPI{ + result := []kubepug.ResultItem{ { - Group: "extensions", - Kind: "Ingress", - Version: "v1beta1", - Name: "ingresses", - Deleted: true, + Description: "DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for\nmore information.\nDeployment enables declarative updates for Pods and ReplicaSets.", + Group: "apps", + Kind: "Deployment", + Version: "v1beta2", + Replacement: &v1alpha1.GroupVersionKind{ + Group: "apps", + Version: "v1", + Kind: "Deployment", + }, + K8sVersion: "1.16", Items: []kubepug.Item{ { Scope: "OBJECT", - ObjectName: "cli-testkube-api-server-testkube", - Namespace: "testkube", - }, - { - Scope: "OBJECT", - ObjectName: "oauth2-proxy", - Namespace: "testkube", - }, - { - Scope: "OBJECT", - ObjectName: "testapi", + ObjectName: "testkube-dashboard", Namespace: "testkube", - }, - { - Scope: "OBJECT", - ObjectName: "testdash", - Namespace: "testkube", - }, - { - Scope: "OBJECT", - ObjectName: "testkube-dashboard-testkube", - Namespace: "testkube", - }, - { - Scope: "OBJECT", - ObjectName: "ui-testkube-api-server-testkube", - Namespace: "testkube", - }, - }, - }, - { - Group: "policy", - Kind: "PodSecurityPolicy", - Version: "v1beta1", - Name: "podsecuritypolicies", - Deleted: true, - Items: []kubepug.Item{ - { - Scope: "GLOBAL", - ObjectName: "gce.gke-metrics-agent", - Namespace: "", + Location: "deployment.yaml", }, }, }, @@ -204,36 +82,36 @@ func TestResultParser(t *testing.T) { { name: "GetResult should return populated DeprecatedAPIs when there's a DeprecatedAPI finding", kubepugOutput: fmt.Sprintf(`{ - "DeprecatedAPIs": %s, - "DeletedAPIs": null - }`, outputDeprecatedAPIs), + "deprecated_apis": %s, + "deleted_apis": null + }`, output), wantErr: false, result: kubepug.Result{ - DeprecatedAPIs: expectedDeprecatedAPIs, + DeprecatedAPIs: result, }, }, { name: "GetResult should return populated DeletedAPIs when there's a DeletedAPIs finding", kubepugOutput: fmt.Sprintf(`{ - "DeprecatedAPIs": null, - "DeletedAPIs": %s + "deprecated_apis": null, + "deleted_apis": %s } - `, outputDeletedAPIs), + `, output), wantErr: false, result: kubepug.Result{ - DeletedAPIs: expectedDeletedAPIs, + DeletedAPIs: result, }, }, { name: "GetResult should return populated DeprecatedAPIs and DeletedAPIs when there's both finding", kubepugOutput: fmt.Sprintf(`{ - "DeprecatedAPIs": %s, - "DeletedAPIs": %s - }`, outputDeprecatedAPIs, outputDeletedAPIs), + "deprecated_apis": %s, + "deleted_apis": %s + }`, output, output), wantErr: false, result: kubepug.Result{ - DeprecatedAPIs: expectedDeprecatedAPIs, - DeletedAPIs: expectedDeletedAPIs, + DeprecatedAPIs: result, + DeletedAPIs: result, }, }, } diff --git a/contrib/executor/kubepug/pkg/runner/runner.go b/contrib/executor/kubepug/pkg/runner/runner.go index 71f97bc3a8c..1ead3a458a7 100644 --- a/contrib/executor/kubepug/pkg/runner/runner.go +++ b/contrib/executor/kubepug/pkg/runner/runner.go @@ -7,7 +7,7 @@ import ( "os" "strings" - kubepug "github.com/rikatz/kubepug/pkg/results" + kubepug "github.com/kubepug/kubepug/pkg/results" "github.com/kubeshop/testkube/pkg/api/v1/testkube" "github.com/kubeshop/testkube/pkg/envs" @@ -148,7 +148,7 @@ func createDeprecatedAPIsStep(r kubepug.Result) testkube.ExecutionStepResult { output.PrintLog(fmt.Sprintf("%s Found deprecated APIs: %v", ui.IconCross, r.DeletedAPIs)) for _, api := range r.DeprecatedAPIs { step.AssertionResults = append(step.AssertionResults, testkube.AssertionResult{ - Name: api.Name, + Name: api.Kind, Status: "failed", ErrorMessage: fmt.Sprintf("Deprecated API:\n %v", api), }) @@ -173,7 +173,7 @@ func createDeletedAPIsStep(r kubepug.Result) testkube.ExecutionStepResult { output.PrintLogf("%s Found deleted APIs: %v", ui.IconCross, r.DeletedAPIs) for _, api := range r.DeletedAPIs { step.AssertionResults = append(step.AssertionResults, testkube.AssertionResult{ - Name: api.Name, + Name: api.Kind, Status: "failed", ErrorMessage: fmt.Sprintf("Deleted API:\n %v", api), }) diff --git a/contrib/executor/kubepug/pkg/runner/runner_test.go b/contrib/executor/kubepug/pkg/runner/runner_test.go index 8cb0e6b8c09..aac948245d9 100644 --- a/contrib/executor/kubepug/pkg/runner/runner_test.go +++ b/contrib/executor/kubepug/pkg/runner/runner_test.go @@ -103,15 +103,58 @@ metadata: t.Parallel() data := ` +--- apiVersion: v1 -conditions: -- message: '{"health":"true"}' - status: "True" - type: Healthy -kind: ComponentStatus +kind: Service metadata: - creationTimestamp: null - name: etcd-1 + name: testkube-dashboard + namespace: testkube +spec: + ports: + - name: http + port: 8001 + targetPort: 80 + selector: + app: testkube-dashboard +--- +apiVersion: apps/v1beta2 +kind: Deployment +metadata: + name: testkube-dashboard + namespace: testkube +spec: + replicas: 1 + selector: + matchLabels: + app: testkube-dashboard + strategy: + type: RollingUpdate + template: + metadata: + labels: + app: testkube-dashboard + spec: + containers: + - name: petstore-backend + image: docker.io/kubeshop/testkube-dashboard:latest + ports: + - name: http + containerPort: 80 + livenessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + timeoutSeconds: 2 + periodSeconds: 5 + failureThreshold: 1 + readinessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + periodSeconds: 5 + failureThreshold: 1 ` tempDir, err := os.MkdirTemp("", "*") @@ -140,8 +183,8 @@ metadata: assert.NoError(t, err) assert.Equal(t, testkube.ExecutionStatusFailed, result.Status) assert.Equal(t, 2, len(result.Steps)) - assert.Equal(t, "failed", result.Steps[0].Status) - assert.Equal(t, "passed", result.Steps[1].Status) + assert.Equal(t, "passed", result.Steps[0].Status) + assert.Equal(t, "failed", result.Steps[1].Status) }) } @@ -205,7 +248,7 @@ func TestRunFileURI_Integration(t *testing.T) { "", } uri := "https://gist.githubusercontent.com/vLia/" + - "91289de9cc8b6953be5f90b0a52fa8d3/raw/47e91d90374659646b46fd661f359b851b815cdf/example-k8s-pod-yaml-deprecated" + "91289de9cc8b6953be5f90b0a52fa8d3/raw/7d49329a16cb2d9d27371553658280a975ca2223/example-k8s-pod-yaml-deprecated" execution.Content = &testkube.TestContent{ Type_: string(testkube.TestContentTypeFileURI), Uri: uri, @@ -219,8 +262,8 @@ func TestRunFileURI_Integration(t *testing.T) { assert.NoError(t, err) assert.Equal(t, testkube.ExecutionStatusFailed, result.Status) assert.Equal(t, 2, len(result.Steps)) - assert.Equal(t, "failed", result.Steps[0].Status) - assert.Equal(t, "passed", result.Steps[1].Status) + assert.Equal(t, "passed", result.Steps[0].Status) + assert.Equal(t, "failed", result.Steps[1].Status) }) } @@ -249,9 +292,9 @@ func TestRunGitFile_Integration(t *testing.T) { } repo := &testkube.Repository{ - Uri: "https://github.com/kubeshop/testkube-dashboard", - Branch: "main", - Path: "manifests/fake-deployment.yaml", + Uri: "https://github.com/kubeshop/testkube", + Branch: "develop", + Path: "contrib/executor/kubepug/pkg/runner/test-files/fake-manifest.yaml", } _, err = content.NewFetcher(tempDir).FetchGit(repo) assert.NoError(t, err) @@ -285,9 +328,9 @@ func TestRunGitFile_Integration(t *testing.T) { } repo := &testkube.Repository{ - Uri: "https://github.com/kubeshop/testkube-dashboard", - Branch: "main", - Path: "manifests/deployment.yaml", + Uri: "https://github.com/kubeshop/testkube", + Branch: "develop", + Path: "contrib/executor/kubepug/pkg/runner/test-files/manifest-deprecated.yaml", } _, err = content.NewFetcher(tempDir).FetchGit(repo) assert.NoError(t, err) @@ -300,10 +343,10 @@ func TestRunGitFile_Integration(t *testing.T) { result, err := runner.Run(ctx, *execution) assert.NoError(t, err) - assert.Equal(t, testkube.ExecutionStatusPassed, result.Status) + assert.Equal(t, testkube.ExecutionStatusFailed, result.Status) assert.Equal(t, 2, len(result.Steps)) assert.Equal(t, "passed", result.Steps[0].Status) - assert.Equal(t, "passed", result.Steps[1].Status) + assert.Equal(t, "failed", result.Steps[1].Status) }) } @@ -332,9 +375,9 @@ func TestRunGitDirectory_Integration(t *testing.T) { } repo := &testkube.Repository{ - Uri: "https://github.com/kubeshop/testkube-dashboard", - Branch: "main", - Path: "manifests", + Uri: "https://github.com/kubeshop/testkube", + Branch: "develop", + Path: "contrib/executor/kubepug/pkg/runner/test-files/manifest-valid", } _, err = content.NewFetcher(tempDir).FetchGit(repo) assert.NoError(t, err) @@ -365,15 +408,58 @@ func TestRunWithSpecificK8sVersion_Integration(t *testing.T) { t.Parallel() data := ` +--- apiVersion: v1 -conditions: -- message: '{"health":"true"}' - status: "True" - type: Healthy -kind: ComponentStatus +kind: Service +metadata: + name: testkube-dashboard + namespace: testkube +spec: + ports: + - name: http + port: 8001 + targetPort: 80 + selector: + app: testkube-dashboard +--- +apiVersion: apps/v1beta2 +kind: Deployment metadata: - creationTimestamp: null - name: etcd-1 + name: testkube-dashboard + namespace: testkube +spec: + replicas: 1 + selector: + matchLabels: + app: testkube-dashboard + strategy: + type: RollingUpdate + template: + metadata: + labels: + app: testkube-dashboard + spec: + containers: + - name: petstore-backend + image: docker.io/kubeshop/testkube-dashboard:latest + ports: + - name: http + containerPort: 80 + livenessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + timeoutSeconds: 2 + periodSeconds: 5 + failureThreshold: 1 + readinessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + periodSeconds: 5 + failureThreshold: 1 ` tempDir, err := os.MkdirTemp("", "*") @@ -402,23 +488,66 @@ metadata: assert.NoError(t, err) assert.Equal(t, testkube.ExecutionStatusFailed, result.Status) assert.Equal(t, 2, len(result.Steps)) - assert.Equal(t, "failed", result.Steps[0].Status) - assert.Equal(t, "passed", result.Steps[1].Status) + assert.Equal(t, "passed", result.Steps[0].Status) + assert.Equal(t, "failed", result.Steps[1].Status) }) t.Run("runner should return success on yaml containing deprecated API with old K8s version", func(t *testing.T) { t.Parallel() data := ` +--- apiVersion: v1 -conditions: -- message: '{"health":"true"}' - status: "True" - type: Healthy -kind: ComponentStatus +kind: Service +metadata: + name: testkube-dashboard + namespace: testkube +spec: + ports: + - name: http + port: 8001 + targetPort: 80 + selector: + app: testkube-dashboard +--- +apiVersion: apps/v1beta2 +kind: Deployment metadata: - creationTimestamp: null - name: etcd-1 + name: testkube-dashboard + namespace: testkube +spec: + replicas: 1 + selector: + matchLabels: + app: testkube-dashboard + strategy: + type: RollingUpdate + template: + metadata: + labels: + app: testkube-dashboard + spec: + containers: + - name: petstore-backend + image: docker.io/kubeshop/testkube-dashboard:latest + ports: + - name: http + containerPort: 80 + livenessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + timeoutSeconds: 2 + periodSeconds: 5 + failureThreshold: 1 + readinessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + periodSeconds: 5 + failureThreshold: 1 ` tempDir, err := os.MkdirTemp("", "*") @@ -439,7 +568,7 @@ metadata: "--format=json", "--input-file", "", - "--k8s-version=v1.18.0", // last version v1/ComponentStatus was valid + "--k8s-version=v1.7.0", // last version apps/v1beta2/Deployment was valid } execution.Content = testkube.NewStringTestContent("") diff --git a/contrib/executor/kubepug/pkg/runner/test-files/manifest-deprecated.yaml b/contrib/executor/kubepug/pkg/runner/test-files/manifest-deprecated.yaml new file mode 100644 index 00000000000..5e1cdea75de --- /dev/null +++ b/contrib/executor/kubepug/pkg/runner/test-files/manifest-deprecated.yaml @@ -0,0 +1,52 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: testkube-dashboard + namespace: testkube +spec: + ports: + - name: http + port: 8001 + targetPort: 80 + selector: + app: testkube-dashboard +--- +apiVersion: apps/v1beta2 +kind: Deployment +metadata: + name: testkube-dashboard + namespace: testkube +spec: + replicas: 1 + selector: + matchLabels: + app: testkube-dashboard + strategy: + type: RollingUpdate + template: + metadata: + labels: + app: testkube-dashboard + spec: + containers: + - name: petstore-backend + image: docker.io/kubeshop/testkube-dashboard:latest + ports: + - name: http + containerPort: 80 + livenessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + timeoutSeconds: 2 + periodSeconds: 5 + failureThreshold: 1 + readinessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + periodSeconds: 5 + failureThreshold: 1 diff --git a/contrib/executor/kubepug/pkg/runner/test-files/manifest-valid/manifest.yaml b/contrib/executor/kubepug/pkg/runner/test-files/manifest-valid/manifest.yaml new file mode 100644 index 00000000000..330dcd4bda7 --- /dev/null +++ b/contrib/executor/kubepug/pkg/runner/test-files/manifest-valid/manifest.yaml @@ -0,0 +1,52 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: testkube-dashboard + namespace: testkube +spec: + ports: + - name: http + port: 8001 + targetPort: 80 + selector: + app: testkube-dashboard +--- +apiVersion: v1 +kind: Deployment +metadata: + name: testkube-dashboard + namespace: testkube +spec: + replicas: 1 + selector: + matchLabels: + app: testkube-dashboard + strategy: + type: RollingUpdate + template: + metadata: + labels: + app: testkube-dashboard + spec: + containers: + - name: petstore-backend + image: docker.io/kubeshop/testkube-dashboard:latest + ports: + - name: http + containerPort: 80 + livenessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + timeoutSeconds: 2 + periodSeconds: 5 + failureThreshold: 1 + readinessProbe: + httpGet: + path: /index.html + port: 80 + initialDelaySeconds: 15 + periodSeconds: 5 + failureThreshold: 1 diff --git a/contrib/executor/maven/pkg/runner/runner_integration_test.go b/contrib/executor/maven/pkg/runner/runner_integration_test.go index ed825638980..417df5887a2 100644 --- a/contrib/executor/maven/pkg/runner/runner_integration_test.go +++ b/contrib/executor/maven/pkg/runner/runner_integration_test.go @@ -33,7 +33,7 @@ func TestRun_Integration(t *testing.T) { // given params := envs.Params{DataDir: tempDir} - runner, err := NewRunner(context.Background(), params) + _, err = NewRunner(context.Background(), params) assert.NoError(t, err) execution := testkube.NewQueuedExecution() @@ -54,12 +54,14 @@ func TestRun_Integration(t *testing.T) { assert.NoError(t, os.Setenv("TESTKUBE_MAVEN_WRAPPER", "true")) // when - result, err := runner.Run(ctx, *execution) + + // TODO: fix flaky tests: TKC-923 + // result, err := runner.Run(ctx, *execution) // then - assert.NoError(t, err) - assert.Equal(t, testkube.ExecutionStatusPassed, result.Status) - assert.Len(t, result.Steps, 1) + // assert.NoError(t, err) + // assert.Equal(t, testkube.ExecutionStatusPassed, result.Status) + // assert.Len(t, result.Steps, 1) }) t.Run("run maven project with test task and envs", func(t *testing.T) { diff --git a/contrib/executor/postman/build/agent/Dockerfile b/contrib/executor/postman/build/agent/Dockerfile index a87327a0fd4..fc52fa38238 100644 --- a/contrib/executor/postman/build/agent/Dockerfile +++ b/contrib/executor/postman/build/agent/Dockerfile @@ -1,6 +1,8 @@ # syntax=docker/dockerfile:1 -FROM postman/newman +FROM node:21-alpine3.17 + COPY postman /bin/runner +RUN npm install -g newman RUN apk --no-cache add ca-certificates git curl # support npm report permissions diff --git a/contrib/executor/tracetest/Makefile b/contrib/executor/tracetest/Makefile index dae64289db7..86fecdce3c3 100644 --- a/contrib/executor/tracetest/Makefile +++ b/contrib/executor/tracetest/Makefile @@ -1,37 +1,29 @@ NAME ?= testkube-executor-tracetest BIN_DIR ?= $(HOME)/bin -build: - go build -o $(BIN_DIR)/$(NAME) cmd/agent/main.go +help: Makefile ## show list of commands + @echo "Choose a command run:" + @echo "" + @awk 'BEGIN {FS = ":.*?## "} /[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-40s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | sort + +build: ## build executable locally + go build -o $(BIN_DIR)/$(NAME) cmd/agent/main.go .PHONY: test cover build -run: +run: ## run the executor locally EXECUTOR_PORT=8082 go run cmd/agent/main.go -mongo-dev: - docker run -p 27017:27017 mongo - -docker-build: +docker-build: ## build docker image docker build -t kubeshop/$(NAME) -f build/agent/Dockerfile . -install-swagger-codegen-mac: - brew install swagger-codegen - -test: +test: ## run unit tests go test ./... -cover -test-e2e: - go test --tags=e2e -v ./test/e2e - -test-e2e-namespace: - NAMESPACE=$(NAMESPACE) go test --tags=e2e -v ./test/e2e - -cover: - @go test -failfast -count=1 -v -tags test -coverprofile=./testCoverage.txt ./... && go tool cover -html=./testCoverage.txt -o testCoverage.html && rm ./testCoverage.txt +cover: ## run coverage tests + @go test -failfast -count=1 -v -tags test -coverprofile=./testCoverage.txt ./... && go tool cover -html=./testCoverage.txt -o testCoverage.html && rm ./testCoverage.txt open testCoverage.html - version-bump: version-bump-patch version-bump-patch: @@ -44,4 +36,4 @@ version-bump-major: go run cmd/tools/main.go bump -k major version-bump-dev: - go run cmd/tools/main.go bump --dev + go run cmd/tools/main.go bump --dev \ No newline at end of file diff --git a/contrib/executor/tracetest/README.md b/contrib/executor/tracetest/README.md index 87baaec3141..9186508d672 100644 --- a/contrib/executor/tracetest/README.md +++ b/contrib/executor/tracetest/README.md @@ -1,8 +1,8 @@ ![Testkube Logo](https://raw.githubusercontent.com/kubeshop/testkube/main/assets/testkube-color-gray.png) -# Welcome to Testkube Tracetest Executor +# Welcome to TestKube Tracetest Executor -Testkube Tracetest Executor is a test executor to run [Tracetest](https://tracetest.io/) tests with [Testkube](https://testkube.io). +TestKube Tracetest Executor is a test executor to run [Tracetest](https://tracetest.io/) tests with [TestKube](https://testkube.io). # Running Tracetest with Testkube @@ -21,8 +21,8 @@ Here we will show how to use Testkube alongside Tracetest to run your tests in a In your Kubernetes cluster you should have: 1. `Testkube`: Use HELM or the Testkube CLI to [install](https://kubeshop.github.io/testkube/installing) Testkube Server components in your cluster. -2. `Trecetest Server`: You need a running instance of Tracetest which is going to be executing your assertions. To do so you can follow the instructions defined in the Tracetest [documentation](https://docs.tracetest.io/deployment/kubernetes). -3. `OpenTelemetry Instrumented Service`: In order to generate traces and spans, the service under test must support the basics for [propagation](https://opentelemetry.io/docs/reference/specification/context/api-propagators/) through HTTP requests, and also store traces and spans into a Data Store Backend (Jaeger, Grafana Tempo, OpenSearch, etc) or use the [OpenTelemetry Collector](https://docs.tracetest.io/configuration/overview#using-tracetest-without-a-trace-data-store). +2. `Tracetest`: You need a running instance of [Tracetest](https://docs.tracetest.io/getting-started/installation/) or [Tracetest Core](https://docs.tracetest.io/core/getting-started/installation/) which is going to be executing your assertions. To do so you can follow the instructions defined in the Tracetest [documentation](https://docs.tracetest.io/getting-started/overview). +3. `OpenTelemetry Instrumented Service`: To generate traces and spans, the service under test must support the basics for [propagation](https://opentelemetry.io/docs/reference/specification/context/api-propagators/) through HTTP requests, and also store traces and spans in a Data Store Backend (Jaeger, Grafana Tempo, OpenSearch, etc) or use the [OpenTelemetry Collector](https://docs.tracetest.io/configuration/overview#using-tracetest-without-a-trace-data-store). On your machine you should have: @@ -82,53 +82,38 @@ kubectl testkube run test --watch pokeshop-tracetest-test # Architecture -The following is high level sequence diagram on how Testkube and Tracetest interact with the different pieces of the system: +The following is a high-level sequence diagram of how Testkube and Tracetest interact with the different pieces of the system: ```mermaid sequenceDiagram - testkube client->>+testkube: Trigger Testkube test run - testkube->>+executor CRDs: Get executor details - executor CRDs-->>-testkube: Send details - testkube->>+tracetest executor job: Schedules execution - tracetest executor job->>+tracetest executor job: Configure Tracetest CLI - tracetest executor job->>+tracetest server: Executes the Tracetest test run - tracetest server->>+instrumented service: Trigger request - instrumented service-->>-tracetest server: Get response - instrumented service->>+data store: Send telemetry data - tracetest server->>+data store: Fetch trace - data store-->>-tracetest server: Get trace - tracetest server->>+tracetest server: Run assertions - tracetest server-->>-tracetest executor job: Return test run results - tracetest executor job-->>-testkube: Return test run results - testkube-->>-testkube client: Send details + participant testkubeClient as Testkube Client + participant testkube as Testkube + participant executorCRDs as Executor CRDs + participant tracetestExecutorJob as Tracetest Executor Job + participant tracetestServer as Tracetest + participant instrumentedService as Instrumented Service + participant dataStore as Data Store + + testkubeClient->>+testkube: Trigger Testkube test run + testkube->>+executorCRDs: Get executor details + executorCRDs-->>-testkube: Send details + testkube->>+tracetestExecutorJob: Schedules execution + tracetestExecutorJob->>+tracetestExecutorJob: Configure Tracetest CLI + tracetestExecutorJob->>+tracetestServer: Executes the Tracetest test run + tracetestServer->>+instrumentedService: Trigger request + instrumentedService-->>-tracetestServer: Get response + instrumentedService->>+dataStore: Send telemetry data + tracetestServer->>+dataStore: Fetch trace + dataStore-->>-tracetestServer: Get trace + tracetestServer->>+tracetestServer: Run assertions + tracetestServer-->>-tracetestExecutorJob: Return test run results + tracetestExecutorJob-->>-testkube: Return test run results + testkube-->>-testkubeClient: Send details ``` -# Issues and enchancements +# Issues and enhancements -Please follow the main [Testkube repository](https://github.com/kubeshop/testkube) for reporting any [issues](https://github.com/kubeshop/testkube/issues) or [discussions](https://github.com/kubeshop/testkube/discussions) - -# Known Error - -There might be a version mismatch error coming up: - -```bash -✖️ Error: Version Mismatch -The CLI version and the server version are not compatible. To fix this, you'll need to make sure that both your CLI and server are using compatible versions. -We recommend upgrading both of them to the latest available version. Check out our documentation https://docs.tracetest.io/configuration/upgrade for simple instructions on how to upgrade. -Thank you for using Tracetest! We apologize for any inconvenience caused. -``` - -The quickest way to fix this, is to use your own executor Docker image. For the Dockerfile, check out the file in `build/agent`. Here you can specify the link to the exact Tracetest executable version you need. To build this, please use the following command in the root of the Testkube repository: - -```bash -make docker-build-executor EXECUTOR=tracetest GITHUB_TOKEN="" DOCKER_BUILDX_CACHE_FROM=type=registry,ref=docker.io/kubeshop/testkube-tracetest-executor:latest ALPINE_IMAGE=alpine:3.18.0 -``` - -Don't forget to make this image available to your Testkube environment and update the image used by the executor: - -```bash -kubectl edit executors/tracetest-executor -n testkube -``` +Please follow the main [TestKube repository](https://github.com/kubeshop/testkube) for reporting any [issues](https://github.com/kubeshop/testkube/issues) or [discussions](https://github.com/kubeshop/testkube/discussions) # Testkube diff --git a/contrib/executor/tracetest/pkg/model/result.go b/contrib/executor/tracetest/pkg/model/result.go index 75777b67f29..6632f3855ab 100644 --- a/contrib/executor/tracetest/pkg/model/result.go +++ b/contrib/executor/tracetest/pkg/model/result.go @@ -24,14 +24,17 @@ func (r *Result) GetOutput() string { return r.Output } -func (r *Result) GetStatus() *testkube.ExecutionStatus { - if r.IsSuccessful() { - return testkube.ExecutionStatusPassed +func (r *Result) ToSuccessfulExecutionResult() testkube.ExecutionResult { + return testkube.ExecutionResult{ + Output: r.GetOutput(), + Status: testkube.ExecutionStatusPassed, } - - return testkube.ExecutionStatusFailed } -func (r *Result) IsSuccessful() bool { - return !strings.Contains(r.Output, FAILED_TEST_ICON) +func (r *Result) ToFailedExecutionResult(err error) testkube.ExecutionResult { + return testkube.ExecutionResult{ + ErrorMessage: r.GetOutput(), + Output: r.GetOutput(), + Status: testkube.ExecutionStatusFailed, + } } diff --git a/contrib/executor/tracetest/pkg/runner/runner.go b/contrib/executor/tracetest/pkg/runner/runner.go index e047d6c72eb..444e6997693 100644 --- a/contrib/executor/tracetest/pkg/runner/runner.go +++ b/contrib/executor/tracetest/pkg/runner/runner.go @@ -3,17 +3,14 @@ package runner import ( "context" "fmt" - "os" "strings" "github.com/kubeshop/testkube/contrib/executor/tracetest/pkg/model" "github.com/kubeshop/testkube/pkg/api/v1/testkube" "github.com/kubeshop/testkube/pkg/envs" - "github.com/kubeshop/testkube/pkg/executor" "github.com/kubeshop/testkube/pkg/executor/agent" "github.com/kubeshop/testkube/pkg/executor/content" "github.com/kubeshop/testkube/pkg/executor/env" - "github.com/kubeshop/testkube/pkg/executor/output" outputPkg "github.com/kubeshop/testkube/pkg/executor/output" "github.com/kubeshop/testkube/pkg/executor/runner" "github.com/kubeshop/testkube/pkg/executor/scraper" @@ -21,9 +18,6 @@ import ( "github.com/kubeshop/testkube/pkg/ui" ) -const TRACETEST_ENDPOINT_VAR = "TRACETEST_ENDPOINT" -const TRACETEST_OUTPUT_ENDPOINT_VAR = "TRACETEST_OUTPUT_ENDPOINT" - func NewRunner(ctx context.Context, params envs.Params) (*TracetestRunner, error) { outputPkg.PrintLog(fmt.Sprintf("%s [TracetestRunner]: Preparing Runner", ui.IconTruck)) @@ -33,14 +27,24 @@ func NewRunner(ctx context.Context, params envs.Params) (*TracetestRunner, error } return &TracetestRunner{ - Params: params, - Scraper: scraper, + Params: params, + Scraper: scraper, + coreExecutor: &tracetestCoreExecutor{}, + cloudExecutor: &tracetestCloudExecutor{}, }, nil } type TracetestRunner struct { - Params envs.Params - Scraper scraper.Scraper + Params envs.Params + Scraper scraper.Scraper + coreExecutor TracetestCLIExecutor + cloudExecutor TracetestCLIExecutor +} + +type TracetestCLIExecutor interface { + RequiredEnvVars() []string + HasEnvVarsDefined(*env.Manager) bool + Execute(*env.Manager, testkube.Execution, string) (model.Result, error) } func (r *TracetestRunner) Run(ctx context.Context, execution testkube.Execution) (result testkube.ExecutionResult, err error) { @@ -51,7 +55,7 @@ func (r *TracetestRunner) Run(ctx context.Context, execution testkube.Execution) outputPkg.PrintLog(fmt.Sprintf("%s [TracetestRunner]: Preparing test run", ui.IconTruck)) // Get execution content file path - path, _, err := content.GetPathAndWorkingDir(execution.Content, r.Params.DataDir) + testFilePath, _, err := content.GetPathAndWorkingDir(execution.Content, r.Params.DataDir) if err != nil { outputPkg.PrintLogf("%s Failed to resolve absolute directory for %s, using the path directly", ui.IconWarning, r.Params.DataDir) } @@ -59,35 +63,21 @@ func (r *TracetestRunner) Run(ctx context.Context, execution testkube.Execution) envManager := env.NewManagerWithVars(execution.Variables) envManager.GetReferenceVars(envManager.Variables) - // Get TRACETEST_ENDPOINT from execution variables - te, err := getTracetestEndpointFromVars(envManager) + // Get a CLI test executor + cliExecutor, err := r.getCLIExecutor(envManager) if err != nil { - outputPkg.PrintLog(fmt.Sprintf("%s [TracetestRunner]: TRACETEST_ENDPOINT variable was not found: %v", ui.IconCross, err)) - return result, err + outputPkg.PrintLogf("%s Failed to get a Tracetest CLI executor %s", ui.IconWarning, err) + return testkube.ExecutionResult{}, fmt.Errorf("failed to get a Tracetest CLI executor %s", err) } - // Get TRACETEST_OUTPUT_ENDPOINT from execution variables - toe, err := getTracetestOutputEndpointFromVars(envManager) + // Run CLI executor + cliExecutionResult, err := cliExecutor.Execute(envManager, execution, testFilePath) if err != nil { - outputPkg.PrintLog(fmt.Sprintf("%s [TracetestRunner]: error on processing variables: %v", ui.IconCross, err)) - return result, err + result = cliExecutionResult.ToFailedExecutionResult(err) + } else { + result = cliExecutionResult.ToSuccessfulExecutionResult() } - // Prepare args for test run command - args, err := buildArgs(execution.Args, te, path) - if err != nil { - output.PrintLogf("%s Could not build up parameters: %s", ui.IconCross, err.Error()) - return testkube.ExecutionResult{}, fmt.Errorf("could not build up parameters: %w", err) - } - output.PrintLogf("%s Using arguments: %v", ui.IconWorld, envManager.ObfuscateStringSlice(args)) - - command, args := executor.MergeCommandAndArgs(execution.Command, args) - - // Run tracetest test from definition file - output.PrintLogf("%s Test run command %s %s", ui.IconRocket, command, strings.Join(envManager.ObfuscateStringSlice(args), " ")) - output, err := executor.Run("", command, envManager, args...) - runResult := model.Result{Output: string(output), ServerEndpoint: te, OutputEndpoint: toe} - var rerr error if execution.PostRunScript != "" && execution.ExecutePostRunScriptBeforeScraping { outputPkg.PrintLog(fmt.Sprintf("%s Running post run script...", ui.IconCheckMark)) @@ -106,20 +96,10 @@ func (r *TracetestRunner) Run(ctx context.Context, execution testkube.Execution) } } - if err != nil { - result.ErrorMessage = runResult.GetOutput() - result.Output = runResult.GetOutput() - result.Status = testkube.ExecutionStatusFailed - return result, nil - } - if rerr != nil { return testkube.ExecutionResult{}, rerr } - result.Output = runResult.GetOutput() - result.Status = runResult.GetStatus() - return result, nil } @@ -128,37 +108,42 @@ func (r *TracetestRunner) GetType() runner.Type { return runner.TypeMain } -// Get TRACETEST_ENDPOINT from execution variables -func getTracetestEndpointFromVars(envManager *env.Manager) (string, error) { - v, ok := envManager.Variables[TRACETEST_ENDPOINT_VAR] - if !ok { - return "", fmt.Errorf("TRACETEST_ENDPOINT variable was not found") +func (r *TracetestRunner) getCLIExecutor(envManager *env.Manager) (TracetestCLIExecutor, error) { + if r.cloudExecutor.HasEnvVarsDefined(envManager) { + return r.cloudExecutor, nil } - return strings.ReplaceAll(v.Value, "\"", ""), nil + if r.coreExecutor.HasEnvVarsDefined(envManager) { + return r.coreExecutor, nil + } + + outputPkg.PrintLogf("%s [TracetestRunner]: Could not find variables to run the test with Tracetest or Tracetest Cloud.", ui.IconCross) + outputPkg.PrintLogf("%s [TracetestRunner]: Please define the [%s] variables to run a test with Tracetest", ui.IconCross, strings.Join(r.cloudExecutor.RequiredEnvVars(), ", ")) + outputPkg.PrintLogf("%s [TracetestRunner]: Or define the [%s] variables to run a test with Tracetest Core", ui.IconCross, strings.Join(r.coreExecutor.RequiredEnvVars(), ", ")) + return nil, fmt.Errorf("could not find variables to run the test with Tracetest or Tracetest Cloud") } -// Get TRACETEST_OUTPUT_ENDPOINT from execution variables -func getTracetestOutputEndpointFromVars(envManager *env.Manager) (string, error) { - v, ok := envManager.Variables[TRACETEST_OUTPUT_ENDPOINT_VAR] - if !ok { - return "", fmt.Errorf("TRACETEST_OUTPUT_ENDPOINT variable was not found") - } +// Get variable from EnvManager +func getVariable(envManager *env.Manager, variableName string) (string, error) { + return getVariableWithWarning(envManager, variableName, true) +} - return strings.ReplaceAll(v.Value, "\"", ""), nil +func getOptionalVariable(envManager *env.Manager, variableName string) (string, error) { + return getVariableWithWarning(envManager, variableName, false) } -// buildArgs builds up the arguments for -func buildArgs(args []string, tracetestEndpoint string, inputPath string) ([]string, error) { - for i := range args { - if args[i] == "" { - args[i] = tracetestEndpoint - } - if args[i] == "" { - args[i] = inputPath - } +func getVariableWithWarning(envManager *env.Manager, variableName string, required bool) (string, error) { + v, ok := envManager.Variables[variableName] + + warningMessage := fmt.Sprintf("%s [TracetestRunner]: %s variable was not found", ui.IconCross, variableName) + if !required { + warningMessage = fmt.Sprintf("[TracetestRunner]: %s variable was not found, assuming empty value", variableName) + } - args[i] = os.ExpandEnv(args[i]) + if !ok { + outputPkg.PrintLog(warningMessage) + return "", fmt.Errorf(variableName + " variable was not found") } - return args, nil + + return strings.ReplaceAll(v.Value, "\"", ""), nil } diff --git a/contrib/executor/tracetest/pkg/runner/runner_integration_test.go b/contrib/executor/tracetest/pkg/runner/runner_integration_test.go new file mode 100644 index 00000000000..7195ff7a67a --- /dev/null +++ b/contrib/executor/tracetest/pkg/runner/runner_integration_test.go @@ -0,0 +1,179 @@ +package runner_test + +import ( + "context" + "fmt" + "os" + "path" + "path/filepath" + "runtime" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/kubeshop/testkube/contrib/executor/tracetest/pkg/command" + "github.com/kubeshop/testkube/contrib/executor/tracetest/pkg/runner" + "github.com/kubeshop/testkube/pkg/api/v1/testkube" + "github.com/kubeshop/testkube/pkg/envs" + "github.com/kubeshop/testkube/pkg/utils/test" +) + +func startTracetestEnvironment(t *testing.T, envType string) { + currentDir := getExecutingDir() + fullDockerComposeFilePath := fmt.Sprintf("%s/../testing/docker-compose-tracetest-%s.yaml", currentDir, envType) + + result, err := command.Run("docker", "compose", "--file", fullDockerComposeFilePath, "up", "--detach") + require.NoErrorf(t, err, "error when starting tracetest core env: %s", string(result)) + + // pokeshop takes some time to warm up, so we need to wait a little bit before doing tests + time.Sleep(10 * time.Second) +} + +func stopTracetestEnvironment(t *testing.T, envType string) { + currentDir := getExecutingDir() + fullDockerComposeFilePath := fmt.Sprintf("%s/../testing/docker-compose-tracetest-%s.yaml", currentDir, envType) + + result, err := command.Run("docker", "compose", "--file", fullDockerComposeFilePath, "rm", "--force", "--volumes", "--stop") + require.NoErrorf(t, err, "error when stopping tracetest core env: %s", string(result)) +} + +func TestRunFiles_Integration(t *testing.T) { + test.IntegrationTest(t) + + ctx := context.Background() + + t.Run("Run tracetest core with no variables", func(t *testing.T) { + tempDir, err := os.MkdirTemp("", "*") + require.NoErrorf(t, err, "failed to create temp dir: %v", err) + defer os.RemoveAll(tempDir) + + params := envs.Params{DataDir: tempDir} + runner, err := runner.NewRunner(context.Background(), params) + require.NoError(t, err) + + execution := testkube.NewQueuedExecution() + execution.Content = testkube.NewStringTestContent("") + execution.TestType = "tracetest/test" + execution.Command = []string{ + "tracetest", + } + execution.Args = []string{} + writeTestContent(t, tempDir, "../testing/tracetest-test-script.yaml") + + // when + _, err = runner.Run(ctx, *execution) + + // then + require.ErrorContains(t, err, "failed to get a Tracetest CLI executor") + }) + + t.Run("Run tracetest core with simple script", func(t *testing.T) { + envType := "core" + + startTracetestEnvironment(t, envType) + defer stopTracetestEnvironment(t, envType) + + tempDir, err := os.MkdirTemp("", "*") + require.NoErrorf(t, err, "failed to create temp dir: %v", err) + defer os.RemoveAll(tempDir) + + params := envs.Params{DataDir: tempDir} + runner, err := runner.NewRunner(context.Background(), params) + require.NoError(t, err) + + execution := testkube.NewQueuedExecution() + execution.Content = testkube.NewStringTestContent("") + execution.TestType = "tracetest/test" + execution.Command = []string{ + "tracetest", + } + execution.Variables = map[string]testkube.Variable{ + "TRACETEST_ENDPOINT": { + Name: "TRACETEST_ENDPOINT", + Value: "http://localhost:11633", + Type_: testkube.VariableTypeBasic, + }, + } + execution.Args = []string{} + writeTestContent(t, tempDir, "../testing/tracetest-test-script.yaml") + + // when + result, err := runner.Run(ctx, *execution) + + // then + require.NoError(t, err) + require.Equal(t, testkube.ExecutionStatusPassed, result.Status) + }) + + // t.Run("Run tracetest cloud with simple script", func(t *testing.T) { + // envType := "cloud" + + // os.Setenv("TRACETEST_API_KEY", "some_api_key") + + // startTracetestEnvironment(t, envType) + // defer stopTracetestEnvironment(t, envType) + + // tempDir, err := os.MkdirTemp("", "*") + // require.NoErrorf(t, err, "failed to create temp dir: %v", err) + // defer os.RemoveAll(tempDir) + + // params := envs.Params{DataDir: tempDir} + // runner, err := runner.NewRunner(context.Background(), params) + // require.NoError(t, err) + + // execution := testkube.NewQueuedExecution() + // execution.Content = testkube.NewStringTestContent("") + // execution.TestType = "tracetest/test" + // execution.Command = []string{ + // "tracetest", + // } + // execution.Variables = map[string]testkube.Variable{ + // "TRACETEST_TOKEN": { + // Name: "TRACETEST_TOKEN", + // Value: "some_token", + // Type_: testkube.VariableTypeBasic, + // }, + // "TRACETEST_ORGANIZATION": { + // Name: "TRACETEST_ORGANIZATION", + // Value: "some_token", + // Type_: testkube.VariableTypeBasic, + // }, + // "TRACETEST_ENVIRONMENT": { + // Name: "TRACETEST_ENVIRONMENT", + // Value: "some_token", + // Type_: testkube.VariableTypeBasic, + // }, + // } + // execution.Args = []string{} + // writeTestContent(t, tempDir, "../testing/tracetest-test-script.yaml") + + // // when + // result, err := runner.Run(ctx, *execution) + + // // then + // require.NoError(t, err) + // require.Equal(t, testkube.ExecutionStatusPassed, result.Status) + // }) +} + +func writeTestContent(t *testing.T, dir string, testScriptPath string) { + currentDir := getExecutingDir() + fullTestScriptPath := fmt.Sprintf("%s/%s", currentDir, testScriptPath) + + testScript, err := os.ReadFile(fullTestScriptPath) + if err != nil { + assert.FailNow(t, "Unable to read tracetest test script") + } + + err = os.WriteFile(filepath.Join(dir, "test-content"), testScript, 0644) + if err != nil { + assert.FailNow(t, "Unable to write tracetest runner test content file") + } +} + +func getExecutingDir() string { + _, filename, _, _ := runtime.Caller(0) // get file of the getExecutingDir caller + return path.Dir(filename) +} diff --git a/contrib/executor/tracetest/pkg/runner/runner_test.go b/contrib/executor/tracetest/pkg/runner/runner_test.go index 8f39e31a332..2c59e338672 100644 --- a/contrib/executor/tracetest/pkg/runner/runner_test.go +++ b/contrib/executor/tracetest/pkg/runner/runner_test.go @@ -1,29 +1,36 @@ -package runner +package runner_test import ( "context" "testing" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/kubeshop/testkube/contrib/executor/tracetest/pkg/runner" "github.com/kubeshop/testkube/pkg/api/v1/testkube" "github.com/kubeshop/testkube/pkg/envs" ) func TestRun(t *testing.T) { - t.Run("runner should return error if Tracetest endpoint is not provided", func(t *testing.T) { + t.Run("runner should fail if no env var is provided", func(t *testing.T) { // given - runner, _ := NewRunner(context.Background(), envs.Params{}) + ctx := context.Background() + params := envs.Params{ + DataDir: "/tmp", + } + + runner, err := runner.NewRunner(ctx, params) + require.NoError(t, err) + execution := testkube.NewQueuedExecution() execution.Content = testkube.NewStringTestContent("hello I'm test content") // when - _, err := runner.Run(context.Background(), *execution) + _, err = runner.Run(ctx, *execution) // then - assert.Error(t, err) - assert.Equal(t, "TRACETEST_ENDPOINT variable was not found", err.Error()) + require.ErrorContains(t, err, "could not find variables to run the test with Tracetest or Tracetest Cloud") }) } diff --git a/contrib/executor/tracetest/pkg/runner/tracetest_core_runner.go b/contrib/executor/tracetest/pkg/runner/tracetest_core_runner.go new file mode 100644 index 00000000000..6429845af43 --- /dev/null +++ b/contrib/executor/tracetest/pkg/runner/tracetest_core_runner.go @@ -0,0 +1,63 @@ +package runner + +import ( + "strings" + + "github.com/kubeshop/testkube/contrib/executor/tracetest/pkg/model" + "github.com/kubeshop/testkube/pkg/api/v1/testkube" + "github.com/kubeshop/testkube/pkg/executor" + "github.com/kubeshop/testkube/pkg/executor/env" + "github.com/kubeshop/testkube/pkg/executor/output" + "github.com/kubeshop/testkube/pkg/ui" +) + +const ( + TRACETEST_ENDPOINT_VAR = "TRACETEST_ENDPOINT" + TRACETEST_OUTPUT_ENDPOINT_VAR = "TRACETEST_OUTPUT_ENDPOINT" +) + +type tracetestCoreExecutor struct{} + +var _ TracetestCLIExecutor = (*tracetestCoreExecutor)(nil) + +func (e *tracetestCoreExecutor) RequiredEnvVars() []string { + return []string{TRACETEST_ENDPOINT_VAR} +} + +func (e *tracetestCoreExecutor) HasEnvVarsDefined(envManager *env.Manager) bool { + _, hasEndpointVar := envManager.Variables[TRACETEST_ENDPOINT_VAR] + return hasEndpointVar +} + +func (e *tracetestCoreExecutor) Execute(envManager *env.Manager, execution testkube.Execution, testFilePath string) (model.Result, error) { + // Get TRACETEST_ENDPOINT from execution variables + tracetestEndpoint, err := getVariable(envManager, TRACETEST_ENDPOINT_VAR) + if err != nil { + return model.Result{}, err + } + + // Get TRACETEST_OUTPUT_ENDPOINT from execution variables + tracetestOutputEndpoint, _ := getOptionalVariable(envManager, TRACETEST_OUTPUT_ENDPOINT_VAR) + + // Prepare args for test run command + // (since each strategy implementation has its own set of params, we are explicitly ignoring the execution.Args field) + args := []string{ + "run", "test", "--server-url", tracetestEndpoint, "--file", testFilePath, "--output", "pretty", + } + + output.PrintLogf("%s Using arguments: %v", ui.IconWorld, envManager.ObfuscateStringSlice(args)) + + command, args := executor.MergeCommandAndArgs(execution.Command, args) + + // Run tracetest test from test file + output.PrintLogf("%s Test run command %s %s", ui.IconRocket, command, strings.Join(envManager.ObfuscateStringSlice(args), " ")) + output, err := executor.Run("", command, envManager, args...) + + result := model.Result{ + Output: string(output), + ServerEndpoint: tracetestEndpoint, + OutputEndpoint: tracetestOutputEndpoint, + } + + return result, err +} diff --git a/contrib/executor/tracetest/pkg/runner/tracetest_runner.go b/contrib/executor/tracetest/pkg/runner/tracetest_runner.go new file mode 100644 index 00000000000..a17213a66e0 --- /dev/null +++ b/contrib/executor/tracetest/pkg/runner/tracetest_runner.go @@ -0,0 +1,93 @@ +package runner + +import ( + "strings" + + "github.com/kubeshop/testkube/contrib/executor/tracetest/pkg/model" + + "github.com/kubeshop/testkube/pkg/api/v1/testkube" + "github.com/kubeshop/testkube/pkg/executor" + "github.com/kubeshop/testkube/pkg/executor/env" + "github.com/kubeshop/testkube/pkg/executor/output" + outputPkg "github.com/kubeshop/testkube/pkg/executor/output" + "github.com/kubeshop/testkube/pkg/ui" +) + +const ( + TRACETEST_TOKEN_VAR = "TRACETEST_TOKEN" + TRACETEST_ORGANIZATION_VAR = "TRACETEST_ORGANIZATION" + TRACETEST_ENVIRONMENT_VAR = "TRACETEST_ENVIRONMENT" + TRACETEST_CLOUD_URL = "https://app.tracetest.io" +) + +type tracetestCloudExecutor struct{} + +var _ TracetestCLIExecutor = (*tracetestCloudExecutor)(nil) + +func (e *tracetestCloudExecutor) RequiredEnvVars() []string { + return []string{TRACETEST_TOKEN_VAR, TRACETEST_ORGANIZATION_VAR, TRACETEST_ENVIRONMENT_VAR} +} + +func (e *tracetestCloudExecutor) HasEnvVarsDefined(envManager *env.Manager) bool { + _, hasTokenVar := envManager.Variables[TRACETEST_TOKEN_VAR] + _, hasOrganizationVar := envManager.Variables[TRACETEST_ORGANIZATION_VAR] + _, hasEnvironmentVar := envManager.Variables[TRACETEST_ENVIRONMENT_VAR] + + return hasTokenVar && hasOrganizationVar && hasEnvironmentVar +} + +func (e *tracetestCloudExecutor) Execute(envManager *env.Manager, execution testkube.Execution, testFilePath string) (model.Result, error) { + tracetestToken, err := getVariable(envManager, TRACETEST_TOKEN_VAR) + if err != nil { + return model.Result{}, err + } + + tracetestOrganization, err := getVariable(envManager, TRACETEST_ORGANIZATION_VAR) + if err != nil { + return model.Result{}, err + } + + tracetestEnvironment, err := getVariable(envManager, TRACETEST_ENVIRONMENT_VAR) + if err != nil { + return model.Result{}, err + } + + // setup config with API key + output.PrintLogf("%s Configuring Tracetest CLI with Token", ui.IconWorld) + + configArgs := []string{ + "configure", "--token", tracetestToken, "--organization", tracetestOrganization, "--environment", tracetestEnvironment, + } + + output.PrintLogf("%s Using arguments to configure CLI: %v", ui.IconWorld, envManager.ObfuscateStringSlice(configArgs)) + configCommand, configArgs := executor.MergeCommandAndArgs(execution.Command, configArgs) + + output.PrintLogf("%s Configure command %s %s", ui.IconRocket, configCommand, strings.Join(envManager.ObfuscateStringSlice(configArgs), " ")) + _, err = executor.Run("", configCommand, envManager, configArgs...) + + if err != nil { + outputPkg.PrintLogf("%s Failed to configure Tracetest CLI %v", ui.IconCross, err) + return model.Result{}, err + } + + // Prepare args for test run command + // (since each strategy implementation has its own set of params, we are explicitly ignoring the execution.Args field) + runTestArgs := []string{ + "run", "test", "--file", testFilePath, "--output", "pretty", + } + + output.PrintLogf("%s Using arguments to run test: %v", ui.IconWorld, envManager.ObfuscateStringSlice(runTestArgs)) + runTestCommand, runTestArgs := executor.MergeCommandAndArgs(execution.Command, runTestArgs) + + // Run tracetest test from definition file + output.PrintLogf("%s Test run command %s %s", ui.IconRocket, runTestCommand, strings.Join(envManager.ObfuscateStringSlice(runTestArgs), " ")) + output, err := executor.Run("", runTestCommand, envManager, runTestArgs...) + + result := model.Result{ + Output: string(output), + ServerEndpoint: TRACETEST_CLOUD_URL, + OutputEndpoint: "", + } + + return result, err +} diff --git a/contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-cloud.yaml b/contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-cloud.yaml new file mode 100644 index 00000000000..00aa1c9a100 --- /dev/null +++ b/contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-cloud.yaml @@ -0,0 +1,54 @@ +version: '3' +services: + postgres: + image: postgres:15.2 + environment: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + healthcheck: + test: pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB" + interval: 1s + timeout: 5s + retries: 60 + + cache: + healthcheck: + test: + - CMD + - redis-cli + - ping + timeout: 3s + interval: 1s + retries: 60 + image: redis:6 + restart: unless-stopped + + demo-api: + depends_on: + cache: + condition: service_healthy + postgres: + condition: service_healthy + environment: + COLLECTOR_ENDPOINT: http://tracetest-agent:4317 + DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres?schema=public + NPM_RUN_COMMAND: api + POKE_API_BASE_URL: https://pokeapi.co/api/v2 + REDIS_URL: cache + healthcheck: + test: + - CMD + - wget + - --spider + - localhost:8081 + timeout: 3s + interval: 1s + retries: 60 + image: kubeshop/demo-pokemon-api:latest + pull_policy: always + + tracetest-agent: + environment: + TRACETEST_DEV: true + TRACETEST_API_KEY: ${TRACETEST_API_KEY} + image: kubeshop/tracetest-agent:latest \ No newline at end of file diff --git a/contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-core.yaml b/contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-core.yaml new file mode 100644 index 00000000000..ca6df536efe --- /dev/null +++ b/contrib/executor/tracetest/pkg/testing/docker-compose-tracetest-core.yaml @@ -0,0 +1,73 @@ +version: '3' +services: + tracetest: + image: kubeshop/tracetest:${TAG:-latest} + volumes: + - type: bind + source: ./tracetest-config.yaml + target: /app/tracetest.yaml + - type: bind + source: ./tracetest-provision.yaml + target: /app/provision.yaml + command: --provisioning-file /app/provision.yaml + ports: + - 11633:11633 + extra_hosts: + - "host.docker.internal:host-gateway" + depends_on: + postgres: + condition: service_healthy + healthcheck: + test: ["CMD", "wget", "--spider", "localhost:11633"] + interval: 1s + timeout: 3s + retries: 60 + environment: + TRACETEST_DEV: true + + postgres: + image: postgres:15.2 + environment: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + healthcheck: + test: pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB" + interval: 1s + timeout: 5s + retries: 60 + + cache: + healthcheck: + test: + - CMD + - redis-cli + - ping + timeout: 3s + interval: 1s + retries: 60 + image: redis:6 + restart: unless-stopped + + demo-api: + depends_on: + cache: + condition: service_healthy + postgres: + condition: service_healthy + environment: + COLLECTOR_ENDPOINT: http://tracetest:4317 + DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres?schema=public + NPM_RUN_COMMAND: api + POKE_API_BASE_URL: https://pokeapi.co/api/v2 + REDIS_URL: cache + healthcheck: + test: + - CMD + - wget + - --spider + - localhost:8081 + timeout: 3s + interval: 1s + retries: 60 + image: kubeshop/demo-pokemon-api:latest + pull_policy: always \ No newline at end of file diff --git a/contrib/executor/tracetest/pkg/testing/tracetest-config.yaml b/contrib/executor/tracetest/pkg/testing/tracetest-config.yaml new file mode 100644 index 00000000000..5e732f6d381 --- /dev/null +++ b/contrib/executor/tracetest/pkg/testing/tracetest-config.yaml @@ -0,0 +1,7 @@ +postgres: + host: postgres + user: postgres + password: postgres + port: 5432 + dbname: postgres + params: sslmode=disable diff --git a/contrib/executor/tracetest/pkg/testing/tracetest-provision.yaml b/contrib/executor/tracetest/pkg/testing/tracetest-provision.yaml new file mode 100644 index 00000000000..010d9bade8e --- /dev/null +++ b/contrib/executor/tracetest/pkg/testing/tracetest-provision.yaml @@ -0,0 +1,24 @@ +--- +type: PollingProfile +spec: + name: Default + strategy: periodic + default: true + periodic: + retryDelay: 500ms + timeout: 1m + +--- +type: TestRunner +spec: + id: current + name: default + requiredGates: + - test-specs + +--- +type: DataStore +spec: + name: OpenTelemetry Collector pipeline + type: otlp + default: true \ No newline at end of file diff --git a/contrib/executor/tracetest/pkg/testing/tracetest-test-script.yaml b/contrib/executor/tracetest/pkg/testing/tracetest-test-script.yaml new file mode 100644 index 00000000000..01ff797a571 --- /dev/null +++ b/contrib/executor/tracetest/pkg/testing/tracetest-test-script.yaml @@ -0,0 +1,20 @@ +type: Test +spec: + id: R5NITR14g + name: Pokeshop - List + description: Get a Pokemon + trigger: + type: http + httpRequest: + url: http://demo-api:8081/pokemon?take=20&skip=0 + method: GET + headers: + - key: Content-Type + value: application/json + specs: + - selector: span[tracetest.span.type="http"] + assertions: + - attr:http.method = "GET" + - selector: span[tracetest.span.type="database"] + assertions: + - attr:db.name = "postgres" \ No newline at end of file diff --git a/docs/docs/articles/argocd-integration.md b/docs/docs/articles/argocd-integration.md index df6b400c036..270dad10d6c 100644 --- a/docs/docs/articles/argocd-integration.md +++ b/docs/docs/articles/argocd-integration.md @@ -8,23 +8,19 @@ Let’s start with setting things up for our GitOps-powered testing machine! ### 1. Make sure you have Testkube installed in your cluster. -If you haven't installed Testkube in your cluster yet, visit the [Getting Started guide](./getting-started-overview) for a walkthrough on installing Testkube. - +If you haven't installed Testkube in your cluster yet, visit the [Getting Started guide](./getting-started) for a walkthrough on installing Testkube. +‍ ### 2. Install ArgoCD. Follow the [ArgoCD Installation Guide](https://argo-cd.readthedocs.io/en/stable/getting_started/). Note: For step 3 in the guide, “Access The Argo CD API Server”, choose the “Port Forwarding” method, as that is the easiest way to connect to it with a Minikube cluster. -### 3. Install Testkube. - -Follow the installation guide for Testkube [here](./getting-started-overview). Make sure to install the CLI client and the components in your cluster. +### 3. Install a “Hello Kubernetes!” application in your cluster. -### 4. Install a “Hello Kubernetes!” application in your cluster. +We will create a YAML file for a simple `Hello Kubernetes` application that we will create our integration tests against. -We will create a YAML file for a simple “Hello Kubernetes” application that we will create our integration tests against. - -Create the following Deployment file: +Create the following `Deployment` file: ```yaml title="hello-kubernetes.yaml" apiVersion: v1 @@ -60,7 +56,7 @@ spec: - containerPort: 8080 ``` -And deploy the **Hello Kubernetes** deployment with: +And deploy the `Hello Kubernetes` deployment with: ```sh kubectl apply -f hello-kubernetes.yaml @@ -72,9 +68,7 @@ You can test that your application has been correctly installed by running: kubectl get svc -n default hello-kubernetes-service ``` -‍ - -### 5. Set up a Git Repository containing some Postman collections. +### 4. Set up a Git Repository containing some Postman collections. We are going to use tests created by Postman and exported in a [Postman collections file](https://www.postman.com/collection/). @@ -339,18 +333,189 @@ Let’s add an additional test to our collection. Replace the content of our exi } ``` -As you can see, we have added a request status check. Now commit this change to the Github repository. +You can see an example of how the repository should look [here](https://github.com/kubeshop/testkube-argocd). -If you now go to ArgoCD’s dashboard you’ll see that your tests are out of sync with the deployed artifacts. +### 5. Configure ArgoCD to use the Testkube plugin. -![Warnings](../img/warnings.png) +To get ArgoCD to use Testkube, we need to write a Config Management [plugin](https://argo-cd.readthedocs.io/en/stable/operator-manual/config-management-plugins/#configmap-plugin). +To do so, please nest the plugin config file in a `ConfigMap` manifest under the `plugin.yaml` key. -Click on **Sync** again and apply the changes. With that, your test artifacts are back in sync! +```yaml title="argocd-plugins.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-cm-plugin + namespace: argocd +data: + plugin.yaml: | + apiVersion: argoproj.io/v1alpha1 + kind: ConfigManagementPlugin + metadata: + name: testkube + spec: + version: v1.0 + generate: + command: [bash, -c] + args: + - | + testkube generate tests-crds . +``` + +And apply it with the following command: + +```sh +kubectl apply -f argocd-plugins.yaml +``` +As you can see here, we’re using the command `testkube generate tests-crds` which creates the Custom Resources (manifests) that ArgoCD will then add to our cluster. + +### 6. Patch ArgoCD's deployment + +To install a plugin, patch `argocd-repo-server` deployment to run the plugin container as a sidecar. + +```yaml title="deployment.yaml" +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-repo-server +spec: + template: + spec: + containers: + - name: testkube + command: [/var/run/argocd/argocd-cmp-server] + image: kubeshop/testkube-argocd:latest + securityContext: + runAsNonRoot: true + runAsUser: 999 + volumeMounts: + - mountPath: /var/run/argocd + name: var-files + - mountPath: /home/argocd/cmp-server/plugins + name: plugins + - mountPath: /home/argocd/cmp-server/config/plugin.yaml + subPath: plugin.yaml + name: argocd-cm-plugin + - mountPath: /tmp + name: cmp-tmp + volumes: + - configMap: + name: argocd-cm-plugin + name: argocd-cm-plugin + - emptyDir: {} + name: cmp-tmp +``` + +Apply the patch with the command: + +```sh +kubectl patch deployments.apps -n argocd argocd-repo-server --patch-file deployment.yaml +``` + +### 7. Configure an ArgoCD application to manage test collections in your cluster. + +Create the file that will contain the ArgoCD application. + +```yaml title="testkube-application.yaml" +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: testkube-tests + namespace: argocd +spec: + project: default + source: + repoURL: https://github.com/USERNAME/testkube-argocd.git + targetRevision: HEAD + path: postman-collections + plugin: + name: "testkube-v1.0" + destination: + server: https://kubernetes.default.svc + namespace: testkube +``` + +Notice that we have defined path `postman-collections` which is the test folder with our Postman collections from the steps earlier. With Testkube you can use multiple test executors like `curl`, for example, so it is convenient to have a folder for each. We have also defined the `.destination.namespace` to be `testkube`, which is where the tests should be deployed in our cluster. +‍ + +Now let’s create the application with: + +```sh +kubectl apply -f testkube-application.yaml +``` + +### 8. Run the initial ArgoCD sync and check your cluster. + +On ArgoCD’s dashboard, we will now see the newly created application. Let’s click to get into it and sync our tests. + +![ArgoCD Testkube Tests](../img/argocd-dashbord.png) + + +And now click on `Sync` to see your tests created. + + +![Sync Testing](../img/argocd-sync.png) + + +Voilà! Our test collection is created and managed by ArgoCD with every new test created and updated in the GitHub repository containing the tests! + +![Test Management with ArgoCD](../img/argocd-synced-tests.png) + + +### 9. Run ad-hoc tests from the CLI. + +List the tests in your cluster with: + +```sh +testkube get tests +``` + +You should see your deployed test artifacts: + + +![Deployed Artifacts](../img/list-tests-cli.png) + + +To run those tests execute the following command: + +```sh +testkube run test hello-kubernetes +``` + + +‍ +The test execution will start in the background. Copy the command from the image below to check the result of the execution of the test: + +![Cluster ID in CLI](../img/cli-get-tests-executions.png) + +```sh +$ testkube get execution EXECUTION_ID +``` + +‍You should see that the tests have run successfully, as in the image below. + + +![Viewing Executed Tests](../img/cli-tests-results.png) + +### 10. See test results in the Testkube dashboard. + +You can also see the results of your tests in a nice dashboard. Open the Testkube dashboard with the following command: + +```sh +testkube dashboard +``` + + +And you will be able to see the results of the execution in the Executions tab as seen in the image below: + +![Test Execution Dashboard](../img/test-executions-ui.png) -![Applying Changes to CD](../img/applying-changes-to-CD.png) We now have an automated test deployment and execution pipeline based on GitOps principles! +### 11. Allow to add ownerReferences to CronJobs metadata for Tests and Test Suites + +You will need to enable helm chart variable `useArgoCDSync = true` in order to make CronJobs created for Tests and Test Suites syncronized in ArgoCD. + ## GitOps Takeaways Once fully realized - using GitOps for testing of Kubernetes applications as described above provides a powerful alternative to a more traditional approach where orchestration is tied to your current CI/CD tooling and not closely aligned with the lifecycle of Kubernetes applications. diff --git a/docs/docs/articles/cicd-overview.md b/docs/docs/articles/cicd-overview.md index ca2b06cb64b..b3b8dcc9231 100644 --- a/docs/docs/articles/cicd-overview.md +++ b/docs/docs/articles/cicd-overview.md @@ -5,7 +5,10 @@ You can trigger tests in Testkube from your CI/CD pipeline. This practice decoup We have different tutorials for the options of being CI driven or using GitOps approaches. Check out the following tutorials: - [Github Actions - running Tests or TestSuites with testkube-run-action](./run-tests-with-github-actions.md) -- [Github Actions - running Testkube CLI commands with testkube-docker-action](./github-actions.md) +- [Github Actions - running Testkube CLI commands with setup-testkube-action](./github-actions.md) +- [Testkube Docker CLI](./testkube-cli-docker.md) +- [Gitlab CI](./gitlab.md) +- [Jenkins CI/CD](./jenkins.md) - [GitOps Testing](./gitops-overview.md) - [Flux](./flux-integration.md) - - [ArgoCD](./argocd-integration.md) \ No newline at end of file + - [ArgoCD](./argocd-integration.md) diff --git a/docs/docs/articles/step3-creating-first-test.md b/docs/docs/articles/creating-first-test.md similarity index 95% rename from docs/docs/articles/step3-creating-first-test.md rename to docs/docs/articles/creating-first-test.md index cc9f759a18d..68da98f4dee 100644 --- a/docs/docs/articles/step3-creating-first-test.md +++ b/docs/docs/articles/creating-first-test.md @@ -1,4 +1,4 @@ -# Step 3 - Creating Your First Test +# Creating Your First Test ## Kubernetes-native Tests @@ -48,16 +48,16 @@ Voila! You can now run the test! ## Different Mechanisms to Run Tests -#### Dashboard +### Dashboard Trigger test execution manually on the Dashboard: image -#### CLI +### CLI You can run tests manually from your machine using the CLI as well, or from your CI/CD. Visit [here](https://docs.testkube.io/articles/cicd-overview) for examples on how to setup our CI/CD system to trigger your tests. image -##### Changing the Output Format +#### Changing the Output Format For lists and details, you can use different output formats via the `--output` flag. The following formats are currently supported: @@ -65,10 +65,7 @@ For lists and details, you can use different output formats via the `--output` f - `JSON` - Test run data are encoded in JSON. - `GO` - For go-template formatting (like in Docker and Kubernetes), you'll need to add the `--go-template` flag with a custom format. The default is `{{ . | printf("%+v") }}`. This will help you check available fields. -#### Other Means of Triggering Tests +### Other Means of Triggering Tests - Your Test can run on a [Schedule](https://docs.testkube.io/articles/scheduling-tests) image -- Testkube can trigger the tests based on [Kubernetes events](https://docs.testkube.io/articles/test-triggers) (such as the deployment of an application). - - - +- Testkube can trigger the tests based on [Kubernetes events](https://docs.testkube.io/articles/test-triggers) (such as the deployment of an application). \ No newline at end of file diff --git a/docs/docs/articles/deploying-in-aws.md b/docs/docs/articles/deploying-in-aws.md index 54416880e90..bf07bd96635 100644 --- a/docs/docs/articles/deploying-in-aws.md +++ b/docs/docs/articles/deploying-in-aws.md @@ -10,7 +10,7 @@ Once the cluster is up and running we need to deploy the AWS Load Balancer Contr Another important point is [ExternalDNS](https://github.com/kubernetes-sigs/external-dns). It is not compulsory to deploy it into your cluster, but it helps you dynamically manage your DNS records via k8s resources. -And last, but not least - install the Testkube CLI. You can download a binary file from our [installation](./step1-installing-cli) page. For how to deploy Testkube to your cluster with all the necessary changes, please see the next section. +And last, but not least - install the Testkube CLI. You can download a binary file from our [installation](./install-cli) page. For how to deploy Testkube to your cluster with all the necessary changes, please see the next section. :::caution diff --git a/docs/docs/articles/flux-integration.md b/docs/docs/articles/flux-integration.md index 91e5eb41804..555c2b26645 100644 --- a/docs/docs/articles/flux-integration.md +++ b/docs/docs/articles/flux-integration.md @@ -69,7 +69,7 @@ flux create kustomization testkube-test \ ### 6. Install Testkube in the cluster. -If you don't have the Testkube CLI, follow the instructions [here](./step1-installing-cli) to install it. +If you don't have the Testkube CLI, follow the instructions [here](./install-cli) to install it. Run the following command to install Testkube and its components in the cluster: diff --git a/docs/docs/articles/getting-started-overview.md b/docs/docs/articles/getting-started-overview.md deleted file mode 100644 index 6a1e470e761..00000000000 --- a/docs/docs/articles/getting-started-overview.md +++ /dev/null @@ -1,11 +0,0 @@ -# Overview - -In this section you will: - -1. [Install the Testkube CLI](./step1-installing-cli.mdx). -2. [Install the Testkube Agent](./step2-installing-cluster-components.md). -3. [Creating your first Test](./step3-creating-first-test.md). - -You can also see the full installation video from our product experts: - - \ No newline at end of file diff --git a/docs/docs/articles/getting-started.md b/docs/docs/articles/getting-started.md new file mode 100644 index 00000000000..276cc54ebbf --- /dev/null +++ b/docs/docs/articles/getting-started.md @@ -0,0 +1,61 @@ +# Overview + +Testkube is a Kubernetes-native test orchestration and execution framework that allows you to automate the executions of your existing testing tools inside your Kubernetes cluster, removing all the complexity from your CI/CD pipelines. + +To get started, you can follow the instructions in Testkube Cloud, or watch this video for a step-by-step walkthrough. + + + + +## Step 1: Sign up for Testkube Cloud +[Create an account](https://cloud.testkube.io/) using GitHub or GitLab. + +![Sign in to Testkube](../img/sign-in.png) + +## Step 2: Connect Your Kubernetes Cluster +1. Select “Add your first environment” in the UI. + +![Create Environment](../img/create-first-environment.png) + + +2. Name your environment. + +![Fill in Env Name](../img/fill-in-env-name.png) + +3. Deploy the Testkube agent in your cluster by copying our Helm or Testkube CLI command. + +![Copy Helm Command](../img/copy-helm-command.png) + +## Step 3: Create Your First Test + +Visit [Creating Your First Test](./creating-first-test.md) for our easy to follow guide. + +With Testkube you can run any kind of test in Kubernetes. Check out our [native integrations](https://docs.testkube.io/category/test-types/) or use the container executor to create your own. + + +### Validating the Installation + +Testkube Cloud will notify if the installation is successful. + +* A green indicator means that your cluster was able to connect to the Testkube Cloud. +* A red indicator indicates that the Testkube Agent can't connect to the Testkube Cloud API (Testkube needs some time to establish a connection, max time is 2-3 minutes). + +![Validate Install](../img/validate-install.png) + +In the case of a RED status you can try to debug the issues with the command below: + +```sh +testkube agent debug +``` +By default, Testkube is installed in the `testkube` namespace. + +## Need Help? + +- Join our community on [Discord](https://discord.com/invite/6zupCZFQbe). +- [Schedule a call](https://calendly.com/bryan-3pu/support-product-feedback-call?month=2023-10) with one of our experts. +- Check out our guides. + - [Integrating Testkube with your CI/CD](https://docs.testkube.io/articles/cicd-overview/). + - Setup [webhooks](https://testkube.io/blog/empowering-kubernetes-tests-with-webhooks) to get notified in slack,teams,pagerduty, etc… when tests fail. + + + diff --git a/docs/docs/articles/github-actions.md b/docs/docs/articles/github-actions.md index 5eb388a6bc3..ebc0e6b723f 100644 --- a/docs/docs/articles/github-actions.md +++ b/docs/docs/articles/github-actions.md @@ -1,135 +1,162 @@ -# GitHub Actions +# Testkube GitHub Action -In order to automate Testkube runs, access to a K8s cluster is needed. For example, a configured environment with the set up context and kubeconfig for communication with the K8s cluster. +The Testkube GitHub Action installs Testkube and enables running any [Testkube CLI](https://docs.testkube.io/cli/testkube) command in a GitHub workflow. It is available on Github Marketplace . +The action provides a flexible way to work with your pipeline and can be used with Testkube Cloud, Testkube Enterprise, and an open source Testkube platform. -Testkube uses your K8s context and access settings in order to interact with the cluster and tests resources, etc. +## Testkube Cloud -In the next few sections, we will go through the process of Testkube and Helm (for Testkube's release deploy/upgrade) automations with the usage of GitHub Actions and GKE K8s. +### How to configure Testkube CLI action for TK Cloud and run a test -## Testkube GitHub Action +To use this GitHub Action for the [Testkube Cloud](https://cloud.testkube.io/), you need to create [API token](https://docs.testkube.io/testkube-cloud/articles/organization-management/#api-tokens). +Then, pass the **organization** and **environment** IDs, along with the **token** and other parameters specific for your use case. -The testkube GitHub Action is available here and it enables running the Testkube CLI commands in a GitHub workflow. - -The following example shows how to create a test using the GitHub action; a more complex example can be found [here](https://github.com/kubeshop/helm-charts/blob/59054b87f83f890f4f62cf966ac63fd7e46de336/.github/workflows/testkube-docker-action.yaml). +If test is already created, you may directly run it using the command `testkube run test test-name -f` . However, if you need to create a test in this workflow, please add a creation command, e.g.: `testkube create test --name test-name --file path_to_file.json`. ```yaml -# Creating test -- name: Create test - id: create_test - uses: kubeshop/testkube-docker-action@v1 - with: - command: create - resource: test - namespace: testkube - parameters: "--type k6/script --name testkube-github-action" - stdin: "import http from 'k6/http';\nimport { sleep,check } from 'k6';\n\nexport default function () {\n const baseURI = `${__ENV.TESTKUBE_HOMEPAGE_URI || 'https://testkube.kubeshop.io'}`\n check(http.get(`${baseURI}/`), {\n 'check testkube homepage home page': (r) =>\n r.body.includes('Your Friendly Cloud-Native Testing Framework for Kubernetes'),\n });\n\n\n sleep(1);\n}\n" +steps: + - uses: kubeshop/setup-testkube@v1 + with: + organization: tkcorg_0123456789abcdef + environment: tkcenv_fedcba9876543210 + token: tkcapi_0123456789abcdef0123456789abcd + + - run: | + testkube run test test-name -f + ``` +It is recommended that sensitive values should never be stored as plaintext in workflow files, but rather as [secrets](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions). Secrets can be configured at the organization, repository, or environment level, and allow you to store sensitive information in GitHub. -## Configuring Your GH Actions for Access to GKE +```yaml +steps: + - uses: kubeshop/setup-testkube@v1 + with: + organization: ${{ secrets.TkOrganization }} + environment: ${{ secrets.TkEnvironment }} + token: ${{ secrets.TkToken }} + + - run: | + testkube run test test-name -f -To obtain set up access to a GKE (Google Kubernetes Engine) from GH (GitHub) actions, please visit the official documentation from GH: . + ``` +## Testkube OSS -1. Create a Service Account (SA). -2. Save it into GH's **Secrets** of the repository. -3. Run either `Helm` or `Kubectl kubtest` commands against the set up GKE cluster. +### How to configure Testkube CLI action for TK OSS and run a test -## Main GH Action Section Configuration +To connect to the self-hosted instance, you need to have **kubectl** configured for accessing your Kubernetes cluster, and simply passing optional namespace, if Testkube is not deployed in the default **testkube** namespace. -To install on Linux or MacOS, run: +If test is already created, you may directly run it using the command `testkube run test test-name -f` . However, if you need to create a test in this workflow, please add a creation command, e.g.: `testkube create test --name test-name --file path_to_file.json`. ```yaml -# Deploy into configured GKE cluster: -- name: Deploy - run: |- - helm upgrade --install --atomic --timeout 180s testkube helm-charts/testkube --namespace testkube --create-namespace +steps: + - uses: kubeshop/setup-testkube@v1 + with: + namespace: custom-testkube + + - run: | + testkube run test test-name -f + ``` -In addition to Helm, you can run any other K8s-native command. In our case: `testkube...` +Steps to connect to your Kubernetes cluster differ for each provider. You should check the docs of your Cloud provider on how to connect to the Kubernetes cluster from GitHub Action, or check examples in this documentation for selected providers. + +### How to configure Testkube CLI action for TK OSS and run a test + +This workflow establishes a connection to EKS cluster and creates and runs a test using TK CLI. In this example we also use GH secrets not to reveal sensitive data. Please make sure that the following points are satisfied: +- The **_AwsAccessKeyId_**, **_AwsSecretAccessKeyId_** secrets should contain your AWS IAM keys with proper permissions to connect to EKS cluster. +- The **_AwsRegion_** secret should contain AWS region where EKS is +- Tke **EksClusterName** secret points to the name of EKS cluster you want to connect. -## Complete Example of Working GH Actions Workflow and Testkube Tests Usage +```yaml +steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.aws-access-key }} + aws-secret-access-key: ${{ secrets.aws-secret-access-key }} + aws-region: ${{ secrets.aws-region }} + + - run: | + aws eks update-kubeconfig --name ${{ secrets.eks-cluster-name }} --region ${{ secrets.aws-region }} + + - uses: kubeshop/setup-testkube@v1 + - + - run: | + testkube run test test-name -f +``` -Testkube tests can be easily re-used with minimal modifications according to your needs. +### How to connect to GKE (Google Kubernetes Engine) cluster and run a test -To run tests on Linux or MacOS: +This example connects to a k8s cluster in Google Cloud, creates and runs a test using Testkube GH Action. Please make sure that the following points are satisfied: +- The **_GKE Sevice Account_** should be created prior in Google Cloud and added to GH Secrets along with **_GKE Project_** value; +- The **_GKE Cluster Name_** and **_GKE Zone_** can be added as [environmental variables](https://docs.github.com/en/actions/learn-github-actions/variables) in the workflow. ```yaml -name: Running Testkube Tests. +steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: google-github-actions/setup-gcloud@1bee7de035d65ec5da40a31f8589e240eba8fde5 + with: + service_account_key: ${{ secrets.GKE_SA_KEY }} + project_id: ${{ secrets.GKE_PROJECT }} + + - run: |- + gcloud --quiet auth configure-docker + + - uses: google-github-actions/get-gke-credentials@db150f2cc60d1716e61922b832eae71d2a45938f + with: + cluster_name: ${{ env.GKE_CLUSTER_NAME }} + location: ${{ env.GKE_ZONE }} + credentials: ${{ secrets.GKE_SA_KEY }} + + - uses: kubeshop/setup-testkube@v1 + - run: | + testkube run test test-name -f +``` +Please consult with the official documentation from GH on how to connect to GKE for more information: ttps://docs.github.com/en/actions/deployment/deploying-to-google-kubernetes-engine. + +### Complete Example of Working GH Actions Workflow and Testkube Tests Usage +To integrate TK Github Action into your workflow, please take a look at the example that sets up connection to GKE and creates and runs a test: +```yaml +name: Running Testkube Tests. on: push: - paths: - - "charts/**" branches: - main - env: PROJECT_ID: ${{ secrets.GKE_PROJECT }} - GKE_CLUSTER_NAME_DEV: ${{ secrets.GKE_CLUSTER_NAME_DEV }} # Add your cluster name here. - GKE_ZONE_DEV: ${{ secrets.GKE_ZONE_DEV }} # Add your cluster zone here. - DEPLOYMENT_NAME: testkube # Add your deployment name here. + GKE_CLUSTER: cluster-1 # Add your cluster name here. + GKE_ZONE: us-central1-c # Add your cluster zone here. jobs: - deploy-to-testkube-dev-gke: - name: Deploy + setup-build-publish-deploy: + name: Connect to GKE runs-on: ubuntu-latest - needs: notify_slack_if_release_succeeds + steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Configure Git - run: | - git config user.name "$GITHUB_ACTOR" - git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - - # Setup gcloud CLI - - uses: google-github-actions/setup-gcloud@94337306dda8180d967a56932ceb4ddcf01edae7 - with: - service_account_key: ${{ secrets.GKE_SA_KEY }} - project_id: ${{ secrets.GKE_PROJECT }} - - # Configure Docker to use the gcloud command-line tool as a credential - # helper for authentication - - run: |- - gcloud --quiet auth configure-docker - - # Get the GKE credentials so we can deploy to the cluster - - uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e - with: - cluster_name: ${{ env.GKE_CLUSTER_NAME_DEV }} - location: ${{ env.GKE_ZONE_DEV }} - credentials: ${{ secrets.GKE_SA_KEY }} - - # Run Testkube test on a GKE cluster - - name: Run test - id: run_test - uses: kubeshop/testkube-docker-action@v1 - with: - command: run - resource: test - parameters: TEST_NAME -``` + - name: Checkout + uses: actions/checkout@v4 -Along with the `kubectl` command, you can pass all the standard K8s parameters such as `--namespace`, etc. + - uses: google-github-actions/setup-gcloud@1bee7de035d65ec5da40a31f8589e240eba8fde5 + with: + service_account_key: ${{ secrets.GKE_SA_KEY }} + project_id: ${{ secrets.GKE_PROJECT }} -If you wish to automate the CI/CD part of Testkube's Helm release, use `Helm` blocks as follow: + - run: |- + gcloud --quiet auth configure-docker -```yaml -# ... -- name: Install Helm - uses: azure/setup-helm@v1 - with: - version: v3.4.0 - -- name: Installing repositories - run: | - helm repo add kubeshop https://kubeshop.github.io/helm-charts - helm repo add bitnami https://charts.bitnami.com/bitnami - -# Run Helm delpoy/upgrade of the Testkube release on a GKE cluster -- name: Deploy - run: |- - helm upgrade --install --atomic --timeout 180s testkube kubeshop/testkube --namespace testkube --create-namespace + - uses: google-github-actions/get-gke-credentials@db150f2cc60d1716e61922b832eae71d2a45938f + with: + cluster_name: ${{ env.GKE_CLUSTER }} + location: ${{ env.GKE_ZONE }} + credentials: ${{ secrets.GKE_SA_KEY }} + + + - uses: kubeshop/setup-testkube@v1 + - run: | + testkube run test test-name -f ``` + diff --git a/docs/docs/articles/gitlab.md b/docs/docs/articles/gitlab.md new file mode 100644 index 00000000000..d70d20b965a --- /dev/null +++ b/docs/docs/articles/gitlab.md @@ -0,0 +1,125 @@ +# Testkube Gitlab CI + +The Testkube GitLab CI/CD integration facilitates the installation of Testkube and allows the execution of any [Testkube CLI](https://docs.testkube.io/cli/testkube) command within a GitLab CI/CD pipeline. This integration can be seamlessly incorporated into your GitLab repositories to enhance your CI/CD workflows. +The integration offers a versatile approach to align with your pipeline requirements and is compatible with Testkube Cloud, Testkube Enterprise, and the open-source Testkube platform. It enables GitLab users to leverage the powerful features of Testkube directly within their CI/CD pipelines, ensuring efficient and flexible test execution. + +## Testkube Cloud + +### How to configure Testkube CLI action for TK Cloud and run a test + +To use this Gitlab CI for [Testkube Cloud](https://cloud.testkube.io/), you need to create an [API token](https://docs.testkube.io/testkube-cloud/articles/organization-management/#api-tokens). +Then, pass the **organization** and **environment** IDs, along with the **token** and other parameters specific for your use case. + +If a test is already created, you can run it using the command `testkube run test test-name -f` . However, if you need to create a test in this workflow, please add a creation command, e.g.: `testkube create test --name test-name --file path_to_file.json`. + +```yaml +stages: + - setup + +variables: + TESTKUBE_API_KEY: tkcapi_0123456789abcdef0123456789abcd + TESTKUBE_ORG_ID: tkcorg_0123456789abcdef + TESTKUBE_ENV_ID: tkcenv_fedcba9876543210 + +setup-testkube: + stage: setup + image: kubeshop/testkube-cli + script: + - testkube set context --api-key $TESTKUBE_API_KEY --org $TESTKUBE_ORG_ID --env $TESTKUBE_ENV_ID + - testkube run test test-name -f +``` + +It is recommended that sensitive values should never be stored as plaintext in workflow files, but rather as [variables](https://docs.gitlab.com/ee/ci/variables/). Secrets can be configured at the organization, repository, or environment level, and allow you to store sensitive information in Gitlab. + +```yaml +stages: + - setup + +setup-testkube: + stage: setup + image: kubeshop/testkube-cli + script: + - testkube set context --api-key $TESTKUBE_API_KEY --org $TESTKUBE_ORG_ID --env $TESTKUBE_ENV_ID + - testkube run test test-name -f + ``` +## Testkube OSS + +### How to configure Testkube CLI action for TK OSS and run a test + +To connect to the self-hosted instance, you need to have **kubectl** configured for accessing your Kubernetes cluster, and pass an optional namespace, if Testkube is not deployed in the default **testkube** namespace. + +If a test is already created, you can run it using the command `testkube run test test-name -f` . However, if you need to create a test in this workflow, please add a creation command, e.g.: `testkube create test --name test-name --file path_to_file.json`. + +```yaml +stages: + - setup + +variables: + NAMESPACE: custom-testkube + +setup-testkube: + stage: setup + image: kubeshop/testkube-cli + script: + - testkube set context --kubeconfig --namespace $NAMESPACE + - testkube run test test-name -f +``` + +The steps to connect to your Kubernetes cluster differ for each provider. You should check the docs of your Cloud provider for how to connect to the Kubernetes cluster from Gitlab CI. + +### How to configure Testkube CLI action for TK OSS and run a test + +This workflow establishes a connection to EKS cluster and creates and runs a test using TK CLI. In this example we also use gitlab variables not to reveal sensitive data. Please make sure that the following points are satisfied: +- The **_AwsAccessKeyId_**, **_AwsSecretAccessKeyId_** secrets should contain your AWS IAM keys with proper permissions to connect to EKS cluster. +- The **_AwsRegion_** secret should contain AWS region where EKS is +- Tke **EksClusterName** secret points to the name of EKS cluster you want to connect. + +```yaml +stages: + - setup + +setup-testkube: + stage: setup + image: amazon/aws-cli + script: + - apt-get update && apt-get install -y curl + - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + - install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl + - aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID + - aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY + - aws configure set region $AWS_REGION + - aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $AWS_REGION + - echo "Installing Testkube..." + - curl -sSLf https://get.testkube.io | sh + - testkube set context --api-key $TESTKUBE_API_KEY --org $TESTKUBE_ORG_ID --env $TESTKUBE_ENV_ID + - echo "Running Testkube test..." + - testkube run test test-name -f +``` +### How to connect to GKE (Google Kubernetes Engine) cluster and run a test + +This example connects to a k8s cluster in Google Cloud, creates and runs a test using Testkube Gitlab CI. Please make sure that the following points are satisfied: +- The **_GKE Sevice Account_** should be created prior in Google Cloud and added to Gitlab CI variables along with **_GKE Project_** value; +- The **_GKE Cluster Name_** and **_GKE Zone_** can be added as [environmental variables](https://docs.gitlab.com/ee/ci/variables/) in the workflow. + +```yaml +stages: + - deploy + +deploy_to_gke: + stage: deploy + image: google/cloud-sdk:latest + before_script: + - echo $GKE_SA_KEY | base64 -d > gke-sa-key.json + - gcloud auth activate-service-account --key-file=gke-sa-key.json + - gcloud config set project $GKE_PROJECT + script: + - gcloud --quiet auth configure-docker + - gcloud container clusters get-credentials $GKE_CLUSTER_NAME --zone $GKE_ZONE + - echo "Installing Testkube..." + - curl -sSLf https://get.testkube.io | sh + - testkube set context --api-key $TESTKUBE_API_KEY --org $TESTKUBE_ORG_ID --env $TESTKUBE_ENV_ID + - echo "Running Testkube test..." + - testkube run test test-name -f + after_script: + - rm gke-sa-key.json +``` diff --git a/docs/docs/articles/helm-chart.md b/docs/docs/articles/helm-chart.md index 751e0592b7d..342328b80b9 100644 --- a/docs/docs/articles/helm-chart.md +++ b/docs/docs/articles/helm-chart.md @@ -117,6 +117,7 @@ The following Helm defaults are used in the `testkube` chart: | testkube-api.clusterName | yes | "" | | testkube-api.storage.compressArtifacts | yes | true | | testkube-api.enableSecretsEndpoint | yes | false | +| testkube-api.disableMongoMigrations | yes | false | >For more configuration parameters of a `MongoDB` chart please visit: diff --git a/docs/docs/articles/step1-installing-cli.mdx b/docs/docs/articles/install-cli.mdx similarity index 97% rename from docs/docs/articles/step1-installing-cli.mdx rename to docs/docs/articles/install-cli.mdx index a7e6b25f641..5f247d60d76 100644 --- a/docs/docs/articles/step1-installing-cli.mdx +++ b/docs/docs/articles/install-cli.mdx @@ -1,7 +1,9 @@ import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -# Step 1 - Installing Testkube CLI +# Installing the Testkube CLI + +## Installing Testkube CLI @@ -74,3 +76,4 @@ If you use a package manager that we don't support, please let us know here [#16 + diff --git a/docs/docs/articles/jenkins.md b/docs/docs/articles/jenkins.md new file mode 100644 index 00000000000..dd74d5d41fb --- /dev/null +++ b/docs/docs/articles/jenkins.md @@ -0,0 +1,204 @@ +# Testkube Jenkins + +The Testkube Jenkins integration streamlines the installation of Testkube, enabling the execution of any [Testkube CLI](https://docs.testkube.io/cli/testkube) command within Jenkins pipelines. This integration can be effortlessly integrated into your Jenkins setup, enhancing your continuous integration and delivery processes. +This Jenkins integration offers a versatile solution for managing your pipeline workflows and is compatible with Testkube Cloud, Testkube Enterprise, and the open-source Testkube platform. It allows Jenkins users to effectively utilize Testkube's capabilities within their CI/CD pipelines, providing a robust and flexible framework for test execution and automation. + +## Testkube Cloud + +### How to configure Testkube CLI action for TK Cloud and run a test + +To use Jenkins CI/CD for [Testkube Cloud](https://cloud.testkube.io/), you need to create an [API token](https://docs.testkube.io/testkube-cloud/articles/organization-management/#api-tokens). +Then, pass the **organization** and **environment** IDs, along with the **token** and other parameters specific for your use case. + +If a test is already created, you can run it using the command `testkube run test test-name -f` . However, if you need to create a test in this workflow, please add a creation command, e.g.: `testkube create test --name test-name --file path_to_file.json`. + +you'll need to create a Jenkinsfile. This Jenkinsfile should define the stages and steps necessary to execute the workflow + +```groovy +pipeline { + agent any + + stages { + stage('Setup Testkube') { + steps { + script { + // Retrieve credentials + def apiKey = credentials('TESTKUBE_API_KEY') + def orgId = credentials('TESTKUBE_ORG_ID') + def envId = credentials('TESTKUBE_ENV_ID') + + // Install Testkube + sh 'curl -sSLf https://get.testkube.io | sh' + + // Initialize Testkube + sh "testkube set context --api-key ${apiKey} --org ${orgId} --env ${envId}" + } + } + } + + stage('Run Testkube Test') { + steps { + // Run a Testkube test + sh 'testkube run test test-name -f' + } + } + } +} + +``` + +## Testkube OSS + +### How to configure Testkube CLI action for TK OSS and run a test + +To connect to the self-hosted instance, you need to have **kubectl** configured for accessing your Kubernetes cluster, and pass an optional namespace, if Testkube is not deployed in the default **testkube** namespace. + +If a test is already created, you can run it using the command `testkube run test test-name -f` . However, if you need to create a test in this workflow, please add a creation command, e.g.: `testkube create test --name test-name --file path_to_file.json`. + +you'll need to create a Jenkinsfile. This Jenkinsfile should define the stages and steps necessary to execute the workflow + +```groovy +pipeline { + agent any + + stages { + stage('Setup Testkube') { + steps { + script { + // Retrieve credentials + def namespace='custom-testkube' + + // Install Testkube + sh 'curl -sSLf https://get.testkube.io | sh' + + // Initialize Testkube + sh "testkube set context --kubeconfig --namespace ${namespace}" + } + } + } + + stage('Run Testkube Test') { + steps { + // Run a Testkube test + sh 'testkube run test test-name -f' + } + } + } +} +``` + +The steps to connect to your Kubernetes cluster differ for each provider. You should check the docs of your Cloud provider for how to connect to the Kubernetes cluster from Jenkins CI/CD + +### How to configure Testkube CLI action for TK OSS and run a test + +This workflow establishes a connection to EKS cluster and creates and runs a test using TK CLI. In this example we also use variables not + to reveal sensitive data. Please make sure that the following points are satisfied: +- The **_AwsAccessKeyId_**, **_AwsSecretAccessKeyId_** secrets should contain your AWS IAM keys with proper permissions to connect to EKS cluste +r. +- The **_AwsRegion_** secret should contain AWS region where EKS is +- Tke **EksClusterName** secret points to the name of EKS cluster you want to connect. + +you'll need to create a Jenkinsfile. This Jenkinsfile should define the stages and steps necessary to execute the workflow + +```groovy +pipeline { + agent any + + stages { + stage('Setup Testkube') { + steps { + script { + // Setting up AWS credentials + withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', credentialsId: 'AwsAccessKeyId']]) { + sh 'aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID' + sh 'aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY' + sh 'aws configure set region $AWS_REGION' + } + + // Updating kubeconfig for EKS + withCredentials([string(credentialsId: 'EksClusterName', variable: 'EKS_CLUSTER_NAME')]) { + sh 'aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $AWS_REGION' + } + + // Installing Testkube + sh 'curl -sSLf https://get.testkube.io | sh' + + // Initializing Testkube + withCredentials([ + string(credentialsId: 'TestkubeApiKey', variable: 'TESTKUBE_API_KEY'), + string(credentialsId: 'TestkubeOrgId', variable: 'TESTKUBE_ORG_ID'), + string(credentialsId: 'TestkubeEnvId', variable: 'TESTKUBE_ENV_ID') + ]) { + sh 'testkube set context --api-key $TESTKUBE_API_KEY --org $TESTKUBE_ORG_ID --env $TESTKUBE_ENV_ID' + } + + // Running Testkube test + sh 'testkube run test test-name -f' + } + } + } + } +} +``` + +### How to connect to GKE (Google Kubernetes Engine) cluster and run a test + +This example connects to a k8s cluster in Google Cloud, creates and runs a test using Testkube Jenkins workflow. Please make sure that the following points are satisfied: +- The **_GKE Sevice Account_** should be created prior in Google Cloud and added to Jenkins variables along with **_GKE Project_** value; +- The **_GKE Cluster Name_** and **_GKE Zone_** can be added as environmental variables in the workflow. +you'll need to create a Jenkinsfile. This Jenkinsfile should define the stages and steps necessary to execute the workflow + +```groovy +pipeline { + agent any + + stages { + stage('Deploy to GKE') { + steps { + script { + // Activating GKE service account + withCredentials([file(credentialsId: 'GKE_SA_KEY', variable: 'GKE_SA_KEY_FILE')]) { + sh 'gcloud auth activate-service-account --key-file=$GKE_SA_KEY_FILE' + } + + // Setting GCP project + withCredentials([string(credentialsId: 'GKE_PROJECT', variable: 'GKE_PROJECT')]) { + sh 'gcloud config set project $GKE_PROJECT' + } + + // Configure Docker with gcloud as a credential helper + sh 'gcloud --quiet auth configure-docker' + + // Get GKE cluster credentials + withCredentials([ + string(credentialsId: 'GKE_CLUSTER_NAME', variable: 'GKE_CLUSTER_NAME'), + string(credentialsId: 'GKE_ZONE', variable: 'GKE_ZONE') + ]) { + sh 'gcloud container clusters get-credentials $GKE_CLUSTER_NAME --zone $GKE_ZONE' + } + + // Installing and initializing Testkube + withCredentials([ + string(credentialsId: 'TESTKUBE_API_KEY', variable: 'TESTKUBE_API_KEY'), + string(credentialsId: 'TESTKUBE_ORG_ID', variable: 'TESTKUBE_ORG_ID'), + string(credentialsId: 'TESTKUBE_ENV_ID', variable: 'TESTKUBE_ENV_ID') + ]) { + sh 'curl -sSLf https://get.testkube.io | sh' + sh 'testkube set context --api-key $TESTKUBE_API_KEY --org $TESTKUBE_ORG_ID --env $TESTKUBE_ENV_ID' + } + + // Running Testkube test + sh 'testkube run test test-name -f' + } + } + } + } + + post { + always { + // Clean up + sh 'rm -f $GKE_SA_KEY_FILE' + } + } +} +``` diff --git a/docs/docs/articles/open-source-or-cloud.md b/docs/docs/articles/open-source-or-cloud.md new file mode 100644 index 00000000000..dd0241a7311 --- /dev/null +++ b/docs/docs/articles/open-source-or-cloud.md @@ -0,0 +1,15 @@ +# Testkube Open Source or Testkube Cloud? + +Designed to integrate seamlessly with your Kubernetes clusters, Testkube offers flexibility and power. For those searching for a quicker and streamlined experience, we suggest signing up for [Testkube Cloud](https://cloud.testkube.io/). However, for organizations that prefer the hands-on approach, diving deep into the [Open Source](./testkube-oss.md) version could be the ideal choice. + +Please refer to the table below to determine which version of Testkube best fits your needs. + +## Testkube OSS vs. Testkube Cloud: At a Glance + +| | OSS | Cloud/Enterprise | +| :--------------------- | :--------------------------- | :-------------------------------------------------- | +| Hosted | Fully hosted on your cluster. | Hybrid - Cloud Dashboard with the Test Execution Agent on your cluster. | +| Setup | Utilize a Helm chart, you maintain it. | Simplified setup for a quicker start. [Sign in here](https://cloud.testkube.io/) for free. | +| Maintainance | Your team manages S3, MongoDB, and API resources. | Significant reduction in maintenance costs with Testkube Cloud.| +| Features | Core functionality for executing tests. | Builds upon OSS; enhanced with FREE, PRO and Enterprise features. Check [Pricing](https://testkube.io/pricing). | +| Support | Community Support | Advanced Support | \ No newline at end of file diff --git a/docs/docs/articles/run-tests-with-github-actions.md b/docs/docs/articles/run-tests-with-github-actions.md index 4a212a99e67..c8eaf30a91b 100644 --- a/docs/docs/articles/run-tests-with-github-actions.md +++ b/docs/docs/articles/run-tests-with-github-actions.md @@ -1,4 +1,5 @@ # Run Tests with GitHub Actions +**If you need more control over your flow or to access a private cluster, use [Testkube Action](https://github.com/marketplace/actions/testkube-action) instead.** **Run on Testkube** is a GitHub Action for running tests on the Testkube platform. diff --git a/docs/docs/articles/step2-installing-cluster-components.md b/docs/docs/articles/step2-installing-cluster-components.md deleted file mode 100644 index 432a7300690..00000000000 --- a/docs/docs/articles/step2-installing-cluster-components.md +++ /dev/null @@ -1,53 +0,0 @@ -# Step 2 - Installing the Testkube Agent - -Now that you've successfully installed Testkube's CLI, you'll need to install Testkube's agent to initiate a new environment. - -To get started, sign into [Testkube](https://cloud.testkube.io) and create an account: - -![Sign in to Testkube](../img/sign-in.png) - -## Installation Steps - -1. After signing in, create your first environment: - -![Create Environment](../img/create-first-environment.png) - -2. Fill in the environment name: - -![Fill in Env Name](../img/fill-in-env-name.png) - -3. Copy the Helm install command into your terminal to install the environment and deploy the Testkube agent in your cluster: - -![Copy Helm Command](../img/copy-helm-command.png) - -4. Run the command in your terminal and wait for Testkube to detect the connection. - -You will need *Helm* installed and `kubectl` configured with access to your Kubernetes cluster: -- To install `helm` just follow the [install instructions on the Helm web site](https://helm.sh/docs/intro/install/). -- To install `kubectl` follow [Kubernetes docs](https://kubernetes.io/docs/tasks/tools/). - -![Install Steps 1](../img/install-steps.png) - -5. When the install is complete, you will see the Helm installation notice: - -![Install Steps 2](../img/install-steps-2.png) - - -## Validating the Installation - -Testkube Cloud will notify if the installation is successful. - -* A green indicator means that your cluster was able to connect to the Testkube Cloud. -* A red indicator indicates that the Testkube Agent can't connect to the Testkube Cloud API (Testkube needs some time to establish a connection, max time is 2-3 minutes). - -![Validate Install](../img/validate-install.png) - -In the case of a RED status you can try to debug the issues with the command below: - -```sh -testkube agent debug -``` - - - -By default, Testkube is installed in the `testkube` namespace. \ No newline at end of file diff --git a/docs/docs/articles/templates.mdx b/docs/docs/articles/templates.mdx index df2b0b83c9e..3528302aa16 100644 --- a/docs/docs/articles/templates.mdx +++ b/docs/docs/articles/templates.mdx @@ -37,7 +37,7 @@ kubectl testkube create template --name job-template --template-type job --body apiVersion: tests.testkube.io/v1 kind: Template metadata: - name: example-webhook + name: job-template namespace: testkube spec: type: job diff --git a/docs/docs/articles/test-triggers.mdx b/docs/docs/articles/test-triggers.mdx index eeadcdd084c..fa63192fc29 100644 --- a/docs/docs/articles/test-triggers.mdx +++ b/docs/docs/articles/test-triggers.mdx @@ -188,6 +188,15 @@ Kubernetes API and gets notified by Kubernetes on each event on the watched reso Testkube exposes CRUD operations on test triggers in the REST API. Check out the [Open API](../openapi.md) docs for more info. +## Injected Environment Variables + +The following environment variables are automatically injected into each triggered test pod: + +WATCHER_EVENT_RESOURCE: resource type +WATCHER_EVENT_NAME: resource name +WATCHER_EVENT_NAMESPACE: resource namespace +WATCHER_EVENT_EVENT_TYPE: event type + ## Video Tutorial diff --git a/docs/docs/testkube-cloud/articles/testkube-oss.md b/docs/docs/articles/testkube-oss.md similarity index 61% rename from docs/docs/testkube-cloud/articles/testkube-oss.md rename to docs/docs/articles/testkube-oss.md index 2b2e46396c1..e62311027ad 100644 --- a/docs/docs/testkube-cloud/articles/testkube-oss.md +++ b/docs/docs/articles/testkube-oss.md @@ -2,19 +2,11 @@ Welcome to the Open Source version of Testkube! -Designed to integrate seamlessly with your Kubernetes clusters, Testkube offers flexibility and power. For those searching for a quicker and streamlined experience, we suggest [signing up for Testkube Cloud](https://cloud.testkube.io/). However, for organizations that prefer the hands-on approach, diving deep into the Open Source version could be the ideal choice. +Designed to integrate seamlessly with your Kubernetes clusters, Testkube offers flexibility and power. For those searching for a quicker and streamlined experience, we suggest [signing up for Testkube Cloud](https://cloud.testkube.io/). However, for organizations that prefer the hands-on approach, diving deep into the [Open Source](testkube-oss.md) version could be the ideal choice. -## Testkube OSS vs. Testkube Cloud: At a Glance +Visit [Open Source or Cloud](open-source-or-cloud.md) to see a comparison of features to help you with your choice. -| | OSS | Cloud/Enterprise | -| :--------------------- | :--------------------------- | :-------------------------------------------------- | -| Hosted | Fully hosted on your cluster. | Hybrid - Cloud Dashboard with the Test Execution Agent on your cluster. | -| Setup | Utilize a Helm chart, you maintain it. | Simplified setup for a quicker start. [Sign in here](https://cloud.testkube.io/) for free. | -| Maintainance | Your team manages S3, MongoDB, and API resources. | Significant reduction in maintenance costs with Testkube Cloud.| -| Features | Core functionality for executing tests. | Builds upon OSS; enhanced with FREE, PRO and Enterprise features. Check [Pricing](https://testkube.io/pricing). | -| Support | Community Support | Advanced Support | - -Take a look at our [Quick Setup Video](https://www.youtube.com/watch?v=ynzEkOUhxKk). +Also, take a look at our [Quick Setup Video](https://www.youtube.com/watch?v=ynzEkOUhxKk). ## Getting Started with Testkube Open Source diff --git a/docs/docs/cli/testkube_create_executor.md b/docs/docs/cli/testkube_create_executor.md index a9ee9595402..bc42b72f825 100644 --- a/docs/docs/cli/testkube_create_executor.md +++ b/docs/docs/cli/testkube_create_executor.md @@ -31,6 +31,7 @@ testkube create executor [flags] -t, --types stringArray test types handled by executor --update update, if executor already exists -u, --uri string if resource need to be loaded from URI + --use-data-dir-as-working-dir use data dir as working dir for all tests ``` ### Options inherited from parent commands diff --git a/docs/docs/cli/testkube_update_executor.md b/docs/docs/cli/testkube_update_executor.md index c65aece5c9a..a1c3cfa9aaf 100644 --- a/docs/docs/cli/testkube_update_executor.md +++ b/docs/docs/cli/testkube_update_executor.md @@ -30,6 +30,7 @@ testkube update executor [flags] --tooltip stringToString tooltip key value pair: --tooltip key1=value1 (default []) -t, --types stringArray test types handled by executor -u, --uri string if resource need to be loaded from URI + --use-data-dir-as-working-dir use data dir as working dir for all tests ``` ### Options inherited from parent commands diff --git a/docs/docs/img/argocd-dashbord.png b/docs/docs/img/argocd-dashbord.png new file mode 100644 index 0000000000000000000000000000000000000000..921bebea607061f4ba9338087ee063dd209e409d GIT binary patch literal 239829 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

0Lb$>eN~>nU(Eau7i$f) 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�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 z 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‹v-u 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

Mq$F6=ZmHGWH%K?03w0Pd_6#OU$*bE0S+@B*3 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 literal 0 HcmV?d00001 diff --git a/docs/docs/img/cli-get-tests-executions.png b/docs/docs/img/cli-get-tests-executions.png new file mode 100644 index 0000000000000000000000000000000000000000..b7dd519f70cdea8632ce9287481dddeddf305717 GIT binary patch literal 121097 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 W+F<(tBjt18pY$UIiIRr~{{J8K5rUWi literal 0 HcmV?d00001 diff --git a/docs/docs/img/cli-tests-results.png b/docs/docs/img/cli-tests-results.png new file mode 100644 index 0000000000000000000000000000000000000000..ef172e56a4347b378d7e2319fa44b94c626eebcc GIT binary patch literal 161945 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 Rg0EdYs)|5`%GZ{G{|gFL5xM{X literal 0 HcmV?d00001 diff --git a/docs/docs/img/list-tests-cli.png b/docs/docs/img/list-tests-cli.png new file mode 100644 index 0000000000000000000000000000000000000000..31a509eec0d43484d951c6f8754f25ca3530137e GIT binary patch literal 113365 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

u`Gnzhje*xtfh8_?qK_#1x5Ng_QRC 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

&7|bM5BksdB4qEPSsf04Q z6rA2yUKA#sM1n|C+L0#8rDCTa{mq}11%*Km-sRkz5JgTo@CM}0EXB<3-F@8ap3=hO z_&SKa2M<_7jgVc`9_9O%G_v()MG&w`*u~E_p2Z8Qk>fiSoe>;ltte+_PW9iDwfZa% z?zxCHYWJlGstRTRi`hGFp>BWOB#w73ut@-@o2(+y!6NP zAx^GXNQ^E>6nFRfqp@-)N1W(k%d69GX;Vrw!~H&SM-p0t%WfwpzwLFUe8@mOm^?3? z-yW1d+fZc>q00chXwjEJ7_v|~HAnItC0EaBfTAEy@V_9M&A&|sO0(P0vdGcd&x|)c z9NYPX6Jd4Ut|b`~-yQf}71XbeC|dh23nFgD+xjv=JVn88Pvs5dt5UW&XsSOpj#!@U z!XpWb2t7*lUP&G6G=M18-x}Lqyy7*392V>iuN;HxFd~o>FLIDJ>;iAk`UNZ&KrDyg zMX@3zX(QI;OyCRR6&b$qsBc?u%!dVQKjo`9269i3+1M%>xV+2pUi#a-kGtHNWkFHm zitC}`mb%4ezlJL%G^uj{^SXTiI(pWf2-NUcg1Z>eL; zS>Us3jqMk*f|>hR!tNO%gq9E4v5bmBwuB5a>DH>*HAcZs8$z^&%LGyn>Ku91*qZ%( z90W@9>Yu%<(>{AW{Z@0iX8p$lZ+VA}h5mB=9qnx4jB#M;eS=@bP4m!aORns(pT!4k zb*U_!uYVh3$v}BU1aXY4^oM5QAWv{xSj%@)8f|q@pKPo zyUZEyy@!@!mAFK5)brR=u`%@OVu zk^KJ2&*HAiBy3lR53Ol{dlm&OKXR9~?9r41eagrU5ZxYf@JMWVFtJ87E8&udxg4|L zO$(P85w(KsB|pc!-s3HZXKu1y)v$>0F0KFg({F;eR-O^l%&@n$*zc_;lm&Hhs)2MB zJg@Yhn$_1Fz#%ITt-uHAb)oPRw>zR$r z&$)l{HT1}9vl3~oAaZ73J~C>3i)iAptb59zZKA&r^|tL*GR*y6b5XAEam&5M=OW+V z2qPanA8~6fkKLoiZ_qP5ajsM3#M=VOv;(d;s*ss{78^Z1A_kRr4bqix_s9mvO*A&c z`VN#gQHs+!aj$nN0WY};0hPjY02B4)Riw_{_kz3c9!lLi7eAO>2(d6S=AFt-xN4H_ zC^=IDH_>BVd{=p^^2m1Wn7Q}zzSsmMYAxpV^NFV;#8X_^dmEbQgzjcn`6`9dTh7z> z!Y*31$hTQcsmb}jbhb~jtJ0Xh9fTMY6F}Z7tuE$*L|9~2%=|t8wHvzMj_~hJ7~NWq z0st(SwFed`b}LZtR~=!8FG@Ba^*)n%+xOPC3bs!roC`BT3v^naz+2)lNf!sS49B78IOm%kDh2y>b8Q zC#Hq@w^6($&mx03f@miCB-aa>xWRJ2UA%GOZ%6Lx<&#ej2W9&{vuO^M-`e%NaOLAa zj^W3bcAL7_NI(T#g>K6JyTW8tGve-rOaJFF^6Ubg{m8T0AEI?XE4E~<0yQOS7_QuG zdUoOR)4v^>w|>#IzQw4A9av=3g&tjKR=AtA0Pen z8G?f#H)ZK*l^K%cZ_xhz+SU(0^%+PO7|RAU4WLJtAF=)8jq`u~P3)Fqa$xT^O(yE7 zNUXfI{L??~?mw>#yod?Ez%t$4F)L}70LCK(uABGLivRVGKco+MI`Z*Pb4PwUjn+&5 z%gv7{{BSY5lF)Sh0FZU(&%FG<3(@jn{r-~HaL1l$@vGrZzIoB7|m!uzW~njYT1F8E&?;{X12O!Rq^ zDY0Aq)86tguhV)H=uQGmu)jb5e}u#T<&XDyFG|$JM#~IR|C=ZN$MwJR0IjAYTJz6B z>0h?l-B)Ut93A<25t-NjS%3SN*Sw(uv|6d9ZRt(F{UhrBt;YN0blzpat6X;f yz0-AoRtuK*yY{ae_@6c5{}1&4M}hw7jK=0^50V;wb?^f4r6jK=SN#0lU;hIPQ>8%w literal 0 HcmV?d00001 diff --git a/docs/docs/img/offline-test-suite.png b/docs/docs/img/offline-test-suite.png new file mode 100644 index 0000000000000000000000000000000000000000..17d7786fce5c3b3701657b9e632485d6d9af77e4 GIT binary patch literal 83664 zcmeFZbyOT(vp$Lh4*^2(APMdc!65{9*BKJr-Q5y`I|NT~g1buucL)p)!JS|O0}R~e zJ>NO!ckde()(inbHauAeO;@9zFxwy@E^Z77T^6Gq<0Wrk z60SbN&Z4v|Qs`3?s^Xb=DHKR>1d8qU*N?_Uvv@+0#z&DT1ZE(XnPh&(&wCvw?XZsK z)8&AXo2{W{?u#Wvari48mJumlgg$%%Sz}2g;(o@G#}gXjsG6U#4TD~!rm~w$$;cq+ zqRw}wdO#3g+El*ktGk`OGm4}$iW@~n2>5h0LaZMf*!M>AsW z +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 literal 0 HcmV?d00001 diff --git a/docs/docs/img/test-executions-ui.png b/docs/docs/img/test-executions-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..42974f70b915d56c928fbe268c3b833eba7822eb GIT binary patch literal 243787 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ɴHER*tT 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 literal 0 HcmV?d00001 diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index cb003437a4f..519e605ea00 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -20,7 +20,7 @@ export const DocCardList = (input) => ( label: "Get started", description: "Get up and running by installing the Testkube CLI and its components within minutes.", - href: "/articles/getting-started-overview", + href: "/articles/getting-started", type: "intro", }, { @@ -28,7 +28,7 @@ export const DocCardList = (input) => ( label: "Run your first test", description: "Learn how to create, run, and display the results for your first test.", - href: "/articles/step3-creating-first-test", + href: "/articles/creating-first-test", type: "intro", }, { diff --git a/docs/docs/test-types/executor-kubepug.md b/docs/docs/test-types/executor-kubepug.md index 18808e0c41d..b2dcdfda17c 100644 --- a/docs/docs/test-types/executor-kubepug.md +++ b/docs/docs/test-types/executor-kubepug.md @@ -1,6 +1,6 @@ # KubePug -[KubePug](https://github.com/rikatz/kubepug) is a kubectl plugin checking for deprecated Kubernetes clusters or deprecated versions of Kubernetes manifests. It can connect to both your cluster directly and it can run on input files. +[KubePug](https://github.com/kubepug/kubepug) is a kubectl plugin checking for deprecated Kubernetes clusters or deprecated versions of Kubernetes manifests. It can connect to both your cluster directly and it can run on input files. For security, Testkube only supports scanning input files via the KubePug executor. * Default command for this executor: `kubepug` @@ -124,4 +124,4 @@ Args: --k8s-version=v1.18.0 Status Test execution completed with success 🥇 ``` -It is also possible to pass other arguments to the executor. For the options please consult the [KubePug documentation](https://github.com/rikatz/kubepug#how-to-use-it-as-a-standalone-program). +It is also possible to pass other arguments to the executor. For the options please consult the [KubePug documentation](https://github.com/kubepug/kubepug#how-to-use-it-as-a-standalone-program). diff --git a/docs/docs/testkube-cloud/articles/AI-test-insights.md b/docs/docs/testkube-cloud/articles/AI-test-insights.md index 26bed27b2e8..0b323e804c9 100644 --- a/docs/docs/testkube-cloud/articles/AI-test-insights.md +++ b/docs/docs/testkube-cloud/articles/AI-test-insights.md @@ -1,5 +1,15 @@ # AI Test Insights +export const ProBadge = () => { + return ( + +

PRO FEATURE

+ + ); +} + + + :::note The AI Insights feature on Testkube utilizes artificial intelligence to help you debug your failed tests faster. It collects relevant bits of the failed logs and sends them to OpenAI which processes them and gives an assessment on why the test failed. ::: diff --git a/docs/docs/testkube-cloud/articles/cached-results.md b/docs/docs/testkube-cloud/articles/cached-results.md index a3911ddcad0..c9302cb3608 100644 --- a/docs/docs/testkube-cloud/articles/cached-results.md +++ b/docs/docs/testkube-cloud/articles/cached-results.md @@ -1,11 +1,25 @@ -# Cached Test Results +# Cached Test & Test Suite Results + +export const ProBadge = () => { + return ( + +

PRO FEATURE

+
+ ); +} + + Testkube cached test results allows you to see and inspect test execution results even when your Testkube agent is offline. ## Overview -![offline-main](../../img/offline-list.png) +![offline-test](../../img/offline-list.png) Testkube Cloud uses test execution data stored in Cloud to allow you inspect past test executions. This feature also works when your agent is online, but the Testkube agent doesn't have the test definition available in Kubernetes. Cached test results appear with a read-only tag. These tests cannot be updated. If you want to get rid of old tests, you can go to the Test Settings page and click "Delete Test". + +![offline-test-suite](../../img/offline-test-suite.png) + +Similar to tests, Testkube Cloud supports also cached test suites, using the data stored in Cloud. These can be identified by the read-only tag which suggests that either your agent is not connected, or that a particular test suite definition is no longer available in Kubernetes. diff --git a/docs/docs/testkube-cloud/articles/installing-agent.md b/docs/docs/testkube-cloud/articles/installing-agent.md index ec3bda60597..9c7944c738f 100644 --- a/docs/docs/testkube-cloud/articles/installing-agent.md +++ b/docs/docs/testkube-cloud/articles/installing-agent.md @@ -1,5 +1,7 @@ # Installing the Testkube Agent +Following steps, are under the assumption that you already have a TestKube Cloud account, if that's not the case, you can find a detailed description about how to get started with TestKube [here](../../articles/getting-started.md). + ## Installation Steps 1. To add a new agent, create a new environment: @@ -13,19 +15,19 @@ ![Fill in Env Name](../../img/fill-in-env-name.png) -3. Copy the Helm install command into the terminal to install a new Testkube environment in Agent mode: +3. Copy the Helm install command into your terminal to install the environment and deploy the Testkube agent in your cluster: ![Copy Helm Command](../../img/copy-helm-command.png) 4. Run the command in your terminal. You will need *Helm* installed and `kubectl` configured with access to your Kubernetes cluster: -- To install `helm` just follow the [install instrcutions on the Helm web site](https://helm.sh/docs/intro/install/). +- To install `helm` just follow the [install instructions on the Helm web site](https://helm.sh/docs/intro/install/). - To install `kubectl` follow [Kubernetes docs](https://kubernetes.io/docs/tasks/tools/). ![Install Steps 1](../../img/install-steps.png) -5. After some time, you should see the Helm installation notice: +5. When the install is complete, you will see the Helm installation notice: ![Install Steps 2](../../img/install-steps-2.png) @@ -39,9 +41,10 @@ Testkube Cloud will notify if the installation is successful. ![Validate Install](../../img/validate-install.png) -In case of a RED status you can try to debug the issues with the command below: +In the case of a RED status you can try to debug the issues with the command below: ```sh testkube agent debug ``` +By default, Testkube is installed in the `testkube` namespace. \ No newline at end of file diff --git a/docs/docs/testkube-cloud/articles/status-pages.md b/docs/docs/testkube-cloud/articles/status-pages.md index bdd8da2c5f5..a28bc870f06 100644 --- a/docs/docs/testkube-cloud/articles/status-pages.md +++ b/docs/docs/testkube-cloud/articles/status-pages.md @@ -1,5 +1,15 @@ # Status Pages +export const ProBadge = () => { + return ( + +

PRO FEATURE

+
+ ); +} + + + The Testkube status pages are designed to help both technical and non-technical users understand and utilize the results of tests run on Testkube effectively. Whether you're a developer, project manager, or simply a stakeholder interested in monitoring software project status via running tests, Testkube has you covered. ## Overview @@ -212,4 +222,4 @@ Custom Slugs: If applicable, configure custom slugs for your status pages to mat These best practices will help you maximize the effectiveness of Testkube Status Pages, ensuring that it serves as a valuable communication tool for both technical and non-technical stakeholders. By following these guidelines, you can maintain transparency, respond efficiently to incidents, and provide a reliable source of information about the status of your software projects. -If you have any questions or need assistance, our team is ready to assist you in our Discord channel. +If you have any questions or need assistance, our team is ready to assist you in our [Discord channel](https://discord.com/invite/6zupCZFQbe). diff --git a/docs/docs/testkube-enterprise/articles/auth.md b/docs/docs/testkube-enterprise/articles/auth.md new file mode 100644 index 00000000000..303e8d35694 --- /dev/null +++ b/docs/docs/testkube-enterprise/articles/auth.md @@ -0,0 +1,99 @@ +# Configure Identity Providers + +You can configure Testkube Enterprise to authenticate users using different identity providers such as Azure AD, Google, Okta, and OIDC. To do this, you need to update the `additionalConfig` field in the Helm chart values with the appropriate configuration for each identity provider. + +For a list of all supported identity providers, see [Connectors](https://dexidp.io/docs/connectors/). + +The examples below show how to configure Testkube Enterprise with each identity provider by editing the `dex.configTemplate.additionalConfig` field in the Helm chart values. + +### Quickstart + +For a quickstart, or if you do not have an identity provider, you can configure Testkube Enterprise to use static users. +See [Static Users](#static-users). + +### Static Users + +To configure Testkube Enterprise with static users, add the following configuration to the `additionalConfig` field: + +```yaml +additionalConfig: | + enablePasswordDB: true + staticPasswords: + - email: + hash: + username: +``` + +Replace ``, ``, and `` with your actual values. + +### Azure AD + +To configure Testkube Enterprise with Azure AD, add the following configuration to the `additionalConfig` field: + +```yaml +additionalConfig: | + connectors: + - type: azuread + id: azuread + name: Azure AD + config: + clientID: + clientSecret: + redirectURI: +``` + +Replace `Azure AD client ID`, `Azure AD client secret`, and `Testkube Enterprise redirect URI` with your actual Azure AD configuration values. + +### Google + +To configure Testkube Enterprise with Google, add the following configuration to the 'additionalConfig' field: + +```yaml +additionalConfig: | + connectors: + - type: google + id: google + name: Google + config: + clientID: + clientSecret: + redirectURI: +``` + +Replace `Google client ID`, `Google client secret`, and `Testkube Enterprise redirect URI` with your actual Google configuration values. + +### Okta + +To configure Testkube Enterprise with Okta, add the following configuration to the `additionalConfig` field: + +```yaml +additionalConfig: | + connectors: + - type: okta + id: okta + name: Okta + config: + issuerURL: + clientID: + clientSecret: + redirectURI: +``` + +Replace `Okta issuer URL`, `Okta client ID`, `Okta client secret`, and `Testkube Enterprise redirect URI` with your actual Okta configuration values. + +### OIDC + +To configure Testkube Enterprise with an OIDC provider, add the following configuration to the `additionalConfig` field: + +```yaml +additionalConfig: | + connectors: + - type: oidc + id: oidc + name: OIDC + config: + issuerURL: + clientID: + clientSecret: + redirectURI: +``` diff --git a/docs/docs/testkube-enterprise/articles/usage-guide.md b/docs/docs/testkube-enterprise/articles/usage-guide.md new file mode 100644 index 00000000000..fa04802c7c5 --- /dev/null +++ b/docs/docs/testkube-enterprise/articles/usage-guide.md @@ -0,0 +1,390 @@ +# Helm Chart Installation and Usage Guide + + + +- [Testkube Enterprise Helm Chart Installation and Usage Guide](#testkube-enterprise-helm-chart-installation-and-usage-guide) + - [Prerequisites](#prerequisites) + - [Configuration](#configuration) + - [Docker images](#docker-images) + - [License](#license) + - [Online License](#online-license) + - [Offline License](#offline-license) + - [Ingress](#ingress) + - [Configuration](#configuration-1) + - [Domain](#domain) + - [TLS](#tls) + - [Auth](#auth) + - [Metrics](#metrics) + - [Invitations](#invitations) + - [Invitations via email](#invitations-via-email) + - [Auto-accept invitations](#auto-accept-invitations) + - [Bring Your Own Infra](#bring-your-own-infra) + - [MongoDB](#mongodb) + - [NATS](#nats) + - [MinIO](#minio) + - [Dex](#dex) + - [Installation](#installation) + - [Production setup](#production-setup) + - [FAQ](#faq) + + + + +Welcome to the Testkube Enterprise Helm chart installation and usage guide. +This comprehensive guide provides step-by-step instructions for installing and utilizing the Testkube Enterprise Helm chart. +Testkube Enterprise is a cutting-edge Kubernetes-native testing platform designed to optimize your testing and quality assurance processes with enterprise-grade features. + +## Prerequisites + +Before you proceed with the installation, please ensure that you have the following prerequisites in place: +* Kubernetes cluster (version 1.21+) +* [Helm](https://helm.sh/docs/intro/quickstart/) (version 3+) +* [cert-manager](https://cert-manager.io/docs/installation/) (version 1.11+) - Used for TLS certificate management. +* [NGINX Controller](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/) (version v1.8+) - Used for Ingress configuration. +* (OPTIONAL) [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) (version 0.49+) - used for metrics collection +* Own a public/private domain for creating Ingress rules. +* License Key and/or License File, if offline access is required. + +**NOTE** +While it is possible to use custom TLS certificates for the Testkube Enterprise API and Dashboard, +we strongly recommend using `cert-manager` for easier certificate management. + +## Configuration + +### Docker Images + +**DEPRECATION NOTICE**: As of November 2023, Testkube Enterprise Docker images are publicly accessible. +You only need to follow the steps in this section if you wish to re-publish the images to your private Docker registry; +otherwise, you may skip this section. + +To begin, ensure that you have access to the Testkube Enterprise API & Dashboard Docker images. +You can either request access from your Testkube representative or upload the Docker image tarball artifacts to a private Docker registry. + +Next, create a secret to store your Docker registry credentials: +```bash +kubectl create secret docker-registry testkube-enterprise-registry \ + --docker-server= \ + --docker-username= \ + --docker-password= \ + --docker-email= \ + --namespace=testkube-enterprise +``` + +Make sure to configure the image pull secrets in your `values.yaml` file: +```helm +global: + imagePullSecrets: + - name: testkube-enterprise-registry +``` + +### License + +Select the appropriate license type for your environment. + +For air-gapped & firewalled environments, we offer an option to use an [Offline License](#offline-license) for enhanced security. +An **Offline License** consists of a **License Key** and **License File**. + +If your environment has internet access, you can use an [Online License](#online-license), which only requires the **License Key**. + +#### Online License + +If your environment has internet access, you can use an **Online License**, which only requires the **License Key**, +and can be provided as a Helm parameter or Kubernetes secret. + +To provide the **License Key** as a Helm parameter, use the following configuration: +```helm +global: + enterpriseLicenseKey: +``` + +To provide the **License Key** as a Kubernetes secret, first we need to create a secret with the required field. +Run the following command to create the secret: +```bash +kubectl create secret generic testkube-enterprise-license \ + --from-literal=LICENSE_KEY= \ + --namespace=testkube-enterprise +``` +And then use the following Helm chart configuration: +```helm +global: + enterpriseLicenseSecretRef: +``` + +#### Offline License + +For an **Offline License**, supply both the **License Key** and **License File** as either Kubernetes secrets or Helm parameters. +Using secrets is safer, as it prevents exposing sensitive license information in Helm chart values. + +The Kubernetes secret needs to contain 2 entries: `license.lic` and `LICENSE_KEY`. +To create the secret with the **License Key** and **License File**, run the following command: +```bash +kubectl create secret generic testkube-enterprise-license \ + --from-literal=LICENSE_KEY= \ + --from-file=license.lic= \ + --namespace=testkube-enterprise +``` + +After creating the secret, use the following Helm chart configuration: +```helm +global: + enterpriseOfflineAccess: true + licenseFileSecret: testkube-enterprise-license +``` + +Alternatively, you can provide the **License File** as a Helm parameter: +```helm +global: + licenseKey: + licenseFile: +``` + +### Ingress + +Testkube Enterprise requires the NGINX Controller to configure and optimize its protocols. +NGINX is the sole supported Ingress Controller, and is essential for Testkube Enterprise's operation. + + +We highly recommend installing Testkube Enterprise with Ingress enabled. +This requires a valid domain (public or private) with a valid TLS certificate. +Ingresses are enabled and created by default. + +To disable Ingress creation, adjust the following values accordingly. Note that you must then manually configure the API & Dashboard services to maintain accessibility: +```helm +global: + ingress: + enabled: false + +testkube-cloud-api: + api: + tls: + serveHTTPS: false +``` + +#### Configuration + +To ensure the reliable functioning of gRPC and Websockets protocols, Testkube Enterprise is locked in with NGINX Ingress Controller. + +Below are current configurations per Ingress resource which ensure Testkube Enterprise protocols work performant and reliably. +It is not recommended to change any of these settings! + +gRPC Ingress annotations: +```kubernetes +annotations: + nginx.ingress.kubernetes.io/proxy-body-size: 8m + nginx.ingress.kubernetes.io/client-header-timeout: "10800" + nginx.ingress.kubernetes.io/client-body-timeout: "10800" +``` + +Websockets Ingress annotations: +```kubernetes +annotations: + nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" + nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" +``` + +If you want to use a different Ingress Controller, please reach out to our support team. + +#### Domain + +Testkube Enterprise requires a domain (public or internal) under which it will expose the following services: + +| Subdomain | Service | +|---------------------------------|------------------| +| `dashboard.` | Dashboard UI | +| `api.` | REST API | +| `agent.(sub)` | gRPC API | +| `websockets.(sub)` | WebSockets API | +| `storage.(sub)` | Storage API | +| `status.(sub)` | Status Pages API | + +#### TLS + +For best the performance, TLS should be terminated at the application level (Testkube Enterprise API) instead of NGINX/Ingress level because +gRPC and Websockets protocols perform significantly better when HTTP2 protocol is used end-to-end. +Note that NGINX, by default, downgrades the HTTP2 protocol to HTTP1.1 when the backend service is using an insecure port. + +If `cert-manager` (check the [Prerequisites](#prerequisites) for installation guide) is installed in your cluster, it should be configured to issue certificates for the configured domain by using the `Issuer` or `ClusterIssuer` resource. +Testkube Enterprise Helm chart needs the following config in that case: +```helm +global: + certificateProvider: "cert-manager" + certManager: + issuerRef: +``` + +By default, Testkube Enterprise uses a `ClusterIssuer` `cert-manager` resource, that can be changed by setting the `testkube-cloud-api.api.tls.certManager.issuerKind` field to `Issuer`. + +If `cert-manager` is not installed in your cluster, valid TLS certificates (for API & Dashboard) which cover the following subdomains need to be provided: +* API (tls secret name is configured with `testkube-cloud-api.api.tls.tlsSecret` field) + * `api.` + * `agent.` + * `websockets.` + * `status.` +* Dashboard (TLS secret name is configured with `testkube-cloud-ui.ingress.tlsSecretName` field) + * `dashboard.` + Also, `global.certificateProvider` should be set to blank (""). +```helm +global: + certificateProvider: "" +``` + +### Auth + +Testkube Enterprise utilizes [Dex](https://dexidp.io/) for authentication and authorization. +For detailed instruction on configuring Dex, please refer to the [Identity Provider](./auth.md) document. + +### Metrics + +Testkube Enterprise exposes Prometheus metrics on the `/metrics` endpoint and uses a `ServiceMonitor` resource to expose them to Prometheus. +In order for this to work, you need to have `Prometheus Operator` installed in your cluster so that the `ServiceMonitor` resource can be created. + + +Use the following configuration to enable metrics: +```helm +testkube-cloud-api: + prometheus: + enabled: true +``` + +### Invitations + +Testkube Enterprise allows you to invite users to Organizations and Environments within Testkube, granting them specific roles and permissions. + +There are two supported invitation modes: `email` and `auto-accept`. +Use `email` to send an invitation for the user to accept, and `auto-accept` to automatically add users without requiring acceptance. + +#### Invitations Via Email + +If `testkube-cloud-api.api.inviteMode` is set to `email`, Testkube Enterprise will send emails when a user gets invited to +an Organization or an Environment and when SMTP settings need to be configured in the API Helm chart. + +```helm +testkube-cloud-api: + api: + email: + fromEmail: "example@gmail.com" + fromName: "Example Invitation" + inviteMode: email + smtp: + host: + port: + username: + password: + # password can also be referenced by using the `passwordSecretRef` field which needs to contain the key SMTP_PASSWORD + # passwordSecretRef: +``` + +#### Auto-accept Invitations + +If `testkube-cloud-api.api.inviteMode` is set to `auto-accept`, Testkube Enterprise will automatically add users to +Organizations and Environments when they get invited. + +```helm +testkube-cloud-api: + inviteMode: auto-accept +``` + +## Bring Your Own Infra + +Testkube Enterprise supports integrating with existing infrastructure components such as MongoDB, NATS, Dex, etc. + +### MongoDB + +Testkube Enterprise uses MongoDB as a database for storing all the data. +By default, it will install a MongoDB instance using the Bitnami MongoDB Helm chart. + +If you wish to use an existing MongoDB instance, you can configure the following values: +```helm +mongodb: + enabled: false + +testkube-cloud-api: + api: + mongo: + dsn: +``` + +### NATS + +Testkube Enterprise uses NATS as a message broker for communication between API and Agents. + +If you wish to use an existing NATS instance, you can configure the following values: +```helm +nats: + enabled: false + +testkube-cloud-api: + api: + nats: + uri: +``` + +### MinIO + +Testkube Enterprise uses MinIO as a storage backend for storing artifacts. + +If you wish to use an existing MinIO instance, you can configure the following values: +```helm +testkube-cloud-api: + minio: + enabled: false + api: + minio: {} # check out the `testkube-cloud-api.api.minio` block in the values.yaml for all available settings +``` + +### Dex + +Testkube Enterprise uses Dex as an identity provider. + +If you wish to use an existing Dex instance, you can configure the following values: +```helm +global: + dex: + issuer: +dex: + enabled: false +testkube-cloud-api: + api: + oauth: {} # check out the `testkube-cloud-api.api.oauth` block in the values.yaml for all available settings +``` + +## Installation + +1. Add our Testkube Enterprise Helm registry: + ```bash + helm repo add testkubeenterprise https://kubeshop.github.io/testkube-cloud-charts + ``` +2. Create a `values.yaml` with preferred configuration. +3. Run `helm install testkube-enterprise testkubeenterprise/testkube-enterprise -f values.yaml --namespace testkube-enterprise`. + +**IMPORTANT** +The Bitnami MongoDB Helm chart does not work reliably on ARM architectures. If you are installing MongoDB using this chart, you need to use an ARM compatible image: +```helm +mongodb: + image: + repository: zcube/bitnami-compat-mongodb + tag: "6.0.5" +``` + + +### Production Setup + +For best performance and reliability, users should follow this official setup guide and make sure each section is properly configured. + +1. Configure DNS records as described in the [Domain](#domain) section +2. Configure TLS certificates as described in the [TLS](#tls) section +3. Configure Dex as described in the [Auth](#auth) section +4. Configure Ingress as described in the [Ingress](#ingress) section +5. Configure Metrics as described in the [Metrics](#metrics) section +6. Configure Invitations as described in the [Invitations](#invitations) section +7. Configure BYOI components as described in the [Bring Your Own Infra](#bring-your-own-infra) section +8. Install Testkube Enterprise as described in the [Installation](#installation) section + +## FAQ + +Q: Testkube Enterprise API is crashing (pod is in `Error`/`CrashLoopBackOff` state) with the following error: +``` +panic: license file is invalid +``` +A: Make sure the license file ends with a newline character. +There should be a new line after the `-----END LICENSE FILE-----` line in the license file. \ No newline at end of file diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 6a659094896..aa6c965ae85 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -46,7 +46,7 @@ const config = { sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. // Remove this to remove the "edit this page" links. - editUrl: "https://github.com/kubeshop/testkube/docs", + editUrl: "https://github.com/kubeshop/testkube/tree/develop/docs", }, blog: false, theme: { diff --git a/docs/redirects.js b/docs/redirects.js index 80daf150ce1..91d894fb583 100644 --- a/docs/redirects.js +++ b/docs/redirects.js @@ -125,24 +125,22 @@ const redirects = [ "/getting-started", "/integrations", "/installing", + "/articles/getting-started-overview", + "/getting-started/step2-installing-cluster-components", + "/articles/step2-installing-cluster-components", + "/getting-started/step3-creating-first-test", + "/articles/step3-creating-first-test" ], - to: "/articles/getting-started-overview", + to: "/articles/getting-started", }, { from: [ - "/getting-started/step1-installing-cli", "/cli/installation", "/getting-started/installing-cli", + "/articles/step1-installing-cli", + "/getting-started/step1-installing-cli", ], - to: "/articles/step1-installing-cli", - }, - { - from: "/getting-started/step2-installing-cluster-components", - to: "/articles/step2-installing-cluster-components", - }, - { - from: "/getting-started/step3-creating-first-test", - to: "/articles/step3-creating-first-test", + to: "/articles/install-cli", }, { from: "/concepts/tests/tests-running", diff --git a/docs/sidebars.js b/docs/sidebars.js index f77501e090c..0cf90b00050 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -22,20 +22,12 @@ const sidebars = { type: "doc", id: "index", }, - items: ["articles/supported-tests", "articles/testkube-benefits"], + items: ["articles/supported-tests", "articles/testkube-benefits", "articles/open-source-or-cloud"], }, { - type: "category", + type: "doc", label: "Getting Started", - link: { - type: "doc", - id: "articles/getting-started-overview", - }, - items: [ - "articles/step1-installing-cli", - "articles/step2-installing-cluster-components", - "articles/step3-creating-first-test", - ], + id: "articles/getting-started", }, { type: "category", @@ -98,7 +90,7 @@ const sidebars = { }, "articles/exposing-testkube-with-ingress-nginx", "articles/deploying-in-aws", - "articles/deploying-from-private-registries" + "articles/deploying-from-private-registries", ], }, { @@ -110,6 +102,8 @@ const sidebars = { }, items: [ "articles/github-actions", + "articles/gitlab", + "articles/jenkins", "articles/run-tests-with-github-actions", "articles/testkube-cli-docker", { @@ -134,11 +128,13 @@ const sidebars = { }, ], }, + "articles/creating-first-test", "articles/cd-events", "articles/slack-integration", "articles/generate-test-crds", "articles/logging", - "articles/uninstall", + "articles/install-cli", + "articles/uninstall" ], }, { @@ -179,7 +175,6 @@ const sidebars = { label: "Testkube Cloud", items: [ "testkube-cloud/articles/intro", - "testkube-cloud/articles/testkube-oss", "testkube-cloud/articles/installing-agent", "testkube-cloud/articles/transition-from-oss", "testkube-cloud/articles/organization-management", @@ -192,6 +187,15 @@ const sidebars = { "testkube-cloud/articles/cached-results", ], }, + { + type: "category", + label: "Testkube Enterprise", + items: [ + "testkube-enterprise/articles/usage-guide", + "testkube-enterprise/articles/auth" + ], + }, + "articles/testkube-oss", { type: "category", label: "Reference", diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 7ba1d31e976..c197135f13b 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -30,6 +30,8 @@ --ifm-color-gray-300: #e2e8f0; --ifm-color-gray-200: #f1f5f9; --ifm-color-gray-100: #f8fafc; + --ifm-color-badge-border: #454fad; + --ifm-color-badge: #c8cdff; /* --ifm-menu-link-sublist-icon: */ --ifm-code-font-size: 90%; /*95%;*/ --ifm-line-height-base: 1.45; /* Instead of 1.5 */ @@ -55,6 +57,8 @@ --ifm-color-primary-light: #29d5b0; --ifm-color-primary-lighter: #32d8b4; --ifm-color-primary-lightest: #4fddbf; + --ifm-color-badge-border: #0EA5E9; + --ifm-color-badge: #0C4A6E; --docusaurus-highlighted-code-line-bg: var(var(--ifm-color-gray-1000)); } @@ -346,6 +350,19 @@ ul:hover { backdrop-filter: none !important; } +.pro-badge { + width: fit-content; + background-color: var(--ifm-color-badge); + border: 1px var(--ifm-color-badge-border) solid; + border-radius: 4px; + + color: var(--ifm-color-badge-border); + font-size: 75%; + + padding: 0.3rem; + margin-top: -10px; +} + @media screen and (max-width: 996px) { :root { --ifm-font-size-base: 18px; diff --git a/go.mod b/go.mod index 5053a1dce62..6f9bba78591 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,8 @@ require ( github.com/gorilla/websocket v1.5.0 github.com/joshdk/go-junit v1.0.0 github.com/kelseyhightower/envconfig v1.4.0 - github.com/kubeshop/testkube-operator v1.15.3 + github.com/kubepug/kubepug v1.7.1 + github.com/kubeshop/testkube-operator v1.16.0 github.com/minio/minio-go/v7 v7.0.47 github.com/montanaflynn/stats v0.6.6 github.com/moogar0880/problems v0.1.1 @@ -36,10 +37,10 @@ require ( github.com/otiai10/copy v1.11.0 github.com/prometheus/client_golang v1.16.0 github.com/pterm/pterm v0.12.62 - github.com/rikatz/kubepug v1.4.0 github.com/segmentio/analytics-go/v3 v3.2.1 github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 github.com/slack-go/slack v0.11.4 + github.com/spf13/afero v1.10.0 github.com/spf13/cobra v1.7.0 github.com/stretchr/testify v1.8.4 github.com/valyala/fasthttp v1.44.0 @@ -123,7 +124,7 @@ require ( github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect github.com/yuin/goldmark v1.5.2 // indirect github.com/yuin/goldmark-emoji v1.0.1 // indirect - golang.org/x/mod v0.12.0 // indirect + golang.org/x/mod v0.13.0 // indirect golang.org/x/tools v0.13.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect @@ -165,7 +166,7 @@ require ( github.com/robfig/cron v1.2.0 github.com/rs/xid v1.4.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/sirupsen/logrus v1.9.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/tcplisten v1.0.0 // indirect @@ -175,12 +176,12 @@ require ( github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.13.0 // indirect - golang.org/x/net v0.15.0 // indirect + golang.org/x/crypto v0.14.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.12.0 golang.org/x/sync v0.3.0 - golang.org/x/sys v0.12.0 // indirect - golang.org/x/term v0.12.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect golang.org/x/text v0.13.0 golang.org/x/time v0.3.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index f084c3b678c..7d873cb982f 100644 --- a/go.sum +++ b/go.sum @@ -6,10 +6,50 @@ atomicgo.dev/keyboard v0.2.9 h1:tOsIid3nlPLZ3lwgG8KZMp/SFmr7P0ssEN5JUsm78K8= atomicgo.dev/keyboard v0.2.9/go.mod h1:BC4w9g00XkxH/f1HXhW2sXmJFOCWbKn9xrOunSFtExQ= atomicgo.dev/schedule v0.0.2 h1:2e/4KY6t3wokja01Cyty6qgkQM8MotJzjtqCH70oX2Q= atomicgo.dev/schedule v0.0.2/go.mod h1:xeUa3oAkiuHYh8bKiQBRojqAMq3PXXbJujjb0hw8pEU= +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.44.3/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 v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +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= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/99designs/gqlgen v0.17.27 h1:XPsaZiWY1lL2qqVYtBt37GzkyX7bBiVvda7k1buC/Ao= github.com/99designs/gqlgen v0.17.27/go.mod h1:i4rEatMrzzu6RXaHydq1nmEPZkb3bKQsnxNRHS4DQB4= github.com/AlecAivazis/survey/v2 v2.3.6 h1:NvTuVHISgTHEHeBFqt6BHOe4Ny/NwGZr7w+F8S9ziyw= github.com/AlecAivazis/survey/v2 v2.3.6/go.mod h1:4AuI9b7RjAR+G7v9+C4YSlX/YL3K3cWNXgWXOhllqvI= +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/MarvinJWendt/testza v0.1.0/go.mod h1:7AxNvlfeHP7Z/hDQ5JtE3OKYT3XFUeLCDE2DQninSqs= @@ -53,6 +93,7 @@ github.com/briandowns/spinner v1.19.0 h1:s8aq38H+Qju89yhp89b4iIiMzMm8YN3p6vGpwyh github.com/briandowns/spinner v1.19.0/go.mod h1:mQak9GHqbspjC/5iUx3qMlIho8xBS/ppAL/hX5SmPJU= github.com/cdevents/sdk-go v0.3.0 h1:YHb47qIVi3qV+HmkyW3e0gqCQaqKW0rnL4EejSDuMFs= github.com/cdevents/sdk-go v0.3.0/go.mod h1:8EFl9VDZkxEmO/sr06Phzr501OiU6B5d04+eYpf1tF0= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charmbracelet/glamour v0.5.1-0.20220727184942-e70ff2d969da h1:FGz53GWQRiKQ/5xUsoCCkewSQIC7u81Scaxx2nUy3nM= @@ -70,8 +111,12 @@ github.com/cli/safeexec v1.0.0 h1:0VngyaIyqACHdcMNWfo6+KdUYnqEr2Sg+bSP1pdF+dI= github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= github.com/cli/shurcooL-graphql v0.0.2 h1:rwP5/qQQ2fM0TzkUTwtt6E2LbIYf6R+39cUXTa04NYk= github.com/cli/shurcooL-graphql v0.0.2/go.mod h1:tlrLmw/n5Q/+4qSvosT+9/W5zc8ZMjnJeYBxSdb4nWA= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudevents/sdk-go/v2 v2.14.0 h1:Nrob4FwVgi5L4tV9lhjzZcjYqFVyJzsA56CwPaPfv6s= github.com/cloudevents/sdk-go/v2 v2.14.0/go.mod h1:xDmKfzNjM8gBvjaF8ijFjM1VYOVUEeUfapHMUX1T5To= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= @@ -100,6 +145,12 @@ github.com/dustinkirkland/golang-petname v0.0.0-20191129215211-8e5a1ed0cff0 h1:9 github.com/dustinkirkland/golang-petname v0.0.0-20191129215211-8e5a1ed0cff0/go.mod h1:V+Qd57rJe8gd4eiGzZyg4h54VLHmYVVw54iMnlAMrF8= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.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.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= 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.7.0 h1:nJqP7uwL84RJInrohHfW0Fx3awjbm8qZeFv0nW9SYGc= @@ -117,6 +168,9 @@ github.com/gabriel-vasile/mimetype v1.4.1 h1:TRWk7se+TOjCYgRth7+1/OYLNiRNIotknkF github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk= github.com/go-errors/errors v1.5.1/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-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -150,11 +204,35 @@ github.com/gofiber/websocket/v2 v2.1.1 h1:Q88s88UL8B+elZTT/QB+ocDb1REhdMEmnysI0C github.com/gofiber/websocket/v2 v2.1.1/go.mod h1:F0ES7DhlFrNyHtC2UGey2KYI+zdqIURRMbSF0C4qdGQ= 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/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= 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/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -162,9 +240,19 @@ github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +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/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= +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.2/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.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= @@ -172,13 +260,31 @@ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN 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/martian/v3 v3.1.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/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +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/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= github.com/google/uuid v1.3.1/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/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo= github.com/gookit/color v1.5.3 h1:twfIhZs4QLCtimkP7MOxlF3A0U/5cDPseRT9M/+2SCE= @@ -190,12 +296,15 @@ github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWm github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= +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/hashicorp/golang-lru/v2 v2.0.1 h1:5pv5N1lT1fjLg2VQ5KWc7kmucp2x/kvFOnxuVTqZ6x4= github.com/hashicorp/golang-lru/v2 v2.0.1/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/henvic/httpretty v0.1.0 h1:Htk66UUEbXTD4JR0qJZaw8YAMKw+9I24ZZOnDe/ti+E= github.com/henvic/httpretty v0.1.0/go.mod h1:ViEsly7wgdugYtymX54pYp6Vv2wqZmNHayJ6q8tlKCc= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= @@ -211,6 +320,8 @@ github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= 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/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= @@ -230,6 +341,7 @@ github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuOb github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU= github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= @@ -239,8 +351,10 @@ 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/kubeshop/testkube-operator v1.15.3 h1:L1Xkya/ubGRTKnaZOxTOgVDrjktMstIPBlHO7Xym4FQ= -github.com/kubeshop/testkube-operator v1.15.3/go.mod h1:iwzgZriFxOzstinAqWB32g9iAMSORiQvGYWzX0FWbQk= +github.com/kubepug/kubepug v1.7.1 h1:LKhfSxS8Y5mXs50v+3Lpyec+cogErDLcV7CMUuiaisw= +github.com/kubepug/kubepug v1.7.1/go.mod h1:lv+HxD0oTFL7ZWjj0u6HKhMbbTIId3eG7aWIW0gyF8g= +github.com/kubeshop/testkube-operator v1.16.0 h1:7BmzYbIixxvdl7Jkj/MWbTLU33w4y2a4fbyt0hZFXB4= +github.com/kubeshop/testkube-operator v1.16.0/go.mod h1:iwzgZriFxOzstinAqWB32g9iAMSORiQvGYWzX0FWbQk= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lithammer/fuzzysearch v1.1.8 h1:/HIuJnjHuXS8bKaiTMeeDlW2/AyIWk2brx1V8LFgLN4= @@ -331,12 +445,14 @@ github.com/package-url/packageurl-go v0.1.0/go.mod h1:C/ApiuWpmbpni4DIOECf6WCjFU github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= 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/pquerna/cachecontrol v0.2.0 h1:vBXSNuE5MYP9IJ5kjsdo8uq+w41jSPgvba2DEnkRx9k= github.com/pquerna/cachecontrol v0.2.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= @@ -352,14 +468,13 @@ github.com/pterm/pterm v0.12.36/go.mod h1:NjiL09hFhT/vWjQHSj1athJpx6H8cjpHXNAK5b github.com/pterm/pterm v0.12.40/go.mod h1:ffwPLwlbXxP+rxT0GsgDTzS3y3rmpAO1NMjUkGTYf8s= github.com/pterm/pterm v0.12.62 h1:Xjj5Wl6UR4Il9xOiDUOZRwReRTdO75if/JdWsn9I59s= github.com/pterm/pterm v0.12.62/go.mod h1:+c3ujjE7N5qmNx6eKAa7YVSC6m/gCorJJKhzwYTbL90= -github.com/rikatz/kubepug v1.4.0 h1:xfYljEOCsEWUjJC8jIMiNF22jwhyArqKeQw9jUu3FRw= -github.com/rikatz/kubepug v1.4.0/go.mod h1:ZwpUsmmVxehGdBTcP6NnOn2zT+BmuNqHRazJe97igzA= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= @@ -384,12 +499,14 @@ github.com/shurcooL/githubv4 v0.0.0-20220922232305-70b4d362a8cb h1:Ptg7eUGaD22iZ github.com/shurcooL/githubv4 v0.0.0-20220922232305-70b4d362a8cb/go.mod h1:hAF0iLZy4td2EX+/8Tw+4nodhlMrwN3HupfaXj3zkGo= github.com/shurcooL/graphql v0.0.0-20220606043923-3cf50f8a0a29 h1:B1PEwpArrNp4dkQrfxh/abbBAOZBVp0ds+fBEOUOqOc= github.com/shurcooL/graphql v0.0.0-20220606043923-3cf50f8a0a29/go.mod h1:AuYgA5Kyo4c7HfUmvRGs/6rGlMMV/6B1bVnB9JxJEEg= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= github.com/slack-go/slack v0.11.4 h1:ojSa7KlPm3PqY2AomX4VTxEsK5eci5JaxCjlzGV5zoM= github.com/slack-go/slack v0.11.4/go.mod h1:hlGi5oXA+Gt+yWTPP0plCdRKmjsDxecdHxYQdlMQKOw= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= +github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -400,6 +517,7 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE 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= @@ -441,7 +559,9 @@ github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsr github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= +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.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -453,6 +573,12 @@ github.com/yuin/goldmark-emoji v1.0.1 h1:ctuWEyzGBwiucEqxzwe0SOYDXPAucOrE9NQC18W github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ= go.mongodb.org/mongo-driver v1.11.0 h1:FZKhBSTydeuffHj9CBjXlR8vQLee1cQyTWYPA6/tqiE= go.mongodb.org/mongo-driver v1.11.0/go.mod h1:s7p5vEtfbeR1gYi6pnj3c3/urpbLv2T5Sfd6Rp2HBB8= +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.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -460,31 +586,92 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8 go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= 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-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +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/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +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-20201208152925-83fdc39ff7b5/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.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= +golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +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-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-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-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -497,29 +684,72 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220906165146-f3363e06e74c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20220923203811-8be639271d50/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +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-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= +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.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/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-20190222072716-a9d3bda3a223/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-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-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-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/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-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210319071255-635bc2c9138d/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-20210423185535-09eb48e85fd7/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-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -541,18 +771,22 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/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/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.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-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +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.4/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.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= @@ -560,12 +794,60 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= 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.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/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-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-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= @@ -578,12 +860,100 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= +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/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +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/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= +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-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-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +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.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +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.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= @@ -613,6 +983,13 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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= +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.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= k8s.io/apiextensions-apiserver v0.28.2 h1:J6/QRWIKV2/HwBhHRVITMLYoypCoPY1ftigDM0Kn+QU= @@ -629,6 +1006,9 @@ k8s.io/kube-openapi v0.0.0-20230918164632-68afd615200d h1:/CFeJBjBrZvHX09rObS2+2 k8s.io/kube-openapi v0.0.0-20230918164632-68afd615200d/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/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.16.2 h1:mwXAVuEk3EQf478PQwQ48zGOXvW27UJc8NHktQVuIPU= sigs.k8s.io/controller-runtime v0.16.2/go.mod h1:vpMu3LpI5sYWtujJOa2uPK61nB5rbwlN7BAB8aSLvGU= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/internal/app/api/v1/executions_test.go b/internal/app/api/v1/executions_test.go index 982b4f04350..16b5afc725f 100644 --- a/internal/app/api/v1/executions_test.go +++ b/internal/app/api/v1/executions_test.go @@ -135,11 +135,11 @@ func (r MockExecutionResultsRepository) GetByNameAndTest(ctx context.Context, na panic("not implemented") } -func (r MockExecutionResultsRepository) GetLatestByTest(ctx context.Context, testName, sortField string) (testkube.Execution, error) { +func (r MockExecutionResultsRepository) GetLatestByTest(ctx context.Context, testName string) (*testkube.Execution, error) { panic("not implemented") } -func (r MockExecutionResultsRepository) GetLatestByTests(ctx context.Context, testNames []string, sortField string) (executions []testkube.Execution, err error) { +func (r MockExecutionResultsRepository) GetLatestByTests(ctx context.Context, testNames []string) (executions []testkube.Execution, err error) { panic("not implemented") } diff --git a/internal/app/api/v1/tests.go b/internal/app/api/v1/tests.go index 0c91b92eda7..1ec17faacd2 100644 --- a/internal/app/api/v1/tests.go +++ b/internal/app/api/v1/tests.go @@ -85,32 +85,15 @@ func (s TestkubeAPI) GetTestWithExecutionHandler() fiber.Handler { } ctx := c.Context() - startExecution, startErr := s.ExecutionResults.GetLatestByTest(ctx, name, "starttime") - if startErr != nil && startErr != mongo.ErrNoDocuments { - return s.Error(c, http.StatusInternalServerError, fmt.Errorf("%s: failed to get executions by start time: %w", errPrefix, startErr)) + execution, err := s.ExecutionResults.GetLatestByTest(ctx, name) + if err != nil && err != mongo.ErrNoDocuments { + return s.Error(c, http.StatusInternalServerError, fmt.Errorf("%s: failed to get execution: %w", errPrefix, err)) } - endExecution, endErr := s.ExecutionResults.GetLatestByTest(ctx, name, "endtime") - if endErr != nil && endErr != mongo.ErrNoDocuments { - return s.Error(c, http.StatusInternalServerError, fmt.Errorf("%s: failed to get executions by end time: %w", errPrefix, endErr)) - } - - testWithExecution := testkube.TestWithExecution{ - Test: &test, - } - if startErr == nil && endErr == nil { - if startExecution.StartTime.After(endExecution.EndTime) { - testWithExecution.LatestExecution = &startExecution - } else { - testWithExecution.LatestExecution = &endExecution - } - } else if startErr == nil { - testWithExecution.LatestExecution = &startExecution - } else if endErr == nil { - testWithExecution.LatestExecution = &endExecution - } - - return c.JSON(testWithExecution) + return c.JSON(testkube.TestWithExecution{ + Test: &test, + LatestExecution: execution, + }) } } @@ -198,51 +181,15 @@ func (s TestkubeAPI) TestMetricsHandler() fiber.Handler { // getLatestExecutions return latest executions either by starttime or endtime for tests func (s TestkubeAPI) getLatestExecutions(ctx context.Context, testNames []string) (map[string]testkube.Execution, error) { - executions, err := s.ExecutionResults.GetLatestByTests(ctx, testNames, "starttime") + executions, err := s.ExecutionResults.GetLatestByTests(ctx, testNames) if err != nil && err != mongo.ErrNoDocuments { return nil, fmt.Errorf("could not get latest executions for tests %s sorted by start time: %w", testNames, err) } - startExecutionMap := make(map[string]testkube.Execution, len(executions)) + executionMap := make(map[string]testkube.Execution, len(executions)) for i := range executions { - startExecutionMap[executions[i].TestName] = executions[i] - } - - executions, err = s.ExecutionResults.GetLatestByTests(ctx, testNames, "endtime") - if err != nil && err != mongo.ErrNoDocuments { - return nil, fmt.Errorf("could not get latest executions for tests %s sorted by end time: %w", testNames, err) + executionMap[executions[i].TestName] = executions[i] } - - endExecutionMap := make(map[string]testkube.Execution, len(executions)) - for i := range executions { - endExecutionMap[executions[i].TestName] = executions[i] - } - - executionMap := make(map[string]testkube.Execution) - for _, testName := range testNames { - startExecution, okStart := startExecutionMap[testName] - endExecution, okEnd := endExecutionMap[testName] - if !okStart && !okEnd { - continue - } - - if okStart && !okEnd { - executionMap[testName] = startExecution - continue - } - - if !okStart && okEnd { - executionMap[testName] = endExecution - continue - } - - if startExecution.StartTime.After(endExecution.EndTime) { - executionMap[testName] = startExecution - } else { - executionMap[testName] = endExecution - } - } - return executionMap, nil } diff --git a/internal/app/api/v1/testsuites.go b/internal/app/api/v1/testsuites.go index 0203b772a0e..c122e528ac3 100644 --- a/internal/app/api/v1/testsuites.go +++ b/internal/app/api/v1/testsuites.go @@ -230,32 +230,15 @@ func (s TestkubeAPI) GetTestSuiteWithExecutionHandler() fiber.Handler { } ctx := c.Context() - startExecution, startErr := s.TestExecutionResults.GetLatestByTestSuite(ctx, name, "starttime") - if startErr != nil && startErr != mongo.ErrNoDocuments { - return s.Error(c, http.StatusInternalServerError, fmt.Errorf("%s: could not get execution by start time :%w", errPrefix, startErr)) + execution, err := s.TestExecutionResults.GetLatestByTestSuite(ctx, name) + if err != nil && err != mongo.ErrNoDocuments { + return s.Error(c, http.StatusInternalServerError, fmt.Errorf("%s: could not get execution: %w", errPrefix, err)) } - endExecution, endErr := s.TestExecutionResults.GetLatestByTestSuite(ctx, name, "endtime") - if endErr != nil && endErr != mongo.ErrNoDocuments { - return s.Error(c, http.StatusInternalServerError, fmt.Errorf("%s: could not get execution by end time :%w", errPrefix, endErr)) - } - - testSuiteWithExecution := testkube.TestSuiteWithExecution{ - TestSuite: &testSuite, - } - if startErr == nil && endErr == nil { - if startExecution.StartTime.After(endExecution.EndTime) { - testSuiteWithExecution.LatestExecution = &startExecution - } else { - testSuiteWithExecution.LatestExecution = &endExecution - } - } else if startErr == nil { - testSuiteWithExecution.LatestExecution = &startExecution - } else if endErr == nil { - testSuiteWithExecution.LatestExecution = &endExecution - } - - return c.JSON(testSuiteWithExecution) + return c.JSON(testkube.TestSuiteWithExecution{ + TestSuite: &testSuite, + LatestExecution: execution, + }) } } @@ -423,59 +406,18 @@ func (s TestkubeAPI) TestSuiteMetricsHandler() fiber.Handler { // getLatestTestSuiteExecutions return latest test suite executions either by starttime or endtine for tests func (s TestkubeAPI) getLatestTestSuiteExecutions(ctx context.Context, testSuiteNames []string) (map[string]testkube.TestSuiteExecution, error) { - executions, err := s.TestExecutionResults.GetLatestByTestSuites(ctx, testSuiteNames, "starttime") - if err != nil && err != mongo.ErrNoDocuments { - return nil, err - } - - startExecutionMap := make(map[string]testkube.TestSuiteExecution, len(executions)) - for i := range executions { - if executions[i].TestSuite == nil { - continue - } - - startExecutionMap[executions[i].TestSuite.Name] = executions[i] - } - - executions, err = s.TestExecutionResults.GetLatestByTestSuites(ctx, testSuiteNames, "endtime") + executions, err := s.TestExecutionResults.GetLatestByTestSuites(ctx, testSuiteNames) if err != nil && err != mongo.ErrNoDocuments { return nil, err } - endExecutionMap := make(map[string]testkube.TestSuiteExecution, len(executions)) + executionMap := make(map[string]testkube.TestSuiteExecution, len(executions)) for i := range executions { if executions[i].TestSuite == nil { continue } - - endExecutionMap[executions[i].TestSuite.Name] = executions[i] + executionMap[executions[i].TestSuite.Name] = executions[i] } - - executionMap := make(map[string]testkube.TestSuiteExecution) - for _, testSuiteName := range testSuiteNames { - startExecution, okStart := startExecutionMap[testSuiteName] - endExecution, okEnd := endExecutionMap[testSuiteName] - if !okStart && !okEnd { - continue - } - - if okStart && !okEnd { - executionMap[testSuiteName] = startExecution - continue - } - - if !okStart && okEnd { - executionMap[testSuiteName] = endExecution - continue - } - - if startExecution.StartTime.After(endExecution.EndTime) { - executionMap[testSuiteName] = startExecution - } else { - executionMap[testSuiteName] = endExecution - } - } - return executionMap, nil } diff --git a/internal/config/config.go b/internal/config/config.go index dfe78565418..0f7dfd2ae2a 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -68,6 +68,7 @@ type Config struct { DebugListenAddr string `envconfig:"DEBUG_LISTEN_ADDR" default:"0.0.0.0:1337"` EnableDebugServer bool `envconfig:"ENABLE_DEBUG_SERVER" default:"false"` EnableSecretsEndpoint bool `envconfig:"ENABLE_SECRETS_ENDPOINT" default:"false"` + DisableMongoMigrations bool `envconfig:"DISABLE_MONGO_MIGRATIONS" default:"false"` } func Get() (*Config, error) { diff --git a/internal/db-migrations/01_create_indexes.down.json b/internal/db-migrations/01_create_indexes.down.json new file mode 100644 index 00000000000..b858367f40a --- /dev/null +++ b/internal/db-migrations/01_create_indexes.down.json @@ -0,0 +1,10 @@ +[ + { + "dropIndexes": "testresults", + "index": ["id_hashed", "testsuite.name_hashed", "name_hashed", "status_hashed", "starttime_-1", "endtime_-1"] + }, + { + "dropIndexes": "results", + "index": ["id_hashed", "testname_hashed", "name_hashed", "executionresult.status_hashed", "starttime_-1", "endtime_-1"] + } +] diff --git a/internal/db-migrations/01_create_indexes.up.json b/internal/db-migrations/01_create_indexes.up.json new file mode 100644 index 00000000000..aa25bf65b8b --- /dev/null +++ b/internal/db-migrations/01_create_indexes.up.json @@ -0,0 +1,60 @@ +[ + { + "createIndexes": "testresults", + "indexes": [ + { + "key": {"id": "hashed"}, + "name": "id_hashed" + }, + { + "key": {"testsuite.name": "hashed"}, + "name": "testsuite.name_hashed" + }, + { + "key": {"name": "hashed"}, + "name": "name_hashed" + }, + { + "key": {"status": "hashed"}, + "name": "status_hashed" + }, + { + "key": {"starttime": -1}, + "name": "starttime_-1" + }, + { + "key": {"endtime": -1}, + "name": "endtime_-1" + } + ] + }, + { + "createIndexes": "results", + "indexes": [ + { + "key": {"id": "hashed"}, + "name": "id_hashed" + }, + { + "key": {"testname": "hashed"}, + "name": "testname_hashed" + }, + { + "key": {"name": "hashed"}, + "name": "name_hashed" + }, + { + "key": {"executionresult.status": "hashed"}, + "name": "executionresult.status_hashed" + }, + { + "key": {"starttime": -1}, + "name": "starttime_-1" + }, + { + "key": {"endtime": -1}, + "name": "endtime_-1" + } + ] + } +] diff --git a/internal/db-migrations/02_execution_search_indexes.down.json b/internal/db-migrations/02_execution_search_indexes.down.json new file mode 100644 index 00000000000..9fd7322df25 --- /dev/null +++ b/internal/db-migrations/02_execution_search_indexes.down.json @@ -0,0 +1,10 @@ +[ + { + "dropIndexes": "testresults", + "index": ["testsuite.name_hashed_starttime-1", "testsuite.name_hashed_endtime-1"] + }, + { + "dropIndexes": "results", + "index": ["testname_hashed_starttime-1", "testname_hashed_endtime-1"] + } +] diff --git a/internal/db-migrations/02_execution_search_indexes.up.json b/internal/db-migrations/02_execution_search_indexes.up.json new file mode 100644 index 00000000000..f4fe2e6e2f6 --- /dev/null +++ b/internal/db-migrations/02_execution_search_indexes.up.json @@ -0,0 +1,28 @@ +[ + { + "createIndexes": "testresults", + "indexes": [ + { + "key": {"testsuite.name": "hashed", "starttime": -1}, + "name": "testsuite.name_hashed_starttime-1" + }, + { + "key": {"testsuite.name": "hashed", "endtime": -1}, + "name": "testsuite.name_hashed_endtime-1" + } + ] + }, + { + "createIndexes": "results", + "indexes": [ + { + "key": {"testname": "hashed", "starttime": -1}, + "name": "testname_hashed_starttime-1" + }, + { + "key": {"testname": "hashed", "endtime": -1}, + "name": "testname_hashed_endtime-1" + } + ] + } +] diff --git a/internal/db-migrations/fs.go b/internal/db-migrations/fs.go new file mode 100644 index 00000000000..a35b608c757 --- /dev/null +++ b/internal/db-migrations/fs.go @@ -0,0 +1,6 @@ +package db_migrations + +import "embed" + +//go:embed *.up.json *.down.json +var MongoMigrationsFs embed.FS diff --git a/pkg/api/v1/testkube/model_executor.go b/pkg/api/v1/testkube/model_executor.go index 841315a8fa2..cdaed5aa1e9 100644 --- a/pkg/api/v1/testkube/model_executor.go +++ b/pkg/api/v1/testkube/model_executor.go @@ -37,4 +37,6 @@ type Executor struct { // Available executor features Features []string `json:"features,omitempty"` Meta *ExecutorMeta `json:"meta,omitempty"` + // use data dir as working dir for executor + UseDataDirAsWorkingDir bool `json:"useDataDirAsWorkingDir,omitempty"` } diff --git a/pkg/api/v1/testkube/model_executor_update_request.go b/pkg/api/v1/testkube/model_executor_update_request.go index f14a697786f..2920470b8dc 100644 --- a/pkg/api/v1/testkube/model_executor_update_request.go +++ b/pkg/api/v1/testkube/model_executor_update_request.go @@ -41,4 +41,6 @@ type ExecutorUpdateRequest struct { // Available executor features Features *[]string `json:"features,omitempty"` Meta **ExecutorMetaUpdate `json:"meta,omitempty"` + // use data dir as working dir for executor + UseDataDirAsWorkingDir *bool `json:"useDataDirAsWorkingDir,omitempty"` } diff --git a/pkg/api/v1/testkube/model_executor_upsert_request.go b/pkg/api/v1/testkube/model_executor_upsert_request.go index 2ec4bf160df..3fc6f21021a 100644 --- a/pkg/api/v1/testkube/model_executor_upsert_request.go +++ b/pkg/api/v1/testkube/model_executor_upsert_request.go @@ -41,4 +41,6 @@ type ExecutorUpsertRequest struct { // Available executor features Features []string `json:"features,omitempty"` Meta *ExecutorMeta `json:"meta,omitempty"` + // use data dir as working dir for executor + UseDataDirAsWorkingDir bool `json:"useDataDirAsWorkingDir,omitempty"` } diff --git a/pkg/api/v1/testkube/model_test_base.go b/pkg/api/v1/testkube/model_test_base.go index 220cab692a7..11d3f6dcc16 100644 --- a/pkg/api/v1/testkube/model_test_base.go +++ b/pkg/api/v1/testkube/model_test_base.go @@ -30,10 +30,10 @@ type Test struct { Labels map[string]string `json:"labels,omitempty"` // schedule to run test Schedule string `json:"schedule,omitempty"` + // if test is offline and cannot be executed + ReadOnly bool `json:"readOnly,omitempty"` // list of file paths that will be needed from uploads Uploads []string `json:"uploads,omitempty"` ExecutionRequest *ExecutionRequest `json:"executionRequest,omitempty"` Status *TestStatus `json:"status,omitempty"` - // true means that test is offline and cannot be executed - ReadOnly bool `json:"readOnly,omitempty"` } diff --git a/pkg/cloud/data/result/result.go b/pkg/cloud/data/result/result.go index 0266c838013..a0e41f38564 100644 --- a/pkg/cloud/data/result/result.go +++ b/pkg/cloud/data/result/result.go @@ -5,6 +5,7 @@ import ( "encoding/json" "time" + "go.mongodb.org/mongo-driver/mongo" "google.golang.org/grpc" "github.com/kubeshop/testkube/pkg/cloud/data/executor" @@ -67,7 +68,7 @@ func (r *CloudRepository) GetByNameAndTest(ctx context.Context, name, testName s return commandResponse.Execution, nil } -func (r *CloudRepository) GetLatestByTest(ctx context.Context, testName, sortField string) (testkube.Execution, error) { +func (r *CloudRepository) getLatestByTest(ctx context.Context, testName, sortField string) (testkube.Execution, error) { req := GetLatestByTestRequest{TestName: testName, SortField: sortField} response, err := r.executor.Execute(ctx, CmdResultGetLatestByTest, req) if err != nil { @@ -80,7 +81,33 @@ func (r *CloudRepository) GetLatestByTest(ctx context.Context, testName, sortFie return commandResponse.Execution, nil } -func (r *CloudRepository) GetLatestByTests(ctx context.Context, testNames []string, sortField string) ([]testkube.Execution, error) { +// TODO: When it will be implemented, replace with a new Cloud command, to avoid 2 calls with 2 sort fields +func (r *CloudRepository) GetLatestByTest(ctx context.Context, testName string) (*testkube.Execution, error) { + startExecution, startErr := r.getLatestByTest(ctx, testName, "starttime") + if startErr != nil && startErr != mongo.ErrNoDocuments { + return nil, startErr + } + endExecution, endErr := r.getLatestByTest(ctx, testName, "endtime") + if endErr != nil && endErr != mongo.ErrNoDocuments { + return nil, endErr + } + + if startErr == nil && endErr == nil { + if startExecution.StartTime.After(endExecution.EndTime) { + return &startExecution, nil + } else { + return &endExecution, nil + } + } else if startErr == nil { + return &startExecution, nil + } else if endErr == nil { + return &endExecution, nil + } + return nil, startErr +} + +// TODO: When it will be implemented, replace with a new Cloud command, to avoid 2 calls with 2 sort fields +func (r *CloudRepository) getLatestByTests(ctx context.Context, testNames []string, sortField string) ([]testkube.Execution, error) { req := GetLatestByTestsRequest{TestNames: testNames, SortField: sortField} response, err := r.executor.Execute(ctx, CmdResultGetLatestByTests, req) if err != nil { @@ -93,6 +120,41 @@ func (r *CloudRepository) GetLatestByTests(ctx context.Context, testNames []stri return commandResponse.Executions, nil } +// TODO: When it will be implemented, replace with a new Cloud command, to avoid 2 calls with 2 sort fields +func (r *CloudRepository) GetLatestByTests(ctx context.Context, testNames []string) ([]testkube.Execution, error) { + startExecutions, err := r.getLatestByTests(ctx, testNames, "starttime") + if err != nil { + return nil, err + } + endExecutions, err := r.getLatestByTests(ctx, testNames, "endtime") + if err != nil { + return nil, err + } + executionsCount := len(startExecutions) + if len(endExecutions) > executionsCount { + executionsCount = len(endExecutions) + } + executionsMap := make(map[string]*testkube.Execution, executionsCount) + for i := range startExecutions { + executionsMap[startExecutions[i].TestName] = &startExecutions[i] + } + for i := range endExecutions { + startExecution, ok := executionsMap[endExecutions[i].TestName] + if ok { + if endExecutions[i].EndTime.After(startExecution.StartTime) { + executionsMap[endExecutions[i].TestName] = &endExecutions[i] + } + } else { + executionsMap[endExecutions[i].TestName] = &endExecutions[i] + } + } + executions := make([]testkube.Execution, 0, executionsCount) + for _, value := range executionsMap { + executions = append(executions, *value) + } + return executions, nil +} + func (r *CloudRepository) GetExecutions(ctx context.Context, filter result.Filter) ([]testkube.Execution, error) { filterImpl, ok := filter.(*result.FilterImpl) if !ok { diff --git a/pkg/cloud/data/result/result_test.go b/pkg/cloud/data/result/result_test.go index f8a1e188bac..32f1982e3af 100644 --- a/pkg/cloud/data/result/result_test.go +++ b/pkg/cloud/data/result/result_test.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "testing" + "time" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" @@ -99,17 +100,24 @@ func TestCloudResultRepository_GetLatestByTest(t *testing.T) { repo := &CloudRepository{executor: mockExecutor} testName := "test_name" - sortField := "sort_field" - execution := testkube.Execution{Id: "id"} - - req := GetLatestByTestRequest{TestName: testName, SortField: sortField} - response := GetLatestByTestResponse{Execution: execution} - expectedResponseBytes, _ := json.Marshal(response) - mockExecutor.EXPECT().Execute(gomock.Any(), CmdResultGetLatestByTest, req).Return(expectedResponseBytes, nil) - - result, err := repo.GetLatestByTest(ctx, testName, sortField) + prevDate := time.Date(2023, 5, 5, 0, 0, 0, 0, time.UTC) + nextDate := prevDate.Add(time.Hour) + + startExecution := testkube.Execution{Id: "id1", StartTime: prevDate} + endExecution := testkube.Execution{Id: "id2", StartTime: prevDate, EndTime: nextDate} + + startReq := GetLatestByTestRequest{TestName: testName, SortField: "starttime"} + startResponse := GetLatestByTestResponse{Execution: startExecution} + startResponseBytes, _ := json.Marshal(startResponse) + endReq := GetLatestByTestRequest{TestName: testName, SortField: "endtime"} + endResponse := GetLatestByTestResponse{Execution: endExecution} + endResponseBytes, _ := json.Marshal(endResponse) + mockExecutor.EXPECT().Execute(gomock.Any(), CmdResultGetLatestByTest, startReq).Return(startResponseBytes, nil) + mockExecutor.EXPECT().Execute(gomock.Any(), CmdResultGetLatestByTest, endReq).Return(endResponseBytes, nil) + + result, err := repo.GetLatestByTest(ctx, testName) assert.NoError(t, err) - assert.Equal(t, execution, result) + assert.Equal(t, &endExecution, result) } func TestCloudResultRepository_Insert(t *testing.T) { diff --git a/pkg/cloud/data/testresult/testresult.go b/pkg/cloud/data/testresult/testresult.go index 434a59f3277..6a67eb20ed2 100644 --- a/pkg/cloud/data/testresult/testresult.go +++ b/pkg/cloud/data/testresult/testresult.go @@ -6,6 +6,7 @@ import ( "errors" "time" + "go.mongodb.org/mongo-driver/mongo" "google.golang.org/grpc" "github.com/kubeshop/testkube/pkg/api/v1/testkube" @@ -50,7 +51,7 @@ func (r *CloudRepository) GetByNameAndTestSuite(ctx context.Context, name, testS return commandResponse.TestSuiteExecution, nil } -func (r *CloudRepository) GetLatestByTestSuite(ctx context.Context, testSuiteName, sortField string) (testkube.TestSuiteExecution, error) { +func (r *CloudRepository) getLatestByTestSuite(ctx context.Context, testSuiteName, sortField string) (testkube.TestSuiteExecution, error) { req := GetLatestByTestSuiteRequest{TestSuiteName: testSuiteName, SortField: sortField} response, err := r.executor.Execute(ctx, CmdTestResultGetLatestByTestSuite, req) if err != nil { @@ -63,7 +64,32 @@ func (r *CloudRepository) GetLatestByTestSuite(ctx context.Context, testSuiteNam return commandResponse.TestSuiteExecution, nil } -func (r *CloudRepository) GetLatestByTestSuites(ctx context.Context, testSuiteNames []string, sortField string) (executions []testkube.TestSuiteExecution, err error) { +// TODO: When it will be implemented, replace with a new Cloud command, to avoid 2 calls with 2 sort fields +func (r *CloudRepository) GetLatestByTestSuite(ctx context.Context, testSuiteName string) (*testkube.TestSuiteExecution, error) { + startExecution, startErr := r.getLatestByTestSuite(ctx, testSuiteName, "starttime") + if startErr != nil && startErr != mongo.ErrNoDocuments { + return nil, startErr + } + endExecution, endErr := r.getLatestByTestSuite(ctx, testSuiteName, "endtime") + if endErr != nil && endErr != mongo.ErrNoDocuments { + return nil, endErr + } + + if startErr == nil && endErr == nil { + if startExecution.StartTime.After(endExecution.EndTime) { + return &startExecution, nil + } else { + return &endExecution, nil + } + } else if startErr == nil { + return &startExecution, nil + } else if endErr == nil { + return &endExecution, nil + } + return nil, startErr +} + +func (r *CloudRepository) getLatestByTestSuites(ctx context.Context, testSuiteNames []string, sortField string) (executions []testkube.TestSuiteExecution, err error) { req := GetLatestByTestSuitesRequest{TestSuiteNames: testSuiteNames, SortField: sortField} response, err := r.executor.Execute(ctx, CmdTestResultGetLatestByTestSuites, req) if err != nil { @@ -76,6 +102,47 @@ func (r *CloudRepository) GetLatestByTestSuites(ctx context.Context, testSuiteNa return commandResponse.TestSuiteExecutions, nil } +// TODO: When it will be implemented, replace with a new Cloud command, to avoid 2 calls with 2 sort fields +func (r *CloudRepository) GetLatestByTestSuites(ctx context.Context, testSuiteNames []string) ([]testkube.TestSuiteExecution, error) { + startExecutions, err := r.getLatestByTestSuites(ctx, testSuiteNames, "starttime") + if err != nil { + return nil, err + } + endExecutions, err := r.getLatestByTestSuites(ctx, testSuiteNames, "endtime") + if err != nil { + return nil, err + } + executionsCount := len(startExecutions) + if len(endExecutions) > executionsCount { + executionsCount = len(endExecutions) + } + executionsMap := make(map[string]*testkube.TestSuiteExecution, executionsCount) + for i := range startExecutions { + if startExecutions[i].TestSuite == nil { + continue + } + executionsMap[startExecutions[i].TestSuite.Name] = &startExecutions[i] + } + for i := range endExecutions { + if endExecutions[i].TestSuite == nil { + continue + } + startExecution, ok := executionsMap[endExecutions[i].TestSuite.Name] + if ok { + if endExecutions[i].EndTime.After(startExecution.StartTime) { + executionsMap[endExecutions[i].TestSuite.Name] = &endExecutions[i] + } + } else { + executionsMap[endExecutions[i].TestSuite.Name] = &endExecutions[i] + } + } + executions := make([]testkube.TestSuiteExecution, 0, executionsCount) + for _, value := range executionsMap { + executions = append(executions, *value) + } + return executions, nil +} + func (r *CloudRepository) GetExecutionsTotals(ctx context.Context, filters ...testresult.Filter) (totals testkube.ExecutionsTotals, err error) { var filterImpls []*testresult.FilterImpl for _, f := range filters { diff --git a/pkg/cloud/data/testresult/testresult_test.go b/pkg/cloud/data/testresult/testresult_test.go index 9a1644df29f..35197a3f72d 100644 --- a/pkg/cloud/data/testresult/testresult_test.go +++ b/pkg/cloud/data/testresult/testresult_test.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "testing" + "time" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" @@ -70,18 +71,32 @@ func TestCloudResultRepository_GetLatestByTestSuites(t *testing.T) { mockExecutor := executor.NewMockExecutor(mockCtrl) repo := &CloudRepository{executor: mockExecutor} + prevDate := time.Date(2023, 5, 5, 0, 0, 0, 0, time.UTC) + midDate := prevDate.Add(time.Hour) + nextDate := midDate.Add(time.Hour) testSuiteNames := []string{"test-suite-1", "test-suite-2"} - sortField := "sort-field" - expectedResults := []testkube.TestSuiteExecution{{Id: "id1"}, {Id: "id2"}} - req := GetLatestByTestSuitesRequest{TestSuiteNames: testSuiteNames, SortField: sortField} - expectedResponse := GetLatestByTestSuitesResponse{TestSuiteExecutions: expectedResults} - expectedResponseBytes, _ := json.Marshal(expectedResponse) + testSuite1 := &testkube.ObjectRef{Name: testSuiteNames[0]} + testSuite2 := &testkube.ObjectRef{Name: testSuiteNames[1]} + + startResults := []testkube.TestSuiteExecution{{Id: "id1", TestSuite: testSuite1, StartTime: midDate, EndTime: midDate}, {Id: "id2", TestSuite: testSuite2, StartTime: midDate}} + endResults := []testkube.TestSuiteExecution{{Id: "id3", TestSuite: testSuite1, StartTime: prevDate, EndTime: nextDate}, {Id: "id4", TestSuite: testSuite2, StartTime: prevDate, EndTime: prevDate}} + expectedResults := []testkube.TestSuiteExecution{endResults[0], startResults[1]} + + startReq := GetLatestByTestSuitesRequest{TestSuiteNames: testSuiteNames, SortField: "starttime"} + startResponse := GetLatestByTestSuitesResponse{TestSuiteExecutions: startResults} + startResponseBytes, _ := json.Marshal(startResponse) + endReq := GetLatestByTestSuitesRequest{TestSuiteNames: testSuiteNames, SortField: "endtime"} + endResponse := GetLatestByTestSuitesResponse{TestSuiteExecutions: endResults} + endResponseBytes, _ := json.Marshal(endResponse) - mockExecutor.EXPECT().Execute(ctx, CmdTestResultGetLatestByTestSuites, req).Return(expectedResponseBytes, nil) + mockExecutor.EXPECT().Execute(ctx, CmdTestResultGetLatestByTestSuites, startReq).Return(startResponseBytes, nil) + mockExecutor.EXPECT().Execute(ctx, CmdTestResultGetLatestByTestSuites, endReq).Return(endResponseBytes, nil) - results, err := repo.GetLatestByTestSuites(ctx, testSuiteNames, sortField) + results, err := repo.GetLatestByTestSuites(ctx, testSuiteNames) if err != nil { t.Fatalf("GetLatestByTestSuites() returned an unexpected error: %v", err) } - assert.Equal(t, expectedResults, results) + assert.Equal(t, len(results), len(expectedResults)) + assert.Contains(t, results, expectedResults[0]) + assert.Contains(t, results, expectedResults[1]) } diff --git a/pkg/crd/crd_test.go b/pkg/crd/crd_test.go index 176d03c1271..890b9654c59 100644 --- a/pkg/crd/crd_test.go +++ b/pkg/crd/crd_test.go @@ -75,7 +75,7 @@ func TestGenerateYAML(t *testing.T) { }) t.Run("generate executor CRD yaml", func(t *testing.T) { // given - expected := "apiVersion: executor.testkube.io/v1\nkind: Executor\nmetadata:\n name: name1\n namespace: namespace1\n labels:\n key1: value1\nspec:\n types:\n - custom-curl-container/test\n executor_type: container\n image: docker.io/curlimages/curl:latest\n args:\n - -v\n - test\n command:\n - curl\n imagePullSecrets:\n - name: secret-name\n features:\n - artifacts\n content_types:\n - git-file\n - git-dir\n meta:\n iconURI: http://mydomain.com/icon.jpg\n docsURI: http://mydomain.com/docs\n tooltips:\n name: please enter executor name\n" + expected := "apiVersion: executor.testkube.io/v1\nkind: Executor\nmetadata:\n name: name1\n namespace: namespace1\n labels:\n key1: value1\nspec:\n types:\n - custom-curl-container/test\n executor_type: container\n image: docker.io/curlimages/curl:latest\n args:\n - -v\n - test\n command:\n - curl\n imagePullSecrets:\n - name: secret-name\n features:\n - artifacts\n content_types:\n - git-file\n - git-dir\n meta:\n iconURI: http://mydomain.com/icon.jpg\n docsURI: http://mydomain.com/docs\n tooltips:\n name: please enter executor name\n useDataDirAsWorkingDir: true\n" executors := []testkube.ExecutorUpsertRequest{ { Namespace: "namespace1", @@ -100,6 +100,7 @@ func TestGenerateYAML(t *testing.T) { "name": "please enter executor name", }, }, + UseDataDirAsWorkingDir: true, }, } diff --git a/pkg/crd/templates/executor.tmpl b/pkg/crd/templates/executor.tmpl index 1f206f07478..c470be8fd39 100644 --- a/pkg/crd/templates/executor.tmpl +++ b/pkg/crd/templates/executor.tmpl @@ -76,3 +76,6 @@ spec: {{- end }} {{- end }} {{- end}} + {{- if .UseDataDirAsWorkingDir }} + useDataDirAsWorkingDir: {{ .UseDataDirAsWorkingDir }} + {{- end }} diff --git a/pkg/dbmigrator/database.go b/pkg/dbmigrator/database.go new file mode 100644 index 00000000000..401301b981a --- /dev/null +++ b/pkg/dbmigrator/database.go @@ -0,0 +1,63 @@ +package dbmigrator + +import ( + "context" + "time" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" +) + +//go:generate mockgen -destination=./mock_database.go -package=dbmigrator "github.com/kubeshop/testkube/pkg/dbmigrator" Database +type Database interface { + RunCommands(ctx context.Context, commands []bson.D) error + InsertMigrationState(ctx context.Context, migration *DbMigration) error + DeleteMigrationState(ctx context.Context, migration *DbMigration) error + GetAppliedMigrations(ctx context.Context) ([]DbMigration, error) +} + +type database struct { + db *mongo.Database + migrationsColl *mongo.Collection +} + +// TODO: Consider locks +func NewDatabase(db *mongo.Database, migrationsColl string) Database { + return &database{db: db, migrationsColl: db.Collection(migrationsColl)} +} + +// TODO: Consider transactions, but it requires MongoDB with replicaset +func (d *database) RunCommands(ctx context.Context, commands []bson.D) error { + for _, cmd := range commands { + err := d.db.RunCommand(ctx, cmd).Err() + if err != nil { + return err + } + } + return nil +} + +func (d *database) InsertMigrationState(ctx context.Context, migration *DbMigration) error { + _, err := d.migrationsColl.InsertOne(ctx, bson.M{ + "name": migration.Name, + "up": migration.UpScript, + "down": migration.DownScript, + "timestamp": time.Now(), + }) + return err +} + +func (d *database) DeleteMigrationState(ctx context.Context, migration *DbMigration) error { + _, err := d.migrationsColl.DeleteOne(ctx, bson.M{"name": migration.Name}) + return err +} + +func (d *database) GetAppliedMigrations(ctx context.Context) (results []DbMigration, err error) { + cursor, err := d.migrationsColl.Find(ctx, bson.M{}, &options.FindOptions{Sort: bson.M{"name": 1}}) + if err != nil { + return nil, err + } + err = cursor.All(ctx, &results) + return results, err +} diff --git a/pkg/dbmigrator/dbmigrator.go b/pkg/dbmigrator/dbmigrator.go new file mode 100644 index 00000000000..77bb611c140 --- /dev/null +++ b/pkg/dbmigrator/dbmigrator.go @@ -0,0 +1,159 @@ +package dbmigrator + +import ( + "context" + "io/fs" + "path/filepath" + "reflect" + "regexp" + "sort" + + "github.com/pkg/errors" + "go.mongodb.org/mongo-driver/bson" + "golang.org/x/exp/slices" +) + +type DbPlan struct { + Ups []DbMigration + Downs []DbMigration + Total int +} + +type DbMigration struct { + Name string `bson:"name"` + UpScript []bson.D `bson:"up"` + DownScript []bson.D `bson:"down"` +} + +type DbMigrator struct { + db Database + list []DbMigration +} + +func GetDbMigrationsFromFs(fsys fs.FS) ([]DbMigration, error) { + filePaths, err := fs.Glob(fsys, "*.json") + if err != nil { + return nil, err + } + sort.Slice(filePaths, func(i, j int) bool { + return filePaths[i] < filePaths[j] + }) + var list []DbMigration + upRe := regexp.MustCompile(`\.up\.json$`) + for _, filePath := range filePaths { + if !upRe.MatchString(filePath) { + continue + } + name := upRe.ReplaceAllString(filepath.Base(filePath), "") + downFilePath := upRe.ReplaceAllString(filePath, ".down.json") + var upBytes []byte + downBytes := []byte("[]") + if slices.Contains(filePaths, downFilePath) { + downBytes, err = fs.ReadFile(fsys, downFilePath) + if err != nil { + return nil, err + } + } + upBytes, err = fs.ReadFile(fsys, filePath) + if err != nil { + return nil, err + } + var downScript, upScript []bson.D + err = bson.UnmarshalExtJSON(downBytes, true, &downScript) + if err != nil { + return nil, errors.Wrapf(err, "migration '%s' has invalid rollback commands", name) + } + err = bson.UnmarshalExtJSON(upBytes, true, &upScript) + if err != nil { + return nil, errors.Wrapf(err, "migration '%s' has invalid commands", name) + } + list = append(list, DbMigration{ + Name: name, + UpScript: upScript, + DownScript: downScript, + }) + } + return list, nil +} + +func NewDbMigrator(db Database, list []DbMigration) *DbMigrator { + return &DbMigrator{db: db, list: list} +} + +func (d *DbMigrator) up(ctx context.Context, migration *DbMigration) (err error) { + err = d.db.RunCommands(ctx, migration.UpScript) + if err != nil { + downErr := d.down(ctx, migration) + if downErr == nil { + return errors.Wrapf(err, "migration '%s' failed, rolled back.", migration.Name) + } else { + return errors.Wrapf(err, "migration '%s' failed, rolled failed to: %v", migration.Name, downErr.Error()) + } + } + err = d.db.InsertMigrationState(ctx, migration) + if err != nil { + return errors.Wrapf(err, "failed to save '%s' migration state to database", migration.Name) + } + return nil +} + +// TODO: Consider transactions, but it requires MongoDB with replicaset +func (d *DbMigrator) down(ctx context.Context, migration *DbMigration) (err error) { + err = d.db.RunCommands(ctx, migration.DownScript) + if err != nil { + return errors.Wrapf(err, "rolling back '%s' failed.", migration.Name) + } + err = d.db.DeleteMigrationState(ctx, migration) + if err != nil { + return errors.Wrapf(err, "failed to save '%s' rollback state to database", migration.Name) + } + return err +} + +func (d *DbMigrator) GetApplied(ctx context.Context) (results []DbMigration, err error) { + return d.db.GetAppliedMigrations(ctx) +} + +func (d *DbMigrator) Plan(ctx context.Context) (plan DbPlan, err error) { + applied, err := d.GetApplied(ctx) + if err != nil { + return plan, err + } + matchCount := 0 + for i, migration := range d.list { + if i >= len(applied) || applied[i].Name != migration.Name || !reflect.DeepEqual(applied[i].UpScript, migration.UpScript) { + break + } + matchCount++ + } + + if matchCount < len(applied) { + plan.Downs = applied[matchCount:] + slices.Reverse(plan.Downs) + } + if len(d.list) > matchCount { + plan.Ups = d.list[matchCount:] + } + plan.Total = len(plan.Ups) + len(plan.Downs) + return plan, err +} + +func (d *DbMigrator) Apply(ctx context.Context) error { + plan, err := d.Plan(ctx) + if err != nil { + return err + } + for _, migration := range plan.Downs { + err = d.down(ctx, &migration) + if err != nil { + return err + } + } + for _, migration := range plan.Ups { + err = d.up(ctx, &migration) + if err != nil { + return err + } + } + return nil +} diff --git a/pkg/dbmigrator/dbmigrator_test.go b/pkg/dbmigrator/dbmigrator_test.go new file mode 100644 index 00000000000..ff6527af3c1 --- /dev/null +++ b/pkg/dbmigrator/dbmigrator_test.go @@ -0,0 +1,239 @@ +package dbmigrator + +import ( + "context" + "testing" + + "github.com/golang/mock/gomock" + "github.com/pkg/errors" + "github.com/spf13/afero" + "github.com/stretchr/testify/assert" + "go.mongodb.org/mongo-driver/bson" +) + +var ( + migration1 = DbMigration{ + Name: "migration1", + UpScript: []bson.D{{{Key: "A1", Value: "VA1"}}}, + DownScript: []bson.D{{{Key: "A2", Value: "VA2"}}}, + } + migration2 = DbMigration{ + Name: "migration2", + UpScript: []bson.D{{{Key: "B1", Value: "VB1"}}}, + DownScript: []bson.D{{{Key: "B2", Value: "VB2"}}}, + } + migration2Changed = DbMigration{ + Name: "migration2", + UpScript: []bson.D{{{Key: "AC1", Value: "VAC1"}}}, + DownScript: []bson.D{{{Key: "AC2", Value: "VAC2"}}}, + } + migration3 = DbMigration{ + Name: "migration3", + UpScript: []bson.D{{{Key: "C1", Value: "VC1"}}}, + DownScript: []bson.D{{{Key: "C2", Value: "VC2"}}}, + } +) + +func TestDbMigrator_GetApplied(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{}) + ctx := context.Background() + expected := []DbMigration{migration1, migration2} + + db.EXPECT().GetAppliedMigrations(ctx).Return(expected, nil) + + result, err := migrator.GetApplied(ctx) + + assert.Equal(t, result, expected) + assert.NoError(t, err) +} + +func TestDbMigrator_Plan_Empty(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{}, nil) + + result, err := migrator.Plan(ctx) + + assert.Equal(t, DbPlan{Ups: nil, Downs: nil, Total: 0}, result) + assert.NoError(t, err) +} + +func TestDbMigrator_Plan_Same(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1}, nil) + + result, err := migrator.Plan(ctx) + + assert.Equal(t, DbPlan{Ups: nil, Downs: nil, Total: 0}, result) + assert.NoError(t, err) +} + +func TestDbMigrator_Plan_New(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1, migration2}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1}, nil) + + result, err := migrator.Plan(ctx) + + assert.Equal(t, DbPlan{Ups: []DbMigration{migration2}, Downs: nil, Total: 1}, result) + assert.NoError(t, err) +} + +func TestDbMigrator_Plan_Deleted(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1, migration2}, nil) + + result, err := migrator.Plan(ctx) + + assert.Equal(t, DbPlan{Ups: nil, Downs: []DbMigration{migration2}, Total: 1}, result) + assert.NoError(t, err) +} + +func TestDbMigrator_Plan_Updated(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1, migration2Changed, migration3}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1, migration2, migration3}, nil) + + result, err := migrator.Plan(ctx) + + assert.Equal(t, DbPlan{Ups: []DbMigration{migration2Changed, migration3}, Downs: []DbMigration{migration3, migration2}, Total: 4}, result) + assert.NoError(t, err) +} + +func TestDbMigrator_Apply_Empty(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{}, nil) + + err := migrator.Apply(ctx) + + assert.NoError(t, err) +} + +func TestDbMigrator_Apply_Same(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1}, nil) + + err := migrator.Apply(ctx) + + assert.NoError(t, err) +} + +func TestDbMigrator_Apply_New(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1, migration2}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1}, nil) + db.EXPECT().RunCommands(ctx, migration2.UpScript).Return(nil) + db.EXPECT().InsertMigrationState(ctx, &migration2).Return(nil) + + err := migrator.Apply(ctx) + + assert.NoError(t, err) +} + +func TestDbMigrator_Apply_Deleted(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1}) + ctx := context.Background() + + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1, migration2}, nil) + db.EXPECT().RunCommands(ctx, migration2.DownScript).Return(nil) + db.EXPECT().DeleteMigrationState(ctx, &migration2).Return(nil) + + err := migrator.Apply(ctx) + + assert.NoError(t, err) +} + +func TestDbMigrator_Apply_Updated(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1, migration2Changed, migration3}) + ctx := context.Background() + + gomock.InOrder( + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1, migration2, migration3}, nil), + db.EXPECT().RunCommands(ctx, migration3.DownScript).Return(nil), + db.EXPECT().DeleteMigrationState(ctx, &migration3).Return(nil), + db.EXPECT().RunCommands(ctx, migration2.DownScript).Return(nil), + db.EXPECT().DeleteMigrationState(ctx, &migration2).Return(nil), + db.EXPECT().RunCommands(ctx, migration2Changed.UpScript).Return(nil), + db.EXPECT().InsertMigrationState(ctx, &migration2Changed).Return(nil), + db.EXPECT().RunCommands(ctx, migration3.UpScript).Return(nil), + db.EXPECT().InsertMigrationState(ctx, &migration3).Return(nil), + ) + + err := migrator.Apply(ctx) + + assert.NoError(t, err) +} + +func TestDbMigrator_Apply_Downgrade_On_Apply_Error(t *testing.T) { + mockCtrl := gomock.NewController(t) + db := NewMockDatabase(mockCtrl) + migrator := NewDbMigrator(db, []DbMigration{migration1, migration2}) + ctx := context.Background() + + gomock.InOrder( + db.EXPECT().GetAppliedMigrations(ctx).Return([]DbMigration{migration1}, nil), + db.EXPECT().RunCommands(ctx, migration2.UpScript).Return(errors.New("test-failed")), + db.EXPECT().RunCommands(ctx, migration2.DownScript).Return(nil), + db.EXPECT().DeleteMigrationState(ctx, &migration2).Return(nil), + ) + + err := migrator.Apply(ctx) + + assert.Error(t, err, "test-failed") +} + +func TestGetDbMigrationsFromFs_Empty(t *testing.T) { + fsys := &afero.IOFS{Fs: afero.NewMemMapFs()} + migrations, err := GetDbMigrationsFromFs(fsys) + assert.Equal(t, []DbMigration(nil), migrations) + assert.NoError(t, err) +} + +func TestGetDbMigrationsFromFs_Files(t *testing.T) { + fsys := &afero.IOFS{Fs: afero.NewMemMapFs()} + _ = afero.WriteFile(fsys.Fs, "02_file.up.json", []byte(`[{"a": "2"}]`), 0644) + _ = afero.WriteFile(fsys.Fs, "01_file.up.json", []byte(`[{"a": "1"}]`), 0644) + _ = afero.WriteFile(fsys.Fs, "02_file.down.json", []byte(`[{"b": "2"}]`), 0644) + _ = afero.WriteFile(fsys.Fs, "no_suffix.json", []byte(`[{"b": "2"}]`), 0644) + _ = afero.WriteFile(fsys.Fs, "different_ext.up.js", []byte(`[{"b": "2"}]`), 0644) + migrations, err := GetDbMigrationsFromFs(fsys) + assert.Equal(t, []DbMigration{ + {Name: "01_file", UpScript: []bson.D{{{Key: "a", Value: "1"}}}, DownScript: []bson.D{}}, + {Name: "02_file", UpScript: []bson.D{{{Key: "a", Value: "2"}}}, DownScript: []bson.D{{{Key: "b", Value: "2"}}}}, + }, migrations) + assert.NoError(t, err) +} diff --git a/pkg/dbmigrator/mock_database.go b/pkg/dbmigrator/mock_database.go new file mode 100644 index 00000000000..0a39ae785c3 --- /dev/null +++ b/pkg/dbmigrator/mock_database.go @@ -0,0 +1,93 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/kubeshop/testkube/pkg/dbmigrator (interfaces: Database) + +// Package dbmigrator is a generated GoMock package. +package dbmigrator + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + primitive "go.mongodb.org/mongo-driver/bson/primitive" +) + +// MockDatabase is a mock of Database interface. +type MockDatabase struct { + ctrl *gomock.Controller + recorder *MockDatabaseMockRecorder +} + +// MockDatabaseMockRecorder is the mock recorder for MockDatabase. +type MockDatabaseMockRecorder struct { + mock *MockDatabase +} + +// NewMockDatabase creates a new mock instance. +func NewMockDatabase(ctrl *gomock.Controller) *MockDatabase { + mock := &MockDatabase{ctrl: ctrl} + mock.recorder = &MockDatabaseMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDatabase) EXPECT() *MockDatabaseMockRecorder { + return m.recorder +} + +// DeleteMigrationState mocks base method. +func (m *MockDatabase) DeleteMigrationState(arg0 context.Context, arg1 *DbMigration) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteMigrationState", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMigrationState indicates an expected call of DeleteMigrationState. +func (mr *MockDatabaseMockRecorder) DeleteMigrationState(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMigrationState", reflect.TypeOf((*MockDatabase)(nil).DeleteMigrationState), arg0, arg1) +} + +// GetAppliedMigrations mocks base method. +func (m *MockDatabase) GetAppliedMigrations(arg0 context.Context) ([]DbMigration, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAppliedMigrations", arg0) + ret0, _ := ret[0].([]DbMigration) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAppliedMigrations indicates an expected call of GetAppliedMigrations. +func (mr *MockDatabaseMockRecorder) GetAppliedMigrations(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAppliedMigrations", reflect.TypeOf((*MockDatabase)(nil).GetAppliedMigrations), arg0) +} + +// InsertMigrationState mocks base method. +func (m *MockDatabase) InsertMigrationState(arg0 context.Context, arg1 *DbMigration) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InsertMigrationState", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// InsertMigrationState indicates an expected call of InsertMigrationState. +func (mr *MockDatabaseMockRecorder) InsertMigrationState(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertMigrationState", reflect.TypeOf((*MockDatabase)(nil).InsertMigrationState), arg0, arg1) +} + +// RunCommands mocks base method. +func (m *MockDatabase) RunCommands(arg0 context.Context, arg1 []primitive.D) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RunCommands", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunCommands indicates an expected call of RunCommands. +func (mr *MockDatabaseMockRecorder) RunCommands(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCommands", reflect.TypeOf((*MockDatabase)(nil).RunCommands), arg0, arg1) +} diff --git a/pkg/executor/agent/agent.go b/pkg/executor/agent/agent.go index 6380fc3da16..955922a0732 100644 --- a/pkg/executor/agent/agent.go +++ b/pkg/executor/agent/agent.go @@ -95,9 +95,9 @@ func Run(ctx context.Context, r runner.Runner, args []string) { if r.GetType().IsMain() { output.PrintEvent("test execution finished", e.Id) + output.PrintResult(result) } - output.PrintResult(result) } // RunScript runs script diff --git a/pkg/executor/client/job.go b/pkg/executor/client/job.go index 9864da303b8..1700822ad6e 100644 --- a/pkg/executor/client/job.go +++ b/pkg/executor/client/job.go @@ -508,6 +508,13 @@ func NewJobOptionsFromExecutionOptions(options ExecuteOptions) JobOptions { labels[key] = value } + contextType := "" + contextData := "" + if options.Request.RunningContext != nil { + contextType = options.Request.RunningContext.Type_ + contextData = options.Request.RunningContext.Context + } + return JobOptions{ Image: options.ExecutorSpec.Image, ImageOverride: options.ImageOverride, @@ -527,6 +534,9 @@ func NewJobOptionsFromExecutionOptions(options ExecuteOptions) JobOptions { EnvConfigMaps: options.Request.EnvConfigMaps, EnvSecrets: options.Request.EnvSecrets, Labels: labels, + ExecutionNumber: options.Request.Number, + ContextType: contextType, + ContextData: contextData, } } diff --git a/pkg/executor/common.go b/pkg/executor/common.go index 31ccf5598cd..37b80927028 100644 --- a/pkg/executor/common.go +++ b/pkg/executor/common.go @@ -392,6 +392,9 @@ func SyncDefaultExecutors( return images, err } } else { + obj.Spec.JobTemplate = result.Spec.JobTemplate + obj.Spec.JobTemplateReference = result.Spec.JobTemplateReference + obj.Spec.UseDataDirAsWorkingDir = result.Spec.UseDataDirAsWorkingDir result.Spec = obj.Spec if _, err = executorsClient.Update(result); err != nil { return images, err diff --git a/pkg/executor/containerexecutor/containerexecutor.go b/pkg/executor/containerexecutor/containerexecutor.go index f68b0da8396..d4715accbcb 100644 --- a/pkg/executor/containerexecutor/containerexecutor.go +++ b/pkg/executor/containerexecutor/containerexecutor.go @@ -630,6 +630,13 @@ func NewJobOptionsFromExecutionOptions(options client.ExecuteOptions) *JobOption labels[key] = value } + contextType := "" + contextData := "" + if options.Request.RunningContext != nil { + contextType = options.Request.RunningContext.Type_ + contextData = options.Request.RunningContext.Context + } + return &JobOptions{ Image: image, ImagePullSecrets: options.ImagePullSecretNames, @@ -655,6 +662,9 @@ func NewJobOptionsFromExecutionOptions(options client.ExecuteOptions) *JobOption EnvConfigMaps: options.Request.EnvConfigMaps, EnvSecrets: options.Request.EnvSecrets, Labels: labels, + ExecutionNumber: options.Request.Number, + ContextType: contextType, + ContextData: contextData, } } diff --git a/pkg/executor/containerexecutor/containerexecutor_test.go b/pkg/executor/containerexecutor/containerexecutor_test.go index 982f2d02a36..7e80fcc6438 100644 --- a/pkg/executor/containerexecutor/containerexecutor_test.go +++ b/pkg/executor/containerexecutor/containerexecutor_test.go @@ -364,12 +364,12 @@ func (r FakeResultRepository) GetByNameAndTest(ctx context.Context, name, testNa panic("implement me") } -func (r FakeResultRepository) GetLatestByTest(ctx context.Context, testName, sortField string) (testkube.Execution, error) { +func (r FakeResultRepository) GetLatestByTest(ctx context.Context, testName string) (*testkube.Execution, error) { //TODO implement me panic("implement me") } -func (r FakeResultRepository) GetLatestByTests(ctx context.Context, testNames []string, sortField string) (executions []testkube.Execution, err error) { +func (r FakeResultRepository) GetLatestByTests(ctx context.Context, testNames []string) (executions []testkube.Execution, err error) { //TODO implement me panic("implement me") } diff --git a/pkg/mapper/executors/mapper.go b/pkg/mapper/executors/mapper.go index 757117cf362..cbb0e3bf669 100644 --- a/pkg/mapper/executors/mapper.go +++ b/pkg/mapper/executors/mapper.go @@ -11,21 +11,22 @@ import ( // MapCRDToAPI maps Executor CRD to OpenAPI spec Executor func MapCRDToAPI(item executorv1.Executor) testkube.ExecutorUpsertRequest { return testkube.ExecutorUpsertRequest{ - Name: item.Name, - Namespace: item.Namespace, - Labels: item.Labels, - ExecutorType: string(item.Spec.ExecutorType), - Types: item.Spec.Types, - Uri: item.Spec.URI, - Image: item.Spec.Image, - ImagePullSecrets: mapImagePullSecretsToAPI(item.Spec.ImagePullSecrets), - Command: item.Spec.Command, - Args: item.Spec.Args, - JobTemplate: item.Spec.JobTemplate, - JobTemplateReference: item.Spec.JobTemplateReference, - Features: MapFeaturesToAPI(item.Spec.Features), - ContentTypes: MapContentTypesToAPI(item.Spec.ContentTypes), - Meta: MapMetaToAPI(item.Spec.Meta), + Name: item.Name, + Namespace: item.Namespace, + Labels: item.Labels, + ExecutorType: string(item.Spec.ExecutorType), + Types: item.Spec.Types, + Uri: item.Spec.URI, + Image: item.Spec.Image, + ImagePullSecrets: mapImagePullSecretsToAPI(item.Spec.ImagePullSecrets), + Command: item.Spec.Command, + Args: item.Spec.Args, + JobTemplate: item.Spec.JobTemplate, + JobTemplateReference: item.Spec.JobTemplateReference, + Features: MapFeaturesToAPI(item.Spec.Features), + ContentTypes: MapContentTypesToAPI(item.Spec.ContentTypes), + Meta: MapMetaToAPI(item.Spec.Meta), + UseDataDirAsWorkingDir: item.Spec.UseDataDirAsWorkingDir, } } @@ -38,18 +39,19 @@ func MapAPIToCRD(request testkube.ExecutorUpsertRequest) executorv1.Executor { Labels: request.Labels, }, Spec: executorv1.ExecutorSpec{ - ExecutorType: executorv1.ExecutorType(request.ExecutorType), - Types: request.Types, - URI: request.Uri, - Image: request.Image, - ImagePullSecrets: mapImagePullSecretsToCRD(request.ImagePullSecrets), - Command: request.Command, - Args: request.Args, - JobTemplate: request.JobTemplate, - JobTemplateReference: request.JobTemplateReference, - Features: MapFeaturesToCRD(request.Features), - ContentTypes: MapContentTypesToCRD(request.ContentTypes), - Meta: MapMetaToCRD(request.Meta), + ExecutorType: executorv1.ExecutorType(request.ExecutorType), + Types: request.Types, + URI: request.Uri, + Image: request.Image, + ImagePullSecrets: mapImagePullSecretsToCRD(request.ImagePullSecrets), + Command: request.Command, + Args: request.Args, + JobTemplate: request.JobTemplate, + JobTemplateReference: request.JobTemplateReference, + Features: MapFeaturesToCRD(request.Features), + ContentTypes: MapContentTypesToCRD(request.ContentTypes), + Meta: MapMetaToCRD(request.Meta), + UseDataDirAsWorkingDir: request.UseDataDirAsWorkingDir, }, } } @@ -59,19 +61,20 @@ func MapExecutorCRDToExecutorDetails(item executorv1.Executor) testkube.Executor return testkube.ExecutorDetails{ Name: item.Name, Executor: &testkube.Executor{ - ExecutorType: string(item.Spec.ExecutorType), - Image: item.Spec.Image, - ImagePullSecrets: mapImagePullSecretsToAPI(item.Spec.ImagePullSecrets), - Command: item.Spec.Command, - Args: item.Spec.Args, - Types: item.Spec.Types, - Uri: item.Spec.URI, - JobTemplate: item.Spec.JobTemplate, - JobTemplateReference: item.Spec.JobTemplateReference, - Labels: item.Labels, - Features: MapFeaturesToAPI(item.Spec.Features), - ContentTypes: MapContentTypesToAPI(item.Spec.ContentTypes), - Meta: MapMetaToAPI(item.Spec.Meta), + ExecutorType: string(item.Spec.ExecutorType), + Image: item.Spec.Image, + ImagePullSecrets: mapImagePullSecretsToAPI(item.Spec.ImagePullSecrets), + Command: item.Spec.Command, + Args: item.Spec.Args, + Types: item.Spec.Types, + Uri: item.Spec.URI, + JobTemplate: item.Spec.JobTemplate, + JobTemplateReference: item.Spec.JobTemplateReference, + Labels: item.Labels, + Features: MapFeaturesToAPI(item.Spec.Features), + ContentTypes: MapContentTypesToAPI(item.Spec.ContentTypes), + Meta: MapMetaToAPI(item.Spec.Meta), + UseDataDirAsWorkingDir: item.Spec.UseDataDirAsWorkingDir, }, } } @@ -254,6 +257,10 @@ func MapUpdateToSpec(request testkube.ExecutorUpdateRequest, executor *executorv } } + if request.UseDataDirAsWorkingDir != nil { + executor.Spec.UseDataDirAsWorkingDir = *request.UseDataDirAsWorkingDir + } + return executor } @@ -337,6 +344,8 @@ func MapSpecToUpdate(executor *executorv1.Executor) (request testkube.ExecutorUp request.Meta = &(executorMeta) } + request.UseDataDirAsWorkingDir = &executor.Spec.UseDataDirAsWorkingDir + return request } diff --git a/pkg/mapper/tests/openapi_kube.go b/pkg/mapper/tests/openapi_kube.go index 041de043af9..3f8d6c6cff2 100644 --- a/pkg/mapper/tests/openapi_kube.go +++ b/pkg/mapper/tests/openapi_kube.go @@ -99,14 +99,14 @@ func MapContentToSpecContent(content *testkube.TestContent) (specContent *testsv AuthType: testsv3.GitAuthType(content.Repository.AuthType), } - if content.Repository.UsernameSecret != nil { + if content.Repository.UsernameSecret != nil && !content.Repository.UsernameSecret.IsEmpty() { repository.UsernameSecret = &testsv3.SecretRef{ Name: content.Repository.UsernameSecret.Name, Key: content.Repository.UsernameSecret.Key, } } - if content.Repository.TokenSecret != nil { + if content.Repository.TokenSecret != nil && !content.Repository.TokenSecret.IsEmpty() { repository.TokenSecret = &testsv3.SecretRef{ Name: content.Repository.TokenSecret.Name, Key: content.Repository.TokenSecret.Key, diff --git a/pkg/repository/result/interface.go b/pkg/repository/result/interface.go index 36d7faa62db..26cf04ac2cf 100644 --- a/pkg/repository/result/interface.go +++ b/pkg/repository/result/interface.go @@ -38,9 +38,9 @@ type Repository interface { // GetByNameAndTest gets execution result by name and test name GetByNameAndTest(ctx context.Context, name, testName string) (testkube.Execution, error) // GetLatestByTest gets latest execution result by test - GetLatestByTest(ctx context.Context, testName, sortField string) (testkube.Execution, error) + GetLatestByTest(ctx context.Context, testName string) (*testkube.Execution, error) // GetLatestByTests gets latest execution results by test names - GetLatestByTests(ctx context.Context, testNames []string, sortField string) (executions []testkube.Execution, err error) + GetLatestByTests(ctx context.Context, testNames []string) (executions []testkube.Execution, err error) // GetExecutions gets executions using a filter, use filter with no data for all GetExecutions(ctx context.Context, filter Filter) ([]testkube.Execution, error) // GetExecutionTotals gets the statistics on number of executions using a filter, but without paging diff --git a/pkg/repository/result/mock_repository.go b/pkg/repository/result/mock_repository.go index 53ac37de64e..29f7faa3294 100644 --- a/pkg/repository/result/mock_repository.go +++ b/pkg/repository/result/mock_repository.go @@ -216,33 +216,33 @@ func (mr *MockRepositoryMockRecorder) GetLabels(arg0 interface{}) *gomock.Call { } // GetLatestByTest mocks base method. -func (m *MockRepository) GetLatestByTest(arg0 context.Context, arg1, arg2 string) (testkube.Execution, error) { +func (m *MockRepository) GetLatestByTest(arg0 context.Context, arg1 string) (*testkube.Execution, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLatestByTest", arg0, arg1, arg2) - ret0, _ := ret[0].(testkube.Execution) + ret := m.ctrl.Call(m, "GetLatestByTest", arg0, arg1) + ret0, _ := ret[0].(*testkube.Execution) ret1, _ := ret[1].(error) return ret0, ret1 } // GetLatestByTest indicates an expected call of GetLatestByTest. -func (mr *MockRepositoryMockRecorder) GetLatestByTest(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockRepositoryMockRecorder) GetLatestByTest(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTest", reflect.TypeOf((*MockRepository)(nil).GetLatestByTest), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTest", reflect.TypeOf((*MockRepository)(nil).GetLatestByTest), arg0, arg1) } // GetLatestByTests mocks base method. -func (m *MockRepository) GetLatestByTests(arg0 context.Context, arg1 []string, arg2 string) ([]testkube.Execution, error) { +func (m *MockRepository) GetLatestByTests(arg0 context.Context, arg1 []string) ([]testkube.Execution, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLatestByTests", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "GetLatestByTests", arg0, arg1) ret0, _ := ret[0].([]testkube.Execution) ret1, _ := ret[1].(error) return ret0, ret1 } // GetLatestByTests indicates an expected call of GetLatestByTests. -func (mr *MockRepositoryMockRecorder) GetLatestByTests(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockRepositoryMockRecorder) GetLatestByTests(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTests", reflect.TypeOf((*MockRepository)(nil).GetLatestByTests), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTests", reflect.TypeOf((*MockRepository)(nil).GetLatestByTests), arg0, arg1) } // GetNextExecutionNumber mocks base method. diff --git a/pkg/repository/result/mongo.go b/pkg/repository/result/mongo.go index bfffaf97f5b..4ea65575481 100644 --- a/pkg/repository/result/mongo.go +++ b/pkg/repository/result/mongo.go @@ -130,75 +130,115 @@ func (r *MongoRepository) GetByNameAndTest(ctx context.Context, name, testName s return *result.UnscapeDots(), err } -func (r *MongoRepository) GetLatestByTest(ctx context.Context, testName, sortField string) (result testkube.Execution, err error) { - findOptions := options.FindOne() - findOptions.SetSort(bson.D{{Key: sortField, Value: -1}}) - err = r.ResultsColl.FindOne(ctx, bson.M{"testname": testName}, findOptions).Decode(&result) +func (r *MongoRepository) GetLatestTestNumber(ctx context.Context, testName string) (num int32, err error) { + var result struct { + Number int32 `bson:"number"` + } + opts := &options.FindOneOptions{Projection: bson.M{"_id": -1, "number": 1}, Sort: bson.M{"number": -1}} + err = r.ResultsColl.FindOne(ctx, bson.M{"testname": testName}, opts).Decode(&result) if err != nil { - return + return 0, err + } + return result.Number, err +} + +func (r *MongoRepository) GetLatestByTest(ctx context.Context, testName string) (*testkube.Execution, error) { + opts := options.Aggregate() + pipeline := []bson.M{ + {"$documents": bson.A{bson.M{"name": testName}}}, + {"$lookup": bson.M{"from": r.ResultsColl.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testname", "$$name"}}}}, + {"$sort": bson.M{"starttime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_start_time"}}, + {"$lookup": bson.M{"from": r.ResultsColl.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testname", "$$name"}}}}, + {"$sort": bson.M{"endtime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_end_time"}}, + {"$project": bson.M{"executions": bson.M{"$concatArrays": bson.A{"$execution_by_start_time", "$execution_by_end_time"}}}}, + {"$unwind": "$executions"}, + {"$replaceRoot": bson.M{"newRoot": "$executions"}}, + + {"$group": bson.D{ + {Key: "_id", Value: "$testname"}, + {Key: "doc", Value: bson.M{"$max": bson.D{ + {Key: "updatetime", Value: bson.M{"$max": bson.A{"$starttime", "$endtime"}}}, + {Key: "content", Value: "$$ROOT"}, + }}}, + }}, + {"$sort": bson.M{"doc.updatetime": -1}}, + {"$replaceRoot": bson.M{"newRoot": "$doc.content"}}, + {"$limit": 1}, + } + cursor, err := r.db.Aggregate(ctx, pipeline, opts) + if err != nil { + return nil, err + } + var items []testkube.Execution + err = cursor.All(ctx, &items) + if err != nil { + return nil, err + } + if len(items) == 0 { + return nil, mongo.ErrNoDocuments } + result := (&items[0]).UnscapeDots() if len(result.ExecutionResult.Output) == 0 { result.ExecutionResult.Output, err = r.OutputRepository.GetOutput(ctx, result.Id, result.TestName, "") if err == mongo.ErrNoDocuments { err = nil } } - return *result.UnscapeDots(), err + return result, err } -func (r *MongoRepository) GetLatestByTests(ctx context.Context, testNames []string, sortField string) (executions []testkube.Execution, err error) { - var results []struct { - LatestID string `bson:"latest_id"` - } - +func (r *MongoRepository) GetLatestByTests(ctx context.Context, testNames []string) (executions []testkube.Execution, err error) { if len(testNames) == 0 { return executions, nil } - conditions := bson.A{} + documents := bson.A{} for _, testName := range testNames { - conditions = append(conditions, bson.M{"testname": testName}) - } - - pipeline := []bson.D{{{Key: "$project", Value: bson.D{{Key: "_id", Value: 1}, {Key: "id", Value: 1}, {Key: "testname", Value: 1}, {Key: sortField, Value: 1}}}}} - pipeline = append(pipeline, bson.D{{Key: "$match", Value: bson.M{"$or": conditions}}}) - pipeline = append(pipeline, bson.D{{Key: "$sort", Value: bson.D{{Key: sortField, Value: -1}}}}) - pipeline = append(pipeline, bson.D{ - {Key: "$group", Value: bson.D{{Key: "_id", Value: "$testname"}, {Key: "latest_id", Value: bson.D{{Key: "$first", Value: "$id"}}}}}}) - - optsA := options.Aggregate() - if r.allowDiskUse { - optsA.SetAllowDiskUse(r.allowDiskUse) - } - - cursor, err := r.ResultsColl.Aggregate(ctx, pipeline, optsA) - if err != nil { - return nil, err - } - err = cursor.All(ctx, &results) - if err != nil { - return nil, err + documents = append(documents, bson.M{"name": testName}) + } + + pipeline := []bson.M{ + {"$documents": documents}, + {"$lookup": bson.M{"from": r.ResultsColl.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testname", "$$name"}}}}, + {"$sort": bson.M{"starttime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_start_time"}}, + {"$lookup": bson.M{"from": r.ResultsColl.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testname", "$$name"}}}}, + {"$sort": bson.M{"endtime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_end_time"}}, + {"$project": bson.M{"executions": bson.M{"$concatArrays": bson.A{"$execution_by_start_time", "$execution_by_end_time"}}}}, + {"$unwind": "$executions"}, + {"$replaceRoot": bson.M{"newRoot": "$executions"}}, + + {"$group": bson.D{ + {Key: "_id", Value: "$testname"}, + {Key: "doc", Value: bson.M{"$max": bson.D{ + {Key: "updatetime", Value: bson.M{"$max": bson.A{"$starttime", "$endtime"}}}, + {Key: "content", Value: "$$ROOT"}, + }}}, + }}, + {"$sort": bson.M{"doc.updatetime": -1}}, + {"$replaceRoot": bson.M{"newRoot": "$doc.content"}}, } - if len(results) == 0 { - return executions, nil - } - - conditions = bson.A{} - for _, result := range results { - conditions = append(conditions, bson.M{"id": result.LatestID}) - } - - optsF := options.Find() + opts := options.Aggregate() if r.allowDiskUse { - optsF.SetAllowDiskUse(r.allowDiskUse) + opts.SetAllowDiskUse(r.allowDiskUse) } - cursor, err = r.ResultsColl.Find(ctx, bson.M{"$or": conditions}, optsF) + cursor, err := r.db.Aggregate(ctx, pipeline, opts) if err != nil { return nil, err } - err = cursor.All(ctx, &executions) if err != nil { return nil, err diff --git a/pkg/repository/result/mongo_numbers.go b/pkg/repository/result/mongo_numbers.go index e29c232e75e..170ebbc04c1 100644 --- a/pkg/repository/result/mongo_numbers.go +++ b/pkg/repository/result/mongo_numbers.go @@ -42,8 +42,8 @@ func (r *MongoRepository) GetNextExecutionNumber(ctx context.Context, name strin err = r.SequencesColl.FindOne(ctx, bson.M{"name": name}).Decode(&execNmbr) if err != nil { var execution testkube.Execution - execution, err = r.GetLatestByTest(ctx, name, "number") - if err != nil { + number, _ = r.GetLatestTestNumber(ctx, name) + if number == 0 { execNmbr.Number = 1 } else { execNmbr.Number = int(execution.Number) + 1 diff --git a/pkg/repository/testresult/interface.go b/pkg/repository/testresult/interface.go index 1060fe8b37f..ddd1c11d173 100644 --- a/pkg/repository/testresult/interface.go +++ b/pkg/repository/testresult/interface.go @@ -34,9 +34,9 @@ type Repository interface { // GetByNameAndTestSuite gets execution result by name GetByNameAndTestSuite(ctx context.Context, name, testSuiteName string) (testkube.TestSuiteExecution, error) // GetLatestByTestSuite gets latest execution result by test suite - GetLatestByTestSuite(ctx context.Context, testSuiteName, sortField string) (testkube.TestSuiteExecution, error) + GetLatestByTestSuite(ctx context.Context, testSuiteName string) (*testkube.TestSuiteExecution, error) // GetLatestByTestSuites gets latest execution results by test suite names - GetLatestByTestSuites(ctx context.Context, testSuiteNames []string, sortField string) (executions []testkube.TestSuiteExecution, err error) + GetLatestByTestSuites(ctx context.Context, testSuiteNames []string) (executions []testkube.TestSuiteExecution, err error) // GetExecutionsTotals gets executions total stats using a filter, use filter with no data for all GetExecutionsTotals(ctx context.Context, filter ...Filter) (totals testkube.ExecutionsTotals, err error) // GetExecutions gets executions using a filter, use filter with no data for all diff --git a/pkg/repository/testresult/mock_repository.go b/pkg/repository/testresult/mock_repository.go index dfeba24fc44..9b0fd0025bb 100644 --- a/pkg/repository/testresult/mock_repository.go +++ b/pkg/repository/testresult/mock_repository.go @@ -159,33 +159,33 @@ func (mr *MockRepositoryMockRecorder) GetExecutionsTotals(arg0 interface{}, arg1 } // GetLatestByTestSuite mocks base method. -func (m *MockRepository) GetLatestByTestSuite(arg0 context.Context, arg1, arg2 string) (testkube.TestSuiteExecution, error) { +func (m *MockRepository) GetLatestByTestSuite(arg0 context.Context, arg1 string) (*testkube.TestSuiteExecution, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLatestByTestSuite", arg0, arg1, arg2) - ret0, _ := ret[0].(testkube.TestSuiteExecution) + ret := m.ctrl.Call(m, "GetLatestByTestSuite", arg0, arg1) + ret0, _ := ret[0].(*testkube.TestSuiteExecution) ret1, _ := ret[1].(error) return ret0, ret1 } // GetLatestByTestSuite indicates an expected call of GetLatestByTestSuite. -func (mr *MockRepositoryMockRecorder) GetLatestByTestSuite(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockRepositoryMockRecorder) GetLatestByTestSuite(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTestSuite", reflect.TypeOf((*MockRepository)(nil).GetLatestByTestSuite), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTestSuite", reflect.TypeOf((*MockRepository)(nil).GetLatestByTestSuite), arg0, arg1) } // GetLatestByTestSuites mocks base method. -func (m *MockRepository) GetLatestByTestSuites(arg0 context.Context, arg1 []string, arg2 string) ([]testkube.TestSuiteExecution, error) { +func (m *MockRepository) GetLatestByTestSuites(arg0 context.Context, arg1 []string) ([]testkube.TestSuiteExecution, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLatestByTestSuites", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "GetLatestByTestSuites", arg0, arg1) ret0, _ := ret[0].([]testkube.TestSuiteExecution) ret1, _ := ret[1].(error) return ret0, ret1 } // GetLatestByTestSuites indicates an expected call of GetLatestByTestSuites. -func (mr *MockRepositoryMockRecorder) GetLatestByTestSuites(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockRepositoryMockRecorder) GetLatestByTestSuites(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTestSuites", reflect.TypeOf((*MockRepository)(nil).GetLatestByTestSuites), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestByTestSuites", reflect.TypeOf((*MockRepository)(nil).GetLatestByTestSuites), arg0, arg1) } // GetTestSuiteMetrics mocks base method. diff --git a/pkg/repository/testresult/mongo.go b/pkg/repository/testresult/mongo.go index ff62f580122..1f8219105e9 100644 --- a/pkg/repository/testresult/mongo.go +++ b/pkg/repository/testresult/mongo.go @@ -21,6 +21,7 @@ const CollectionName = "testresults" func NewMongoRepository(db *mongo.Database, allowDiskUse bool, opts ...MongoRepositoryOpt) *MongoRepository { r := &MongoRepository{ + db: db, Coll: db.Collection(CollectionName), allowDiskUse: allowDiskUse, } @@ -33,6 +34,7 @@ func NewMongoRepository(db *mongo.Database, allowDiskUse bool, opts ...MongoRepo } type MongoRepository struct { + db *mongo.Database Coll *mongo.Collection allowDiskUse bool } @@ -55,71 +57,105 @@ func (r *MongoRepository) GetByNameAndTestSuite(ctx context.Context, name, testS return *result.UnscapeDots(), err } -func (r *MongoRepository) GetLatestByTestSuite(ctx context.Context, testSuiteName, sortField string) (result testkube.TestSuiteExecution, err error) { - findOptions := options.FindOne() - findOptions.SetSort(bson.D{{Key: sortField, Value: -1}}) - err = r.Coll.FindOne(ctx, bson.M{"testsuite.name": testSuiteName}, findOptions).Decode(&result) - return *result.UnscapeDots(), err -} - -func (r *MongoRepository) GetLatestByTestSuites(ctx context.Context, testSuiteNames []string, sortField string) (executions []testkube.TestSuiteExecution, err error) { - var results []struct { - LatestID string `bson:"latest_id"` - } - - if len(testSuiteNames) == 0 { - return executions, nil - } - - conditions := bson.A{} - for _, testSuiteName := range testSuiteNames { - conditions = append(conditions, bson.M{"testsuite.name": testSuiteName}) - } - - pipeline := []bson.D{{{Key: "$project", Value: bson.D{{Key: "_id", Value: 1}, {Key: "id", Value: 1}, {Key: "testsuite.name", Value: 1}, {Key: sortField, Value: 1}}}}} - pipeline = append(pipeline, bson.D{{Key: "$match", Value: bson.M{"$or": conditions}}}) - pipeline = append(pipeline, bson.D{{Key: "$sort", Value: bson.D{{Key: sortField, Value: -1}}}}) - pipeline = append(pipeline, bson.D{ - {Key: "$group", Value: bson.D{{Key: "_id", Value: "$testsuite.name"}, {Key: "latest_id", Value: bson.D{{Key: "$first", Value: "$id"}}}}}}) - - optsA := options.Aggregate() - if r.allowDiskUse { - optsA.SetAllowDiskUse(r.allowDiskUse) - } - - cursor, err := r.Coll.Aggregate(ctx, pipeline, optsA) +func (r *MongoRepository) GetLatestByTestSuite(ctx context.Context, testSuiteName string) (*testkube.TestSuiteExecution, error) { + opts := options.Aggregate() + pipeline := []bson.M{ + {"$documents": bson.A{bson.M{"name": testSuiteName}}}, + {"$lookup": bson.M{"from": r.Coll.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testsuite.name", "$$name"}}}}, + {"$sort": bson.M{"starttime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_start_time"}}, + {"$lookup": bson.M{"from": r.Coll.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testsuite.name", "$$name"}}}}, + {"$sort": bson.M{"endtime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_end_time"}}, + {"$project": bson.M{"executions": bson.M{"$concatArrays": bson.A{"$execution_by_start_time", "$execution_by_end_time"}}}}, + {"$unwind": "$executions"}, + {"$replaceRoot": bson.M{"newRoot": "$executions"}}, + + {"$group": bson.D{ + {Key: "_id", Value: "$testsuite.name"}, + {Key: "doc", Value: bson.M{"$max": bson.D{ + {Key: "updatetime", Value: bson.M{"$max": bson.A{"$starttime", "$endtime"}}}, + {Key: "content", Value: "$$ROOT"}, + }}}, + }}, + {"$sort": bson.M{"doc.updatetime": -1}}, + {"$replaceRoot": bson.M{"newRoot": "$doc.content"}}, + {"$limit": 1}, + } + cursor, err := r.db.Aggregate(ctx, pipeline, opts) if err != nil { return nil, err } - err = cursor.All(ctx, &results) + var items []testkube.TestSuiteExecution + err = cursor.All(ctx, &items) if err != nil { return nil, err } + if len(items) == 0 { + return nil, mongo.ErrNoDocuments + } + return items[0].UnscapeDots(), err +} - if len(results) == 0 { +func (r *MongoRepository) GetLatestByTestSuites(ctx context.Context, testSuiteNames []string) (executions []testkube.TestSuiteExecution, err error) { + if len(testSuiteNames) == 0 { return executions, nil } - conditions = bson.A{} - for _, result := range results { - conditions = append(conditions, bson.M{"id": result.LatestID}) + documents := bson.A{} + for _, testSuiteName := range testSuiteNames { + documents = append(documents, bson.M{"name": testSuiteName}) + } + + pipeline := []bson.M{ + {"$documents": documents}, + {"$lookup": bson.M{"from": r.Coll.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testsuite.name", "$$name"}}}}, + {"$sort": bson.M{"starttime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_start_time"}}, + {"$lookup": bson.M{"from": r.Coll.Name(), "let": bson.M{"name": "$name"}, "pipeline": []bson.M{ + {"$match": bson.M{"$expr": bson.M{"$eq": bson.A{"$testsuite.name", "$$name"}}}}, + {"$sort": bson.M{"endtime": -1}}, + {"$limit": 1}, + }, "as": "execution_by_end_time"}}, + {"$project": bson.M{"executions": bson.M{"$concatArrays": bson.A{"$execution_by_start_time", "$execution_by_end_time"}}}}, + {"$unwind": "$executions"}, + {"$replaceRoot": bson.M{"newRoot": "$executions"}}, + + {"$group": bson.D{ + {Key: "_id", Value: "$testsuite.name"}, + {Key: "doc", Value: bson.M{"$max": bson.D{ + {Key: "updatetime", Value: bson.M{"$max": bson.A{"$starttime", "$endtime"}}}, + {Key: "content", Value: "$$ROOT"}, + }}}, + }}, + {"$sort": bson.M{"doc.updatetime": -1}}, + {"$replaceRoot": bson.M{"newRoot": "$doc.content"}}, } - optsF := options.Find() + opts := options.Aggregate() if r.allowDiskUse { - optsF.SetAllowDiskUse(r.allowDiskUse) + opts.SetAllowDiskUse(r.allowDiskUse) } - cursor, err = r.Coll.Find(ctx, bson.M{"$or": conditions}, optsF) + cursor, err := r.db.Aggregate(ctx, pipeline, opts) if err != nil { return nil, err } - err = cursor.All(ctx, &executions) if err != nil { return nil, err } + if len(executions) == 0 { + return executions, nil + } + for i := range executions { executions[i].UnscapeDots() } diff --git a/pkg/scheduler/test_scheduler.go b/pkg/scheduler/test_scheduler.go index 71026de4c3d..b8737ac95e2 100644 --- a/pkg/scheduler/test_scheduler.go +++ b/pkg/scheduler/test_scheduler.go @@ -430,6 +430,16 @@ func (s *Scheduler) getExecuteOptions(namespace, id string, request testkube.Exe request.Args = append(executorCR.Spec.Args, request.Args...) } + if executorCR.Spec.UseDataDirAsWorkingDir { + if testCR.Spec.Content.Repository != nil && testCR.Spec.Content.Repository.WorkingDir == "" { + if executorCR.Spec.ExecutorType == containerType { + testCR.Spec.Content.Repository.WorkingDir = filepath.Join(executor.VolumeDir, "repo") + } else { + testCR.Spec.Content.Repository.WorkingDir = "/" + } + } + } + return client.ExecuteOptions{ TestName: id, Namespace: namespace, diff --git a/pkg/scheduler/test_scheduler_test.go b/pkg/scheduler/test_scheduler_test.go index 069e788ba68..f4c9bcb029b 100644 --- a/pkg/scheduler/test_scheduler_test.go +++ b/pkg/scheduler/test_scheduler_test.go @@ -94,18 +94,19 @@ func TestGetExecuteOptions(t *testing.T) { TypeMeta: metav1.TypeMeta{}, ObjectMeta: metav1.ObjectMeta{Namespace: "testkube", Name: "cypress"}, Spec: v1.ExecutorSpec{ - Types: []string{mockExecutorTypes}, - ExecutorType: "job", - URI: "", - Image: "cypress", - Args: []string{}, - Command: []string{"run"}, - ImagePullSecrets: []k8sv1.LocalObjectReference{{Name: "secret-name1"}, {Name: "secret-name2"}}, - Features: nil, - ContentTypes: nil, - JobTemplate: "", - JobTemplateReference: "", - Meta: nil, + Types: []string{mockExecutorTypes}, + ExecutorType: "job", + URI: "", + Image: "cypress", + Args: []string{}, + Command: []string{"run"}, + ImagePullSecrets: []k8sv1.LocalObjectReference{{Name: "secret-name1"}, {Name: "secret-name2"}}, + Features: nil, + ContentTypes: nil, + JobTemplate: "", + JobTemplateReference: "", + Meta: nil, + UseDataDirAsWorkingDir: false, }, } diff --git a/pkg/secret/client.go b/pkg/secret/client.go index 37d9bb60310..43948c1c1ad 100644 --- a/pkg/secret/client.go +++ b/pkg/secret/client.go @@ -85,7 +85,7 @@ func (c *Client) List(all bool) (map[string]map[string]string, error) { secretsClient := c.ClientSet.CoreV1().Secrets(c.Namespace) ctx := context.Background() - selector := "visibility=testkube" + selector := "createdBy=testkube" if !all { selector = fmt.Sprintf("testkube=%s", testkubeTestSecretLabel) } @@ -185,7 +185,7 @@ func NewSpec(id, namespace string, labels, stringData map[string]string) *v1.Sec ObjectMeta: metav1.ObjectMeta{ Name: id, Namespace: namespace, - Labels: map[string]string{"testkube": testkubeTestSecretLabel, "visibility": "testkube"}, + Labels: map[string]string{"testkube": testkubeTestSecretLabel, "createdBy": "testkube"}, }, Type: v1.SecretTypeOpaque, StringData: stringData, diff --git a/pkg/triggers/executor.go b/pkg/triggers/executor.go index 16b05419282..6f37a9a08c5 100644 --- a/pkg/triggers/executor.go +++ b/pkg/triggers/executor.go @@ -23,12 +23,34 @@ const ( ExecutionTestSuite = "testsuite" ) -type ExecutorF func(context.Context, *testtriggersv1.TestTrigger) error +type ExecutorF func(context.Context, *watcherEvent, *testtriggersv1.TestTrigger) error -func (s *Service) execute(ctx context.Context, t *testtriggersv1.TestTrigger) error { +func (s *Service) execute(ctx context.Context, e *watcherEvent, t *testtriggersv1.TestTrigger) error { status := s.getStatusForTrigger(t) concurrencyLevel := scheduler.DefaultConcurrencyLevel + variables := map[string]testkube.Variable{ + "WATCHER_EVENT_RESOURCE": { + Name: "WATCHER_EVENT_RESOURCE", + Value: string(e.resource), + Type_: testkube.VariableTypeBasic, + }, + "WATCHER_EVENT_NAME": { + Name: "WATCHER_EVENT_NAME", + Value: e.name, + Type_: testkube.VariableTypeBasic, + }, + "WATCHER_EVENT_NAMESPACE": { + Name: "WATCHER_EVENT_NAMESPACE", + Value: e.namespace, + Type_: testkube.VariableTypeBasic, + }, + "WATCHER_EVENT_EVENT_TYPE": { + Name: "WATCHER_EVENT_EVENT_TYPE", + Value: string(e.eventType), + Type_: testkube.VariableTypeBasic, + }, + } switch t.Spec.Execution { case ExecutionTest: @@ -38,6 +60,7 @@ func (s *Service) execute(ctx context.Context, t *testtriggersv1.TestTrigger) er } request := testkube.ExecutionRequest{ + Variables: variables, RunningContext: &testkube.RunningContext{ Type_: string(testkube.RunningContextTypeTestTrigger), Context: t.Name, @@ -72,6 +95,7 @@ func (s *Service) execute(ctx context.Context, t *testtriggersv1.TestTrigger) er } request := testkube.TestSuiteExecutionRequest{ + Variables: variables, RunningContext: &testkube.RunningContext{ Type_: string(testkube.RunningContextTypeTestTrigger), Context: t.Name, diff --git a/pkg/triggers/executor_test.go b/pkg/triggers/executor_test.go index 84bd5f61eb8..3d56ca82fb6 100644 --- a/pkg/triggers/executor_test.go +++ b/pkg/triggers/executor_test.go @@ -81,18 +81,19 @@ func TestExecute(t *testing.T) { TypeMeta: metav1.TypeMeta{}, ObjectMeta: metav1.ObjectMeta{Namespace: "testkube", Name: "cypress"}, Spec: v1.ExecutorSpec{ - Types: []string{mockExecutorTypes}, - ExecutorType: "job", - URI: "", - Image: "cypress", - Args: nil, - Command: []string{"run"}, - ImagePullSecrets: nil, - Features: nil, - ContentTypes: nil, - JobTemplate: "", - JobTemplateReference: "", - Meta: nil, + Types: []string{mockExecutorTypes}, + ExecutorType: "job", + URI: "", + Image: "cypress", + Args: nil, + Command: []string{"run"}, + ImagePullSecrets: nil, + Features: nil, + ContentTypes: nil, + JobTemplate: "", + JobTemplateReference: "", + Meta: nil, + UseDataDirAsWorkingDir: false, }, } mockExecutorsClient.EXPECT().GetByType(mockExecutorTypes).Return(&mockExecutorV1, nil).AnyTimes() @@ -163,6 +164,6 @@ func TestExecute(t *testing.T) { key := newStatusKey(testTrigger.Namespace, testTrigger.Name) assert.Contains(t, s.triggerStatus, key) - err := s.execute(ctx, &testTrigger) + err := s.execute(ctx, &watcherEvent{}, &testTrigger) assert.NoError(t, err) } diff --git a/pkg/triggers/matcher.go b/pkg/triggers/matcher.go index 2917d79e154..74e64209e20 100644 --- a/pkg/triggers/matcher.go +++ b/pkg/triggers/matcher.go @@ -87,7 +87,7 @@ func (s *Service) match(ctx context.Context, e *watcherEvent) error { s.logger.Infof("trigger service: matcher component: event %s matches trigger %s/%s for resource %s", e.eventType, t.Namespace, t.Name, e.resource) s.logger.Infof("trigger service: matcher component: triggering %s action for %s execution", t.Spec.Action, t.Spec.Execution) - if err := s.triggerExecutor(ctx, t); err != nil { + if err := s.triggerExecutor(ctx, e, t); err != nil { return err } } diff --git a/pkg/triggers/matcher_test.go b/pkg/triggers/matcher_test.go index 0d2969f0741..72d1012799f 100644 --- a/pkg/triggers/matcher_test.go +++ b/pkg/triggers/matcher_test.go @@ -82,7 +82,7 @@ func TestService_matchConditionsRetry(t *testing.T) { s := &Service{ defaultConditionsCheckBackoff: defaultConditionsCheckBackoff, defaultConditionsCheckTimeout: defaultConditionsCheckTimeout, - triggerExecutor: func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + triggerExecutor: func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, "testkube", trigger.Namespace) assert.Equal(t, "test-trigger-1", trigger.Name) return nil @@ -158,7 +158,7 @@ func TestService_matchConditionsTimeout(t *testing.T) { s := &Service{ defaultConditionsCheckBackoff: defaultConditionsCheckBackoff, defaultConditionsCheckTimeout: defaultConditionsCheckTimeout, - triggerExecutor: func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + triggerExecutor: func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, "testkube", trigger.Namespace) assert.Equal(t, "test-trigger-1", trigger.Name) return nil @@ -230,7 +230,7 @@ func TestService_matchProbesMultiple(t *testing.T) { s := &Service{ defaultProbesCheckBackoff: defaultProbesCheckBackoff, defaultProbesCheckTimeout: defaultProbesCheckTimeout, - triggerExecutor: func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + triggerExecutor: func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, "testkube", trigger.Namespace) assert.Equal(t, "test-trigger-1", trigger.Name) return nil @@ -296,7 +296,7 @@ func TestService_matchProbesTimeout(t *testing.T) { s := &Service{ defaultProbesCheckBackoff: defaultProbesCheckBackoff, defaultProbesCheckTimeout: defaultProbesCheckTimeout, - triggerExecutor: func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + triggerExecutor: func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, "testkube", trigger.Namespace) assert.Equal(t, "test-trigger-1", trigger.Name) return nil @@ -401,7 +401,7 @@ func TestService_match(t *testing.T) { defaultConditionsCheckTimeout: defaultConditionsCheckTimeout, defaultProbesCheckBackoff: defaultProbesCheckBackoff, defaultProbesCheckTimeout: defaultProbesCheckTimeout, - triggerExecutor: func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + triggerExecutor: func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, "testkube", trigger.Namespace) assert.Equal(t, "test-trigger-1", trigger.Name) return nil @@ -451,7 +451,7 @@ func TestService_matchRegex(t *testing.T) { defaultConditionsCheckTimeout: defaultConditionsCheckTimeout, defaultProbesCheckBackoff: defaultProbesCheckBackoff, defaultProbesCheckTimeout: defaultProbesCheckTimeout, - triggerExecutor: func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + triggerExecutor: func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, "testkube", trigger.Namespace) assert.Equal(t, "test-trigger-1", trigger.Name) return nil @@ -492,7 +492,7 @@ func TestService_noMatch(t *testing.T) { } statusKey1 := newStatusKey(testTrigger1.Namespace, testTrigger1.Name) triggerStatus1 := &triggerStatus{testTrigger: testTrigger1} - testExecutorF := func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + testExecutorF := func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Fail(t, "should not match event") return nil } diff --git a/pkg/triggers/service_test.go b/pkg/triggers/service_test.go index 03f3847b954..9fd5a49946c 100644 --- a/pkg/triggers/service_test.go +++ b/pkg/triggers/service_test.go @@ -87,18 +87,19 @@ func TestService_Run(t *testing.T) { TypeMeta: metav1.TypeMeta{}, ObjectMeta: metav1.ObjectMeta{Namespace: "testkube", Name: "cypress"}, Spec: executorv1.ExecutorSpec{ - Types: []string{mockExecutorTypes}, - ExecutorType: "job", - URI: "", - Image: "cypress", - Args: nil, - Command: []string{"run"}, - ImagePullSecrets: nil, - Features: nil, - ContentTypes: nil, - JobTemplate: "", - JobTemplateReference: "", - Meta: nil, + Types: []string{mockExecutorTypes}, + ExecutorType: "job", + URI: "", + Image: "cypress", + Args: nil, + Command: []string{"run"}, + ImagePullSecrets: nil, + Features: nil, + ContentTypes: nil, + JobTemplate: "", + JobTemplateReference: "", + Meta: nil, + UseDataDirAsWorkingDir: false, }, } mockExecutorsClient.EXPECT().GetByType(mockExecutorTypes).Return(&mockExecutorV1, nil).AnyTimes() diff --git a/pkg/triggers/watcher_test.go b/pkg/triggers/watcher_test.go index 4ecd78b3a03..7c7d56df5ff 100644 --- a/pkg/triggers/watcher_test.go +++ b/pkg/triggers/watcher_test.go @@ -76,7 +76,7 @@ func TestService_runWatcher_lease(t *testing.T) { testNamespace := "testkube" match := false - testExecutorF := func(ctx context.Context, trigger *testtriggersv1.TestTrigger) error { + testExecutorF := func(ctx context.Context, e *watcherEvent, trigger *testtriggersv1.TestTrigger) error { assert.Equal(t, testNamespace, trigger.Namespace) assert.Equal(t, "test-trigger-2", trigger.Name) match = true diff --git a/test/container-executor/executor-smoke/crd/playwright.yaml b/test/container-executor/executor-smoke/crd/playwright.yaml index 42df6f7d90e..79287346717 100644 --- a/test/container-executor/executor-smoke/crd/playwright.yaml +++ b/test/container-executor/executor-smoke/crd/playwright.yaml @@ -1,5 +1,33 @@ apiVersion: tests.testkube.io/v3 kind: Test +metadata: + name: container-executor-playwright-smoke-args + labels: + core-tests: executors +spec: + type: container-executor-playwright-v1.32.3-args/test + content: + type: git + repository: + type: git + uri: https://github.com/kubeshop/testkube + branch: develop + path: test/playwright/executor-tests/playwright-project + workingDir: test/playwright/executor-tests/playwright-project + executionRequest: + artifactRequest: + storageClassName: standard + volumeMountPath: /data/artifacts + dirs: + - ./ + jobTemplate: "apiVersion: batch/v1\nkind: Job\nspec:\n template:\n spec:\n containers:\n - name: \"{{ .Name }}\"\n image: {{ .Image }}\n resources:\n requests:\n memory: 2Gi\n cpu: 2\n" + activeDeadlineSeconds: 600 + preRunScript: "npm ci" + args: + - "tests/smoke2.spec.js" +--- +apiVersion: tests.testkube.io/v3 +kind: Test metadata: name: container-executor-playwright-smoke labels: diff --git a/test/executors/container-executor-playwright.yaml b/test/executors/container-executor-playwright.yaml index c51104d0a23..481b9baf340 100644 --- a/test/executors/container-executor-playwright.yaml +++ b/test/executors/container-executor-playwright.yaml @@ -1,5 +1,18 @@ apiVersion: executor.testkube.io/v1 kind: Executor +metadata: + name: container-executor-playwright-v1.32.3-args +spec: + image: mcr.microsoft.com/playwright:v1.32.3-focal + command: ["npx", "--yes", "playwright@1.32.3", "test", "--output", "/data/artifacts"] + executor_type: container + types: + - container-executor-playwright-v1.32.3-args/test + features: + - artifacts +--- +apiVersion: executor.testkube.io/v1 +kind: Executor metadata: name: container-executor-playwright-v1.32.3 spec: diff --git a/test/playwright/executor-tests/playwright-project/tests/smoke.spec.js b/test/playwright/executor-tests/playwright-project/tests/smoke.spec.js index de40805df51..6ab0b9652d8 100644 --- a/test/playwright/executor-tests/playwright-project/tests/smoke.spec.js +++ b/test/playwright/executor-tests/playwright-project/tests/smoke.spec.js @@ -1,7 +1,7 @@ // @ts-check const { test, expect } = require('@playwright/test'); -test('has title', async ({ page }) => { +test('Smoke 1 - has title', async ({ page }) => { await page.goto('https://testkube.io/'); await expect(page).toHaveTitle(/Testkube/); diff --git a/test/playwright/executor-tests/playwright-project/tests/smoke2.spec.js b/test/playwright/executor-tests/playwright-project/tests/smoke2.spec.js new file mode 100644 index 00000000000..9d101210fc7 --- /dev/null +++ b/test/playwright/executor-tests/playwright-project/tests/smoke2.spec.js @@ -0,0 +1,8 @@ +// @ts-check +const { test, expect } = require('@playwright/test'); + +test('Smoke 2 - has title', async ({ page }) => { + await page.goto('https://testkube.io/'); + + await expect(page).toHaveTitle(/Testkube/); +}); \ No newline at end of file diff --git a/test/suites/executor-container-playwright-smoke-tests.yaml b/test/suites/executor-container-playwright-smoke-tests.yaml index 3ca07367898..67334779cea 100644 --- a/test/suites/executor-container-playwright-smoke-tests.yaml +++ b/test/suites/executor-container-playwright-smoke-tests.yaml @@ -10,3 +10,6 @@ spec: - stopOnFailure: false execute: - test: container-executor-playwright-smoke + - stopOnFailure: false + execute: + - test: container-executor-playwright-smoke-args \ No newline at end of file

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