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

update traffic policy for phase-based naming #456

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

TheConcierge
Copy link

What

This change updates our TrafficPolicy offerings to support the new phase-based names as well as the new TrafficPolicy API. This changelist aims to support the new options without breaking current configurations.

How

update ngrok-api-go dependency

6.0.0 is out! I've updated it across the entire controller. Maybe this is a bad idea but 🤷

Edge Reconcile Functions

  • updated to use new API
  • support both Policy and TrafficPolicy in the CRD spec
    • this allows us to read newly created and older policy
  • removed custom client implementation
    • the shape of the API no longer matches the shape we store our Edge CRDs in, so the custom client is no longer convenience
  • if using legacy format (inbound/outbound), emit K8s event warning them to update
    • we still send legacy formats to the backend, where they are still supported
  • if policy JSON has "enabled" set, extract it and set on the API call (and send k8s event!)
    • this is only "documented" in the module, which is being deprecated. eventually we can remove this processing

Gateway API

  • Filters were updated to use the new phases
  • extension ref was update to use the new phases, which get merged with the policy generated from the gateway API
    • TODO: k8s event is emitted when legacy policy detected
  • legacy policy configured in the extension ref is converted to new phase
    • tls/tcp edges are currently not supported on the Gateway API, so this is a safe translation for now

Ingress TrafficPolicy CRD

  • save policy to Edge CRD as TrafficPolicy instead of Policy

Module

  • mark Policy module as deprecated
  • save policy to Edge CRD as TrafficPolicy instead of Policy

Edge CRD

  • adds TrafficPolicy option
  • marks Policy as deprecated

Breaking Changes

This PR should not have any breaking changes and instead opts to punt breaking changes to later down the road.

@github-actions github-actions bot added area/controller Issues dealing with the controller area/helm-chart Issues dealing with the helm chart labels Oct 18, 2024
@TheConcierge TheConcierge force-pushed the ngrok/ryan/migrate-to-phase-based-naming branch from 01007f3 to c22a261 Compare October 18, 2024 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/controller Issues dealing with the controller area/helm-chart Issues dealing with the helm chart
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant