Skip to content

Commit

Permalink
update links, up to Origins section
Browse files Browse the repository at this point in the history
  • Loading branch information
kapunahelewong committed Jul 7, 2021
1 parent 0835a47 commit 4eba3ba
Show file tree
Hide file tree
Showing 9 changed files with 72 additions and 65 deletions.
2 changes: 1 addition & 1 deletion content/en/docs/Caching/caches.md
Expand Up @@ -87,7 +87,7 @@ Trickster reports several cache statuses in metrics, logs, and tracing, which ar
| rmiss | Object is in cache, but the specific data range requested (timestamps or byte ranges) was not |
| hit | The object was fully cached and served from cache to the client |
| phit | The object was cached for some of the data requested, but not all |
| nchit | The response was served from the [Negative Cache](./negative-caching.md) |
| nchit | The response was served from the [Negative Cache](/docs/caching/negative-caching/) |
| rhit | The object was served from cache to the client, after being revalidated for freshness against the origin |
| proxy-only | The request was proxied 1:1 to the origin and not cached |
| proxy-error | The upstream request needed to fulfill an associated client request returned an error |
Expand Up @@ -71,4 +71,4 @@ Trickster currently does not support revalidation based on `If-Range` request he

For verification of Trickster's compatibility with Byte Range Requests (as well as Time Series data), we created a golang library and accompanying standalone application dubbed Mockster. Mockster's Byte Range library simply prints out the `Lorem ipsum ...` sample text, pared down to the requested range or multipart ranges, with a few bells and whistles that allow you to customize its response for unit testing purposes. We make extensive use of Mockster in unit testing to verify the integrity of Trickster's output after performing operations like merging disparate range parts, extracting ranges from other ranges, or from a full body, compressing adjacent ranges into a single range in the cache, etc.

