From df29d9ba43bb65c1ff267b84d41e2a3646bcd880 Mon Sep 17 00:00:00 2001 From: Pasha Sviderski Date: Wed, 27 Aug 2025 22:26:50 +1000 Subject: [PATCH] docs: Ingress & HTTP overview --- website/docs/1-overview.md | 4 ++-- .../docs/3-concepts/1-ingress/1-overview.md | 23 +++++++++++++++++++ .../docs/3-concepts/1-ingress/_category_.yaml | 4 ++++ website/docs/3-concepts/_category_.yaml | 4 ++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 website/docs/3-concepts/1-ingress/1-overview.md create mode 100644 website/docs/3-concepts/1-ingress/_category_.yaml create mode 100644 website/docs/3-concepts/_category_.yaml diff --git a/website/docs/1-overview.md b/website/docs/1-overview.md index 6dd93201..cc0338c7 100644 --- a/website/docs/1-overview.md +++ b/website/docs/1-overview.md @@ -67,7 +67,7 @@ Docker containers running on different machines get **unique IP addresses** from The design and implementation were highly inspired by Talos [KubeSpan](https://www.talos.dev/v1.10/talos-guides/network/kubespan/). -### Managed DNS service +### Managed DNS service (optional) Uncloud can provide **managed DNS records** like `..cluster.uncloud.run` for your public services through free [Uncloud DNS](https://github.com/psviderski/uncloud-dns) service. You can deploy a service and @@ -99,7 +99,7 @@ containers by their service names, `curl` service endpoints, or analyse traffic ## Getting started -Install Uncloud CLI and deploy your first app in minutes: +Install Uncloud CLI and deploy your first app: * [Install Uncloud CLI](./2-getting-started/1-install-cli.md) * [Deploy demo app](./2-getting-started/2-deploy-demo-app.md) diff --git a/website/docs/3-concepts/1-ingress/1-overview.md b/website/docs/3-concepts/1-ingress/1-overview.md new file mode 100644 index 00000000..eb52e274 --- /dev/null +++ b/website/docs/3-concepts/1-ingress/1-overview.md @@ -0,0 +1,23 @@ +--- +sidebar_label: Overview +--- + +# Ingress & HTTPS + +Uncloud uses [Caddy](https://caddyserver.com/) as its reverse proxy to handle incoming traffic, provide automatic HTTPS +with [Let's Encrypt](https://letsencrypt.org/), and route requests to your services. + +## How it works + +Caddy runs as a global service `caddy` on every machine in your cluster, listening on the host ports 80 (HTTP) and 443 +(HTTPS). + +It's deployed during cluster initialisation (`uc machine init`) unless you use the `--no-caddy` flag. +See [Managing Caddy](3-managing-caddy.md) for deployment and customisation instructions. + +When you [publish a service port](2-publishing-services.md), Uncloud automatically configures Caddy to: + +1. Listen for requests on the specified hostname (domain name). +2. Automatically obtain and renew a TLS certificate from Let's Encrypt for HTTPS. +3. Route traffic to the **healthy** service container(s). +4. Load balance across healthy replicas if there are multiple. diff --git a/website/docs/3-concepts/1-ingress/_category_.yaml b/website/docs/3-concepts/1-ingress/_category_.yaml new file mode 100644 index 00000000..fc1cc2dc --- /dev/null +++ b/website/docs/3-concepts/1-ingress/_category_.yaml @@ -0,0 +1,4 @@ +label: Ingress & HTTPS +collapsed: true # keep the category closed by default +link: + type: generated-index diff --git a/website/docs/3-concepts/_category_.yaml b/website/docs/3-concepts/_category_.yaml new file mode 100644 index 00000000..199ae192 --- /dev/null +++ b/website/docs/3-concepts/_category_.yaml @@ -0,0 +1,4 @@ +label: Concepts +collapsed: false # keep the category open by default +link: + type: generated-index