Skip to content

Commit

Permalink
finish links check pass
Browse files Browse the repository at this point in the history
  • Loading branch information
kapunahelewong committed Jul 8, 2021
1 parent 4eba3ba commit 2242649
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 42 deletions.
2 changes: 1 addition & 1 deletion content/en/docs/Origins/multi-origin/_index.md
Expand Up @@ -16,7 +16,7 @@ There are 2 ways to route to multiple backends.

## Basic Usage

To utilize multiple backends, you must craft a Trickster configuration file to be read when Trickster starts up - operating with environment variables or command line arguments only supports accelerating a single backend. The [example.full.yaml](../examples/conf/example.full.yaml) provides good documentation and commented sections demonstrating multiple backends. The config file should be placed in `/etc/trickster/trickster.yaml` unless you specify a different path when starting Trickster with the `-config` command line argument.
To utilize multiple backends, you must craft a Trickster configuration file to be read when Trickster starts up - operating with environment variables or command line arguments only supports accelerating a single backend. The [example.full.yaml](https://github.com/trickstercache/trickster/blob/main/examples/conf/example.full.yaml) provides good documentation and commented sections demonstrating multiple backends. The config file should be placed in `/etc/trickster/trickster.yaml` unless you specify a different path when starting Trickster with the `-config` command line argument.

Each backend that your Trickster instance supports must be explicitly enumerated in the configuration file. Trickster does not support open proxying.

Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/Origins/rule.md
Expand Up @@ -12,7 +12,7 @@ The Rule Backend is not really a true Backend; it only routes inbound requests t

A Rule is a single inspection operation performed against a single component of an inbound request, which determines the Next Backend to send the request to. The Next Backend can also be a rule Backend, so as to route requests through multiple Rules before arriving at a true Backend destination.

A rule can optionally rewrite multiple portions of the request before, during and after rule matching, by using [request rewriters](./request_rewriters.md), which allows for powerful and limitless combinations of request rewriting and routing.
A rule can optionally rewrite multiple portions of the request before, during and after rule matching, by using [request rewriters](/docs/paths/request-rewriters/), which allows for powerful and limitless combinations of request rewriting and routing.

## Rule Parts

Expand Down
4 changes: 2 additions & 2 deletions content/en/docs/Origins/supported-providers/_index.md
Expand Up @@ -25,13 +25,13 @@ Trickster fully supports the [Prometheus HTTP API (v1)](https://prometheus.io/do

Trickster supports for InfluxDB. Specify `'influxdb'` as the Provider when configuring Trickster.

See the [InfluxDB Support Document](./influxdb.md) for more information.
See the [InfluxDB Support Document](/docs/queries/influxdb/) for more information.

### <img src="clickhouse_logo.png" alt="ClickHouse logo" width=16 /> ClickHouse

Trickster supports accelerating ClickHouse time series. Specify `'clickhouse'` as the Provider when configuring Trickster.

See the [ClickHouse Support Document](./clickhouse.md) for more information.
See the [ClickHouse Support Document](/docs/queries/clickhouse/) for more information.

### <img src="irondb_logo_60.png" alt="IRONdb logo" width=16 /> Circonus IRONdb

Expand Down
18 changes: 1 addition & 17 deletions content/en/docs/Release info/_index.md
Expand Up @@ -4,21 +4,5 @@ linkTitle: "Release Info"
weight: 9
date: 2021-06-25
description: >
What can your user do with your project?
Here you can find information on the latest Trickster updates and our plans going forward.
---

{{% pageinfo %}}
This is a placeholder page that shows you how to use this template site.
{{% /pageinfo %}}

Think about your project’s features and use cases. Use these to choose your core tasks. Each granular use case (enable x, configure y) should have a corresponding tasks page or tasks page section. Users should be able to quickly refer to your core tasks when they need to find out how to do one specific thing, rather than having to look for the instructions in a bigger tutorial or example. Think of your tasks pages as a cookbook with different procedures your users can combine to create something more substantial.

You can give each task a page, or you can group related tasks together in a page, such as tasks related to a particular feature. As well as grouping related tasks in single pages, you can also group task pages in nested folders with an index page as an overview, as seen in this example site. Or if you have a small docset like the [Docsy User Guide](https://docsy.dev/docs/) with no Tutorials or Concepts pages, consider adding your feature-specific pages at the top level of your docs rather than in a Tasks section.

Each task should give the user

* The prerequisites for this task, if any (this can be specified at the top of a multi-task page if they're the same for all the page's tasks. "All these tasks assume that you understand....and that you have already....").
* What this task accomplishes.
* Instructions for the task. If it involves editing a file, running a command, or writing code, provide code-formatted example snippets to show the user what to do! If there are multiple steps, provide them as a numbered list.
* If appropriate, links to related concept, tutorial, or example pages.

28 changes: 14 additions & 14 deletions content/en/docs/Release info/new-changed-2.0.md
Expand Up @@ -4,36 +4,36 @@ linkTitle: "Trickster 2.0"
weight: 2
date: 2021-06-25
description: >
See your project in action!
See the latest updates to Trickster.
---


## What's Improved

2.0 continues to improve the Trickster project, with a ton of new features, bug fixes, and optimizations. Here's the quick rundown of what's new and improved:

- we now use YAML for configuration, and provide [tooling](http://github.com/trickstercache/tricktool) to migrate a 1.x TOML configuration
- example configurations are relocated to the [examples](../examples/conf) directory
- the [Trickster docker-compose demo](../examples/docker-compose) has been relocated to the examples directory and updated to use latest version tags
- we now use a common time series format internally for caching all supported TSDB's, rather than implementing each one separately
- [health checking](./health.md) now uses a common package for all backend providers, rather than implementing separately in each backend, and we now support automated health check polling for any backend, and provide a global health status endpoint
- we offer a brand new [Application Load Balancer](./alb.md) feature with unique and powerful options, like merging data from multiple backends into a single response.
- We now use YAML for configuration, and provide [tooling](http://github.com/trickstercache/tricktool) to migrate a 1.x TOML configuration
- Example configurations are relocated to the [examples/conf](https://github.com/trickstercache/trickster/tree/main/examples/conf) directory
- The [Trickster docker-compose demo](https://github.com/trickstercache/trickster/tree/main/examples/docker-compose) has been relocated to the examples directory and updated to use latest version tags
- We now use a common time series format internally for caching all supported TSDB's, rather than implementing each one separately
- [Health checking](/docs/load-balancers/health/) now uses a common package for all backend providers, rather than implementing separately in each backend, and we now support automated health check polling for any backend, and provide a global health status endpoint
- We offer a brand new [Application Load Balancer](/docs/load-balancers/alb/) feature with unique and powerful options, like merging data from multiple backends into a single response.
- We've updated to Go 1.16
- We've re-organized many packages in the codebase to be more easily importable by other projects. Over the course of the beta, we'll be publishing new patterns to the [examples](../examples/) folder for using Trickster packages in your own projects, including caching, acceleration and load balancing.
- InfluxDB and ClickHouse now support additional output formats like CSV. More documentation will be provided over the course of the beta
- We've re-organized many packages in the codebase to be more easily importable by other projects. Over the course of the beta, we'll be publishing new patterns to the [examples](https://github.com/trickstercache/trickster/tree/main/examples) folder for using Trickster packages in your own projects, including caching, acceleration and load balancing.
- InfluxDB and ClickHouse now support additional output formats like CSV. More documentation will be provided over the course of the beta.

## New in Beta 2

- For [InfluxDB](./influxdb.md), we've improved our compatibility with InfluxQL and hope you'll see improved cache hit rates. Flux support is not quite ready yet.
- We've updated our "Backfill Tolerance" feature, which handles volatile data (e.g., real-time data that may not be immutable), to improve cache hit rates while ensuring volatile data is still refreshed. We've also added new options for controlling backfill tolerance thresholds. See the [example config](../examples/conf/example.full.yaml)
- For [InfluxDB](/docs/queries/influxdb/), we've improved our compatibility with InfluxQL and hope you'll see improved cache hit rates. Flux support is not quite ready yet.
- We've updated our "Backfill Tolerance" feature, which handles volatile data (e.g., real-time data that may not be immutable), to improve cache hit rates while ensuring volatile data is still refreshed. We've also added new options for controlling backfill tolerance thresholds. See the [example config](https://github.com/trickstercache/trickster/blob/main/examples/conf/example.full.yaml).
- We've significantly revamped Trickster's compression capabilities. Beta 2 makes the following enhancements:
- adds Brotli and Zstd compression support when serving responses (we already supported gzip and deflate), when included in an `Accept-Encoding` header
- changes the cache compression storage format from Snappy to Brotli. A future beta will allow customization via configuration
- passes through (or injects) an `Accept-Encoding` header to requests between Trickster and Origins, to support end-to-end content encoding. We previously were not accepting encodings from upstreams.
- Provides a generic HTTP Handler package, supporting Zstd, Brotli, Gzip and Deflate; which is importable by any golang application
- We fixed up a memory leak and refined the Prometheus label injection feature, so it plays nicely with the TSMerge ALB
- Our [Rules Engine](./rule.md) now supports `rmatch` operations to permit regular expression-based routing against any part of the HTTP request.
- You can now chain a collection [request rewriters](./request_rewriters.md) for more robust possibilities.
- Our [Rules Engine](/docs/origins/rule) now supports `rmatch` operations to permit regular expression-based routing against any part of the HTTP request.
- You can now chain a collection [request rewriters](/docs/paths/request-rewriters/) for more robust possibilities.

## Still to Come

Expand Down Expand Up @@ -74,4 +74,4 @@ Using [tricktool](http://github.com/trickstercache/tricktool) to migrate your co
- `origin_type`, `cache_type` and `tracing_type` are now called `provider`.
- Health checking configurations now reside in their own `healthcheck` subsection under `backends` and use simplified config names like `method`, `path`, etc.

See the [example configuration](../examples/conf/example.full.yaml) for more information.
See the [example configuration](https://github.com/trickstercache/trickster/blob/main/examples/conf/example.full.yaml) for more information.
2 changes: 1 addition & 1 deletion content/en/docs/Release info/roadmap.md
Expand Up @@ -4,7 +4,7 @@ linkTitle: "Trickster Roadmap"
weight: 3
date: 2021-06-25
description: >
See your project in action!
See what we're working on for future versions of Trickster.
---

The roadmap for Trickster in 2021 focuses on delivering Trickster versions 2.0 and 2.1, as well as new supporting applications and cloud native integrations. Additional details for Q3 and Q4 will be provided as the year progresses.
Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/Tracing and Metrics/metrics.md
Expand Up @@ -7,7 +7,7 @@ description: >
Check your project performance with Trickster metrics.
---

Trickster exposes a Prometheus /metrics endpoint with a customizable listener port number (default is 8481). For more information on customizing the metrics configuration, see [Configuring](/docs/getting-started/configuring.md).
Trickster exposes a Prometheus /metrics endpoint with a customizable listener port number (default is 8481). For more information on customizing the metrics configuration, see [Configuring](/docs/getting-started/configuring/).

---

Expand Down
10 changes: 5 additions & 5 deletions content/en/docs/Tracing and Metrics/tracing.md
Expand Up @@ -10,7 +10,7 @@ description: >

Trickster instruments Distributed Tracing with [OpenTelemetry](http://opentelemetry.io/), which is a currently emergent, comprehensive observability stack that is in Public Beta. We import the [OpenTelemetry golang packages](https://github.com/open-telemetry/opentelemetry-go) to instrument support for tracing.

As OpenTelemetry evolves to support additional exporter formats, we will work to extend Trickster to support those as quickly as possible. We also make a best effort to update our otel package imports to the latest releases, whenever we publish a new Trickster release. You can check the [go.mod](../go.mod) file to see which release of opentelemetry-go we are is using. In this view, to see which version of otel a specific Trickster release imports, use the branch selector dropdown to switch to the tag corresponding to that version of Trickster.
As OpenTelemetry evolves to support additional exporter formats, we will work to extend Trickster to support those as quickly as possible. We also make a best effort to update our otel package imports to the latest releases, whenever we publish a new Trickster release. You can check the [go.mod](https://github.com/trickstercache/trickster/blob/main/go.mod) file to see which release of opentelemetry-go we are is using. In this view, to see which version of otel a specific Trickster release imports, use the branch selector dropdown to switch to the tag corresponding to that version of Trickster.

## Supported Tracing Backends

Expand All @@ -23,7 +23,7 @@ As OpenTelemetry evolves to support additional exporter formats, we will work to

Trickster allows the operator to configure multiple tracing configurations, which can be associated into each Backend configuration by name.

The [example config](https://github.com/trickstercache/trickster/blob/v1.1.2/examples/conf/example.full.yaml#L508) has exhaustive examples of configuring Trickster for distributed tracing.
The [example config](https://github.com/trickstercache/trickster/blob/main/examples/conf/example.full.yaml) has exhaustive examples of configuring Trickster for distributed tracing.

## Span List

Expand All @@ -43,7 +43,7 @@ Trickster can insert several spans to the traces that it captures, depending upo

## Tags / Attributes

Trickster supports adding custom tags to every span via the configuration. Depending upon your preferred tracing backend, these may be referred to as attributes. See the [example config](https://github.com/trickstercache/trickster/blob/v1.1.2/examples/conf/example.full.yaml#L548) for examples of adding custom attributes.
Trickster supports adding custom tags to every span via the configuration. Depending upon your preferred tracing backend, these may be referred to as attributes. See the [example config](https://github.com/trickstercache/trickster/blob/main/examples/conf/example.full.yaml) for examples of adding custom attributes.

Trickster also supports omitting any tags that Trickster inserts by default. The list of default tags are below. For example on the "request" span, an `http.url` tag is attached with the current full URL. In deployments where that tag may introduce too much cardinality in your backend trace storage system, you may wish to omit that tag and rely on the more concise `path` tag. Each tracer config can be provided a string list of tags to omit from traces.

Expand All @@ -58,12 +58,12 @@ Trickster also supports omitting any tags that Trickster inserts by default. The

### Attributes added to QueryCache span

- `cache.status` - the lookup status of cache query. See the [cache status reference](./caches.md#cache-status) for a description of the attribute values.
- `cache.status` - the lookup status of cache query. See the [cache status reference](/docs/caching/caches/#cache-status) for a description of the attribute values.

### Attributes added to the FetchRevalidation span

- `isRange` - is true if the client request includes an HTTP `Range` header

### Attributes added to the FetchObject span

- `isPCF` - is true if the origin is configured for [Progressive Collapsed Forwarding](./collapsed-forwarding.md#progressive-collapsed-forwarding)
- `isPCF` - is true if the origin is configured for [Progressive Collapsed Forwarding](/docs/caching/collapsed-forwarding/)

0 comments on commit 2242649

Please sign in to comment.