Skip to content

Commit

Permalink
Testkube OSS page and additional screenshot updates (#4493)
Browse files Browse the repository at this point in the history
  • Loading branch information
jfermi authored Oct 23, 2023
1 parent c2c1460 commit b5c83a7
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 18 deletions.
10 changes: 5 additions & 5 deletions docs/docs/articles/cd-events.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Emitting standard CDEvents
# Emitting Standard CDEvents

[CDEvents](https://cdevents.dev/) is a common specification for Continuous Delivery events. Testkube is a proud supporter of this specification and we have added in the specification support for [Testing Events](https://github.com/cdevents/spec/blob/main/testing-events.md) to be release on v0.3.0 of the spec.

As of Testkube 1.12 release, Testkube can emit standard CDEvents to a webhook endpoint. This can be used to integrate with any CD tool that supports the CDEvents standard.
As of the 1.12 release, Testkube can emit standard CDEvents to a webhook endpoint. This can be used to integrate with any CD tool that supports the CDEvents standard.

## Step 1 - Enable CDEvents

Expand All @@ -21,7 +21,7 @@ helm upgrade \

For testing purposes you can use [webhook.site](https://webhook.site/) to get a webhook URL.

## Step 2 - Test emmiting CDEvents
## Step 2 - Test Emmiting CDEvents

To test emitting CDEvents, create a sample test with Testkube and run it.

Expand All @@ -41,7 +41,7 @@ testkube create test --name test-cdevents --type curl/test -f curl-test.json
testkube run test test-cdevents
```

Check the webhook sink to see the CD Event emitted by Testkube. An event like the following should have been emmitted:
Check the webhook sink to see the CDEvent emitted by Testkube. An event like the following should have been emmitted:

```json
{
Expand Down Expand Up @@ -76,6 +76,6 @@ Check the webhook sink to see the CD Event emitted by Testkube. An event like th

For more information about CDEvents, please visit the [CDEvents](https://cdevents.dev/) website.

To know more about the Testing Events specification, please visit the [Testing Events](https://github.com/cdevents/spec/blob/main/testing-events.md)
To know more about the Testing Events specification, please visit the [Testing Events](https://github.com/cdevents/spec/blob/main/testing-events.md) page.


4 changes: 2 additions & 2 deletions docs/docs/articles/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ logs:
```
## [Mongo](https://www.mongodb.com/kubernetes)
When mongo is specified, logs will be stored in a separate collection so the execution handling performance is not affected.
When Mongo is specified, logs will be stored in a separate collection so the execution handling performance is not affected.
## [MinIO](https://min.io/)
When MinIO is specified, logs will be stores as separate files in the configured bucket of the MinIO instance or the S3 bucket if MinIO is configured to work with S3.
When MinIO is specified, logs will be stored as separate files in the configured bucket of the MinIO instance or the S3 bucket if MinIO is configured to work with S3.
18 changes: 9 additions & 9 deletions docs/docs/articles/slack-integration.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Integrating with Slack

In order to receive notifications in Slack about the status of the testing process, Testkube provides integration with Slack. Below are the steps to configure it. Click [here](#video-tutorial) for a video tutorial.
In order to receive notifications in Slack about the status of the testing process, Testkube provides integration with Slack. Below are the configuration steps. Click [here](#video-tutorial) for a video tutorial.

## Step 1 - Install the Testkube bot to Your Slack Workspace

Testkube bot:
<a href="https://slack.com/oauth/v2/authorize?client_id=1943550956369.3416932538629&scope=chat:write,chat:write.public,groups:read,channels:read&user_scope="><img alt="Add Testkube bot to your Slack workspace" height="40" width="139" src="https://platform.slack-edge.com/img/add_to_slack.png" srcSet="https://platform.slack-edge.com/img/add_to_slack.png 1x, https://platform.slack-edge.com/img/[email protected] 2x" /></a>

Once you add Slack bot to your workspace, you will get the bot token, you will need it in the next step.
Once you add Slack bot to your workspace, note the bot token, you will need it in the next step.

```
Authentification was succesfull!
Please use the following token in the helm values for slackToken:
Please use the following token in the Helm values for slackToken:
xoxb-123456789012-1234567890123-123456789012345678901234
```

Expand All @@ -28,17 +28,17 @@ helm upgrade \
kubeshop/testkube
```

To see all the values that can be configured, check the helm chart [here](./helm-chart.md).
To see all the values that can be configured, check the Helm chart documentation [here](./helm-chart.md).

## Step 3 - Add the Testkube bot to the Slack Channel

Add the Testkube bot to the Slack channel where you want to receive notifications. You can do it by inviting the bot to a specific channel. The Testkube bot by default will send to the first channel that the Testkube bot is member of, you can update the config in the next step.
Add the Testkube bot to the Slack channel where you want to receive notifications. Do this by inviting the bot to a specific channel. By default, the Testkube bot will send to the first channel that the Testkube bot is member of. You can update the config in the next step.

![Add Testkube bot to Slack channel](../img/slack-running-example.png)

## Step 4 - (Optional) Adjust Slack Config File

By default the configuration [/charts/testkube-api/slack-config.json](https://github.com/kubeshop/helm-charts/blob/704c71fa3b8f0138f983ea9a2fa598ecbe3868ae/charts/testkube-api/slack-config.json) looks like below; it will send notification for all events and all test or test suite names with any labels.
By default, the configuration [/charts/testkube-api/slack-config.json](https://github.com/kubeshop/helm-charts/blob/704c71fa3b8f0138f983ea9a2fa598ecbe3868ae/charts/testkube-api/slack-config.json) looks like below; it will send notifications for all events and all test or test suite names with any labels.
If the channel is left empty, it will send to the first channel that the Testkube bot is member of.

It is an array of config objects and can use any config combinations:
Expand Down Expand Up @@ -114,11 +114,11 @@ For example:

```

This will send notifications to the channel with the id `C01234567` for the test and test suites with labels `label1:value1`. Tests with the labels "sanity" and "testName2" and test suites with the labels "test-suite1" and "test-suite2". On events with the labels "end-test-failed", "end-test-timeout", "end-testsuite-failed" and "end-testsuite-timeout". And to the channel with the id `C07654342` for tests with labels `label3:value4`, tests with the labels "integration-test1" and "integration-test2" and test suites with the labels "integration-test-suite1" and "integration-test-suite2" on all events.
This will send notifications to the channel with the id `C01234567` for the test and test suites with labels `label1:value1` as well as tests with the labels "sanity" and "testName2" and test suites with the labels "test-suite1" and "test-suite2", on events with the labels "end-test-failed", "end-test-timeout", "end-testsuite-failed" and "end-testsuite-timeout", and to the channel with the id `C07654342` for tests with labels `label3:value4`, tests with the labels "integration-test1" and "integration-test2" and test suites with the labels "integration-test-suite1" and "integration-test-suite2" on all events.

### Configure Message Template
### Configure the Message Template

The default message is [/charts/testkube-api/slack-template.json](https://github.com/kubeshop/helm-charts/blob/311ff9f6fc38dfb5196b91a6f63ee7d3f59f7f4b/charts/testkube-api/slack-template.json) and is written using [Slack block kit builder](https://app.slack.com/block-kit-builder) and Golang templates. You can customize it depending on your needs. The following structure is referenced in the template where it is getting the data to show:
The default message is [/charts/testkube-api/slack-template.json](https://github.com/kubeshop/helm-charts/blob/311ff9f6fc38dfb5196b91a6f63ee7d3f59f7f4b/charts/testkube-api/slack-template.json) and is written using [Slack block kit builder](https://app.slack.com/block-kit-builder) and Golang templates. You can customize the message depending on your needs. The following structure is referenced in the template to show where the data to show is coming from:

```go
type MessageArgs struct {
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/test-types/executor-artillery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ scenarios:
url: "/health"
```
Our test is ready but how do we run it in a Kubernetes cluster? Testkube will help you with that!
Our test is ready, but how do we run it in a Kubernetes cluster? Testkube will help you with that!
Let's create a new Testkube test based on the saved Artillery test definition.
Expand All @@ -80,7 +80,7 @@ If you want to upload a test file directly (like in this example) you can use Da
<Tabs groupId="dashboard-cli">
<TabItem value="dash" label="Dashboard">
If you prefer to use the Dashboard, just go to Tests, and click `Add a new test` button. Then you need to fill in the test Name, choose the test Type (`artillery/test`), Test Source (`File`, which allow you to upload specific file), and choose the File.
If you prefer to use the Dashboard, just go to Tests, and click the `Add a new test` button. Then you need to fill in the test Name, choose the test Type (`artillery/test`), Test Source (`File`, which allow you to upload specific file), and choose the File.
![Container executor creation dialog](../img/dashboard-create-artillery-api-test.png)

</TabItem>
Expand Down
44 changes: 44 additions & 0 deletions docs/docs/testkube-cloud/articles/testkube-oss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Testkube Open Source

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.

## 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 |

Take a look at our [Quick Setup Video](https://www.youtube.com/watch?v=ynzEkOUhxKk).

## Getting Started with Testkube Open Source

**Installation via Helm:** Dive into detailed installation instructions with [Helm in our official documentation](https://docs.testkube.io/articles/helm-chart/).

**Installing Using Testkube CLI:** Our CLI tool is here to simplify your deployment experience:
- 1st - Make sure your KUBECONFIG is pointing to the desired location for the Testkube installation.
- 2nd - Execute the command: 'testkube init'.

:::note
Testkube deploys in the **testkube** namespace.
:::

This command will set up the following components in your Kubernetes cluster:

- Create a Testkube namespace.
- Deploy the Testkube API.
- Use MongoDB for test results and Minio for artifact storage (optional; disable with --no-minio).
- Testkube Dashboard to visually and manage all your tests (optional; disable with --no-dashboard flag).
- Testkube will listen and manage all the CRDs for Tests, TestSuites, Executors, etc… inside the Testkube namespace.


Verify Your Installation: Ensure that Testkube is up and running with:
`kubectl get all -n testkube`.

Once set up, you're ready to unleash the full potential of Testkube in your environment. Whether you opt for the Open Source or Cloud variant, Testkube is committed to powering your development and testing workflows seamlessly.

1 change: 1 addition & 0 deletions docs/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ 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",
Expand Down

0 comments on commit b5c83a7

Please sign in to comment.