Comments (11)
Thank you for opening this issue @ivanthelad.
As you have pointed out, from kubernetes/ingress-nginx#6590 (comment)
The kubernetes.io/ingress.allow-http
annotation is supported only by ingress-gce, would you like to open a PR to make ingress.metadata.annotations["kubernetes.io/ingress.allow-http"] == "false"
check conditional only when the annotation is provided?
from gatekeeper-library.
Does making the check conditional break the intention of this constraint? If the default is allow-http = true
when the annotation is undefined, then the constraint would be mooted.
This raises the question of what to do when constraints have platform-specific implications.
One possibility would be to add a parameter that enables (or disables) this particular check.
from gatekeeper-library.
For backwards compatibility, the parameter would have to disable this check.
from gatekeeper-library.
add a parameter that enables (or disables) this particular check.
+1
what to do when constraints have platform-specific implications.
If these ConstraintTemplates and constraints are supposed to be generic, then we should not include any platform-specific things. We can make sure to check for this when we review PRs in the future, but not sure how we should handle this one since it's already in.
For backwards compatibility, the parameter would have to disable this check.
+1
from gatekeeper-library.
TBH I don't think this is actually platform-specific, as the annotation is kubernetes.io/ingress.allow-http
. The annotation looks to be defined by Kubernetes (per the prefix). As to which platforms choose to consume it, I guess that's undefined?
from gatekeeper-library.
VMWare uses it as well:
from gatekeeper-library.
As does Azure:
from gatekeeper-library.
Though Azure's docs imply this may be via Traefik
from gatekeeper-library.
Definitely seems to be a bit unregulated who uses what annotation. That has interesting implication for a policy like k8shttpsonly.
In general, extensions like annotations are a confounding factor, as there is no way to reliably cover the surface of all possible extensions.
from gatekeeper-library.
add a parameter that enables (or disables) this particular check.
As mentioned on the community call, another option for backward compatibility is to create a v2 version of the constraint template.
Do you have any thoughts around these options @ivanthelad?
from gatekeeper-library.
This issue/PR has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
from gatekeeper-library.
Related Issues (20)
- Match everything in a constraint HOT 2
- Docs exclude kind: AdmissionReview
- Problem with creating a mutation for deployments HOT 4
- replicalimits unit tests do not include checks for Scale resources HOT 4
- Consider validating pod generic ephemerals in K8sStorageClass HOT 2
- Consolidating Kubernetes PSP-related ConstraintTemplates into a Single Template for Streamlined Migration HOT 1
- bump mutate assign api version from alpha to v1
- Website generator appears to only retain the final mutation sample per directory HOT 2
- Any interest in policies/constraints that apply to custom resources? HOT 3
- Workflow Upload artifacts: overwrites the matrixed job logs HOT 1
- k8spsphostnetworkingports exemptImages does not allow hostNetwork HOT 4
- automount-serviceaccount-token ConstraintTemplate does not reflect ServiceAccount settings HOT 1
- Not able to create statefulset without storageclass with policy k8sallowedstorageclas is used HOT 1
- Should apparmor always view unconfined as complaint? HOT 3
- The example of disallowed/allowed ingress resources in the unique ingress host example has incorrect hostnames HOT 7
- Add colon in message for consistency
- Example of pod mutation adding init-container HOT 4
- Example k8scontainerlimits does not throw error for a deployment but does on a plain Pod creation HOT 2
- poddisruptionbudget policy query
- K8sRequiredResources ConstraintTemplate doesn't work properly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gatekeeper-library.