Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework Gateway API, HTTPRoute, and GRPCRoute docs #1909

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

wmorgan
Copy link
Member

@wmorgan wmorgan commented Jan 13, 2025

Here's my attempt at reflecting the modern world of Linkerd. (Note: these are all in the 2.17/ subfolder; once we're good on content we should also just copy these over to 2-edge.)

Summary:

  • Remove the top-level HTTPRoute feature doc. Replace it with a "Gateway API" feature doc
    • This doc includes instructions for how to have another project own the GW API on your cluster
    • This doc includes the version compatibility matrix
  • Remove all language suggesting that users use the policy.linkerd.io types, and instead note that they are supported but deprecated
  • Ensure all ServiceProfile docs (feature, ref, and guide) have a note that GW API types are now preferred, at the top
  • Add a new GRPCRoute reference doc
  • Make the HTTPRoute and (new) GRPCRoute reference docs point to the corresponding official docs for these types, and describe these docs as supplementary

Please review for technical accuracy as well as completeness. Note that the goal is to provide a practical guide to using the GW API types with Linkerd, not a comprehensive treatment of the GW API. Feedback welcome

Signed-off-by: William Morgan <[email protected]>
Signed-off-by: William Morgan <[email protected]>
@wmorgan wmorgan requested review from kflynn, travisbeckham and a team January 13, 2025 17:36
Signed-off-by: William Morgan <[email protected]>
Comment on lines +170 to +181
## Enabling authorization policies in live systems

You may have noticed that there was a period of time after we created the
`Server` resource but before we created the `ServerAuthorization` where all
requests were being rejected. To avoid this situation in live systems, we
recommend that you enable [audit mode](../../features/server-policy/#audit-mode)
in the `Server` resource (via `accessPolicy:audit`) and check the proxy
logs/metrics in the target services to see if traffic would get inadvertently
denied. Afterwards, when you're sure about your policy rules, you can fully
enable them by resetting `accessPolicy` back to `deny`.
recommend that you start with [audit
mode](../../features/server-policy/#audit-mode) enabled on the `Server`
resource. In this mode, traffic that violates the policy will not actually be
denied, and you will be able to check the proxy logs/metrics on the target
services for a complete picture of what would happen when audit mode is
disabled. Once you're sure about your policy rules, you can fully enable them by
removing audit mode to enforce the policies.
Copy link
Member

Choose a reason for hiding this comment

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

One request: @wmorgan, can you pull this change out of this PR? It has nothing to do with Gateway API, and may not be complete anyway...

Copy link
Member Author

Choose a reason for hiding this comment

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

This was another change I was planning on making so I'd rather leave it in unless you object to the content? At the risk of a messier PR scope.

linkerd.io/content/2.17/reference/grpcroute.md Outdated Show resolved Hide resolved
linkerd.io/content/2.17/reference/httproute.md Outdated Show resolved Hide resolved
linkerd.io/content/2.17/reference/httproute.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@travisbeckham travisbeckham left a comment

Choose a reason for hiding this comment

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

The changes look good. Now that markdownlint is passing, htmltest is showing some failed links. There are several places in the docs that link tofeatures/httproute/ which was removed in this PR. Do these need to be updated tofeatures/gateway-api/?

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.

3 participants