---
id: "cloudflare-spectrum"
type: "component"
kind: "load-balancer"
provider: "cloudflare"
category: "edge"
docs: "https://developers.cloudflare.com/spectrum/reference/configuration-options/"
url: "https://localhost:3000/catalogue/components/cloudflare-spectrum"
---

# Cloudflare Spectrum

Layer 4 reverse proxy with DDoS protection for any TCP or UDP application.

| | |
|---|---|
| Provider | [cloudflare](https://localhost:3000/catalogue?provider=cloudflare) |
| Kind | [Load balancer](https://localhost:3000/catalogue/kinds/load-balancer) |
| Category | Edge |
| Official docs | [https://developers.cloudflare.com/spectrum/reference/configuration-options/](https://developers.cloudflare.com/spectrum/reference/configuration-options/) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `argoSmartRouting` | boolean | — | no | false | inherited |
| `connectionPreserving` (advanced) | boolean | — | no | false | inherited |
| `edgeTlsTermination` | enum | `off`, `flexible`, `full`, `full-strict` | no | "off" | inherited |
| `global` | boolean | — | no | false | **true** |
| `hashing` | enum | `round-robin`, `least-connections`, `ecmp`, `maglev`, `consistent`, `random` | no | "round-robin" | inherited |
| `healthChecks` | boolean | — | no | true | **false** |
| `instances` | integer | — | no | — | inherited |
| `layer` | enum | `l4`, `l7` | no | "l7" | **"l4"** |
| `managed` | boolean | — | no | false | **true** |
| `protocol` | enum | `tcp`, `udp` | no | "tcp" | inherited |
| `proxyProtocol` | boolean | — | no | false | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 34

- [Server Load Balancer](https://localhost:3000/catalogue/components/alibaba-slb.md) `alibaba-slb` — alibabacloud
- [AWS Application Load Balancer](https://localhost:3000/catalogue/components/alb.md) `alb` — aws
- [AWS Classic Load Balancer](https://localhost:3000/catalogue/components/aws-classic-load-balancer.md) `aws-classic-load-balancer` — aws
- [AWS Global Accelerator](https://localhost:3000/catalogue/components/aws-global-accelerator.md) `aws-global-accelerator` — aws
- [AWS Gateway Load Balancer](https://localhost:3000/catalogue/components/aws-gwlb.md) `aws-gwlb` — aws
- [AWS Network Load Balancer](https://localhost:3000/catalogue/components/nlb.md) `nlb` — aws
- [Azure Application Gateway](https://localhost:3000/catalogue/components/azure-application-gateway.md) `azure-application-gateway` — azure
- [Application Gateway for Containers](https://localhost:3000/catalogue/components/azure-application-gateway-for-containers.md) `azure-application-gateway-for-containers` — azure
- [Azure Load Balancer](https://localhost:3000/catalogue/components/azure-load-balancer.md) `azure-load-balancer` — azure
- [Cloudflare Load Balancing](https://localhost:3000/catalogue/components/cloudflare-load-balancing.md) `cloudflare-load-balancing` — cloudflare
- [Apache HTTP Server](https://localhost:3000/catalogue/components/apache-httpd.md) `apache-httpd` — default
- [BFE](https://localhost:3000/catalogue/components/bfe.md) `bfe` — default
- [Caddy](https://localhost:3000/catalogue/components/caddy.md) `caddy` — default
- [Contour](https://localhost:3000/catalogue/components/contour.md) `contour` — default
- [Envoy](https://localhost:3000/catalogue/components/envoy.md) `envoy` — default
- [F5 BIG-IP](https://localhost:3000/catalogue/components/f5-big-ip.md) `f5-big-ip` — default
- [HAProxy](https://localhost:3000/catalogue/components/haproxy.md) `haproxy` — default
- [Keepalived](https://localhost:3000/catalogue/components/keepalived.md) `keepalived` — default
- [Generic load balancer](https://localhost:3000/catalogue/components/load-balancer.md) `load-balancer` — default
- [Load balancer](https://localhost:3000/catalogue/components/load-balancer-tier.md) `load-balancer-tier` — default
- [loxilb](https://localhost:3000/catalogue/components/loxilb.md) `loxilb` — default
- [MetalLB](https://localhost:3000/catalogue/components/metallb.md) `metallb` — default
- [NGINX](https://localhost:3000/catalogue/components/nginx.md) `nginx` — default
- [Traefik](https://localhost:3000/catalogue/components/traefik.md) `traefik` — default
- [DigitalOcean Load Balancers](https://localhost:3000/catalogue/components/digitalocean-load-balancer.md) `digitalocean-load-balancer` — digitalocean
- [Google Cloud Load Balancing](https://localhost:3000/catalogue/components/google-cloud-load-balancing.md) `google-cloud-load-balancing` — gcp
- [IBM Cloud Load Balancer for VPC](https://localhost:3000/catalogue/components/ibm-load-balancer.md) `ibm-load-balancer` — ibm
- [Kubernetes Gateway](https://localhost:3000/catalogue/components/k8s-gateway.md) `k8s-gateway` — k8s
- [Ingress](https://localhost:3000/catalogue/components/k8s-ingress.md) `k8s-ingress` — k8s
- [Service](https://localhost:3000/catalogue/components/k8s-service.md) `k8s-service` — k8s
- [OCI Load Balancer](https://localhost:3000/catalogue/components/oci-load-balancer.md) `oci-load-balancer` — oci
- [Network Load Balancer](https://localhost:3000/catalogue/components/oci-network-load-balancer.md) `oci-network-load-balancer` — oci
- [OpenStack Octavia](https://localhost:3000/catalogue/components/openstack-octavia.md) `openstack-octavia` — openstack
- [Load Balancer Unit (LBU)](https://localhost:3000/catalogue/components/outscale-lbu.md) `outscale-lbu` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "cloudflare-spectrum", component: "cloudflare-spectrum" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Cloudflare Spectrum: layer 4 reverse proxy for any TCP or UDP application on anycast edge IPs.
# "Spectrum configuration options": edge TLS termination is off unless flexible/full/full-strict is
# chosen, Proxy Protocol is opt-in, and L3/4 DDoS protection is included.
schemaVersion: "1"
type: "component"
id: "cloudflare-spectrum"
kind: "load-balancer"
provider: "cloudflare"
docs: "https://developers.cloudflare.com/spectrum/reference/configuration-options/"
defaults:
  managed: true
  layer: "l4"
  global: true
  healthChecks: false
properties:
  protocol:
    type: "enum"
    values: ["tcp", "udp"]
    default: "tcp"
  edgeTlsTermination:
    type: "enum"
    values: ["off", "flexible", "full", "full-strict"]
    default: "off"
  proxyProtocol:
    type: "boolean"
    default: false
  argoSmartRouting:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/cloudflare-spectrum
