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

Implement PolicyAffected Status for ClientSettingsPolicy and ObservabilityPolicy #1761

Open
kate-osborn opened this issue Mar 22, 2024 · 6 comments
Labels
enhancement New feature or request refined Requirements are refined and the issue is ready to be implemented. size/medium Estimated to be completed within a week
Milestone

Comments

@kate-osborn
Copy link
Contributor

kate-osborn commented Mar 22, 2024

As an HTTPRoute or Gateway owner
I want to know when my object is affected by a ClientSettingsPolicy
So that I know that the policy has taken effect.

Acceptance

  • Add and document the Condition type gateway.nginx.org/ClientSettingsPolicyAffected
  • Set this Condition on all HTTPRoutes and Gateways affected by a ClientSettingPolicy.
  • If an object is affected by multiple ClientSettingsPolicy, only one gateway.nginx.org/ClientSettingsPolicyAffected should exist.
  • When the last ClientSettingsPolicy affecting that object is removed, the Condition should be removed.
  • The Observed Generation is the generation of the affected object, not the generation of the ClientSettingsPolicy.
@kate-osborn kate-osborn added this to the v1.3.0 milestone Mar 29, 2024
@mpstefan mpstefan added enhancement New feature or request area/nginx-configuration Relates to nginx configuration refined Requirements are refined and the issue is ready to be implemented. size/medium Estimated to be completed within a week and removed area/nginx-configuration Relates to nginx configuration labels Apr 15, 2024
@sindhushiv sindhushiv modified the milestones: v1.3.0, v1.4.0 May 15, 2024
@sjberman
Copy link
Contributor

This also needs to work for the ObservabilityPolicy. Ideally our policy logic is general enough that it will apply everywhere.

@salonichf5 salonichf5 self-assigned this Jun 10, 2024
@salonichf5
Copy link
Contributor

This also needs to work for the ObservabilityPolicy. Ideally our policy logic is general enough that it will apply everywhere.

Confirming that we need to add another field letting us know if ObservabilityPolicyAffected has been applied to that resource?

Also, when a PolicyAffected is added to the Conditions of a resource, it will specify the name of the Policy, be it observability or client settings? or just true or false?

@salonichf5 salonichf5 changed the title Implement PolicyAffected Status for ClientSettingsPolicy Implement PolicyAffected Status for ClientSettingsPolicy and ObservabilityPolicy Jun 10, 2024
@salonichf5 salonichf5 moved this from 🆕 New to 🏗 In Progress in NGINX Gateway Fabric Jun 10, 2024
@sjberman
Copy link
Contributor

Requirements are defined here by the spec and here by our design.

Just the message should have the context as to which policy is attached.

@kate-osborn
Copy link
Contributor Author

@sjberman @salonichf5 we may want to wait to implement this. There could be changes to how policies are stored on the graph once we fix #2105 and #2079, which could affect how we build the PolicyAffected statuses.

@salonichf5 salonichf5 moved this from 🏗 In Progress to 🆕 New in NGINX Gateway Fabric Jun 11, 2024
@mpstefan mpstefan added the blocked Blocked by other issue label Jun 12, 2024
@mpstefan
Copy link
Collaborator

Blocked by #2105 #2079

@kate-osborn
Copy link
Contributor Author

@mpstefan can we move this up in priority? This is an important tool for troubleshooting policies. It let's the app dev know when their route is affected by a policy applied at the gateway level.

@mpstefan mpstefan modified the milestones: v1.5.0, v2.0.0 Oct 7, 2024
@mpstefan mpstefan modified the milestones: v1.6.0, v2.1.0, v2.0.0 Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request refined Requirements are refined and the issue is ready to be implemented. size/medium Estimated to be completed within a week
Projects
Status: 🆕 New
Development

No branches or pull requests

5 participants