Skip to content
This repository was archived by the owner on May 12, 2025. It is now read-only.
Merged
Changes from 1 commit
Commits
Show all changes
355 commits
Select commit Hold shift + click to select a range
21c5daf
Merge pull request #504 from droot/feature/enable-conversion-webhook
k8s-ci-robot Jun 28, 2019
b5e34e4
Merge pull request #496 from ialidzhikov/fix-typo
k8s-ci-robot Jun 28, 2019
28262f4
Merge pull request #487 from adohe/fix_runnable_twice
k8s-ci-robot Jun 28, 2019
4c81828
Merge pull request #489 from sbueringer/add-getconfig-with-context
k8s-ci-robot Jun 28, 2019
9f5b249
:bug: IsConvertible should not error on uninitialized struct.
Jun 28, 2019
da24e0f
Merge pull request #508 from mengqiy/fixIsConvetible
k8s-ci-robot Jun 28, 2019
410863e
:warning: metrics are now on by default
Jul 1, 2019
2495fdd
Merge pull request #510 from mengqiy/metricsdefault
k8s-ci-robot Jul 2, 2019
dbdc434
:running: fix various typos
mcristina422 Jul 2, 2019
e0c78ca
Remove unused disableWebhookConfigInstaller flag
bradhoekstra Jul 8, 2019
2712876
Merge pull request #515 from bradhoekstra/remove-dwci
k8s-ci-robot Jul 8, 2019
4e3e16b
Merge pull request #513 from mcristina422/typos
k8s-ci-robot Jul 8, 2019
010e3c5
Only log CRD name during installation
ekuefler Jul 11, 2019
19ac705
Note on Manager#GetClient about delegating clients
DirectXMan12 Jul 17, 2019
8f633b1
Merge pull request #522 from DirectXMan12/docs/extra-manager-client-docs
k8s-ci-robot Jul 17, 2019
ad9b00b
:warning: support delete validation in validator interface
awesomenix Jul 18, 2019
3fe51b2
examples readme: documentation explaining the two provided examples
hasheddan Jul 22, 2019
8030432
examples readme: reference kubebuilder book for installation and deploy
hasheddan Jul 22, 2019
ad914c1
:sparkles: decoder now errors out when encountering an empty runtime.…
Jul 22, 2019
86ffaff
Merge pull request #529 from mengqiy/decodercheck
k8s-ci-robot Jul 23, 2019
d4d6a51
:bug: stop using hardcoded temp dir
Jul 22, 2019
72ab3fe
Merge pull request #525 from awesomenix/supportdelete
k8s-ci-robot Jul 23, 2019
fe1709a
fix(hack): Properly check if binary exists
mcristina422 Jul 23, 2019
42f8083
moving to type isnt completely necessary
mcristina422 Jul 23, 2019
68d92bb
Switch to interface-based options
DirectXMan12 Jul 24, 2019
320b6b6
Add field manager & dryrun to other opts
DirectXMan12 Jul 24, 2019
f770dcb
Merge pull request #530 from mengqiy/tmpdir
k8s-ci-robot Jul 24, 2019
7b3c83b
fix grammer of error in SetControllerReference
yashbhutwala Jul 25, 2019
5181210
Merge pull request #536 from DirectXMan12/feature/functional-options-…
k8s-ci-robot Jul 25, 2019
e2c7389
Merge pull request #539 from yashbhutwala/fix-SetControllerReference-…
k8s-ci-robot Jul 25, 2019
c49d570
Merge pull request #519 from ekuefler/patch-1
k8s-ci-robot Jul 25, 2019
59b131b
Merge pull request #527 from hasheddan/examples-readme
k8s-ci-robot Jul 25, 2019
8102998
:bug: surface controller options when using builder
awesomenix Jul 17, 2019
3b06668
✨ Implement delete collection via delete options
adracus May 26, 2019
cea57be
:bug: Preserve GroupVersionKind during Update/Patch
vincepri Jul 22, 2019
bfba246
Merge pull request #447 from adracus/feature.delete-collection
k8s-ci-robot Jul 26, 2019
ee41a80
Merge pull request #528 from vincepri/fixup-gvk
k8s-ci-robot Jul 27, 2019
37c8aa1
Return controller from builder.Build
ncdc Jul 26, 2019
402d93e
Use request Context for admission Webhook handlers
Aug 3, 2019
dc83571
Merge pull request #542 from ncdc/dynamic-watchers
k8s-ci-robot Aug 5, 2019
335a587
Merge pull request #520 from awesomenix/master
k8s-ci-robot Aug 5, 2019
e0bee34
Merge pull request #549 from seh/supply-http-request-context-to-admis…
k8s-ci-robot Aug 6, 2019
054ee41
Merge pull request #533 from mcristina422/checkInstall
k8s-ci-robot Aug 6, 2019
11818d8
:bug: fix SimpleController in builder test
Aug 6, 2019
084b73e
Merge pull request #552 from mengqiy/fixsimplecontroller
k8s-ci-robot Aug 6, 2019
7b72c5b
ZapLoggerTo points to zap.LoggerTo
GrigoriyMikhalkin Aug 9, 2019
9942957
Merge pull request #559 from GrigoriyMikhalkin/CR-558
k8s-ci-robot Aug 9, 2019
bdc1712
:sparkles: Add predicate for Generation change on update event
hasbro17 Aug 7, 2019
d7467fc
Merge pull request #553 from hasbro17/add-generation-predicate
k8s-ci-robot Aug 13, 2019
b5dfbb5
Add Limit and Continue functional list options
rajathagasthya Feb 27, 2019
e825f3a
:sparkles: Allow fine-grained configuration of log/zap
alvaroaleman Aug 10, 2019
c6bbb02
Expose CRDInstallOptions via envtest.Environment
rajathagasthya Jul 28, 2019
9fdda38
upgrade jsonpatch to avoid checksum mismatch problem
sbueringer Aug 20, 2019
746b147
Merge pull request #571 from sbueringer/pr-upgrade-jsonpatch
k8s-ci-robot Aug 22, 2019
98e8749
Bump jsonpatch to v2.0.1
DirectXMan12 Aug 22, 2019
7b08fd6
Merge pull request #574 from DirectXMan12/bug/jsonpatch-sha
k8s-ci-robot Aug 22, 2019
d90bbc6
Merge pull request #560 from alvaroaleman/logger-config
k8s-ci-robot Aug 26, 2019
c658932
should support webhook certDir args
xrmzju Aug 19, 2019
3332a0a
Update example dir in godoc
ialidzhikov Aug 31, 2019
a093650
docs: fix spelling of function EnqueueRequestsFromMapFunc
rosenhouse Sep 2, 2019
b488e3d
Merge pull request #582 from rosenhouse/doc-spelling-fix
k8s-ci-robot Sep 3, 2019
ab6131a
Merge pull request #579 from ialidzhikov/flake/example-dir
k8s-ci-robot Sep 3, 2019
0421398
:running: Add script to run tests in Prow
alvaroaleman Sep 1, 2019
464a08d
Minor upgrade of gnostic to v0.3.1
fejta Sep 3, 2019
6b4e5de
:sparkles: Allow using ListOptions as ListOption
alvaroaleman Sep 8, 2019
74c1736
Merge pull request #581 from alvaroaleman/prow-tests
k8s-ci-robot Sep 9, 2019
e9f3cfc
Merge pull request #584 from fejta/master
k8s-ci-robot Sep 9, 2019
940797e
pkg/client/options.go: MatchingFieldsSelector and MatchingLabelsSelector
estroz Aug 26, 2019
6993406
Merge pull request #578 from estroz/options-selector
k8s-ci-robot Sep 9, 2019
05495c3
:sparkles: CreateOptions implement CreateOption
alvaroaleman Sep 9, 2019
b11bb89
:sparkles: DeleteOptions implements DeleteOption
alvaroaleman Sep 9, 2019
ccdcbc7
:sparkles: UpdateOptions implements UpdateOption
alvaroaleman Sep 9, 2019
1e8c57f
:sparkles: PatchOptions implement PatchOpts
alvaroaleman Sep 9, 2019
b7dfffa
:sparkles: DeleteAllOfOptions Implements DeleteAllOfOption
alvaroaleman Sep 9, 2019
5f7374f
Let users specify their own EventBroadcaster for the manager
liztio Sep 9, 2019
d8409bd
Remove travis.yaml
alvaroaleman Sep 10, 2019
524b614
Merge pull request #591 from liztio/recordprovider
k8s-ci-robot Sep 11, 2019
dd6ead6
Merge pull request #589 from alvaroaleman/list-opts-as-list-option
k8s-ci-robot Sep 16, 2019
c29fe20
Merge pull request #569 from xrmzju/master
k8s-ci-robot Sep 16, 2019
b4a7811
Make the release notes script tolerant of merges
DirectXMan12 Sep 16, 2019
cbe9f0a
Merge pull request #604 from DirectXMan12/infra/tolerant-rel-notes
k8s-ci-robot Sep 16, 2019
98daba7
Merge pull request #593 from alvaroaleman/remove-travis
k8s-ci-robot Sep 17, 2019
e2c6717
Remove dep usage and Gopkg.*
joelanford Sep 11, 2019
467c79f
Merge pull request #598 from joelanford/remove-dep
k8s-ci-robot Sep 17, 2019
0fa2e7c
Merge pull request #544 from rajathagasthya/envtest-crdopts-541
k8s-ci-robot Sep 17, 2019
e96f830
Merge pull request #341 from rajathagasthya/listoptions-310
k8s-ci-robot Sep 17, 2019
9bc08d8
added health probes
GrigoriyMikhalkin May 9, 2019
6b91e8e
Set limit and continue in ApplyToList method
rajathagasthya Sep 18, 2019
801e12a
Merge pull request #608 from rajathagasthya/listopts
k8s-ci-robot Sep 18, 2019
95b14b1
Prevent NewDiscoveryRESTMapper from panicking by calling NewDiscovery…
enxebre Oct 1, 2019
916aeed
fakeClient: bump ResourceVersion on write
zaneb Oct 1, 2019
c0be9aa
Document environment variables
Oct 2, 2019
9655019
Remove extra deep copy in CacheReader.List
charith-elastic Oct 3, 2019
df0f06f
Bump kubernetes dependencies to 1.15.3
joelanford Sep 11, 2019
c0f33bf
remove unnecessary resetGroupVersionKind function and its calls
joelanford Sep 17, 2019
1116b0b
Revert "remove unnecessary resetGroupVersionKind function and its calls"
joelanford Sep 17, 2019
5a0a15d
change TODO
joelanford Sep 17, 2019
18b1edf
bump to kube 1.15.4
joelanford Oct 4, 2019
782b674
:bug: Return error when trying to read from an unstarted cache
alvaroaleman Oct 5, 2019
5f0aee6
Merge pull request #625 from charith-elastic/avoid-extra-deepcopy
k8s-ci-robot Oct 7, 2019
43a3cd8
Merge pull request #622 from enxebre/fix-613
k8s-ci-robot Oct 7, 2019
3738249
Merge branch 'master' into k8s-1.15.3
joelanford Oct 7, 2019
e077752
Fix links in VERSIONING.md
monopole Oct 7, 2019
aac8bc7
Merge pull request #632 from monopole/patch-1
k8s-ci-robot Oct 7, 2019
4ba0a3b
Merge pull request #599 from joelanford/k8s-1.15.3
k8s-ci-robot Oct 10, 2019
e7e24af
✨ implement helpers for add/remove finalizer
alexeldeib Jul 29, 2019
8c858b3
pkg/client/apiutil: add a dynamic RESTMapper will reload the delegated
estroz Aug 14, 2019
bc91403
Merge pull request #627 from alvaroaleman/informer-error
k8s-ci-robot Oct 10, 2019
21cba9d
Double-check while locking in DynamicRESTMapper
DirectXMan12 Oct 9, 2019
93d6546
pkg/manager/manager.go: use a lazy dynamic RESTMapper in manager defa…
estroz Aug 14, 2019
a695d98
Make tests run under the race detector
DirectXMan12 Oct 9, 2019
1e9f630
Merge pull request #554 from estroz/dynamic-restmapper
k8s-ci-robot Oct 10, 2019
95e7021
Tolerate merge commits in the release notes script
DirectXMan12 Oct 10, 2019
3c5a973
:ghost: Don't do lazy discovery by default
DirectXMan12 Oct 10, 2019
befb89e
Merge pull request #634 from DirectXMan12/infra/tolerate-merge-commits
k8s-ci-robot Oct 10, 2019
d212411
Merge pull request #635 from DirectXMan12/bug/dont-do-lazy-discovery-…
k8s-ci-robot Oct 10, 2019
52d6dbf
Refactor health probes
DirectXMan12 Sep 19, 2019
16c93b0
Merge pull request #419 from GrigoriyMikhalkin/CR-297
k8s-ci-robot Oct 11, 2019
8b53f2b
Update apimachinery serializer method
enxebre Oct 10, 2019
b2bc349
Bump to kube-1.16.0
enxebre Oct 11, 2019
ad101b1
Fix comments for option in zap
micnncim Oct 16, 2019
77e2eb9
Document envtest defaults
Oct 16, 2019
53b5b39
Merge pull request #643 from micnncim/log
k8s-ci-robot Oct 16, 2019
2df793d
Merge pull request #618 from enxebre/kube-1.16.0
k8s-ci-robot Oct 16, 2019
6d830ff
Add helpers for common Zap options
DirectXMan12 Oct 16, 2019
ecdbe54
Merge pull request #646 from DirectXMan12/feature/zap-option-helpers
k8s-ci-robot Oct 16, 2019
ca33b65
Merge pull request #545 from alexeldeib/ace/finalizer
k8s-ci-robot Oct 18, 2019
0fdf465
Don't leak goroutines in controller.New
DirectXMan12 Oct 18, 2019
d2122ab
pkg/log/zap: use enabled in UseDevMode, add tests
joelanford Oct 21, 2019
c8d90fe
pkg/client/config: add tests
joelanford Oct 16, 2019
840ac8a
pkg/client/config/config.go: support merging KUBECONFIG paths
joelanford Oct 15, 2019
13d4073
add loggings for webhook
anthonyho007 Oct 21, 2019
5b53c39
add jitter between controllers' resync period
xrmzju Oct 22, 2019
ad57a97
Merge pull request #439 from anthonyho007/improve-loggings
k8s-ci-robot Oct 22, 2019
61b26d3
envtest set service-cluster-ip-range if user not set
Oct 25, 2019
679bb11
pkg/metrics/workqueue.go: remove deprecated metrics
joelanford Oct 28, 2019
2fe837f
pkg/client/config: test in-cluster precedence
joelanford Oct 28, 2019
fe4ada0
Switch away from using errChan in the manager
DirectXMan12 Oct 18, 2019
4d81992
Log on runnable stop
DirectXMan12 Oct 21, 2019
40070e2
Merge pull request #651 from DirectXMan12/bug/controller-new-spawns-g…
k8s-ci-robot Oct 29, 2019
ee4a7b9
Allow kube-apiserver to start without a default route
wallrj Nov 2, 2019
699facb
Update sigs.k8s.io/testing_frameworks to v0.1.2
wallrj Nov 2, 2019
b3fee0d
Merge pull request #642 from joelanford/multi-path-client-loader
k8s-ci-robot Nov 5, 2019
adee879
Merge pull request #653 from joelanford/use-dev-mode-enabled
k8s-ci-robot Nov 5, 2019
2fd8539
Merge pull request #670 from wallrj/669-offline-tests
k8s-ci-robot Nov 5, 2019
f4f5505
Merge pull request #672 from wallrj/testing-frameworks-012
k8s-ci-robot Nov 5, 2019
0d1cce8
Merge pull request #624 from pivotal-k8s/document-envvars
k8s-ci-robot Nov 5, 2019
838c86f
Merge pull request #662 from joelanford/remove-deprecated-metrics
k8s-ci-robot Nov 5, 2019
81842d0
Merge pull request #620 from zaneb/resource-version
k8s-ci-robot Nov 5, 2019
3fba417
:sparkles: Add helpers for remaining Zap options
hasbro17 Oct 14, 2019
50d07e2
Fix delete example not setting metadata properly for CRDs
vadasambar Nov 7, 2019
47744b5
Merge pull request #639 from hasbro17/add-zap-logger-options
k8s-ci-robot Nov 8, 2019
e3ad016
:bug: InformerCache: Do not require leader lease
alvaroaleman Nov 11, 2019
21c63cb
go.mod,go.sum: revert prometheus/client_golang to v0.9.0
joelanford Nov 12, 2019
6f5721d
cross-namespace owner references should be disallowed in SetControlle…
boylee1111 Nov 8, 2019
5522c98
:sparkles:handle unstructured objects correctly in fake client
Nov 13, 2019
2f2e975
Merge pull request #682 from mengqiy/fakeclient
k8s-ci-robot Nov 13, 2019
cd4d24b
:ghost:add apiversion handling to fake client
Nov 13, 2019
15b5243
Merge pull request #683 from mengqiy/fakeclient
k8s-ci-robot Nov 14, 2019
59dbdbb
Merge pull request #679 from joelanford/revert-prom-1.0.0
k8s-ci-robot Nov 14, 2019
5e29d83
Merge pull request #674 from vadasambar/patch-1
k8s-ci-robot Nov 15, 2019
1fbc224
Merge pull request #675 from boylee1111/disallow_cross_namespace_refs
k8s-ci-robot Nov 15, 2019
6d6e9c1
Merge pull request #678 from alvaroaleman/cache-no-leader-election
k8s-ci-robot Nov 15, 2019
ffd3f25
Merge pull request #659 from Dingshujie/master
k8s-ci-robot Nov 15, 2019
e74902c
:warning: Soft-bump to Go 1.13
DirectXMan12 Nov 15, 2019
198197f
Merge pull request #685 from DirectXMan12/feature/soft-1.13
k8s-ci-robot Nov 15, 2019
8ba3851
Add shawn-hurley as reviewer
Nov 21, 2019
477e0a7
Remove obsolete cert provisioner docs
alenkacz Nov 26, 2019
df41020
Change the golint install to do it as recommended
camilamacedo86 Nov 28, 2019
aaf9bb3
doc: improve MultiNamespacedCacheBuilder info
camilamacedo86 Nov 28, 2019
a0443aa
fix: use semantic equality in CreateOrUpdate
alexeldeib Dec 2, 2019
5484dc1
Merge pull request #701 from camilamacedo86/multi_namespace_cache-doc
k8s-ci-robot Dec 2, 2019
a87f999
Merge pull request #698 from alenkacz/av/remove-obsolete-docs
k8s-ci-robot Dec 3, 2019
62dee16
Merge pull request #700 from camilamacedo86/golint
k8s-ci-robot Dec 3, 2019
fee132e
Merge pull request #704 from alexeldeib/ace/semanticEqual
k8s-ci-robot Dec 3, 2019
afac980
Merge pull request #689 from shawn-hurley/add-reviewer
k8s-ci-robot Dec 3, 2019
8929899
envtest: surface merged crds
hasheddan Dec 3, 2019
b33d735
Add alvaroaleman as reviewer
alvaroaleman Nov 21, 2019
d31a005
Fix SetControllerReference to consider multiple CRD versions
sebgl Dec 3, 2019
0d1f458
Run goimports
sebgl Dec 3, 2019
8f86004
Merge pull request #690 from alvaroaleman/add-alvaroaleman-reviewer
k8s-ci-robot Dec 3, 2019
ce6bd39
Merge pull request #707 from sebgl/ignore-controllerref-version
k8s-ci-robot Dec 3, 2019
d247992
Add gerred as reviewer
gerred Nov 22, 2019
288b041
Merge pull request #706 from hasheddan/setcrds
k8s-ci-robot Dec 3, 2019
3817de0
Merge pull request #693 from gerred/gd/add-reviewer
k8s-ci-robot Dec 3, 2019
9530af2
OWNERS_ALIASES: adding joelanford as reviewer
joelanford Dec 3, 2019
c86e36b
Clean-up installed CRDs on Stop()
pires Nov 26, 2019
bc5ae78
Validate uninstall does clean-up resources
pires Dec 4, 2019
2a965fc
Return CRD uninstall error
pires Dec 4, 2019
f7e674b
Merge pull request #647 from xrmzju/master
k8s-ci-robot Dec 4, 2019
9b41b21
Merge pull request #709 from joelanford/joelanford-reviewer
k8s-ci-robot Dec 4, 2019
a0e9c1d
Merge pull request #697 from pires/pires/delete_crds_on_stop
k8s-ci-robot Dec 4, 2019
9b6f3d1
define metrics.Registry as an interface
xrstf Dec 5, 2019
501b55e
Adding ErrorIfCRDPathMissing on Environment struct and propagating to…
knabben Dec 7, 2019
196b1ea
Function to compare CRD in common between to lists
knabben Dec 7, 2019
40f3736
Enabling file path on CRD extraction
knabben Dec 7, 2019
08de469
Adding tests for multiple directory and file usage
knabben Dec 7, 2019
7ae0e20
Fixing error messages
knabben Dec 8, 2019
1fb86b6
Remove TotalRequests Prometheus metrics as it is not getting used
prafull01 Dec 8, 2019
201a662
Merge pull request #719 from prafull01/metrics
k8s-ci-robot Dec 9, 2019
26ad5a7
Merge pull request #716 from knabben/file-crd-install
k8s-ci-robot Dec 9, 2019
55ea949
Merge pull request #715 from knabben/master
k8s-ci-robot Dec 9, 2019
a93c9c3
:bug: Envtest: Allow creating privileged containers
alvaroaleman Dec 3, 2019
158b897
Merge pull request #713 from xrstf/prometheus-registry-interface
k8s-ci-robot Dec 10, 2019
66876f9
Adding another folder with a new CRD avoiding late deleted conflicts
knabben Dec 10, 2019
efbeb27
Merge pull request #708 from alvaroaleman/envtest-allow-privileged
k8s-ci-robot Dec 10, 2019
327514a
Add Merge patch type and deprecate ConstantPatch in favor of RawPatch
Adirio Dec 9, 2019
7dfd3c9
client: Use dynamic RESTMapper by default
yanniszark Dec 19, 2019
fe71678
Increase timeout for tests
knabben Dec 20, 2019
b107a45
Replace NullLogger with a zap logger in the ExampleBuilder
erwinvaneyk Dec 20, 2019
2e9c115
Rename "object" to "owned" to match godoc comment.
evankanderson Dec 26, 2019
4c543fd
Remove usage of deprecated MatchingField list option
rajathagasthya Dec 27, 2019
1a11c4a
Minor nit in predicates
ialidzhikov Dec 31, 2019
0b612c6
docs: fix grammar and spelling typos
bengadbois Jan 3, 2020
c53fbe1
[testing-framework] Bring in testing-framework/integration
hoegaarden Dec 6, 2019
a4043d2
Merge pull request #749 from pivotal-k8s/move-testing-framework-squash
k8s-ci-robot Jan 6, 2020
59e81a8
Merge pull request #747 from bengadbois/grammar-and-spelling
k8s-ci-robot Jan 6, 2020
039e924
Merge pull request #737 from yanniszark/feature-use-dynamic-restmappe…
k8s-ci-robot Jan 6, 2020
bfbd7f7
Merge pull request #746 from ialidzhikov/flake/simplify-predicate
k8s-ci-robot Jan 6, 2020
56b6a9c
Merge pull request #739 from erwinvaneyk/examplebuilder-log-fix
k8s-ci-robot Jan 6, 2020
3e13646
Merge pull request #725 from knabben/fix-flake-env
k8s-ci-robot Jan 6, 2020
790e761
Merge pull request #744 from rajathagasthya/matching-fields
k8s-ci-robot Jan 6, 2020
8022402
Merge pull request #721 from Adirio/patches
k8s-ci-robot Jan 6, 2020
8fae388
docs: document the expected names of the TLS key and certificate
bhcleek Jan 8, 2020
5fc0586
Update CRD if already present
pires Nov 26, 2019
f73674e
wait for cache start before returning from WaitForCacheSync
joelanford Jan 10, 2020
5c352aa
Fix typo and rename `owned` to `controlled`.
evankanderson Jan 11, 2020
9263a5a
Merge pull request #742 from evankanderson/doc-fix
k8s-ci-robot Jan 14, 2020
a7c8a93
Merge pull request #751 from bhcleek/doc/tls
k8s-ci-robot Jan 14, 2020
faacf85
internal/deleg_map.go: update WaitForCacheSync godoc
joelanford Jan 14, 2020
0d78900
Merge pull request #696 from pires/pires/dont_error_if_crd_present
k8s-ci-robot Jan 14, 2020
8c39906
Merge pull request #755 from joelanford/fix-cache-race
k8s-ci-robot Jan 14, 2020
7205c30
Add 'alenkacz' as reviewer
alenkacz Jan 17, 2020
da4df14
Parameterize webhook key/cert name
qinqon Jan 16, 2020
e08cb0a
Fix error in doc
daicang Jan 20, 2020
bf88944
Update pkg/webhook/server.go
qinqon Jan 21, 2020
e01173f
Update pkg/webhook/server.go
qinqon Jan 21, 2020
eb9e87f
:warning: Add testenv support for CRDv1/CRDv1beta1
vincepri Jan 8, 2020
5503815
:running: Update [email protected] and [email protected]
vincepri Jan 21, 2020
98e5915
Remove references to 'download-binaries.sh'
alenkacz Jan 22, 2020
28c9034
Fix makefile and docs for running tests
alenkacz Jan 22, 2020
a9427a1
:running: Remove unused variable from IsConvertible
mcristina422 Jan 22, 2020
1d2024d
Merge pull request #762 from alenkacz/av/remove-download-binaries
k8s-ci-robot Jan 22, 2020
b1f3d2e
Merge pull request #769 from vincepri/update-onsi
k8s-ci-robot Jan 22, 2020
b919853
Merge pull request #760 from qinqon/parameterize-webhook-key-cert-name-2
k8s-ci-robot Jan 22, 2020
9c9f664
Merge pull request #766 from daicang/doc
k8s-ci-robot Jan 22, 2020
7f899c3
Merge pull request #772 from mcristina422/patch-1
k8s-ci-robot Jan 22, 2020
eae89ba
Merge pull request #752 from vincepri/support-testenv-crdv1
k8s-ci-robot Jan 22, 2020
72303ca
Merge pull request #771 from alenkacz/av/fix-makefile-test
k8s-ci-robot Jan 22, 2020
c14d8e6
Merge pull request #761 from alenkacz/patch-1
k8s-ci-robot Jan 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
✨ decoder now errors out when encountering an empty runtime.RawExtension
When user tries to decode an object, it should always not be empty. This
error gives people hints when they running into this kind of issues. e.g.
kube-apiserver doesn't include the object in the admission review for
deletion events.
  • Loading branch information
