https://github.com/kubeshop/testkube-dashboard
Dashboard for viewing real-time TestKube results (deprecated)
https://github.com/kubeshop/testkube-dashboard
Last synced: 22 days ago
JSON representation
Dashboard for viewing real-time TestKube results (deprecated)
- Host: GitHub
- URL: https://github.com/kubeshop/testkube-dashboard
- Owner: kubeshop
- License: mit
- Created: 2021-08-26T11:09:11.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2024-07-01T17:25:19.000Z (10 months ago)
- Last Synced: 2025-03-22T19:23:59.881Z (about 1 month ago)
- Language: TypeScript
- Homepage:
- Size: 22.4 MB
- Stars: 29
- Watchers: 10
- Forks: 20
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
:warning: The Open Source version of the Testkube Dashboard is being deprecated.
For further details and next steps, please refer to our official announcement.---
![]()
Welcome to Testkube - Your friendly cloud-native testing framework for Kubernetes
Website |
Documentation |
Twitter |
Slack |
Blog
![]()
![]()
![]()
> **Please note that as of Testkube 1.17, the Testkube Dashboard is no longer included with the Open-Source version of Testkube -
> [read the announcement](https://testkube.io/blog/testkube-dashboard-announcement)**
>
> **The below documentation applies to Testkube 1.16 only**
>
> Go to [Testkube Open Source](https://docs.testkube.io/articles/open-source-or-pro) for documentation on
> the current Testkube Open Source offering.# Testkube Dashboard
Dashboard to manage your [**Testkube**](https://testkube.io) cluster and monitor its real-time results.
The Dashboard is deployed as an application in the cluster. It runs in a browser, and it communicates with the
[**Testkube API Server**](https://github.com/kubeshop/testkube) via Ingress Controller (either provided or bundled).## Table of Contents
1. [Running Dashboard](#running-dashboard)
1. [Bundled](#bundled)
2. [Repository](#repository)
3. [Docker](#docker)
2. [Configuring Application](#configuring-application)
1. [Environment Variables](#environment-variables)
2. [Building Docker Image](#building-docker-image)
3. [Learn More](#learn-more)
1. [Contributing and Architecture](#contributing-and-architecture)
2. [Telemetry](#telemetry)
3. [Testkube](#testkube)## Running Dashboard
### Bundled
By default, Dashboard is installed in your cluster along with your Testkube system.
To use the bundled Dashboard, run `testkube dashboard` command with
[**Testkube CLI**](https://docs.testkube.io/articles/install-cli/), to forward the UI and API ports from the Kubernetes
cluster.>
> :warning: Testkube Pro and Enterprise
>
>
> This Dashboard works only for the Testkube Open Source installations. To manage the Testkube in Enterprise or Pro
> offering, use their corresponding dashboards:
>
> - [**app.testkube.io**](https://app.testkube.io?utm_source=github-dashboard) for Testkube Pro
> - Your Enterprise URL for Testkube Enterprise
>>
> :eight_spoked_asterisk: Disable bundling dashboard
>
>
> To disable Dashboard installation with the Testkube system, you may use `testkube-dashboard.enabled=false` value in
> the [**Helm chart**](https://github.com/kubeshop/helm-charts/tree/main/charts/testkube).
>
>### Repository
To run the Testkube Dashboard for development:
- Install Node 20.x
- Fork the repository and clone it (or just clone it, if you are Testkube member or want to read it only)
- Install NPM dependencies
- Run `npm start` command```bash
git clone [email protected]:kubeshop/testkube-dashboard.git && cd testkube-dashboard
npm install
npm start
```To learn more about the Testkube Dashboard development and architecture, see the
[**Contribution manual**](CONTRIBUTING.md).>
> :eight_spoked_asterisk: Environment variables
>
>
> To configure your [**environment variables**](#environment-variables), either:
>
> - create `.env` file in the repository, or
> - export the environment variables globally
>
> You may use both [**build time**](#build-time-variables) and [**dynamic variables**](#dynamic-variables) here.
>
> Please note, that you may want to use
> [**Create React App's variables**](https://create-react-app.dev/docs/advanced-configuration/) too, i.e. `BROWSER=none`
> to avoid opening the browser.
>
>### Docker
The Docker images for the Testkube Dashboard are deployed to the Docker Hub as
[**kubeshop/testkube-dashboard**](https://hub.docker.com/r/kubeshop/testkube-dashboard).To start Dashboard using Docker, run the image with the [**dynamic environment variables**](#dynamic-variables) you
would like to pass, i.e.:```bash
docker run --rm \
-p 8080:8080 \
-e REACT_APP_API_SERVER_ENDPOINT=https://demo.testkube.io/results/v1 \
kubeshop/testkube-dashboard:latest
```>
> :warning: Environment variables
>
>
> To override the [**build time environment variables**](#build-time-variables) too, you need to
> [**build the Docker image**](#building-docker-image) on your own.
>
>## Configuring Application
### Environment Variables
All the Dashboard is configured with the environment variables.
Part of them is included directly in the production build, while the rest may be modified for the running application.
The latest variables are listed in [**env.ts**](packages/web/src/env.ts) file, but for simplicity we keep them
documented below too.>
> :eight_spoked_asterisk: Deep-linking overrides
>
>
> You may temporarily override the variables in the running application using the query string. The Dashboard seeks for
> query params starting with `~` and try to override any matching known variable.
>
> The query param name should be a variable name, but for simplicity it may omit `REACT_APP_` prefix and is
> case-insensitive. Short name from the tables above may be used.
>
> As an example, to change the API endpoint, you may use
> `https://demo.testkube.io?~api_server_endpoint=http://localhost:8088`.
>
>#### Build Time Variables
The build time environments are loaded from `process.env` during build time.
| Name | Short Name | Description |
| ---------------------- | ------------ | ------------------------------------------------------------------------- |
| `REACT_APP_SENTRY_DSN` | `sentry_dsn` | [**Sentry**](https://sentry.io/) DSN for error reporting |
| `REACT_APP_GTM_ID` | `gtm_id` | [**Google Tag Manager**](https://tagmanager.google.com/) ID for telemetry |
| `REACT_APP_VERSION` | `version` | Dashboard version used for reporting and displaying |#### Dynamic Variables
The dynamic variables are loaded from automatically generated `env-config.js` file.
| Name | Short Name | Description |
| --------------------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `REACT_APP_API_SERVER_ENDPOINT` | `api_server_endpoint` | URL for the Testkube API Server |
| `REACT_APP_DISABLE_TELEMETRY` | `disable_telemetry` | Force disabling telemetry in the Dashboard |
| `REACT_APP_DEBUG_TELEMETRY` | `debug_telemetry` | Display debugging information about telemetry in the console log |
| `REACT_APP_CRD_OPERATOR_REVISION` | `crd_operator_revision` | [**testkube-operator**](https://github.com/kubeshop/testkube-operator/tree/main/config/crd)'s branch for getting the JSON Schema for CRDs |
| `REACT_APP_ROUTE_BASENAME` | `route_basename` | Basename for the application. Use only when your Dashboard is accessible via different path than `/` |### Building Docker Image
To build the Docker image of Testkube Dashboard locally, simply build the [**Dockerfile**](Dockerfile), optionally with
the [**environment variables**](#environment-variables) from above.```bash
docker build \
--build-arg REACT_APP_API_SERVER_ENDPOINT=https://demo.testkube.io/results/v1 \
-t kubeshop/testkube-dashboard:latest .
```>
> :eight_spoked_asterisk: Environment variables
>
>
> When you are building images with `docker build`, you may either both set the
> [**build time variables**](#build-time-variables), and set defaults for the
> [**dynamic variables**](#dynamic-variables).
>
>## Learn more
### Contributing and Architecture
To learn more about the Testkube Dashboard development and architecture, see the
[**Contribution manual**](CONTRIBUTING.md).### Telemetry
To learn more about what custom events we expose to [**Google Tag Manager**](https://tagmanager.google.com/), see
[**Telemetry**](telemetry.md) document.### Testkube
- For the documentation of the Testkube system, see [**docs.testkube.io**](https://docs.testkube.io).
- To see the live demo, you may take a look at [**demo.testkube.io**](https://demo.testkube.io) _(some API endpoints are
disabled there though, to avoid modifications)_> **Unleash the power of cloud native testing in Kubernetes with Testkube.**