* Stop using OwnerRefs for webhook config lifecycle
This changes the model by which we manage the lifecycle of our
`{mutating,validating}webhookconfiguration`, which previously used an owner ref
from the cluster-scoped configuration to the namespace-scoped Deployment. The
new model adds an explicit yaml file for the webhook, which omits the fields
filled in by the deployment as it starts.
A few notable elements of this change:
1. Clear out OwnerReferences explicitly (avoids the linked bug),
2. Periodically reruna `Register()` to ensure our webhook exists,
3. Simplified logic around registration (all we need now is update!).
Related: https://github.com/knative/serving/issues/5845
* Incorporate feedback from @dgerd and a few other nits I noticed.
* Add field to metrics config for configuring Stackdriver exporter client
options
* Fix test setting global state and interfering with other tests
* Use correct GCP metadata values & cleanup
* Some code cleanup
* Remove as much test-specific function stubbing as possible
* Remove more stubbed out test code
* Make more descriptive error when getting secret
* Use former locking pattern to avoid deadlock
There is a cyclical dependency between the metrics pkg and client-go
kubeclient where the kubeclient will attempt to read the metricsConfig
to record metrics about kubeclient requests. This prevents using a kubeclient within the metricsMux lock.
* Add IsEmpty and HTTP/HTTPS constructors, simplify tests.
* Simplify remaining construction of URLs in tests with struct initialization.
* Reverse `nonEmpty` since most cases are now non-empty.
* Update initial tests. Also fix a bug in URL.String() and update test.
* change Destination api and addressable resolver, fixed unit tests and added more unit tests
* make validateDestination visible
* rename error msg, added comments, added unit tests
* reformat error msg and change positive case order
* modified error msg when ref is not valid
* fixed typo
* Remove race condition between reading updates to config-observability
and updating stackdriver exporter
* Simply isNewExporterRequired if statement
* Remove unused thread-safe versions of functions
* Use a reader-writer lock & add function comment
* Make internal unlocked function names consistent
* update mako alerter
* revert a small change
* address comments
* revert all %w to %v
* use UTC time
* include benchmark name in Slack alert
* optimize the issue handling logic
* fix recent issue logic
* fix tests
* update comments
Add RunInfomers which is similar to the StartInformers function but allows for
users to for informers to finish running.
This function will be mainly used in tests to fix the race described in
knative/serving#5351
* Clean up websocket code a bit.
1. %q are very annoying when actually trying to read logs and the address is obvious.
2. there's no reason to have external error (and we were swallowing the timeout error, should it happen)
* fixes
* move GKE basic operations to a separate package
* trying to fix unit tests...
* fix unit tests
* also move wait out
* move the clustercreaterequest out
* fix unit tests
* Update testutils/gke/request_test.go
Co-Authored-By: mattmoor-sockpuppet <mattmoor+sockpuppet@google.com>
* add a flag to indicate whether it's blocking
* address comments, unit tests pending
* bump up unit tests
* minor changes
* fix unit tests
* get zonal changes back, and a few minor changes
* clean up
* more clean up
* address codereview comments
* fix unit test
* remove project id from the request
* project name is not required
* fix unit tests