From d15bd5507e5674880ad6e9a4aa6b45ef92cd31f2 Mon Sep 17 00:00:00 2001 From: Irena Rindos Date: Fri, 13 Jan 2023 08:18:03 -0500 Subject: [PATCH] Multihop workers doc (#2772) Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com> Co-authored-by: XingLu Wang <95828202+xingluw@users.noreply.github.com> --- .../docs/configuration/worker/pki-worker.mdx | 25 ++++++++++++++++++ website/public/img/multi-hop-workers.png | Bin 0 -> 57815 bytes 2 files changed, 25 insertions(+) create mode 100644 website/public/img/multi-hop-workers.png diff --git a/website/content/docs/configuration/worker/pki-worker.mdx b/website/content/docs/configuration/worker/pki-worker.mdx index 943a53a7a1..4d04c4c418 100644 --- a/website/content/docs/configuration/worker/pki-worker.mdx +++ b/website/content/docs/configuration/worker/pki-worker.mdx @@ -78,6 +78,29 @@ kms "aead" { workers. These fields are only valid for [KMS Workers][]. `name` and `description` can only be set for PKI workers through the API. +# Multi-Hop WorkersHCP Only + +You can use the `initial_upstreams` field to configure PKI workers to either connect directly to the control plane +or to other workers, when set to the worker's `public_addr`. + +A multi-hop configuration is when two or more workers are connected, and there are multiple “hops” from a worker to +the controller. There are no limits on the amount of workers allowed in a multi-hop configuration. + +The multi-hop configuration introduces the concepts of “upstream” and “downstream” workers. If you view controllers +as the “top” of a multi-hop chain, downstream workers reside below a worker in the chain, while upstream workers reside +above a worker in the chain. For example, in the diagram below, Worker 2’s upstream is Worker 1, and its +downstream is Worker 3. + +![multi-hop workers](/img/multi-hop-workers.png) + +You can deploy multi-hop workers in scenarios where inbound network traffic is not allowed. A worker in a private +network can send outbound communication to its upstream worker, and create a reverse proxy to establish a session. + +You can configure [target worker filters][] with multi-hop workers to allow for fine-grained control on which workers handle +ingress and egress for session traffic to a [target][]. Ingress worker filters determine which +workers you connect with to initiate a session, and egress worker filters determine which workers are +used to access targets. + # Complete Configuration Example ```hcl @@ -118,6 +141,8 @@ kms "aead" { ``` [kms workers]: /docs/configuration/worker/kms-worker +[target]: /docs/concepts/domain-model/targets +[target worker filters]: /docs/concepts/filtering/worker-tags ## Tutorial diff --git a/website/public/img/multi-hop-workers.png b/website/public/img/multi-hop-workers.png new file mode 100644 index 0000000000000000000000000000000000000000..a8a12f6994227474fc7967849e36eaa6039a6c11 GIT binary patch literal 57815 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%0Al=@CdYWL(|_`0vpQ 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