Testkube blog

Testkube v1.8: Test Container Artifacts, S3 Support, and more Slack Customization

Dec 13, 2022
3 min
Testkube v1.8 is out. This release includes important features like Test Container Artifacts, S3 Support, and lots of user-requested features.
Testkube v1.8: Test Container Artifacts, S3 Support, and more Slack Customization
Share on Twitter
Share on LinkedIn
Share on Reddit
Share on HackerNews
Copy URL

Table of Contents

Want to learn more about this topic? Check out our Office Hours sessions!

Get Started with Testkube Cloud

**New here?** [Testkube](https://testkube.io) is a Kubernetes-native testing framework for testers and developers. It acts as an executor so you can orchestrate, run, and display tests and test results for your code in a Kubernetes environment. Whether you're new to the K8s ecosystem or a seasoned pro, Testkube lets you focus on testing without having to complicate yourself, your processes, or your pipelines.

Testkube v1.8 is now live. This release includes big improvements for logging, AWS S3 support, and test container artifacts. Read on to get all the deets. 

Test Container Artifacts

If you’d like to implement a container executor for a testing tool that produces files, it’s now possible to collect and store the artifacts for your Custom Container Executors in our S3 compatible file storage.

To access them, you’ll need to save the output files into specific directories, and they’ll be uploaded to Testkube’s file storage - which will make them available for download through the CLI:


kubectl testkube get artifact artifactid


…or through Testkube’s UI!

To read more about this feature, check out the [implementation docs.](https://kubeshop.github.io/testkube/test-types/container-executor/#collecting-test-artifacts)

AWS S3 Support

You can now use AWS S3 for storage using IAM authentication! 

To set it up, you’ll need to install Testkube using Helm and create your ServiceAccount (specifying your Amazon Resource Name).

Link your account to `testkube-api.minio.serviceAccountName` and `testkube-api.jobServiceAccountName` in the Helm values.yaml file, leave `minio.minioRootUser`, `minio.minioRootPassword`and `storage.port` empty, also set `storage.endpoint` to `s3.amazonaws.com`.

Slack Template and Events Customization

It’s now possible to customize the message template that is used for your Testkube Slack notifications. We’ve also worked on making it easier and more flexible to configure Events, Test Names, Test Suites and Channels.

Job Template Extensions

You can now adjust the definition of job templates with different parameters. 

To do this, Testkube allows you to add them as extensions with the additional parameter `--job-template` when you create or run your tests.


kubectl testkube create test --git-branch main --git-uri https://github.com/kubeshop/testkube-example-cypress-project.git --git-path "cypress" --name template-test --type cypress/project --job-template job.yaml


Your `job.yaml` file should contain the adjusted job template so it can be merged with the default one.

Read more about how to do this in [our docs](https://kubeshop.github.io/testkube/using-testkube/tests/tests-creating/#changing-the-default-job-template-used-for-test-execution).

Have Your Tests Dynamically Fetch Files From Your Branches

When running your tests through Testkube CLI using the `testkube run test` CLI command, you can now add specific parameters that will allow for Testkube to dynamically check out the appropriate branches you need.

To adjust this, you can use `--git-branch`, `--git-commit`, `--git-path`, or `--git-working-dir`.

Check all the details in our [documentation](https://kubeshop.github.io/testkube/cli-reference/testkube_run_test/#testkube-run-test).

Patching Mode Update

We introduced a new API method and updated the CLI command to patch only specific fields when creating and updating tests.

SSL Support for External MongoDB Connections

Testkube allows you to configure SSL certificates for MongoDB now - this should help you and your teams to store test results in your local or centralized database.

To set it up, refer to our [SSL connections](https://kubeshop.github.io/testkube/using-testkube/dependencies/#ssl-connections) documentation.

Large, Optimized File Uploads

You’ll now be able to map local files to your Testkube tests, no matter how large they are. Your files will be copied upon execution from the machine running **kubectl**, and available in the `/data/uploads` folder inside your test container.

To do this, pass the file in the format `source_path:destination_path` using the flag `--copy-files`.

Check our [documentation](https://github.com/kubeshop/testkube/issues/2594) for more on this.

Private Image Registries

Now everyone can deploy Testkube using their own image registries! 

We have added an option to redefine registries globally for the whole chart. Moreover, the external charts that we use (NATS and MongoDB) also support registry parameters - so it’s possible to use Testkube with defined security measurements.

What’s Next: more transparent logging

No more time spent in confusion trying to figure out what’s going on with your tests - we’ll work on improving logging so you know what’s happening at all times and through every step of the testing process.


Community Spotlight

We wouldn’t be here without you - for this release, we’d like to highlight a few of our contributors for their suggestions, feedback, and feature requests:

Thank you for helping us make Testkube better.


Interested in seeing how it all works? Catch the Testkube team’s demo on the v1.8 release through our livestream [here](https://www.youtube.com/watch?v=0JE5x6Rrp9M).

Give it a go

Why not give it a go yourself? Sign up to Testkube and try one of our examples or head over to our documentation - if you get stuck or have questions, we’re here to help! Find an answer to your questions in the Testkube Knowledge Base or reach out to us on Discord. We’re eager to hear how you use Testkube!