Comments (4)
Hi @andymakesapps ,
In short, unfortunately, there's no workaround for this.
The reason this is a limitation is because it would be very difficult for us to maintain the convergence property of our mutation system if we must contend with objects from external data provides. For example, you might end up in a case where one external data mutator sets some field to foo
, another sets to to bar
, but the first one sets it back to foo
and so on so forth. This is less of a concern without external data because the fields being modified are statically declared in the mutator.
from gatekeeper.
Why would the first mutator "set it back to foo" if it's already processed it?
from gatekeeper.
Mutation is applied recursively, multiple times. Gatekeeper keeps applying mutations until a resource "converges" (additional applications of mutations result in no further changes). Kubernetes applies mutation webhooks multiple times per request:
from gatekeeper.
This issue 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.
Related Issues (20)
- Add --exclude to gator CLI HOT 1
- doc: how to exclude sidecar images in policies HOT 1
- CRDs selector HOT 2
- K8sNativeValidation and SyncSets HOT 6
- No warning displayed on kubectl apply with enforcementAction warn HOT 4
- Course aggregation of request duration metrics HOT 2
- Add: app.kubernetes.io/name label to the Deployment object HOT 2
- Migrate psp Templates. HOT 2
- Add a flag for GK validating webhook to defer to vap
- admission webhook "validation.gatekeeper.sh" denied the request HOT 1
- publish images with microarch levels
- gatekeeper-controller logs do not display
- Metric names mismatch: `*_count` in document, `*_count_total` in actual behavior HOT 1
- OOMKilled as number of constraints grew HOT 3
- doc: Add a page to include all flag information in one place
- New example for location value when using complex Labels
- 404 Helm chart repo not found HOT 4
- Pass additional info in the mutation request to external data provider HOT 1
- Interpolation in mutation hooks for namespace or other parameters HOT 1
- Upgrade Gatekeeper to use Debian 12 Distroless HOT 3
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.