Skip to content

Update operating system docs for Ubuntu 26.04 and document Deploy v3 path routing - #28

Open
lvangool wants to merge 3 commits into
mainfrom
hotfix/worktree-ubuntu-2604-support
Open

Update operating system docs for Ubuntu 26.04 and document Deploy v3 path routing#28
lvangool wants to merge 3 commits into
mainfrom
hotfix/worktree-ubuntu-2604-support

Conversation

@lvangool

Copy link
Copy Markdown
Member

Summary

Two documentation updates: one following the Ubuntu 26.04 release, one covering path-based routing in Deploy v3.

Ubuntu 26.04

Ubuntu 26.04 is now the default for newly provisioned servers, which left a number of operating system references out of date or incorrect.

Corrections

  • servers/applying-upgrades.mdx and servers/server-monitoring.mdx both claimed we support "the two most recent" releases of Ubuntu. We support more than two, and hardcoding a count goes stale every release, so both now link to the technical specifications page instead. This also supplies a link that the applying-upgrades sentence was missing entirely — "You can check what we currently support here" pointed nowhere.
  • build-and-config/managing-and-upgrading-ruby-versions.mdx — the Ruby and Ubuntu versions section listed two rules that no longer apply. Ruby below 2.5.0 is no longer supported at all rather than being capped at Ubuntu 18.04, and the claimed Ubuntu 20.04 cap for Ruby below 3.1.0 no longer applies.
  • manifest/_server-definitions.mdxoperating_system example updated to ubuntu2604.
  • servers/querying-server-metadata.mdx — sample response updated from 18.04 to 26.04.

New content

  • specs-and-policies/technical-specifications.mdx gains "How we choose your server's operating system". This covers why a newly scaled server on an established application matches its existing servers rather than jumping to the latest release, and why MongoDB servers stay on Ubuntu 24.04. Scoped to exclude Deploy v3, whose nodes run Flatcar.
  • servers/out-of-ubuntu-lts.mdx gains an LTS end-of-life table covering 20.04 through 26.04, replacing a worked example based on 18.04 and 2023.

A companion change to the documentation site handles rendering of the new version.

Deploy v3 path-based routing

Traffic sources in Deploy v3 now take an optional URL path alongside the domain, so several services in one application can share a domain.

networking/service-networking.mdx gains a Deploy v3 traffic matching section covering how path routing works, how to add a traffic source from the cluster Traffic page, and the rules that apply:

  • matching is segment-exact, so /api matches /api and /api/v2 but not /api-internal
  • the matched path is stripped before the request reaches the service
  • paths require a service exposing an external HTTP or HTTPS port; TCP and UDP are matched on domain alone
  • a domain is owned by a single application, and each domain and path pair must be unique across the cluster

Note for reviewers

The existing traffic_matches documentation on that page describes the service.yml array, which Deploy v3 does not use — but the page carried no version scoping, so it rendered on v3 as well. It is now scoped to exclude v3 so the two sections no longer contradict each other for v3 readers.

The rest of that page (port mapping, dns_behaviour, load_balancing) is still unscoped and still renders on v3. Left alone here, but worth a follow-up.

Validation

validate:mdx (378 files), validate:smart-links and validate:links --skip-anchors all pass. New anchors were checked by hand, since the build does not validate them.

lvangool added 3 commits July 28, 2026 13:28
Ubuntu 26.04 is now the default for newly provisioned servers, so a
number of OS references across the docs were out of date or incorrect.

Corrections:
- Remove the "two most recent releases of Ubuntu" claim from the
  applying-upgrades and server-monitoring pages. We support more than
  two, and hardcoding a count goes stale every release, so both now
  link to the technical specifications page instead. This also supplies
  the link that the applying-upgrades sentence was missing entirely.
- Rewrite the Ruby and Ubuntu versions section. Ruby below 2.5.0 is no
  longer supported at all rather than being capped at Ubuntu 18.04, and
  the claimed Ubuntu 20.04 cap for Ruby below 3.1.0 no longer applies.
- Update the manifest operating_system example to ubuntu2604 and the
  server metadata sample payload to 26.04.

New content:
- Add "How we choose your server's operating system" to the technical
  specifications page, covering why a new server on an established
  application matches its existing servers rather than jumping to the
  latest release, and why MongoDB servers stay on Ubuntu 24.04. Scoped
  to exclude Deploy v3, whose nodes run Flatcar.
- Add an LTS end-of-life table to the out-of-LTS guide covering 20.04
  through 26.04, replacing a worked example based on 18.04 and 2023.

Verified with validate:mdx, validate:smart-links and validate:links.
Traffic sources in Deploy v3 now take an optional URL path alongside the
domain, so several services in one application can share a domain.

Adds a Deploy v3 traffic matching section to the service networking guide
covering how path routing works, how to add a traffic source from the
cluster Traffic page, and the rules that apply:

- matching is segment-exact, so /api matches /api and /api/v2 but not
  /api-internal
- the matched path is stripped before the request reaches the service
- paths require a service exposing an external HTTP or HTTPS port; TCP
  and UDP are matched on domain alone
- a domain is owned by one application and each domain/path pair must be
  unique across the cluster

The existing traffic_matches documentation describes the service.yml
array, which Deploy v3 does not use, but the page carried no version
scoping so it rendered on v3 as well. It is now scoped to exclude v3 so
the two sections no longer contradict each other for v3 readers.

Verified with validate:mdx, validate:smart-links and validate:links.
The previous wording claimed Ruby 2.5.0 and above runs on every version
of Ubuntu we support. That is true of 22.04 and 24.04 but not of 26.04,
where precompiled Ruby is published from 3.2.0 upwards only. Older
versions fall back to a source compile that is not expected to succeed
on that toolchain.

Replace the claim with the actual boundary, and show how to pin the
operating system for applications that cannot move off an older Ruby.
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.

1 participant