It is fairly straightforward to run or import Mockster into your own applications. For examples of using it for Unit Testing, check out [/internal/proxy/engines/objectproxycache_test.go](https://github.com/trickstercache/trickster/blob/main/internal/proxy/engines/objectproxycache_test.go).
It is fairly straightforward to run or import Mockster into your own applications. For examples of using it for Unit Testing, check out [/pkg/proxy/engines/objectproxycache_test.go](https://github.com/trickstercache/trickster/blob/main/pkg/proxy/engines/objectproxycache_test.go).
52 changes: 1 addition & 51 deletions content/en/docs/Getting started/_index.md
Expand Up @@ -3,55 +3,5 @@ title: "Getting Started"
linkTitle: "Getting Started"
weight: 3
description: >
What does your user need to know to try your project?
The following articles cover getting up and running with Trickster.
---
<!-- Got this docker compose demo from https://github.com/trickstercache/trickster/tree/main/examples/docker-compose -->

{{< alert title="Try Trickster" >}}To try a demo of Trickster with Docker before installing, see our end-to-end [Quickstart](/docs/quickstart/) for a zero-configuration running environment.{{< /alert >}}

## Installing with Docker

Docker images are available on Docker Hub. To install Trickster with Docker, run the following command:

```
$ docker run --name trickster -d -v /path/to/trickster.conf:/etc/trickster/trickster.conf -p 0.0.0.0:8480:8480 tricksterproxy/trickster
```

See the [Deployment](/docs/quick-start/deployment/) documentation for more information about using or creating Trickster Docker images.

## Installing with Kubernetes

To install Trickster with Kubernetes, see [Deployment](/docs/quick-start/deployment/).

## Helm

Trickster Helm Charts are located at <https://helm.tricksterproxy.io> for installation, and maintained at <https://github.com/tricksterproxy/helm-charts>. We welcome chart contributions.

## Building from source

To build Trickster from the source code yourself you need to have a working
Go environment with [version 1.9 or greater installed](http://golang.org/doc/install).

You can directly use the `go` tool to download and install the `trickster`
binary into your `GOPATH`:

$ go get github.com/tricksterproxy/trickster
$ trickster -origin-url http://prometheus.example.com:9090 -origin-type prometheus

You can also clone the repository yourself and build using `make`:

$ mkdir -p $GOPATH/src/github.com/tricksterproxy
$ cd $GOPATH/src/github.com/tricksterproxy
$ git clone https://github.com/tricksterproxy/trickster.git
$ cd trickster
$ make build
$ ./OPATH/trickster -origin-url http://prometheus.example.com:9090 -origin-type prometheus

The Makefile provides several targets, including:

* *build*: build the `trickster` binary
* *docker*: build a docker container for the current `HEAD`
* *clean*: delete previously-built binaries and object files
* *test*: runs unit tests
* *bench*: runs benchmark tests
* *rpm*: builds a Trickster RPM
2 changes: 1 addition & 1 deletion content/en/docs/Getting started/configuring.md
Expand Up @@ -43,7 +43,7 @@ Finally, Trickster will check for and evaluate the following Command Line Argume
* `-log-level INFO` - Level of Logging that Trickster will output
* `-config /path/to/trickster.yaml` - See [Configuration File](#configuration-file) section above
* `-origin-url http://prometheus.example.com:9090` - The default origin URL for proxying all http requests
* `-provider prometheus` - The type of [supported backend server](./supported-origin-types.md)
* `-provider prometheus` - The type of [supported backend server](/docs/origins/supported-providers/)
* `-proxy-port 8480` - Listener port for the HTTP Proxy Endpoint
* `-metrics-port 8481` - Listener port for the Metrics and pprof debugging HTTP Endpoint

Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/Getting started/deployment.md
Expand Up @@ -21,7 +21,7 @@ If you want to use Helm and kubernetes rbac, use the following install steps in

#### Bootstrap Local Kubernetes-Helm Dev

1. Install [Helm](helm.sh) **Client Version 2.9.1**
1. Install [Helm](https://helm.sh/docs/intro/install/) **Client Version 2.9.1**
```
brew install kubernetes-helm
```
Expand Down
57 changes: 57 additions & 0 deletions content/en/docs/Getting started/installing.md
@@ -0,0 +1,57 @@
---
title: "Installing Trickster"
linkTitle: "Installing"
weight: 1
description: >
Install Trickster to get started.
---
<!-- Got this docker compose demo from https://github.com/trickstercache/trickster/tree/main/examples/docker-compose -->

{{< alert title="Try Trickster" >}}To try a demo of Trickster with Docker before installing, see our end-to-end [Quickstart](/docs/quickstart/) for a zero-configuration running environment.{{< /alert >}}

## Installing with Docker

Docker images are available on Docker Hub. To install Trickster with Docker, run the following command:

```
$ docker run --name trickster -d -v /path/to/trickster.conf:/etc/trickster/trickster.conf -p 0.0.0.0:8480:8480 tricksterproxy/trickster
```

See the [Deployment](/docs/getting-started/deployment/) documentation for more information about using or creating Trickster Docker images.

## Installing with Kubernetes

To install Trickster with Kubernetes, see [Deployment](/docs/getting-started/deployment/).

## Helm

Trickster Helm Charts are located at <https://helm.tricksterproxy.io> for installation, and maintained at <https://github.com/tricksterproxy/helm-charts>. We welcome chart contributions.

## Building from source

To build Trickster from the source code yourself you need to have a working
Go environment with [version 1.9 or greater installed](http://golang.org/doc/install).

You can directly use the `go` tool to download and install the `trickster`
binary into your `GOPATH`:

$ go get github.com/tricksterproxy/trickster
$ trickster -origin-url http://prometheus.example.com:9090 -origin-type prometheus

You can also clone the repository yourself and build using `make`:

$ mkdir -p $GOPATH/src/github.com/tricksterproxy
$ cd $GOPATH/src/github.com/tricksterproxy
$ git clone https://github.com/tricksterproxy/trickster.git
$ cd trickster
$ make build
$ ./OPATH/trickster -origin-url http://prometheus.example.com:9090 -origin-type prometheus

The Makefile provides several targets, including:

* *build*: build the `trickster` binary
* *docker*: build a docker container for the current `HEAD`
* *clean*: delete previously-built binaries and object files
* *test*: runs unit tests
* *bench*: runs benchmark tests
* *rpm*: builds a Trickster RPM
18 changes: 9 additions & 9 deletions content/en/docs/Overview/_index.md
Expand Up @@ -24,14 +24,14 @@ By working between endpoints, databases, users and the dashboard server, Tricks

Trickster is a fully-featured HTTP reverse proxy cache for HTTP applications such as static file servers and web APIs. Trickster's proxy features include the following:

* [Supports Transport Layer Security (TLS) Protocol](./tls.md) and HTTP/2 for frontend termination and backend origination
* Offers several options for a [caching layer](./caches.md), including in-memory, filesystem, Redis and bbolt
* [Highly customizable](./configuring.md), using minimal configuration settings, [down to the HTTP Path](./paths.md)
* Built-in Prometheus [metrics](./metrics.md) and customizable [Health Check](./health.md) Endpoints for end-to-end monitoring
* [Negative Caching](./negative-caching.md) to prevent domino effect outages
* High-performance [Collapsed Forwarding](./collapsed-forwarding.md)
* Best-in-class [Byte Range Request caching and acceleration](./range_request.md).
* [Distributed Tracing](./tracing.md) via OpenTelemetry, supporting Jaeger and Zipkin
* [Supports Transport Layer Security (TLS) Protocol](/docs/origins/tls/) and HTTP/2 for frontend termination and backend origination
* Offers several options for a [caching layer](/docs/caching/), including in-memory, filesystem, Redis and bbolt
* [Highly customizable](/docs/getting-started/configuring/), using minimal configuration settings, [down to the HTTP Path](/docs/paths/paths/)
* Built-in Prometheus [metrics](/docs/tracing-and-metrics/metrics/) and customizable [Health Check](/docs/load-balancers/health/) Endpoints for end-to-end monitoring
* [Negative Caching](/docs/caching/negative-caching/) to prevent domino effect outages
* High-performance [Collapsed Forwarding](/docs/caching/collapsed-forwarding/)
* Best-in-class [Byte Range Request caching and acceleration](/docs/caching/range-request/).
* [Distributed Tracing](/docs/tracing-and-metrics/tracing/) via OpenTelemetry, supporting Jaeger and Zipkin
* Rules engine for custom request routing and rewriting

## Time Series Database Accelerator
Expand All @@ -50,7 +50,7 @@ Trickster works with virtually any Dashboard application that makes queries to a

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

See the [Supported Origin Types](./supported-origin-types.md) documentation for details.
See the [Supported Providers](/docs/origins/supported-providers/) documentation for details.

### How Trickster Accelerates Time Series

Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/Paths/paths.md
Expand Up @@ -39,7 +39,7 @@ The `methods` section of a Path Config takes a string array of HTTP Methods that

## Request Rewriters

You can configure paths send inbound requests through a request rewriter that can modify any aspect of the inbound request (method, url, headers, etc.), before being processed by the path route. This means, when the path route inspects the request, it will have already been modified by the rewriter. Provide a rewriter with the `req_rewriter_name` config. It must map to a named/configured request rewriter (see [request rewriters](./request_rewriters.md) for more info). Note, you can also send requests through a rewriter at the backend level. If both are configured, backend-level rewriters are executed before path rewriters are.
You can configure paths send inbound requests through a request rewriter that can modify any aspect of the inbound request (method, url, headers, etc.), before being processed by the path route. This means, when the path route inspects the request, it will have already been modified by the rewriter. Provide a rewriter with the `req_rewriter_name` config. It must map to a named/configured request rewriter (see [request rewriters](/docs/paths/request-rewriters/) for more info). Note, you can also send requests through a rewriter at the backend level. If both are configured, backend-level rewriters are executed before path rewriters are.

```yaml
request_rewriters:
Expand Down
File renamed without changes.

0 comments on commit 4eba3ba

Please sign in to comment.