* webhook changes for observability
* go mod
* vendor
* Allow the webhook to accept a MetricsProvider. This makes it easier to unit test
Digging into OTel implementation it looks like instruments are cached.
Thus when different webhooks request the same instrument a cache lookup
for the instrument will occur.
* passthrough additional OTel interfaces
* linter fixes
* drop global meter in tests
* PR feedback
* PR feedback
* when recording the admission/conversion duration use the attributes from the labeler
* add a comment that otelhttp middleware creates the labeler
* simply code for readability
* change metric names to allow reuse across different webhook types
* fix linter
* tweak attribute names
* TestRegistrationStopChanFire now uses ephemeral ports
* For TLS servers dial TLS
* have server error logs appear in zap
* log the correct error
* pass ephemeral listeners to the webhook for testing
* ConversionController implementation
This controller will reconcile target CRDs with the correct
conversion webhook configuration. Specifically, the HTTP path and
CA bundle will be updated.
Additionally, the conversion controller will perform the given
conversions through a hub and spoke model utilizing the
apis.Convertible interface.
* Webhook now can host ConversionControllers
* injection/sharedmain now supports webhook.ConversionControllers
These conversion controllers will be hosted by the webhook that
the sharedmain will start
* support defaulting & include godoc