Mengqi Yu committed Jul 22, 2019
commit ad914c15403da698adf27cb51a70da84ff405a6f
13 changes: 13 additions & 0 deletions pkg/webhook/admission/decode.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ limitations under the License.
package admission

import (
"fmt"

"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
Expand All @@ -36,11 +38,17 @@ func NewDecoder(scheme *runtime.Scheme) (*Decoder, error) {

// Decode decodes the inlined object in the AdmissionRequest into the passed-in runtime.Object.
// If you want decode the OldObject in the AdmissionRequest, use DecodeRaw.
// It errors out if req.Object.Raw is empty i.e. containing 0 raw bytes.
func (d *Decoder) Decode(req Request, into runtime.Object) error {
// we error out if rawObj is an empty object.
if len(req.Object.Raw) == 0 {
return fmt.Errorf("there is no content to decode")
}
return d.DecodeRaw(req.Object, into)
}

// DecodeRaw decodes a RawExtension object into the passed-in runtime.Object.
// It errors out if rawObj is empty i.e. containing 0 raw bytes.
func (d *Decoder) DecodeRaw(rawObj runtime.RawExtension, into runtime.Object) error {
// NB(directxman12): there's a bug/weird interaction between decoders and
// the API server where the API server doesn't send a GVK on the embedded
Expand All @@ -49,6 +57,11 @@ func (d *Decoder) DecodeRaw(rawObj runtime.RawExtension, into runtime.Object) er
// and call unstructured's special Unmarshal implementation, which calls
// back into that same decoder :-/
// See kubernetes/kubernetes#74373.

// we error out if rawObj is an empty object.
if len(rawObj.Raw) == 0 {
return fmt.Errorf("there is no content to decode")
}
if unstructuredInto, isUnstructured := into.(*unstructured.Unstructured); isUnstructured {
// unmarshal into unstructured's underlying object to avoid calling the decoder
if err := json.Unmarshal(rawObj.Raw, &unstructuredInto.Object); err != nil {
Expand Down