Skip to content

Commit

Permalink
docs(get-started): add features for cloud vs core (#3824)
Browse files Browse the repository at this point in the history
* docs(get-started): add features for cloud vs core

* docs(get-started): add link to gh readme
  • Loading branch information
adnanrahic committed Apr 23, 2024
1 parent deab8eb commit c4c2e71
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 43 deletions.
27 changes: 24 additions & 3 deletions docs/docs/getting-started/overview.mdx
Expand Up @@ -22,11 +22,11 @@ import {TracetestGettingStartedGuideCardsRow, TracetestCoreGettingStartedGuideCa

Tracetest is a cloud-native application, designed to run in the cloud. Get started in three ways.

- **[Cloud-based Managed Tracetest](https://app.tracetest.io/) (Free to get started!)**: Use managed infrastructure with collaboration for teams, and additional features on top of Core.
- **[Cloud-based Managed Tracetest](https://app.tracetest.io/) (Free to get started!)**: Use managed infrastructure with collaboration for teams, and additional features on top of Tracetest Core.
- **Enterprise Self-hosted Tracetest (Coming soon...)**: Same experience as with Cloud-based Managed Tracetest but self-hosted in your own infrastructure. **[Book a call](https://dub.sh/tracetest-demo) to get into early access.**
- **[Hobby Self-hosted Open-source Tracetest Core](/core/getting-started/overview)**: Deploy a hobby instance in your own infrastructure with Docker or Kubernetes. Not suitable for production workloads.

## Getting Started with Tracetest Managed Platform
## Cloud-based Managed Tracetest

**We recommend using [Cloud-based Managed Tracetest](https://app.tracetest.io/)**. It's the easiest way to test microservices and distributed apps with OpenTelemetry distributed traces. Tracetest provides managed infrastructure, [collaboration for teams](/concepts/environments), [RBAC](/concepts/roles-and-permissions), [organizations](/concepts/organizations), [dependency-free config](/concepts/agent), [agentless serverless config](/concepts/cloud-agent), and much more.

Expand All @@ -36,10 +36,31 @@ Get started with the installation guide below, tailored for microservice and dis
<TracetestGettingStartedGuideCardsRow />
```

## Getting Started with Tracetest Core
### Features Available in Cloud-based Managed Tracetest

#### All Tracetest Core features, plus...

- The usual cloud-based managed capability: SSO, accounts, organizations, roles, ability to run multiple environments, sharing, and security.
- Additional test triggers: Cypress, Playwright, k6, Artillery, with more coming soon.
- Additional test automation options: GitHub Actions, `@tracetest/client` npm module, with more coming soon.
- Grouped test runs: Organize multiple tests into a single "test run group". These tests can then be executed simultaneously in parallel. The system will wait for all tests in the group to complete before delivering a consolidated "pass/fail" outcome. This functionality is particularly beneficial for halting CI/CD processes if any test in the group fails.
- Test coverage overview: "Run" tab to monitor actively running tests with extensive meta tagging and filtering.
- Public + private access, with Tracetest Agent or Tracetest Cloud Agent.
- Secrets management (coming soon...)

## Hobby Self-hosted Open-source Tracetest Core

Tracetest Core is a cloud-native application, packaged and distributed as a Docker image and designed to run in a containerized environment.

```mdx-code-block
<TracetestCoreGettingStartedGuideCardsRow />
```

### Features Available in Open-source Tracetest Core

#### Tracetest Core functionality

- [Open-Source Features](https://github.com/kubeshop/tracetest?tab=readme-ov-file#-features)
- Test triggers: HTTP/GRPC, Trace ID, Kafka
- Test specifications: Selector language + Assertions
- Test automation options: CLI + Deep Link
2 changes: 1 addition & 1 deletion docs/docs/index.mdx
Expand Up @@ -102,7 +102,7 @@ You can:

## Getting Started

Tracetest is a cloud-native application, designed to run in the cloud. Get started in three ways.
Tracetest is a cloud-native application, designed to run in the cloud. [Get started in three ways](/getting-started/overview).

### Cloud-based Managed Tracetest (Free to get started!)

Expand Down
27 changes: 9 additions & 18 deletions docs/src/components/CoreGettingStartedGuide/index.tsx
@@ -1,7 +1,6 @@
/* eslint-disable global-require */

import React from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import Translate from '@docusaurus/Translate';
import Heading from '@theme/Heading';
Expand All @@ -15,7 +14,6 @@ const CoreGettingStartedGuides = [
Set up Tracetest Core and start trace-based testing your distributed system.
</Translate>
),
button: 'Start',
},
{
name: '馃檶 Open Tracetest Core',
Expand All @@ -25,7 +23,6 @@ const CoreGettingStartedGuides = [
After installing it, open Tracetest Core start to creating trace-based tests.
</Translate>
),
button: 'Create tests',
},
{
name: '馃 Don\'t have OpenTelemetry?',
Expand All @@ -35,7 +32,6 @@ const CoreGettingStartedGuides = [
Install OpenTelemetry in 5 minutes without any code changes!
</Translate>
),
button: 'Configure OpenTelemetry',
},
{
name: '馃ぉ Open Source',
Expand All @@ -45,32 +41,27 @@ const CoreGettingStartedGuides = [
Check out the Tracetest GitHub repo! Please consider giving us a star! 猸愶笍
</Translate>
),
button: 'Go to GitHub',
},
];

interface Props {
name: string;
url: string;
button: string;
description: JSX.Element;
}

function CoreGettingStartedGuideCard({name, url, description, button}: Props) {
function CoreGettingStartedGuideCard({name, url, description}: Props) {
return (
<div className="col col--6 margin-bottom--lg">
<div className={clsx('card')}>
<div className="card__body">
<Heading as="h3">{name}</Heading>
<p>{description}</p>
</div>
<div className="card__footer">
<div className="button-group button-group--block">
<Link className="button button--secondary" to={url}>
{button}
</Link>
<div className="gs__card">
<div className="card">
<Link to={url}>
<div className="card__body">
<Heading as="h3">{name}</Heading>
<p>{description}</p>
</div>
</div>
</Link>
</div>
</div>
</div>
);
Expand Down
2 changes: 1 addition & 1 deletion docs/src/components/GettingStartedGuide/index.tsx
Expand Up @@ -40,7 +40,7 @@ interface Props {

function GettingStartedGuideCard({name, url, description, button}: Props) {
return (
<div className="col col--6 margin-bottom--lg">
<div className="col col--6">
<div className="gs__card">
<div className="card">
<Link to={url}>
Expand Down
31 changes: 11 additions & 20 deletions docs/src/components/WelcomeGuide/index.tsx
@@ -1,7 +1,6 @@
/* eslint-disable global-require */

import React from 'react';
import clsx from 'clsx';
import Translate from '@docusaurus/Translate';
import Link from '@docusaurus/Link';
import Heading from '@theme/Heading';
Expand All @@ -15,7 +14,6 @@ const WelcomeGuides = [
Set up Tracetest and start trace-based testing your distributed system.
</Translate>
),
button: 'Start',
},
{
name: '馃ぉ Open Source',
Expand All @@ -25,17 +23,15 @@ const WelcomeGuides = [
Check out the Tracetest GitHub repo! Please consider giving us a star! 猸愶笍
</Translate>
),
button: 'Go to GitHub',
},
{
name: '鈿欙笍 Configure access and tracing backend',
name: '鈿欙笍 Configure Access and Tracing Backend',
url: '/configuration/overview',
description: (
<Translate>
Configure app access & connect tracing backend / OTLP ingestion!
Configure app access & connect tracing backend or OTLP ingestion!
</Translate>
),
button: 'Configure',
},
{
name: '馃檮 New to Trace-based Testing?',
Expand All @@ -45,32 +41,27 @@ const WelcomeGuides = [
Read about the concepts of trace-based testing to learn more!
</Translate>
),
button: 'View Concepts',
},
];

interface Props {
name: string;
url: string;
button: string;
description: JSX.Element;
}

function WelcomeGuideCard({name, url, description, button}: Props) {
function WelcomeGuideCard({name, url, description}: Props) {
return (
<div className="col col--6 margin-bottom--lg">
<div className={clsx('card')}>
<div className="card__body">
<Heading as="h3">{name}</Heading>
<p>{description}</p>
</div>
<div className="card__footer">
<div className="button-group button-group--block">
<Link className="button button--secondary" to={url}>
{button}
</Link>
<div className="gs__card">
<div className="card">
<Link to={url}>
<div className="card__body">
<Heading as="h3">{name}</Heading>
<p>{description}</p>
</div>
</div>
</Link>
</div>
</div>
</div>
);
Expand Down

0 comments on commit c4c2e71

Please sign in to comment.