Skip to content

Commit

Permalink
docs(config): splitting saas and core config (#3237)
Browse files Browse the repository at this point in the history
* docs(config): capitalize label

* docs(config): capitalize headers

* docs(config): split saas and core config pages

* docs(fix): fix broken links
  • Loading branch information
adnanrahic committed Oct 10, 2023
1 parent ab7381a commit 7d3d7f4
Show file tree
Hide file tree
Showing 18 changed files with 191 additions and 72 deletions.
2 changes: 1 addition & 1 deletion docs/docs/ci-cd-automation/overview.md
Expand Up @@ -12,7 +12,7 @@ You can find guides for:
If you want to see more examples with other CI/CD tools, let us know by [opening an issue in GitHub](https://github.com/kubeshop/tracetest/issues/new/choose)!
:::

Tracetest is designed to work with all CI/CD platforms and automation tools. To enable Tracetest to run in CI/CD environments, make sure to [install the Tracetest CLI](../getting-started/installation.mdx) and configure it to access your [Tracetest server](../configuration/server.md).
Tracetest is designed to work with all CI/CD platforms and automation tools. To enable Tracetest to run in CI/CD environments, make sure to [install the Tracetest CLI](../getting-started/installation.mdx) and configure it to access your [Tracetest server](../core/configuration/server.mdx).

To read more about integrating Tracetest with CI/CD tools, check out tutorials in our blog:

Expand Down
4 changes: 4 additions & 0 deletions docs/docs/configuration/agent.mdx
Expand Up @@ -18,3 +18,7 @@ Once started, Tracetest Agent exposes OTLP ports `4317` and `4318` to ingest tra
Unlike with Tracetest Core, you are not required to run a dedicated Tracetest Server. Running Tracetest Agent and using Tracetest as the remote server requires no configuration or infrastructure management.

[Start Tracetest Agent](../getting-started/installation.mdx) in your environment to get started.

Or, [sign in to Tracetest](https://app.tracetest.io/) and follow the instructions on the Agent Settings page.

![](https://res.cloudinary.com/djwdcmwdz/image/upload/v1696941536/docs/app.tracetest.io_organizations_ttorg_e66318ba6544b856_environments_ttenv_0e807879e2e38d28_settings_j4zt1b.png)
@@ -1,8 +1,19 @@
# Configuration
---
id: overview
title: Configuration
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

There is one configuration option with Tracetest:

- [Agent configuration](./agent) to run it locally, in Docker, or Kubernetes.
- [Agent configuration](./agent.mdx) to run it locally, in Docker, or Kubernetes.

## Supported Trace Data Stores

Expand Down Expand Up @@ -36,22 +47,3 @@ View [configuration for OpenTelemetry Collector](./connecting-to-data-stores/ope
Examples of configuring Tracetest to access different data stores can be found in the [`examples` folder of the Tracetest GitHub repo](https://github.com/kubeshop/tracetest/tree/main/examples). Check out the [**Recipes**](../examples-tutorials/recipes.mdx) for guided walkthroughs of sample use cases.

We will be adding new data stores over the next couple of months - [let us know](https://github.com/kubeshop/tracetest/issues/new/choose) any additional data stores you would like to see us support.

## Tracetest Core

There are several configuration options with Tracetest Core:

- [Server configuration](./server) to set database connection information needed to connect to required PostgreSQL instance.
- [Provisioning configuration](./provisioning) to 'preload' the Tracetest server with resources when first running the Tracetest server.

### Configuring Tracetest Server

Tracetest has a configuration file to contain the minimal information needed to start the Tracetest server. See more at [Tracetest Server Configuration](./server).

You can also provision the server when it first starts, configuring most aspects of your Tracetest server environment. This is useful in a CI/CD environment to preload and configure the server. See more at [Provisioning a Tracetest Server](./provisioning).

Many of the server configuration settings can be set individually in the UI or via the CLI. See:

- [Trace Polling](./trace-polling)
- [Demo Applications](./demo)
- [Analytics](./analytics)
7 changes: 3 additions & 4 deletions docs/docs/configuration/sampling-tracetest-spans.md
@@ -1,16 +1,15 @@
# Sampling tracetest spans
# Sampling Tracetest Spans

Suppose you are considering Tracetest to run tests against a high-volume environment, such as production. In that case, you probably will hit some drawbacks, such as having
your test spans not sampled by your probabilistic sampler. There are a couple of things that you can do to avoid those problems:

## Add a separate pipeline for Tracetest in your OpenTelemetry Collector
## Add a Separate Pipeline for Tracetest in your OpenTelemetry Collector

> :warning: Note: This requires the [OpenTelemetry collector contrib](https://hub.docker.com/r/otel/opentelemetry-collector-contrib) instead of the core release
> of the collector
Your existing OpenTelemetry Collector already receives traces from your applications and sends them to your datastore and you have a set of processors configured to ensure the quality of the traces your datastore is receiving. It probably looks like this one:


```yaml
receivers:
otlp:
Expand Down Expand Up @@ -89,7 +88,7 @@ service:
With this configuration, you will still get 5% of all your traces, but you will also ensure that all your test traces are collected and sent to
Jaeger.

## Consider trace-related headers in your ingress endpoint
## Consider Trace-related Headers in your Ingress Endpoint

When exposing something to the internet, it's common to ignore all unknown headers from an HTTP request. This usually includes the `traceparent` and `tracestate` headers, which are the two headers defined in the [W3C specification](https://www.w3.org/TR/trace-context/#relationship-between-the-headers).

Expand Down
@@ -1,4 +1,15 @@
# Analytics Settings
---
id: analytics
title: Analytics Settings
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

To improve the end user experience and to help determine where to focus team resources to improve the tool, Tracetest collects analytics and telemetry information from the system.

Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions docs/docs/core/configuration/overview.mdx
@@ -0,0 +1,39 @@
---
id: overview
title: Configuration
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

There are several configuration options with Tracetest Core:

- [Server configuration](./server) to set database connection information needed to connect to required PostgreSQL instance.
- [Provisioning configuration](./provisioning) to 'preload' the Tracetest server with resources when first running the Tracetest server.

## Supported Trace Data Stores

Tracetest is designed to work with different trace data stores. To enable Tracetest to run end-to-end tests against trace data, you need to configure Tracetest to access trace data.

Currently, Tracetest supports the [following data stores](../../configuration/overview).

## Configuring Tracetest Server

Tracetest has a configuration file to contain the minimal information needed to start the Tracetest server. See more at [Tracetest Server Configuration](./server).

You can also provision the server when it first starts, configuring most aspects of your Tracetest server environment. This is useful in a CI/CD environment to preload and configure the server. See more at [Provisioning a Tracetest Server](./provisioning).

Many of the server configuration settings can be set individually in the UI or via the CLI.

See:

- [Trace Polling](../../configuration/trace-polling.md)
- [Test Runner](../../configuration/test-runner.md)
- [Demo Applications](../../configuration/demo.md)
- [Analytics](./analytics.mdx)
- [Telemetry](./telemetry.mdx)
@@ -1,4 +1,15 @@
# Provisioning a Tracetest Server
---
id: provisioning
title: Provisioning a Tracetest Server
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

Tracetest allows a server to be provisioned the first time a new Tracetest server is installed and launched. Provisioning sets certain resources in the server to the specified values, allowing you to configure the server. It is convenient in a CI/CD flow where you want to launch a server with a specified configuration.

Expand Down
@@ -1,4 +1,15 @@
# Configuring the Tracetest Server
---
id: server
title: Configuring the Tracetest Server
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

Tracetest requires a very minimal configuration to be launched, needing just the connection information to connect with the PostgreSQL database which is installed as part of the server install. There are a couple of ways to provide this database connection information.

Expand Down
@@ -1,4 +1,15 @@
# Telemetry
---
id: telemetry
title: Telemetry
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

The Tracetest server generates internal observability trace data. You can use this data to track Tracetest test runs over time and gain observability of how the Tracetest server is behaving.

Expand All @@ -8,7 +19,7 @@ The Tracetest team uses an observability-driven development approach in developi

You can configure an exporter to send the trace data to an OpenTelemetry Collector and then store it safely in your trace data store for further historical analysis. View the [supported trace data stores](./overview#supported-trace-data-stores) for more guidance on setting them up.

In the `tracetest-config.yaml` file, alongside the [configuration](./server.md) of connecting Tracetest to the Postgres instance, you can also define a `telemetry` and `server` section.
In the `tracetest-config.yaml` file, alongside the [configuration](./server.mdx) of connecting Tracetest to the Postgres instance, you can also define a `telemetry` and `server` section.

With these two additional sections, you define an exporter where the Tracetest server's internal telemetry will be routed to. In the `telemetry` section, you define the endpoint of the OpenTelemetry Collector. And, in the `server` section you define which exporter the Tracetest server will use.

Expand Down
@@ -1,4 +1,15 @@
# Upgrade Tracetest Version
---
id: upgrade
title: Upgrade Tracetest Version
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. Learn how to get started with creating tests once you open Tracetest.
keywords:
- tracetest
- trace-based testing
- observability
- distributed tracing
- testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png
---

This page explains how to upgrade the version of your Tracetest Server and CLI.

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/core/deployment/docker.md
Expand Up @@ -56,4 +56,4 @@ Starting tracetest ...

Then launch a browser to [http://localhost:11633/](http://localhost:11633/).

For more configuration options, visit the [configuration docs](/configuration/overview.md).
For more configuration options, visit the [configuration docs](/configuration/overview.mdx).
2 changes: 1 addition & 1 deletion docs/docs/core/deployment/kubernetes.mdx
Expand Up @@ -89,4 +89,4 @@ kubectl apply -f ./tracetest-kubernetes-manifests.yaml
</TabItem>
</Tabs>

For more configuration options, visit the [configuration docs](/configuration/overview.md).
For more configuration options, visit the [configuration docs](/configuration/overview.mdx).
4 changes: 2 additions & 2 deletions docs/docs/core/deployment/overview.md
Expand Up @@ -5,7 +5,7 @@ This section contains a general overview of deploying Tracetest in production. Y
- [Docker](./docker)
- [Kubernetes](./kubernetes)

As shown in the diagram below, a typical production Tracetest deployment consists of Postgres, an OpenTelemetry Colletor and a [trace data store](/configuration/overview.md). But, if you do not want to use a trace data store, you can rely entirely on OpenTelemetry Collector.
As shown in the diagram below, a typical production Tracetest deployment consists of Postgres, an OpenTelemetry Colletor and a [trace data store](/configuration/overview.mdx). But, if you do not want to use a trace data store, you can rely entirely on OpenTelemetry Collector.

<!-- Add graph for Tracetest cluster -->

Expand Down Expand Up @@ -46,6 +46,6 @@ postgres:
params: sslmode=disable
```

Read more in the [configuration docs](/configuration/overview.md).
Read more in the [configuration docs](/configuration/overview.mdx).

Or, continue reading to see how to run Tracetest in production with [Docker](./docker) or [Kubernetes](./kubernetes).
2 changes: 1 addition & 1 deletion docs/docs/getting-started/no-otel.mdx
Expand Up @@ -96,7 +96,7 @@ You configure 2 separate things:

#### 2. The OpenTelemetry collector, which will collect the traces from the init-container and send them to Tracetest, and/or your trace data store.

What's amazing here is that you can add other exporters to this config file to [send the traces to other services as explained here](../configuration/overview.md).
What's amazing here is that you can add other exporters to this config file to [send the traces to other services as explained here](../configuration/overview.mdx).

## 4. Apply the `otel-collector.yaml` config file

Expand Down
3 changes: 1 addition & 2 deletions docs/docs/web-ui/creating-data-stores.md
Expand Up @@ -12,5 +12,4 @@ To help you configure the connection, you can use the **Test Connection** button

## Supported Trace Data Stores

Select from the [list of available data stores](../configuration/overview.md) and configure the connection.

Select from the [list of available data stores](../configuration/overview.mdx) and configure the connection.
21 changes: 21 additions & 0 deletions docs/docusaurus.config.js
Expand Up @@ -209,6 +209,27 @@ const config = {
to: '/getting-started/installation',
from: ['/installing'],
},
// SaaS to Core
{
to: '/core/configuration/server',
from: ['/configuration/server'],
},
{
to: '/core/configuration/provisioning',
from: ['/configuration/provisioning'],
},
{
to: '/core/configuration/analytics',
from: ['/configuration/analytics'],
},
{
to: '/core/configuration/telemetry',
from: ['/configuration/telemetry'],
},
{
to: '/core/configuration/upgrade',
from: ['/configuration/upgrade'],
},
],
// createRedirects(existingPath) {
// if (existingPath.includes('/community')) {
Expand Down

0 comments on commit 7d3d7f4

Please sign in to comment.