Skip to content

Conversation

@tr0njavolta
Copy link
Member

Description

Updates docs for ingress-nginx to Envoy for Spaces. https://docs.google.com/document/d/1ZfE7kZTAmKKjHkt6dFNRzki9S6wRnpHbzXa86LVcDw0/edit?tab=t.0#heading=h.valiw6ek06tp

Type of change

  • Bug fix (typo, broken link, incorrect info)
  • Content update (new info, clarification, reorganization)
  • New content (new page, section, or guide)

Checklist

  • I ran make lint locally (or will fix Vale suggestions in review)
  • Links work and point to the right places
  • If this adds new content, I tested the examples/instructions

Additional notes

@vercel
Copy link

vercel bot commented Dec 8, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jan 29, 2026 8:21pm

Request Review

@cbuto
Copy link
Contributor

cbuto commented Dec 10, 2025

FYI we wrote up a project around how to handle this in Spaces - https://linear.app/upbound/project/migrate-away-from-ingress-nginx-in-spaces-4f46a7c99c3f/overview

I'd like us to understand our options a bit more, specifically around what we are suggesting for the Gateway API implementation i.e. envoy gateway.

Copy link
Contributor

@cbuto cbuto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @tr0njavolta, left some comments 👍

```bash
kubectl apply -f - --server-side <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the GatewayClass would remain consistent between cloud providers, but the underlying EnvoyProxy config resource would change accordingly

The following example uses Envoy Gateway:

```bash
export ENVOY_GATEWAY_VERSION=v1.2.4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be worth not defining an explicit version here, so we don't have to update it later on?


**Create GatewayClass resource**

Create a `GatewayClass` resource appropriate for your cloud provider.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to an above comment, the GatewayClass would remain consistent between clouds but the underlying EnvoyProxy config would differ.

we could show different configs per cloud, then just always have the same GatewayClass applied

</CodeBlock>

:::note
During installation or upgrade, you can use the Spaces Helm chart to create the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should point users towards using the helm values first, so they aren't manually creating these resources and later find these are included in the helm chart.

After creating the GatewayClass and EnvoyProxy config, they can do a helm upgrade with the values referenced in the section below

ingress:
  provision: false

gatewayAPI:
  host: proxy.example.com  # Must match your current ingress.host
  gateway:
    provision: true
    name: spaces
    className: spaces  # Must match your GatewayClass name
  spacesRouterRoute:
    provision: true
  # Labels for NetworkPolicy - must match your gateway controller's pods
  podLabels:
    app.kubernetes.io/name: envoy
    app.kubernetes.io/component: proxy
    app.kubernetes.io/managed-by: envoy-gateway
  namespaceLabels:
    kubernetes.io/metadata.name: envoy-gateway-system

</CodeBlock>

### Install ingress-nginx
### Install Envoy Gateway
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

starting in Spaces 1.16, we'll want to update this to default to load balancer service.

then we could optionally point users to docs/manuals/spaces/howtos/self-hosted/ingress.md if they need Gateway or Ingress.


## Gateway API

Spaces supports the [Gateway API][gateway-api-docs]. Use this option if your
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we have details around how to use Gateway API here?

similar to what we have in the installation docs 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants