From 42a55d030106a7c25fbeb29cd5066f1cfc08adfa Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Fri, 8 May 2026 11:15:22 +0200 Subject: [PATCH 1/9] Set correct logical cluster timeout Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- pkg/reconciler/tenancy/workspace/workspace_reconcile_phase.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/reconciler/tenancy/workspace/workspace_reconcile_phase.go b/pkg/reconciler/tenancy/workspace/workspace_reconcile_phase.go index f829be67675..0b56a9ad039 100644 --- a/pkg/reconciler/tenancy/workspace/workspace_reconcile_phase.go +++ b/pkg/reconciler/tenancy/workspace/workspace_reconcile_phase.go @@ -42,7 +42,7 @@ type phaseReconciler struct { // logicalClusterTimeout is the time limit for a logical cluster to // appear for the shard before marking its corresponding Workspace as // Unavailable. -const logicalClusterTimeout = time.Second +const logicalClusterTimeout = time.Minute func (r *phaseReconciler) reconcile(ctx context.Context, workspace *tenancyv1alpha1.Workspace) (reconcileStatus, error) { logger := klog.FromContext(ctx).WithValues("reconciler", "phase") From 75a02567b33e1c4de69d19b892dc3b3e18deeb2a Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Fri, 8 May 2026 16:48:36 +0200 Subject: [PATCH 2/9] Fix code-generator replace Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- test/load/go.mod | 58 +++++++++------- test/load/go.sum | 176 +++++++++++++++++++++++++++-------------------- 2 files changed, 134 insertions(+), 100 deletions(-) diff --git a/test/load/go.mod b/test/load/go.mod index 7ea21f2476a..60a06e1ba67 100644 --- a/test/load/go.mod +++ b/test/load/go.mod @@ -1,63 +1,73 @@ module github.com/kcp-dev/kcp/test/load -go 1.25.0 +go 1.26.0 require ( github.com/kcp-dev/logicalcluster/v3 v3.0.5 github.com/kcp-dev/sdk v0.31.0 github.com/montanaflynn/stats v0.7.1 github.com/stretchr/testify v1.11.1 - k8s.io/apimachinery v0.35.1 - k8s.io/client-go v0.35.1 + k8s.io/apimachinery v0.36.0 + k8s.io/client-go v0.36.0 ) replace ( github.com/kcp-dev/apimachinery/v2 => ../../staging/src/github.com/kcp-dev/apimachinery - github.com/kcp-dev/code-generator/v3 => ./staging/src/github.com/kcp-dev/code-generator + github.com/kcp-dev/code-generator/v3 => ../../staging/src/github.com/kcp-dev/code-generator github.com/kcp-dev/sdk => ../../staging/src/github.com/kcp-dev/sdk ) require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/emicklei/go-restful/v3 v3.12.2 // indirect + github.com/emicklei/go-restful/v3 v3.13.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-logr/logr v1.4.3 // indirect - github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/jsonreference v0.21.0 // indirect - github.com/go-openapi/swag v0.23.0 // indirect - github.com/google/gnostic-models v0.7.0 // indirect + github.com/go-openapi/jsonpointer v0.23.1 // indirect + github.com/go-openapi/jsonreference v0.21.5 // indirect + github.com/go-openapi/swag v0.26.0 // indirect + github.com/go-openapi/swag/cmdutils v0.26.0 // indirect + github.com/go-openapi/swag/conv v0.26.0 // indirect + github.com/go-openapi/swag/fileutils v0.26.0 // indirect + github.com/go-openapi/swag/jsonname v0.26.0 // indirect + github.com/go-openapi/swag/jsonutils v0.26.0 // indirect + github.com/go-openapi/swag/loading v0.26.0 // indirect + github.com/go-openapi/swag/mangling v0.26.0 // indirect + github.com/go-openapi/swag/netutils v0.26.0 // indirect + github.com/go-openapi/swag/stringutils v0.26.0 // indirect + github.com/go-openapi/swag/typeutils v0.26.0 // indirect + github.com/go-openapi/swag/yamlutils v0.26.0 // indirect + github.com/google/gnostic-models v0.7.1 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kcp-dev/apimachinery/v2 v2.0.0-00010101000000-000000000000 // indirect - github.com/mailru/easyjson v0.9.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/onsi/gomega v1.38.2 // indirect + github.com/onsi/gomega v1.39.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/x448/float16 v0.8.4 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect + go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.38.0 // indirect - golang.org/x/term v0.37.0 // indirect - golang.org/x/text v0.31.0 // indirect - golang.org/x/time v0.11.0 // indirect - google.golang.org/protobuf v1.36.8 // indirect + golang.org/x/net v0.53.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/sys v0.43.0 // indirect + golang.org/x/term v0.42.0 // indirect + golang.org/x/text v0.36.0 // indirect + golang.org/x/time v0.15.0 // indirect + golang.org/x/tools v0.44.0 // indirect + google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.35.1 // indirect - k8s.io/apiextensions-apiserver v0.35.1 // indirect + k8s.io/api v0.36.0 // indirect + k8s.io/apiextensions-apiserver v0.36.0 // indirect k8s.io/klog/v2 v2.140.0 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect + k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/test/load/go.sum b/test/load/go.sum index cfaeb56a4c2..07057f02073 100644 --- a/test/load/go.sum +++ b/test/load/go.sum @@ -1,5 +1,5 @@ -cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= -cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= +cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= +cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= @@ -14,35 +14,61 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= -github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= +github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= -github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-openapi/jsonpointer v0.23.1 h1:1HBACs7XIwR2RcmItfdSFlALhGbe6S92p0ry4d1GWg4= +github.com/go-openapi/jsonpointer v0.23.1/go.mod h1:iWRmZTrGn7XwYhtPt/fvdSFj1OfNBngqRT2UG3BxSqY= +github.com/go-openapi/jsonreference v0.21.5 h1:6uCGVXU/aNF13AQNggxfysJ+5ZcU4nEAe+pJyVWRdiE= +github.com/go-openapi/jsonreference v0.21.5/go.mod h1:u25Bw85sX4E2jzFodh1FOKMTZLcfifd1Q+iKKOUxExw= +github.com/go-openapi/swag v0.26.0 h1:GVDXCmfvhfu1BxiHo8/FA+BbKmhecHnG3varjON5/RI= +github.com/go-openapi/swag v0.26.0/go.mod h1:82g3193sZJRbocs7bNCqGfIgq8pkuwVwCfhKIRlEQF0= +github.com/go-openapi/swag/cmdutils v0.26.0 h1:iowihOcvq7y4egO8cOq0dmfohz6wfeQ63U1EnuhO2TU= +github.com/go-openapi/swag/cmdutils v0.26.0/go.mod h1:Sm1MVFMkF6guJJ+pQqHnQA3N0j9qALV3NxzDSv6bETM= +github.com/go-openapi/swag/conv v0.26.0 h1:5yGGsPYI1ZCva93U0AoKi/iZrNhaJEjr324YVsiD89I= +github.com/go-openapi/swag/conv v0.26.0/go.mod h1:tpAmIL7X58VPnHHiSO4uE3jBeRamGsFsfdDeDtb5ECE= +github.com/go-openapi/swag/fileutils v0.26.0 h1:WJoPRvsA7QRiiWluowkLJa9jaYR7FCuxmDvnCgaRRxU= +github.com/go-openapi/swag/fileutils v0.26.0/go.mod h1:0WDJ7lp67eNjPMO50wAWYlKvhOb6CQ37rzR7wrgI8Tc= +github.com/go-openapi/swag/jsonname v0.26.0 h1:gV1NFX9M8avo0YSpmWogqfQISigCmpaiNci8cGECU5w= +github.com/go-openapi/swag/jsonname v0.26.0/go.mod h1:urBBR8bZNoDYGr653ynhIx+gTeIz0ARZxHkAPktJK2M= +github.com/go-openapi/swag/jsonutils v0.26.0 h1:FawFML2iAXsPqmERscuMPIHmFsoP1tOqWkxBaKNMsnA= +github.com/go-openapi/swag/jsonutils v0.26.0/go.mod h1:2VmA0CJlyFqgawOaPI9psnjFDqzyivIqLYN34t9p91E= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 h1:apqeINu/ICHouqiRZbyFvuDge5jCmmLTqGQ9V95EaOM= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0/go.mod h1:AyM6QT8uz5IdKxk5akv0y6u4QvcL9GWERt0Jx/F/R8Y= +github.com/go-openapi/swag/loading v0.26.0 h1:Apg6zaKhCJurpJer0DCxq99qwmhFddBhaMX7kilDcko= +github.com/go-openapi/swag/loading v0.26.0/go.mod h1:dBxQ/6V2uBaAQdevN18VELE6xSpJWZxLX4txe12JwDg= +github.com/go-openapi/swag/mangling v0.26.0 h1:Du2YC4YLA/Y5m/YKQd7AnY5qq0wRKSFZTTt8ktFaXcQ= +github.com/go-openapi/swag/mangling v0.26.0/go.mod h1:jifS7W9vbg+pw63bT+GI53otluMQL3CeemuyCHKwVx0= +github.com/go-openapi/swag/netutils v0.26.0 h1:CmZp+ZT7HrmFwrC3GdGsXBq2+42T1bjKBapcqVpIs3c= +github.com/go-openapi/swag/netutils v0.26.0/go.mod h1:5iK+Ok3ZohWWex1C50BFTPexi03UaPwjW4Oj8kgrpwo= +github.com/go-openapi/swag/stringutils v0.26.0 h1:qZQngLxs5s7SLijc3N2ZO+fUq2o8LjuWAASSrJuh+xg= +github.com/go-openapi/swag/stringutils v0.26.0/go.mod h1:sWn5uY+QIIspwPhvgnqJsH8xqFT2ZbYcvbcFanRyhFE= +github.com/go-openapi/swag/typeutils v0.26.0 h1:2kdEwdiNWy+JJdOvu5MA2IIg2SylWAFuuyQIKYybfq4= +github.com/go-openapi/swag/typeutils v0.26.0/go.mod h1:oovDuIUvTrEHVMqWilQzKzV4YlSKgyZmFh7AlfABNVE= +github.com/go-openapi/swag/yamlutils v0.26.0 h1:H7O8l/8NJJQ/oiReEN+oMpnGMyt8G0hl460nRZxhLMQ= +github.com/go-openapi/swag/yamlutils v0.26.0/go.mod h1:1evKEGAtP37Pkwcc7EWMF0hedX0/x3Rkvei2wtG/TbU= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.2 h1:5zRca5jw7lzVREKCZVNBpysDNBjj74rBh0N2BGQbSR0= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.2/go.mod h1:XVevPw5hUXuV+5AkI1u1PeAm27EQVrhXTTCPAF85LmE= +github.com/go-openapi/testify/v2 v2.4.2 h1:tiByHpvE9uHrrKjOszax7ZvKB7QOgizBWGBLuq0ePx4= +github.com/go-openapi/testify/v2 v2.4.2/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/google/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c= +github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8= -github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= +github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 h1:z2ogiKUYzX5Is6zr/vP9vJGqPwcdqsWjOt+V8J7+bTc= +github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kcp-dev/logicalcluster/v3 v3.0.5 h1:JbYakokb+5Uinz09oTXomSUJVQsqfxEvU4RyHUYxHOU= @@ -51,8 +77,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -63,10 +87,10 @@ github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8 github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns= -github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= -github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= -github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= +github.com/onsi/ginkgo/v2 v2.28.0 h1:Rrf+lVLmtlBIKv6KrIGJCjyY8N36vDVcutbGJkyqjJc= +github.com/onsi/ginkgo/v2 v2.28.0/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= +github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -74,14 +98,14 @@ github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs= -github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= -github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= -github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= +github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= +github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= +github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/spf13/cobra v1.10.0 h1:a5/WeUlSDCvV5a45ljW2ZFtV0bTDpkfSAj3uqB6Sc+0= -github.com/spf13/cobra v1.10.0/go.mod h1:9dhySC7dnTtEiqzmqfkLj47BslqLCUPMXjG2lj/NgoE= +github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= @@ -94,40 +118,40 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= -go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= -go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= -go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c= +go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE= +go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0= +go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM= -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= -golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= -golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= +golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= +golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= +golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= +golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= +golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1:merA0rdPeUV3YIIfHHcH4qBkiQAc1nfCKSI7lB4cV2M= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 h1:H86B94AW+VfJWDqFeEbBPhEtHzJwJfTbgE2lZa54ZAQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -137,29 +161,29 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.1 h1:0PO/1FhlK/EQNVK5+txc4FuhQibV25VLSdLMmGpDE/Q= -k8s.io/api v0.35.1/go.mod h1:28uR9xlXWml9eT0uaGo6y71xK86JBELShLy4wR1XtxM= -k8s.io/apiextensions-apiserver v0.35.1 h1:p5vvALkknlOcAqARwjS20kJffgzHqwyQRM8vHLwgU7w= -k8s.io/apiextensions-apiserver v0.35.1/go.mod h1:2CN4fe1GZ3HMe4wBr25qXyJnJyZaquy4nNlNmb3R7AQ= -k8s.io/apimachinery v0.35.1 h1:yxO6gV555P1YV0SANtnTjXYfiivaTPvCTKX6w6qdDsU= -k8s.io/apimachinery v0.35.1/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= -k8s.io/apiserver v0.35.1 h1:potxdhhTL4i6AYAa2QCwtlhtB1eCdWQFvJV6fXgJzxs= -k8s.io/apiserver v0.35.1/go.mod h1:BiL6Dd3A2I/0lBnteXfWmCFobHM39vt5+hJQd7Lbpi4= -k8s.io/client-go v0.35.1 h1:+eSfZHwuo/I19PaSxqumjqZ9l5XiTEKbIaJ+j1wLcLM= -k8s.io/client-go v0.35.1/go.mod h1:1p1KxDt3a0ruRfc/pG4qT/3oHmUj1AhSHEcxNSGg+OA= -k8s.io/component-base v0.35.1 h1:XgvpRf4srp037QWfGBLFsYMUQJkE5yMa94UsJU7pmcE= -k8s.io/component-base v0.35.1/go.mod h1:HI/6jXlwkiOL5zL9bqA3en1Ygv60F03oEpnuU1G56Bs= +k8s.io/api v0.36.0 h1:SgqDhZzHdOtMk40xVSvCXkP9ME0H05hPM3p9AB1kL80= +k8s.io/api v0.36.0/go.mod h1:m1LVrGPNYax5NBHdO+QuAedXyuzTt4RryI/qnmNvs34= +k8s.io/apiextensions-apiserver v0.36.0 h1:Wt7E8J+VBCbj4FjiBfDTK/neXDDjyJVJc7xfuOHImZ0= +k8s.io/apiextensions-apiserver v0.36.0/go.mod h1:kGDjH0msuiIB3tgsYRV0kS9GqpMYMUsQ3GHv7TApyug= +k8s.io/apimachinery v0.36.0 h1:jZyPzhd5Z+3h9vJLt0z9XdzW9VzNzWAUw+P1xZ9PXtQ= +k8s.io/apimachinery v0.36.0/go.mod h1:FklypaRJt6n5wUIwWXIP6GJlIpUizTgfo1T/As+Tyxc= +k8s.io/apiserver v0.36.0 h1:Jg5OFAENUACByUCg15CmhZAYrr5ZyJ+jodyA1mHl3YE= +k8s.io/apiserver v0.36.0/go.mod h1:mHvwdHf+qKEm+1/hYm756SV+oREOKSPnsjagOpx6Vho= +k8s.io/client-go v0.36.0 h1:pOYi7C4RHChYjMiHpZSpSbIM6ZxVbRXBy7CuiIwqA3c= +k8s.io/client-go v0.36.0/go.mod h1:ZKKcpwF0aLYfkHFCjillCKaTK/yBkEDHTDXCFY6AS9Y= +k8s.io/component-base v0.36.0 h1:hFjEktssxiJhrK1zfybkH4kJOi8iZuF+mIDCqS5+jRo= +k8s.io/component-base v0.36.0/go.mod h1:JZvIfcNHk+uck+8LhJzhSBtydWXaZNQwX2OdL+Mnwsk= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg= +k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8= +sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= From a9867c15b6f1e8f1909b0d479dcc0d9e5e9f18db Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Tue, 5 May 2026 10:39:40 +0200 Subject: [PATCH 3/9] Bump apimachinery kube deps to v0.36.0 Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../github.com/kcp-dev/apimachinery/go.mod | 40 +++--- .../github.com/kcp-dev/apimachinery/go.sum | 122 ++++++++++-------- 2 files changed, 93 insertions(+), 69 deletions(-) diff --git a/staging/src/github.com/kcp-dev/apimachinery/go.mod b/staging/src/github.com/kcp-dev/apimachinery/go.mod index 494e6d46aaa..6ac9bc8cbcc 100644 --- a/staging/src/github.com/kcp-dev/apimachinery/go.mod +++ b/staging/src/github.com/kcp-dev/apimachinery/go.mod @@ -1,41 +1,47 @@ module github.com/kcp-dev/apimachinery/v2 -go 1.25.0 +go 1.26.0 require ( github.com/google/go-cmp v0.7.0 - github.com/kcp-dev/logicalcluster/v3 v3.0.4 + github.com/kcp-dev/logicalcluster/v3 v3.0.5 github.com/stretchr/testify v1.11.1 - k8s.io/api v0.35.1 - k8s.io/apimachinery v0.35.1 - k8s.io/client-go v0.35.1 - k8s.io/klog/v2 v2.130.1 - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 + k8s.io/api v0.36.0 + k8s.io/apimachinery v0.36.0 + k8s.io/client-go v0.36.0 + k8s.io/klog/v2 v2.140.0 + k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 ) require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.1 // indirect github.com/go-logr/logr v1.4.3 // indirect + github.com/go-openapi/jsonpointer v0.23.1 // indirect + github.com/go-openapi/jsonreference v0.21.5 // indirect + github.com/go-openapi/swag v0.26.0 // indirect + github.com/google/gnostic-models v0.7.1 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kr/text v0.2.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/spf13/pflag v1.0.10 // indirect github.com/x448/float16 v0.8.4 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.38.0 // indirect - golang.org/x/term v0.37.0 // indirect - golang.org/x/text v0.31.0 // indirect - golang.org/x/time v0.9.0 // indirect + go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244 // indirect + go.yaml.in/yaml/v2 v2.4.4 // indirect + golang.org/x/net v0.53.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/sys v0.43.0 // indirect + golang.org/x/term v0.42.0 // indirect + golang.org/x/text v0.36.0 // indirect + golang.org/x/time v0.15.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect + k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.4.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/staging/src/github.com/kcp-dev/apimachinery/go.sum b/staging/src/github.com/kcp-dev/apimachinery/go.sum index 3d2ba3bf47d..4691eb308e9 100644 --- a/staging/src/github.com/kcp-dev/apimachinery/go.sum +++ b/staging/src/github.com/kcp-dev/apimachinery/go.sum @@ -3,37 +3,55 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= -github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= +github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ= +github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/go-openapi/jsonpointer v0.23.1 h1:1HBACs7XIwR2RcmItfdSFlALhGbe6S92p0ry4d1GWg4= +github.com/go-openapi/jsonpointer v0.23.1/go.mod h1:iWRmZTrGn7XwYhtPt/fvdSFj1OfNBngqRT2UG3BxSqY= +github.com/go-openapi/jsonreference v0.21.5 h1:6uCGVXU/aNF13AQNggxfysJ+5ZcU4nEAe+pJyVWRdiE= +github.com/go-openapi/jsonreference v0.21.5/go.mod h1:u25Bw85sX4E2jzFodh1FOKMTZLcfifd1Q+iKKOUxExw= +github.com/go-openapi/swag v0.26.0 h1:GVDXCmfvhfu1BxiHo8/FA+BbKmhecHnG3varjON5/RI= +github.com/go-openapi/swag v0.26.0/go.mod h1:82g3193sZJRbocs7bNCqGfIgq8pkuwVwCfhKIRlEQF0= +github.com/go-openapi/swag/cmdutils v0.26.0 h1:iowihOcvq7y4egO8cOq0dmfohz6wfeQ63U1EnuhO2TU= +github.com/go-openapi/swag/cmdutils v0.26.0/go.mod h1:Sm1MVFMkF6guJJ+pQqHnQA3N0j9qALV3NxzDSv6bETM= +github.com/go-openapi/swag/conv v0.26.0 h1:5yGGsPYI1ZCva93U0AoKi/iZrNhaJEjr324YVsiD89I= +github.com/go-openapi/swag/conv v0.26.0/go.mod h1:tpAmIL7X58VPnHHiSO4uE3jBeRamGsFsfdDeDtb5ECE= +github.com/go-openapi/swag/fileutils v0.26.0 h1:WJoPRvsA7QRiiWluowkLJa9jaYR7FCuxmDvnCgaRRxU= +github.com/go-openapi/swag/fileutils v0.26.0/go.mod h1:0WDJ7lp67eNjPMO50wAWYlKvhOb6CQ37rzR7wrgI8Tc= +github.com/go-openapi/swag/jsonname v0.26.0 h1:gV1NFX9M8avo0YSpmWogqfQISigCmpaiNci8cGECU5w= +github.com/go-openapi/swag/jsonname v0.26.0/go.mod h1:urBBR8bZNoDYGr653ynhIx+gTeIz0ARZxHkAPktJK2M= +github.com/go-openapi/swag/jsonutils v0.26.0 h1:FawFML2iAXsPqmERscuMPIHmFsoP1tOqWkxBaKNMsnA= +github.com/go-openapi/swag/jsonutils v0.26.0/go.mod h1:2VmA0CJlyFqgawOaPI9psnjFDqzyivIqLYN34t9p91E= +github.com/go-openapi/swag/loading v0.26.0 h1:Apg6zaKhCJurpJer0DCxq99qwmhFddBhaMX7kilDcko= +github.com/go-openapi/swag/loading v0.26.0/go.mod h1:dBxQ/6V2uBaAQdevN18VELE6xSpJWZxLX4txe12JwDg= +github.com/go-openapi/swag/mangling v0.26.0 h1:Du2YC4YLA/Y5m/YKQd7AnY5qq0wRKSFZTTt8ktFaXcQ= +github.com/go-openapi/swag/mangling v0.26.0/go.mod h1:jifS7W9vbg+pw63bT+GI53otluMQL3CeemuyCHKwVx0= +github.com/go-openapi/swag/netutils v0.26.0 h1:CmZp+ZT7HrmFwrC3GdGsXBq2+42T1bjKBapcqVpIs3c= +github.com/go-openapi/swag/netutils v0.26.0/go.mod h1:5iK+Ok3ZohWWex1C50BFTPexi03UaPwjW4Oj8kgrpwo= +github.com/go-openapi/swag/stringutils v0.26.0 h1:qZQngLxs5s7SLijc3N2ZO+fUq2o8LjuWAASSrJuh+xg= +github.com/go-openapi/swag/stringutils v0.26.0/go.mod h1:sWn5uY+QIIspwPhvgnqJsH8xqFT2ZbYcvbcFanRyhFE= +github.com/go-openapi/swag/typeutils v0.26.0 h1:2kdEwdiNWy+JJdOvu5MA2IIg2SylWAFuuyQIKYybfq4= +github.com/go-openapi/swag/typeutils v0.26.0/go.mod h1:oovDuIUvTrEHVMqWilQzKzV4YlSKgyZmFh7AlfABNVE= +github.com/go-openapi/swag/yamlutils v0.26.0 h1:H7O8l/8NJJQ/oiReEN+oMpnGMyt8G0hl460nRZxhLMQ= +github.com/go-openapi/swag/yamlutils v0.26.0/go.mod h1:1evKEGAtP37Pkwcc7EWMF0hedX0/x3Rkvei2wtG/TbU= +github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c= +github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kcp-dev/logicalcluster/v3 v3.0.4 h1:q7KngML/QM7sWl8aVzmfZF0TPMnBwYNxsPKfwUvvBvU= -github.com/kcp-dev/logicalcluster/v3 v3.0.4/go.mod h1:EWBUBxdr49fUB1cLMO4nOdBWmYifLbP1LfoL20KkXYY= +github.com/kcp-dev/logicalcluster/v3 v3.0.5 h1:JbYakokb+5Uinz09oTXomSUJVQsqfxEvU4RyHUYxHOU= +github.com/kcp-dev/logicalcluster/v3 v3.0.5/go.mod h1:EWBUBxdr49fUB1cLMO4nOdBWmYifLbP1LfoL20KkXYY= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -47,8 +65,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -57,26 +75,26 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244 h1:OdZ8e4E9yDUGiis9x2ta/Ec5yhMAKT6ZivRvakyxC7E= +go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= +golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -86,23 +104,23 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.1 h1:0PO/1FhlK/EQNVK5+txc4FuhQibV25VLSdLMmGpDE/Q= -k8s.io/api v0.35.1/go.mod h1:28uR9xlXWml9eT0uaGo6y71xK86JBELShLy4wR1XtxM= -k8s.io/apimachinery v0.35.1 h1:yxO6gV555P1YV0SANtnTjXYfiivaTPvCTKX6w6qdDsU= -k8s.io/apimachinery v0.35.1/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= -k8s.io/client-go v0.35.1 h1:+eSfZHwuo/I19PaSxqumjqZ9l5XiTEKbIaJ+j1wLcLM= -k8s.io/client-go v0.35.1/go.mod h1:1p1KxDt3a0ruRfc/pG4qT/3oHmUj1AhSHEcxNSGg+OA= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/api v0.36.0 h1:SgqDhZzHdOtMk40xVSvCXkP9ME0H05hPM3p9AB1kL80= +k8s.io/api v0.36.0/go.mod h1:m1LVrGPNYax5NBHdO+QuAedXyuzTt4RryI/qnmNvs34= +k8s.io/apimachinery v0.36.0 h1:jZyPzhd5Z+3h9vJLt0z9XdzW9VzNzWAUw+P1xZ9PXtQ= +k8s.io/apimachinery v0.36.0/go.mod h1:FklypaRJt6n5wUIwWXIP6GJlIpUizTgfo1T/As+Tyxc= +k8s.io/client-go v0.36.0 h1:pOYi7C4RHChYjMiHpZSpSbIM6ZxVbRXBy7CuiIwqA3c= +k8s.io/client-go v0.36.0/go.mod h1:ZKKcpwF0aLYfkHFCjillCKaTK/yBkEDHTDXCFY6AS9Y= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= +k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f h1:4Qiq0YAoQATdgmHALJWz9rJ4fj20pB3xebpB4CFNhYM= +k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0 h1:qmp2e3ZfFi1/jJbDGpD4mt3wyp6PE1NfKHCYLqgNQJo= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= From e29f83f69908dc4ff8ba2e11da933944a4aa5ca3 Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Tue, 5 May 2026 10:39:40 +0200 Subject: [PATCH 4/9] Bump code-generator kube deps to v0.36.0 Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../kcp-dev/code-generator/examples/go.mod | 59 ++++---- .../kcp-dev/code-generator/examples/go.sum | 140 +++++++++--------- .../github.com/kcp-dev/code-generator/go.mod | 14 +- .../github.com/kcp-dev/code-generator/go.sum | 24 +-- 4 files changed, 126 insertions(+), 111 deletions(-) diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/go.mod b/staging/src/github.com/kcp-dev/code-generator/examples/go.mod index 37774fe1570..618162440aa 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/go.mod +++ b/staging/src/github.com/kcp-dev/code-generator/examples/go.mod @@ -1,6 +1,6 @@ module acme.corp -go 1.25.0 +go 1.26.0 replace acme.corp/pkg => ./pkg @@ -8,9 +8,9 @@ require ( github.com/kcp-dev/apimachinery/v2 v2.0.0-00010101000000-000000000000 github.com/kcp-dev/client-go v0.0.0 github.com/kcp-dev/logicalcluster/v3 v3.0.5 - k8s.io/apimachinery v0.35.1 - k8s.io/client-go v0.35.1 - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 + k8s.io/apimachinery v0.36.0 + k8s.io/client-go v0.36.0 + sigs.k8s.io/structured-merge-diff/v6 v6.4.0 ) replace ( @@ -21,39 +21,46 @@ replace ( require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/emicklei/go-restful/v3 v3.12.2 // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/emicklei/go-restful/v3 v3.13.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.1 // indirect github.com/go-logr/logr v1.4.3 // indirect - github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/jsonreference v0.21.0 // indirect - github.com/go-openapi/swag v0.23.0 // indirect - github.com/google/gnostic-models v0.7.0 // indirect - github.com/google/go-cmp v0.7.0 // indirect + github.com/go-openapi/jsonpointer v0.23.1 // indirect + github.com/go-openapi/jsonreference v0.21.5 // indirect + github.com/go-openapi/swag v0.26.0 // indirect + github.com/go-openapi/swag/cmdutils v0.26.0 // indirect + github.com/go-openapi/swag/conv v0.26.0 // indirect + github.com/go-openapi/swag/fileutils v0.26.0 // indirect + github.com/go-openapi/swag/jsonname v0.26.0 // indirect + github.com/go-openapi/swag/jsonutils v0.26.0 // indirect + github.com/go-openapi/swag/loading v0.26.0 // indirect + github.com/go-openapi/swag/mangling v0.26.0 // indirect + github.com/go-openapi/swag/netutils v0.26.0 // indirect + github.com/go-openapi/swag/stringutils v0.26.0 // indirect + github.com/go-openapi/swag/typeutils v0.26.0 // indirect + github.com/go-openapi/swag/yamlutils v0.26.0 // indirect + github.com/google/gnostic-models v0.7.1 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.9.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/x448/float16 v0.8.4 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect + go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.38.0 // indirect - golang.org/x/term v0.37.0 // indirect - golang.org/x/text v0.31.0 // indirect - golang.org/x/time v0.11.0 // indirect - google.golang.org/protobuf v1.36.8 // indirect + golang.org/x/net v0.53.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/sys v0.43.0 // indirect + golang.org/x/term v0.42.0 // indirect + golang.org/x/text v0.36.0 // indirect + golang.org/x/time v0.15.0 // indirect + google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.35.1 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect + k8s.io/api v0.36.0 // indirect + k8s.io/klog/v2 v2.140.0 // indirect + k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f // indirect + k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/go.sum b/staging/src/github.com/kcp-dev/code-generator/examples/go.sum index dd5e459cc11..a1f3887e093 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/go.sum +++ b/staging/src/github.com/kcp-dev/code-generator/examples/go.sum @@ -1,34 +1,54 @@ -github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= -github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= -github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= +github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ= +github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= -github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/go-openapi/jsonpointer v0.23.1 h1:1HBACs7XIwR2RcmItfdSFlALhGbe6S92p0ry4d1GWg4= +github.com/go-openapi/jsonpointer v0.23.1/go.mod h1:iWRmZTrGn7XwYhtPt/fvdSFj1OfNBngqRT2UG3BxSqY= +github.com/go-openapi/jsonreference v0.21.5 h1:6uCGVXU/aNF13AQNggxfysJ+5ZcU4nEAe+pJyVWRdiE= +github.com/go-openapi/jsonreference v0.21.5/go.mod h1:u25Bw85sX4E2jzFodh1FOKMTZLcfifd1Q+iKKOUxExw= +github.com/go-openapi/swag v0.26.0 h1:GVDXCmfvhfu1BxiHo8/FA+BbKmhecHnG3varjON5/RI= +github.com/go-openapi/swag v0.26.0/go.mod h1:82g3193sZJRbocs7bNCqGfIgq8pkuwVwCfhKIRlEQF0= +github.com/go-openapi/swag/cmdutils v0.26.0 h1:iowihOcvq7y4egO8cOq0dmfohz6wfeQ63U1EnuhO2TU= +github.com/go-openapi/swag/cmdutils v0.26.0/go.mod h1:Sm1MVFMkF6guJJ+pQqHnQA3N0j9qALV3NxzDSv6bETM= +github.com/go-openapi/swag/conv v0.26.0 h1:5yGGsPYI1ZCva93U0AoKi/iZrNhaJEjr324YVsiD89I= +github.com/go-openapi/swag/conv v0.26.0/go.mod h1:tpAmIL7X58VPnHHiSO4uE3jBeRamGsFsfdDeDtb5ECE= +github.com/go-openapi/swag/fileutils v0.26.0 h1:WJoPRvsA7QRiiWluowkLJa9jaYR7FCuxmDvnCgaRRxU= +github.com/go-openapi/swag/fileutils v0.26.0/go.mod h1:0WDJ7lp67eNjPMO50wAWYlKvhOb6CQ37rzR7wrgI8Tc= +github.com/go-openapi/swag/jsonname v0.26.0 h1:gV1NFX9M8avo0YSpmWogqfQISigCmpaiNci8cGECU5w= +github.com/go-openapi/swag/jsonname v0.26.0/go.mod h1:urBBR8bZNoDYGr653ynhIx+gTeIz0ARZxHkAPktJK2M= +github.com/go-openapi/swag/jsonutils v0.26.0 h1:FawFML2iAXsPqmERscuMPIHmFsoP1tOqWkxBaKNMsnA= +github.com/go-openapi/swag/jsonutils v0.26.0/go.mod h1:2VmA0CJlyFqgawOaPI9psnjFDqzyivIqLYN34t9p91E= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 h1:apqeINu/ICHouqiRZbyFvuDge5jCmmLTqGQ9V95EaOM= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0/go.mod h1:AyM6QT8uz5IdKxk5akv0y6u4QvcL9GWERt0Jx/F/R8Y= +github.com/go-openapi/swag/loading v0.26.0 h1:Apg6zaKhCJurpJer0DCxq99qwmhFddBhaMX7kilDcko= +github.com/go-openapi/swag/loading v0.26.0/go.mod h1:dBxQ/6V2uBaAQdevN18VELE6xSpJWZxLX4txe12JwDg= +github.com/go-openapi/swag/mangling v0.26.0 h1:Du2YC4YLA/Y5m/YKQd7AnY5qq0wRKSFZTTt8ktFaXcQ= +github.com/go-openapi/swag/mangling v0.26.0/go.mod h1:jifS7W9vbg+pw63bT+GI53otluMQL3CeemuyCHKwVx0= +github.com/go-openapi/swag/netutils v0.26.0 h1:CmZp+ZT7HrmFwrC3GdGsXBq2+42T1bjKBapcqVpIs3c= +github.com/go-openapi/swag/netutils v0.26.0/go.mod h1:5iK+Ok3ZohWWex1C50BFTPexi03UaPwjW4Oj8kgrpwo= +github.com/go-openapi/swag/stringutils v0.26.0 h1:qZQngLxs5s7SLijc3N2ZO+fUq2o8LjuWAASSrJuh+xg= +github.com/go-openapi/swag/stringutils v0.26.0/go.mod h1:sWn5uY+QIIspwPhvgnqJsH8xqFT2ZbYcvbcFanRyhFE= +github.com/go-openapi/swag/typeutils v0.26.0 h1:2kdEwdiNWy+JJdOvu5MA2IIg2SylWAFuuyQIKYybfq4= +github.com/go-openapi/swag/typeutils v0.26.0/go.mod h1:oovDuIUvTrEHVMqWilQzKzV4YlSKgyZmFh7AlfABNVE= +github.com/go-openapi/swag/yamlutils v0.26.0 h1:H7O8l/8NJJQ/oiReEN+oMpnGMyt8G0hl460nRZxhLMQ= +github.com/go-openapi/swag/yamlutils v0.26.0/go.mod h1:1evKEGAtP37Pkwcc7EWMF0hedX0/x3Rkvei2wtG/TbU= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.2 h1:5zRca5jw7lzVREKCZVNBpysDNBjj74rBh0N2BGQbSR0= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.2/go.mod h1:XVevPw5hUXuV+5AkI1u1PeAm27EQVrhXTTCPAF85LmE= +github.com/go-openapi/testify/v2 v2.4.2 h1:tiByHpvE9uHrrKjOszax7ZvKB7QOgizBWGBLuq0ePx4= +github.com/go-openapi/testify/v2 v2.4.2/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= +github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c= +github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8= -github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kcp-dev/logicalcluster/v3 v3.0.5 h1:JbYakokb+5Uinz09oTXomSUJVQsqfxEvU4RyHUYxHOU= @@ -37,8 +57,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -47,17 +65,13 @@ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFd github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns= -github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= -github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= -github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -66,32 +80,26 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244 h1:OdZ8e4E9yDUGiis9x2ta/Ec5yhMAKT6ZivRvakyxC7E= +go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= -golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= -golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= +golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -101,23 +109,23 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.1 h1:0PO/1FhlK/EQNVK5+txc4FuhQibV25VLSdLMmGpDE/Q= -k8s.io/api v0.35.1/go.mod h1:28uR9xlXWml9eT0uaGo6y71xK86JBELShLy4wR1XtxM= -k8s.io/apimachinery v0.35.1 h1:yxO6gV555P1YV0SANtnTjXYfiivaTPvCTKX6w6qdDsU= -k8s.io/apimachinery v0.35.1/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= -k8s.io/client-go v0.35.1 h1:+eSfZHwuo/I19PaSxqumjqZ9l5XiTEKbIaJ+j1wLcLM= -k8s.io/client-go v0.35.1/go.mod h1:1p1KxDt3a0ruRfc/pG4qT/3oHmUj1AhSHEcxNSGg+OA= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/api v0.36.0 h1:SgqDhZzHdOtMk40xVSvCXkP9ME0H05hPM3p9AB1kL80= +k8s.io/api v0.36.0/go.mod h1:m1LVrGPNYax5NBHdO+QuAedXyuzTt4RryI/qnmNvs34= +k8s.io/apimachinery v0.36.0 h1:jZyPzhd5Z+3h9vJLt0z9XdzW9VzNzWAUw+P1xZ9PXtQ= +k8s.io/apimachinery v0.36.0/go.mod h1:FklypaRJt6n5wUIwWXIP6GJlIpUizTgfo1T/As+Tyxc= +k8s.io/client-go v0.36.0 h1:pOYi7C4RHChYjMiHpZSpSbIM6ZxVbRXBy7CuiIwqA3c= +k8s.io/client-go v0.36.0/go.mod h1:ZKKcpwF0aLYfkHFCjillCKaTK/yBkEDHTDXCFY6AS9Y= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= +k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f h1:4Qiq0YAoQATdgmHALJWz9rJ4fj20pB3xebpB4CFNhYM= +k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0 h1:qmp2e3ZfFi1/jJbDGpD4mt3wyp6PE1NfKHCYLqgNQJo= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= diff --git a/staging/src/github.com/kcp-dev/code-generator/go.mod b/staging/src/github.com/kcp-dev/code-generator/go.mod index 39a2dec61ca..59cba74d790 100644 --- a/staging/src/github.com/kcp-dev/code-generator/go.mod +++ b/staging/src/github.com/kcp-dev/code-generator/go.mod @@ -1,18 +1,18 @@ module github.com/kcp-dev/code-generator/v3 -go 1.25.0 +go 1.26.0 require ( github.com/spf13/pflag v1.0.9 - golang.org/x/text v0.31.0 - k8s.io/code-generator v0.35.1 + golang.org/x/text v0.33.0 + k8s.io/code-generator v0.36.0 k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b - k8s.io/klog/v2 v2.130.1 + k8s.io/klog/v2 v2.140.0 ) require ( github.com/go-logr/logr v1.4.3 // indirect - golang.org/x/mod v0.29.0 // indirect - golang.org/x/sync v0.18.0 // indirect - golang.org/x/tools v0.38.0 // indirect + golang.org/x/mod v0.32.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/tools v0.41.0 // indirect ) diff --git a/staging/src/github.com/kcp-dev/code-generator/go.sum b/staging/src/github.com/kcp-dev/code-generator/go.sum index b904020cdb3..0798971b652 100644 --- a/staging/src/github.com/kcp-dev/code-generator/go.sum +++ b/staging/src/github.com/kcp-dev/code-generator/go.sum @@ -4,17 +4,17 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= -k8s.io/code-generator v0.35.1 h1:yLKR2la7Z9cWT5qmk67ayx8xXLM4RRKQMnC8YPvTWRI= -k8s.io/code-generator v0.35.1/go.mod h1:F2Fhm7aA69tC/VkMXLDokdovltXEF026Tb9yfQXQWKg= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +k8s.io/code-generator v0.36.0 h1:XWAkrhnArm0VWMmSFO7kyB+wE2LROwep7hEH0GPGkqA= +k8s.io/code-generator v0.36.0/go.mod h1:Tr2UhfBRdlyRoadfob9aPCmmGe8PUs5XPK9MEJ2nx+w= k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b h1:gMplByicHV/TJBizHd9aVEsTYoJBnnUAT5MHlTkbjhQ= k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b/go.mod h1:CgujABENc3KuTrcsdpGmrrASjtQsWCT7R99mEV4U/fM= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= From 7c2454a8dccdeeb9bedbe6435e602bbd0736e23d Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Tue, 5 May 2026 10:39:42 +0200 Subject: [PATCH 5/9] Bump client-go kube deps to v0.36.0 Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../src/github.com/kcp-dev/client-go/go.mod | 118 +++---- .../src/github.com/kcp-dev/client-go/go.sum | 292 +++++++++--------- 2 files changed, 212 insertions(+), 198 deletions(-) diff --git a/staging/src/github.com/kcp-dev/client-go/go.mod b/staging/src/github.com/kcp-dev/client-go/go.mod index 9db306ad3b3..7c47d6e97e0 100644 --- a/staging/src/github.com/kcp-dev/client-go/go.mod +++ b/staging/src/github.com/kcp-dev/client-go/go.mod @@ -1,19 +1,19 @@ module github.com/kcp-dev/client-go -go 1.25.0 +go 1.26.0 require ( - github.com/google/gnostic-models v0.7.0 + github.com/google/gnostic-models v0.7.1 github.com/kcp-dev/apimachinery/v2 v2.0.0-00010101000000-000000000000 github.com/kcp-dev/code-generator/v3 v3.0.0-00010101000000-000000000000 github.com/kcp-dev/logicalcluster/v3 v3.0.5 gopkg.in/evanphx/json-patch.v4 v4.13.0 - k8s.io/api v0.35.1 - k8s.io/apiextensions-apiserver v0.35.1 - k8s.io/apimachinery v0.35.1 - k8s.io/client-go v0.35.1 - k8s.io/klog/v2 v2.130.1 - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 + k8s.io/api v0.36.0 + k8s.io/apiextensions-apiserver v0.36.0 + k8s.io/apimachinery v0.36.0 + k8s.io/client-go v0.36.0 + k8s.io/klog/v2 v2.140.0 + sigs.k8s.io/structured-merge-diff/v6 v6.4.0 sigs.k8s.io/yaml v1.6.0 ) @@ -23,75 +23,81 @@ replace ( ) require ( - cel.dev/expr v0.24.0 // indirect + cel.dev/expr v0.25.1 // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect - github.com/cenkalti/backoff/v4 v4.3.0 // indirect + github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/emicklei/go-restful/v3 v3.12.2 // indirect + github.com/emicklei/go-restful/v3 v3.13.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.1 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/jsonreference v0.21.0 // indirect - github.com/go-openapi/swag v0.23.0 // indirect - github.com/google/cel-go v0.26.0 // indirect - github.com/google/go-cmp v0.7.0 // indirect + github.com/go-openapi/jsonpointer v0.23.1 // indirect + github.com/go-openapi/jsonreference v0.21.5 // indirect + github.com/go-openapi/swag v0.26.0 // indirect + github.com/go-openapi/swag/cmdutils v0.26.0 // indirect + github.com/go-openapi/swag/conv v0.26.0 // indirect + github.com/go-openapi/swag/fileutils v0.26.0 // indirect + github.com/go-openapi/swag/jsonname v0.26.0 // indirect + github.com/go-openapi/swag/jsonutils v0.26.0 // indirect + github.com/go-openapi/swag/loading v0.26.0 // indirect + github.com/go-openapi/swag/mangling v0.26.0 // indirect + github.com/go-openapi/swag/netutils v0.26.0 // indirect + github.com/go-openapi/swag/stringutils v0.26.0 // indirect + github.com/go-openapi/swag/typeutils v0.26.0 // indirect + github.com/go-openapi/swag/yamlutils v0.26.0 // indirect + github.com/google/cel-go v0.28.0 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.9.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect - github.com/prometheus/common v0.66.1 // indirect - github.com/prometheus/procfs v0.16.1 // indirect - github.com/spf13/cobra v1.10.0 // indirect - github.com/spf13/pflag v1.0.9 // indirect - github.com/stoewer/go-strcase v1.3.0 // indirect + github.com/prometheus/common v0.67.5 // indirect + github.com/prometheus/procfs v0.20.1 // indirect + github.com/spf13/cobra v1.10.2 // indirect + github.com/spf13/pflag v1.0.10 // indirect github.com/x448/float16 v0.8.4 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect - go.opentelemetry.io/otel v1.36.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect - go.opentelemetry.io/otel/metric v1.36.0 // indirect - go.opentelemetry.io/otel/sdk v1.36.0 // indirect - go.opentelemetry.io/otel/trace v1.36.0 // indirect - go.opentelemetry.io/proto/otlp v1.5.0 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 // indirect + go.opentelemetry.io/otel v1.43.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 // indirect + go.opentelemetry.io/otel/metric v1.43.0 // indirect + go.opentelemetry.io/otel/sdk v1.43.0 // indirect + go.opentelemetry.io/otel/trace v1.43.0 // indirect + go.opentelemetry.io/proto/otlp v1.9.0 // indirect + go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect - golang.org/x/mod v0.29.0 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sync v0.18.0 // indirect - golang.org/x/sys v0.38.0 // indirect - golang.org/x/term v0.37.0 // indirect - golang.org/x/text v0.31.0 // indirect - golang.org/x/time v0.11.0 // indirect - golang.org/x/tools v0.38.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect - google.golang.org/grpc v1.72.2 // indirect - google.golang.org/protobuf v1.36.8 // indirect + golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect + golang.org/x/mod v0.35.0 // indirect + golang.org/x/net v0.53.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/sys v0.43.0 // indirect + golang.org/x/term v0.42.0 // indirect + golang.org/x/text v0.36.0 // indirect + golang.org/x/time v0.15.0 // indirect + golang.org/x/tools v0.44.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect + google.golang.org/grpc v1.80.0 // indirect + google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.35.1 // indirect - k8s.io/code-generator v0.35.1 // indirect - k8s.io/component-base v0.35.1 // indirect + k8s.io/apiserver v0.36.0 // indirect + k8s.io/code-generator v0.36.0 // indirect + k8s.io/component-base v0.36.0 // indirect k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect + k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f // indirect + k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 // indirect + sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect ) diff --git a/staging/src/github.com/kcp-dev/client-go/go.sum b/staging/src/github.com/kcp-dev/client-go/go.sum index 0f0d0c7f7eb..5c5ef529d62 100644 --- a/staging/src/github.com/kcp-dev/client-go/go.sum +++ b/staging/src/github.com/kcp-dev/client-go/go.sum @@ -1,70 +1,90 @@ -cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= -cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= -github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= -github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= +cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.7.0 h1:LAEzFkke61DFROc7zNLX/WA2i5J8gYqe0rSj9KI28KA= +github.com/coreos/go-systemd/v22 v22.7.0/go.mod h1:xNUYtjHu2EDXbsxz1i41wouACIwT7Ybq9o0BQhMwD0w= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= -github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= +github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ= +github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= -github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= +github.com/go-openapi/jsonpointer v0.23.1 h1:1HBACs7XIwR2RcmItfdSFlALhGbe6S92p0ry4d1GWg4= +github.com/go-openapi/jsonpointer v0.23.1/go.mod h1:iWRmZTrGn7XwYhtPt/fvdSFj1OfNBngqRT2UG3BxSqY= +github.com/go-openapi/jsonreference v0.21.5 h1:6uCGVXU/aNF13AQNggxfysJ+5ZcU4nEAe+pJyVWRdiE= +github.com/go-openapi/jsonreference v0.21.5/go.mod h1:u25Bw85sX4E2jzFodh1FOKMTZLcfifd1Q+iKKOUxExw= +github.com/go-openapi/swag v0.26.0 h1:GVDXCmfvhfu1BxiHo8/FA+BbKmhecHnG3varjON5/RI= +github.com/go-openapi/swag v0.26.0/go.mod h1:82g3193sZJRbocs7bNCqGfIgq8pkuwVwCfhKIRlEQF0= +github.com/go-openapi/swag/cmdutils v0.26.0 h1:iowihOcvq7y4egO8cOq0dmfohz6wfeQ63U1EnuhO2TU= +github.com/go-openapi/swag/cmdutils v0.26.0/go.mod h1:Sm1MVFMkF6guJJ+pQqHnQA3N0j9qALV3NxzDSv6bETM= +github.com/go-openapi/swag/conv v0.26.0 h1:5yGGsPYI1ZCva93U0AoKi/iZrNhaJEjr324YVsiD89I= +github.com/go-openapi/swag/conv v0.26.0/go.mod h1:tpAmIL7X58VPnHHiSO4uE3jBeRamGsFsfdDeDtb5ECE= +github.com/go-openapi/swag/fileutils v0.26.0 h1:WJoPRvsA7QRiiWluowkLJa9jaYR7FCuxmDvnCgaRRxU= +github.com/go-openapi/swag/fileutils v0.26.0/go.mod h1:0WDJ7lp67eNjPMO50wAWYlKvhOb6CQ37rzR7wrgI8Tc= +github.com/go-openapi/swag/jsonname v0.26.0 h1:gV1NFX9M8avo0YSpmWogqfQISigCmpaiNci8cGECU5w= +github.com/go-openapi/swag/jsonname v0.26.0/go.mod h1:urBBR8bZNoDYGr653ynhIx+gTeIz0ARZxHkAPktJK2M= +github.com/go-openapi/swag/jsonutils v0.26.0 h1:FawFML2iAXsPqmERscuMPIHmFsoP1tOqWkxBaKNMsnA= +github.com/go-openapi/swag/jsonutils v0.26.0/go.mod h1:2VmA0CJlyFqgawOaPI9psnjFDqzyivIqLYN34t9p91E= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0 h1:apqeINu/ICHouqiRZbyFvuDge5jCmmLTqGQ9V95EaOM= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.26.0/go.mod h1:AyM6QT8uz5IdKxk5akv0y6u4QvcL9GWERt0Jx/F/R8Y= +github.com/go-openapi/swag/loading v0.26.0 h1:Apg6zaKhCJurpJer0DCxq99qwmhFddBhaMX7kilDcko= +github.com/go-openapi/swag/loading v0.26.0/go.mod h1:dBxQ/6V2uBaAQdevN18VELE6xSpJWZxLX4txe12JwDg= +github.com/go-openapi/swag/mangling v0.26.0 h1:Du2YC4YLA/Y5m/YKQd7AnY5qq0wRKSFZTTt8ktFaXcQ= +github.com/go-openapi/swag/mangling v0.26.0/go.mod h1:jifS7W9vbg+pw63bT+GI53otluMQL3CeemuyCHKwVx0= +github.com/go-openapi/swag/netutils v0.26.0 h1:CmZp+ZT7HrmFwrC3GdGsXBq2+42T1bjKBapcqVpIs3c= +github.com/go-openapi/swag/netutils v0.26.0/go.mod h1:5iK+Ok3ZohWWex1C50BFTPexi03UaPwjW4Oj8kgrpwo= +github.com/go-openapi/swag/stringutils v0.26.0 h1:qZQngLxs5s7SLijc3N2ZO+fUq2o8LjuWAASSrJuh+xg= +github.com/go-openapi/swag/stringutils v0.26.0/go.mod h1:sWn5uY+QIIspwPhvgnqJsH8xqFT2ZbYcvbcFanRyhFE= +github.com/go-openapi/swag/typeutils v0.26.0 h1:2kdEwdiNWy+JJdOvu5MA2IIg2SylWAFuuyQIKYybfq4= +github.com/go-openapi/swag/typeutils v0.26.0/go.mod h1:oovDuIUvTrEHVMqWilQzKzV4YlSKgyZmFh7AlfABNVE= +github.com/go-openapi/swag/yamlutils v0.26.0 h1:H7O8l/8NJJQ/oiReEN+oMpnGMyt8G0hl460nRZxhLMQ= +github.com/go-openapi/swag/yamlutils v0.26.0/go.mod h1:1evKEGAtP37Pkwcc7EWMF0hedX0/x3Rkvei2wtG/TbU= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.2 h1:5zRca5jw7lzVREKCZVNBpysDNBjj74rBh0N2BGQbSR0= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.2/go.mod h1:XVevPw5hUXuV+5AkI1u1PeAm27EQVrhXTTCPAF85LmE= +github.com/go-openapi/testify/v2 v2.4.2 h1:tiByHpvE9uHrrKjOszax7ZvKB7QOgizBWGBLuq0ePx4= +github.com/go-openapi/testify/v2 v2.4.2/go.mod h1:SgsVHtfooshd0tublTtJ50FPKhujf47YRqauXXOUxfw= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= -github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= -github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/cel-go v0.28.0 h1:KjSWstCpz/MN5t4a8gnGJNIYUsJRpdi/r97xWDphIQc= +github.com/google/cel-go v0.28.0/go.mod h1:X0bD6iVNR8pkROSOoHVdgTkzmRcosof7WQqCD6wcMc8= +github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c= +github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8= -github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= +github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 h1:QGLs/O40yoNK9vmy4rhUGBVyMf1lISBGtXRpsu/Qu/o= +github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3 h1:B+8ClL/kCQkRiU82d9xajRPKYMrB7E0MbtzWVi1K4ns= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3/go.mod h1:NbCUVmiS4foBGBHOYlCT25+YmGpJ32dZPi75pGEUpj4= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 h1:X+2YciYSxvMQK0UZ7sg45ZVabVZBeBuvMkmuI2V3Fak= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7/go.mod h1:lW34nIZuQ8UDPdkon5fmfp2l3+ZkQ2me/+oecHYLOII= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kcp-dev/logicalcluster/v3 v3.0.5 h1:JbYakokb+5Uinz09oTXomSUJVQsqfxEvU4RyHUYxHOU= @@ -77,8 +97,6 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -87,10 +105,6 @@ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFd github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns= -github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= -github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= -github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -98,99 +112,94 @@ github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs= -github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= -github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= -github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= +github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= +github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/procfs v0.20.1 h1:XwbrGOIplXW/AU3YhIhLODXMJYyC1isLFfYCsTEycfc= +github.com/prometheus/procfs v0.20.1/go.mod h1:o9EMBZGRyvDrSPH1RqdxhojkuXstoe4UlK79eF5TGGo= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/spf13/cobra v1.10.0 h1:a5/WeUlSDCvV5a45ljW2ZFtV0bTDpkfSAj3uqB6Sc+0= -github.com/spf13/cobra v1.10.0/go.mod h1:9dhySC7dnTtEiqzmqfkLj47BslqLCUPMXjG2lj/NgoE= -github.com/spf13/pflag v1.0.8/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= +github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= -github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -go.etcd.io/etcd/api/v3 v3.6.5 h1:pMMc42276sgR1j1raO/Qv3QI9Af/AuyQUW6CBAWuntA= -go.etcd.io/etcd/api/v3 v3.6.5/go.mod h1:ob0/oWA/UQQlT1BmaEkWQzI0sJ1M0Et0mMpaABxguOQ= -go.etcd.io/etcd/client/pkg/v3 v3.6.5 h1:Duz9fAzIZFhYWgRjp/FgNq2gO1jId9Yae/rLn3RrBP8= -go.etcd.io/etcd/client/pkg/v3 v3.6.5/go.mod h1:8Wx3eGRPiy0qOFMZT/hfvdos+DjEaPxdIDiCDUv/FQk= -go.etcd.io/etcd/client/v3 v3.6.5 h1:yRwZNFBx/35VKHTcLDeO7XVLbCBFbPi+XV4OC3QJf2U= -go.etcd.io/etcd/client/v3 v3.6.5/go.mod h1:ZqwG/7TAFZ0BJ0jXRPoJjKQJtbFo/9NIY8uoFFKcCyo= -go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= -go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= -go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= -go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= -go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= -go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= -go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= -go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis= -go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= -go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= -go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= -go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= -go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.etcd.io/etcd/api/v3 v3.6.8 h1:gqb1VN92TAI6G2FiBvWcqKtHiIjr4SU2GdXxTwyexbM= +go.etcd.io/etcd/api/v3 v3.6.8/go.mod h1:qyQj1HZPUV3B5cbAL8scG62+fyz5dSxxu0w8pn28N6Q= +go.etcd.io/etcd/client/pkg/v3 v3.6.8 h1:Qs/5C0LNFiqXxYf2GU8MVjYUEXJ6sZaYOz0zEqQgy50= +go.etcd.io/etcd/client/pkg/v3 v3.6.8/go.mod h1:GsiTRUZE2318PggZkAo6sWb6l8JLVrnckTNfbG8PWtw= +go.etcd.io/etcd/client/v3 v3.6.8 h1:B3G76t1UykqAOrbio7s/EPatixQDkQBevN8/mwiplrY= +go.etcd.io/etcd/client/v3 v3.6.8/go.mod h1:MVG4BpSIuumPi+ELF7wYtySETmoTWBHVcDoHdVupwt8= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.65.0 h1:XmiuHzgJt067+a6kwyAzkhXooYVv3/TOw9cM2VfJgUM= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.65.0/go.mod h1:KDgtbWKTQs4bM+VPUr6WlL9m/WXcmkCcBlIzqxPGzmI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 h1:7iP2uCb7sGddAr30RRS6xjKy7AZ2JtTOPA3oolgVSw8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0/go.mod h1:c7hN3ddxs/z6q9xwvfLPk+UHlWRQyaeR1LdgfL/66l0= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 h1:QKdN8ly8zEMrByybbQgv8cWBcdAarwmIPZ6FThrWXJs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0/go.mod h1:bTdK1nhqF76qiPoCCdyFIV+N/sRHYXYCTQc+3VCi3MI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0 h1:DvJDOPmSWQHWywQS6lKL+pb8s3gBLOZUtw4N+mavW1I= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= +go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244 h1:OdZ8e4E9yDUGiis9x2ta/Ec5yhMAKT6ZivRvakyxC7E= +go.uber.org/goleak v1.3.1-0.20251210191316-2b7fd8a0d244/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= -golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= -golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= -golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= -google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80= +golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= +golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= +golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= +golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= +golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= +google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 h1:yQugLulqltosq0B/f8l4w9VryjV+N/5gcW0jQ3N8Qec= +google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478/go.mod h1:C6ADNqOxbgdUUeRTU+LCHDPB9ttAMCTff6auwCVa4uc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= +google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -198,38 +207,37 @@ gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnf gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.1 h1:0PO/1FhlK/EQNVK5+txc4FuhQibV25VLSdLMmGpDE/Q= -k8s.io/api v0.35.1/go.mod h1:28uR9xlXWml9eT0uaGo6y71xK86JBELShLy4wR1XtxM= -k8s.io/apiextensions-apiserver v0.35.1 h1:p5vvALkknlOcAqARwjS20kJffgzHqwyQRM8vHLwgU7w= -k8s.io/apiextensions-apiserver v0.35.1/go.mod h1:2CN4fe1GZ3HMe4wBr25qXyJnJyZaquy4nNlNmb3R7AQ= -k8s.io/apimachinery v0.35.1 h1:yxO6gV555P1YV0SANtnTjXYfiivaTPvCTKX6w6qdDsU= -k8s.io/apimachinery v0.35.1/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= -k8s.io/apiserver v0.35.1 h1:potxdhhTL4i6AYAa2QCwtlhtB1eCdWQFvJV6fXgJzxs= -k8s.io/apiserver v0.35.1/go.mod h1:BiL6Dd3A2I/0lBnteXfWmCFobHM39vt5+hJQd7Lbpi4= -k8s.io/client-go v0.35.1 h1:+eSfZHwuo/I19PaSxqumjqZ9l5XiTEKbIaJ+j1wLcLM= -k8s.io/client-go v0.35.1/go.mod h1:1p1KxDt3a0ruRfc/pG4qT/3oHmUj1AhSHEcxNSGg+OA= -k8s.io/code-generator v0.35.1 h1:yLKR2la7Z9cWT5qmk67ayx8xXLM4RRKQMnC8YPvTWRI= -k8s.io/code-generator v0.35.1/go.mod h1:F2Fhm7aA69tC/VkMXLDokdovltXEF026Tb9yfQXQWKg= -k8s.io/component-base v0.35.1 h1:XgvpRf4srp037QWfGBLFsYMUQJkE5yMa94UsJU7pmcE= -k8s.io/component-base v0.35.1/go.mod h1:HI/6jXlwkiOL5zL9bqA3en1Ygv60F03oEpnuU1G56Bs= +k8s.io/api v0.36.0 h1:SgqDhZzHdOtMk40xVSvCXkP9ME0H05hPM3p9AB1kL80= +k8s.io/api v0.36.0/go.mod h1:m1LVrGPNYax5NBHdO+QuAedXyuzTt4RryI/qnmNvs34= +k8s.io/apiextensions-apiserver v0.36.0 h1:Wt7E8J+VBCbj4FjiBfDTK/neXDDjyJVJc7xfuOHImZ0= +k8s.io/apiextensions-apiserver v0.36.0/go.mod h1:kGDjH0msuiIB3tgsYRV0kS9GqpMYMUsQ3GHv7TApyug= +k8s.io/apimachinery v0.36.0 h1:jZyPzhd5Z+3h9vJLt0z9XdzW9VzNzWAUw+P1xZ9PXtQ= +k8s.io/apimachinery v0.36.0/go.mod h1:FklypaRJt6n5wUIwWXIP6GJlIpUizTgfo1T/As+Tyxc= +k8s.io/apiserver v0.36.0 h1:Jg5OFAENUACByUCg15CmhZAYrr5ZyJ+jodyA1mHl3YE= +k8s.io/apiserver v0.36.0/go.mod h1:mHvwdHf+qKEm+1/hYm756SV+oREOKSPnsjagOpx6Vho= +k8s.io/client-go v0.36.0 h1:pOYi7C4RHChYjMiHpZSpSbIM6ZxVbRXBy7CuiIwqA3c= +k8s.io/client-go v0.36.0/go.mod h1:ZKKcpwF0aLYfkHFCjillCKaTK/yBkEDHTDXCFY6AS9Y= +k8s.io/code-generator v0.36.0 h1:XWAkrhnArm0VWMmSFO7kyB+wE2LROwep7hEH0GPGkqA= +k8s.io/code-generator v0.36.0/go.mod h1:Tr2UhfBRdlyRoadfob9aPCmmGe8PUs5XPK9MEJ2nx+w= +k8s.io/component-base v0.36.0 h1:hFjEktssxiJhrK1zfybkH4kJOi8iZuF+mIDCqS5+jRo= +k8s.io/component-base v0.36.0/go.mod h1:JZvIfcNHk+uck+8LhJzhSBtydWXaZNQwX2OdL+Mnwsk= k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b h1:gMplByicHV/TJBizHd9aVEsTYoJBnnUAT5MHlTkbjhQ= k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b/go.mod h1:CgujABENc3KuTrcsdpGmrrASjtQsWCT7R99mEV4U/fM= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUoEKRkHKSmGjxb6lWwrBlJsXc+eUYQHM= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= +k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f h1:4Qiq0YAoQATdgmHALJWz9rJ4fj20pB3xebpB4CFNhYM= +k8s.io/kube-openapi v0.0.0-20260414162039-ec9c827d403f/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0 h1:qmp2e3ZfFi1/jJbDGpD4mt3wyp6PE1NfKHCYLqgNQJo= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= From a288fd89ac1fa25bfb5d9a0809cb5b623fd4e0fa Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Tue, 5 May 2026 14:19:03 +0200 Subject: [PATCH 6/9] Update reflector to v1.36.0 Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../third_party/reflector/controller.go | 43 ++-- .../third_party/reflector/reflector.go | 241 ++++++++++++++---- 2 files changed, 210 insertions(+), 74 deletions(-) diff --git a/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/controller.go b/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/controller.go index 819b7464ce7..e725a9c2b6d 100644 --- a/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/controller.go +++ b/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/controller.go @@ -28,6 +28,7 @@ import ( "k8s.io/apimachinery/pkg/util/wait" clientgofeaturegate "k8s.io/client-go/features" "k8s.io/client-go/tools/cache" + "k8s.io/klog/v2" "k8s.io/utils/clock" ) @@ -126,6 +127,7 @@ func (c *controller) RunWithContext(ctx context.Context) { <-ctx.Done() c.config.Queue.Close() }() + logger := klog.FromContext(ctx) // kcp modification: Use our forked NewReflectorWithOptions with KeyFunction support r := NewReflectorWithOptions( @@ -133,6 +135,7 @@ func (c *controller) RunWithContext(ctx context.Context) { c.config.ObjectType, c.config.Queue, ReflectorOptions{ + Logger: &logger, ResyncPeriod: c.config.FullResyncPeriod, MinWatchTimeout: c.config.MinWatchTimeout, TypeDescription: c.config.ObjectDescription, @@ -169,6 +172,27 @@ func (c *controller) RunWithContext(ctx context.Context) { wg.Wait() } +// Returns true once this controller has completed an initial resource listing +func (c *controller) HasSynced() bool { + return c.config.Queue.HasSynced() +} + +// HasSyncedChecker enables waiting for syncing without polling. +// The returned DoneChecker can be passed to [WaitFor]. +// It delegates to the Config's Queue. +func (c *controller) HasSyncedChecker() cache.DoneChecker { + return c.config.Queue.HasSyncedChecker() +} + +func (c *controller) LastSyncResourceVersion() string { + c.reflectorMutex.RLock() + defer c.reflectorMutex.RUnlock() + if c.reflector == nil { + return "" + } + return c.reflector.LastSyncResourceVersion() +} + // processLoop drains the work queue. // TODO: Consider doing the processing in parallel. This will require a little thought // to make sure that we don't end up processing the same object multiple times @@ -186,7 +210,7 @@ func (c *controller) processLoop(ctx context.Context) { default: var err error if useBatchProcess { - err = batchQueue.PopBatch(c.config.ProcessBatch) + err = batchQueue.PopBatch(c.config.ProcessBatch, cache.PopProcessFunc(c.config.Process)) } else { // otherwise fallback to non-batch process behavior _, err = c.config.Pop(cache.PopProcessFunc(c.config.Process)) @@ -199,20 +223,3 @@ func (c *controller) processLoop(ctx context.Context) { } } } - -// HasSynced returns true if the source informer has synced. -func (c *controller) HasSynced() bool { - return c.config.Queue.HasSynced() -} - -// LastSyncResourceVersion is the resource version observed when last synced with the underlying -// store. The value returned is not synchronized with access to the underlying store and is not -// thread-safe. -func (c *controller) LastSyncResourceVersion() string { - c.reflectorMutex.RLock() - defer c.reflectorMutex.RUnlock() - if c.reflector == nil { - return "" - } - return c.reflector.LastSyncResourceVersion() -} diff --git a/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/reflector.go b/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/reflector.go index 3ac7c226ab4..ff0ca7a9250 100644 --- a/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/reflector.go +++ b/staging/src/github.com/kcp-dev/apimachinery/third_party/reflector/reflector.go @@ -22,6 +22,7 @@ import ( "errors" "fmt" "io" + "math" "math/rand" "reflect" "strings" @@ -76,13 +77,63 @@ func DefaultWatchErrorHandler(ctx context.Context, r *Reflector, err error) { const defaultExpectedTypeName = "" -// We try to spread the load on apiserver by setting timeouts for -// watch requests - it is random in [minWatchTimeout, 2*minWatchTimeout]. -var defaultMinWatchTimeout = 5 * time.Minute +var ( + // We try to spread the load on apiserver by setting timeouts for + // watch requests - it is random in [minWatchTimeout, 2*minWatchTimeout]. + defaultMinWatchTimeout = 5 * time.Minute + defaultMaxWatchTimeout = 2 * defaultMinWatchTimeout + // We used to make the call every 1sec (1 QPS), the goal here is to achieve ~98% traffic reduction when + // API server is not healthy. With these parameters, backoff will stop at [30,60) sec interval which is + // 0.22 QPS. + defaultBackoffInit = 800 * time.Millisecond + defaultBackoffMax = 30 * time.Second + // If we don't backoff for 2min, assume API server is healthy and we reset the backoff. + defaultBackoffReset = 2 * time.Minute + defaultBackoffFactor = 2.0 + defaultBackoffJitter = 1.0 +) + +/* kcp: the interfaces are not needed +// ReflectorStore is the subset of cache.Store that the reflector uses +type ReflectorStore interface { + // Add adds the given object to the accumulator associated with the given object's key + Add(obj interface{}) error + + // Update updates the given object in the accumulator associated with the given object's key + Update(obj interface{}) error + + // Delete deletes the given object from the accumulator associated with the given object's key + Delete(obj interface{}) error + + // Replace will delete the contents of the store, using instead the + // given list. Store takes ownership of the list, you should not reference + // it after calling this function. + Replace([]interface{}, string) error + + // Resync is meaningless in the terms appearing here but has + // meaning in some implementations that have non-trivial + // additional behavior (e.g., DeltaFIFO). + Resync() error +} + +// ReflectorBookmarkStore is an optional interface that allows a store +// to be informed of bookmark events received by the reflector. +type ReflectorBookmarkStore interface { + Bookmark(resourceVersion string) error +} + +// TransformingStore is an optional interface that can be implemented by the provided store. +// If implemented on the provided store reflector will use the same transformer in its internal stores. +type TransformingStore interface { + ReflectorStore + Transformer() TransformFunc +} +*/ // Reflector watches a specified resource and causes all changes to be reflected in the given store. // kcp modification: Added keyFunction field for cluster-aware key generation. type Reflector struct { + logger klog.Logger // name identifies this reflector. By default, it will be a file:line if possible. name string // The name of the type we expect to place in the store. The name @@ -101,11 +152,14 @@ type Reflector struct { store cache.ReflectorStore // listerWatcher is used to perform lists and watches. listerWatcher cache.ListerWatcherWithContext - // backoff manages backoff of ListWatch - backoffManager wait.BackoffManager - resyncPeriod time.Duration + // delay returns the next backoff interval for retries. + resyncPeriod time.Duration + delayHandler wait.DelayFunc // minWatchTimeout defines the minimum timeout for watch requests. minWatchTimeout time.Duration + // maxWatchTimeout defines the maximum timeout for watch requests. + // Actual timeout is random in [minWatchTimeout, maxWatchTimeout]. + maxWatchTimeout time.Duration // clock allows tests to manipulate time clock clock.Clock // paginatedResult defines whether pagination should be forced for list calls. @@ -161,6 +215,10 @@ func (r *Reflector) TypeDescription() string { // ReflectorOptions configures a Reflector. // kcp modification: Added KeyFunction field. type ReflectorOptions struct { + // Logger, if not nil, is used instead of klog.Background() for logging. + // The name of the reflector gets added automatically. + Logger *klog.Logger + // Name is the Reflector's name. If unset/unspecified, the name defaults to the closest source_file.go:line // in the call stack that is outside this package. Name string @@ -183,24 +241,18 @@ type ReflectorOptions struct { // Clock allows tests to control time. If unset defaults to clock.RealClock{} Clock clock.Clock + // Backoff is an optional custom backoff configuration. + // If set, it will be used instead of the default exponential backoff. + // DelayWithReset(clock, resetDuration) will be called on it to create the delay function. + // TODO(#136943): Expose this configuration through SharedInformerFactory. + Backoff *wait.Backoff + // kcp modification: KeyFunction is used to generate keys for objects in the temporary store // during WatchList operations. If unset, defaults to DeletionHandlingMetaClusterNamespaceKeyFunc // for cluster-aware key generation. KeyFunction cache.KeyFunc } -// NewReflector creates a new Reflector with its name defaulted to the closest source_file.go:line in the call stack -// that is outside this package. See NewReflectorWithOptions for further information. -func NewReflector(lw cache.ListerWatcher, expectedType interface{}, store cache.ReflectorStore, resyncPeriod time.Duration) *Reflector { - return NewReflectorWithOptions(lw, expectedType, store, ReflectorOptions{ResyncPeriod: resyncPeriod}) -} - -// NewNamedReflector creates a new Reflector with the specified name. See NewReflectorWithOptions for further -// information. -func NewNamedReflector(name string, lw cache.ListerWatcher, expectedType interface{}, store cache.ReflectorStore, resyncPeriod time.Duration) *Reflector { - return NewReflectorWithOptions(lw, expectedType, store, ReflectorOptions{Name: name, ResyncPeriod: resyncPeriod}) -} - // NewReflectorWithOptions creates a new Reflector object which will keep the // given store up to date with the server's contents for the given // resource. Reflector promises to only put things in the store that @@ -216,9 +268,31 @@ func NewReflectorWithOptions(lw cache.ListerWatcher, expectedType interface{}, s if reflectorClock == nil { reflectorClock = clock.RealClock{} } + minWatchTimeout := defaultMinWatchTimeout + maxWatchTimeout := defaultMaxWatchTimeout if options.MinWatchTimeout > defaultMinWatchTimeout { minWatchTimeout = options.MinWatchTimeout + maxWatchTimeout = 2 * minWatchTimeout + } + if maxWatchTimeout < minWatchTimeout { + klog.TODO().V(3).Info( + "maxWatchTimeout was less than minWatchTimeout, overriding to minWatchTimeout. Watch timeout randomization is disabled.", + "minWatchTimeout", minWatchTimeout, + "maxWatchTimeout", maxWatchTimeout, + ) + maxWatchTimeout = minWatchTimeout + } + + backoff := options.Backoff + if backoff == nil { + backoff = &wait.Backoff{ + Duration: defaultBackoffInit, + Cap: defaultBackoffMax, + Steps: int(math.Ceil(float64(defaultBackoffMax) / float64(defaultBackoffInit))), + Factor: defaultBackoffFactor, + Jitter: defaultBackoffJitter, + } } // kcp modification: default to cluster-aware key function @@ -228,16 +302,14 @@ func NewReflectorWithOptions(lw cache.ListerWatcher, expectedType interface{}, s } r := &Reflector{ - name: options.Name, - resyncPeriod: options.ResyncPeriod, - minWatchTimeout: minWatchTimeout, - typeDescription: options.TypeDescription, - listerWatcher: cache.ToListerWatcherWithContext(lw), - store: store, - // We used to make the call every 1sec (1 QPS), the goal here is to achieve ~98% traffic reduction when - // API server is not healthy. With these parameters, backoff will stop at [30,60) sec interval which is - // 0.22 QPS. If we don't backoff for 2min, assume API server is healthy and we reset the backoff. - backoffManager: wait.NewExponentialBackoffManager(800*time.Millisecond, 30*time.Second, 2*time.Minute, 2.0, 1.0, reflectorClock), + name: options.Name, + resyncPeriod: options.ResyncPeriod, + minWatchTimeout: minWatchTimeout, + maxWatchTimeout: maxWatchTimeout, + typeDescription: options.TypeDescription, + listerWatcher: cache.ToListerWatcherWithContext(lw), + store: store, + delayHandler: backoff.DelayWithReset(reflectorClock, defaultBackoffReset), clock: reflectorClock, watchErrorHandler: DefaultWatchErrorHandler, // kcp modification: use our local handler expectedType: reflect.TypeOf(expectedType), @@ -248,6 +320,13 @@ func NewReflectorWithOptions(lw cache.ListerWatcher, expectedType interface{}, s r.name = naming.GetNameFromCallsite(internalPackages...) } + logger := klog.Background() + if options.Logger != nil { + logger = *options.Logger + } + logger = klog.LoggerWithName(logger, r.name) + r.logger = logger + if r.typeDescription == "" { r.typeDescription = getTypeDescriptionFromObject(expectedType) } @@ -258,11 +337,8 @@ func NewReflectorWithOptions(lw cache.ListerWatcher, expectedType interface{}, s r.useWatchList = clientfeatures.FeatureGates().Enabled(clientfeatures.WatchListClient) if r.useWatchList && watchlist.DoesClientNotSupportWatchListSemantics(lw) { - // Using klog.TODO() here because switching to a caller-provided contextual logger - // would require an API change and updating all existing call sites. - klog.TODO().V(2).Info( - "The provided ListWatcher doesn't support WatchList semantics. The feature will be disabled. If you are using a custom client, check the documentation of watchlist.DoesClientNotSupportWatchListSemantics() method", - "listWatcherType", fmt.Sprintf("%T", lw), + r.logger.V(2).Info( + "The client used to build this informer/reflector doesn't support WatchList semantics. The feature will be disabled. This is expected in unit tests but not in production. For details, see the documentation of watchlist.DoesClientNotSupportWatchListSemantics().", "feature", clientfeatures.WatchListClient, ) r.useWatchList = false @@ -324,11 +400,14 @@ func (r *Reflector) Run(stopCh <-chan struct{}) { func (r *Reflector) RunWithContext(ctx context.Context) { logger := klog.FromContext(ctx) logger.V(3).Info("Starting reflector", "type", r.typeDescription, "resyncPeriod", r.resyncPeriod, "reflector", r.name) - wait.BackoffUntil(func() { + // Until runs the loop immediately (immediate=true) and resets the backoff timer after each + // successful iteration (sliding=true). See backoff constants at top of file for generalized QPS targets (~0.22 QPS). + _ = r.delayHandler.Until(ctx, true, true, func(ctx context.Context) (bool, error) { if err := r.ListAndWatchWithContext(ctx); err != nil { r.watchErrorHandler(ctx, r, err) } - }, r.backoffManager, true, ctx.Done()) + return false, nil + }) logger.V(3).Info("Stopping reflector", "type", r.typeDescription, "resyncPeriod", r.resyncPeriod, "reflector", r.name) } @@ -480,8 +559,10 @@ func (r *Reflector) watch(ctx context.Context, w watch.Interface, resyncerrc cha // start the clock before sending the request, since some proxies won't flush headers until after the first watch event is sent start := r.clock.Now() + // if w is already initialized, it must be past any synthetic non-rv-ordered added events + propagateRVFromStart := true if w == nil { - timeoutSeconds := int64(r.minWatchTimeout.Seconds() * (rand.Float64() + 1.0)) + timeoutSeconds := int64(r.minWatchTimeout.Seconds() + rand.Float64()*(r.maxWatchTimeout.Seconds()-r.minWatchTimeout.Seconds())) options := metav1.ListOptions{ ResourceVersion: r.LastSyncResourceVersion(), // We want to avoid situations of hanging watchers. Stop any watchers that do not @@ -492,6 +573,11 @@ func (r *Reflector) watch(ctx context.Context, w watch.Interface, resyncerrc cha // watch bookmarks, it will ignore this field). AllowWatchBookmarks: true, } + if options.ResourceVersion == "" || options.ResourceVersion == "0" { + // if we're starting the watch at a resource version that will get synthetic ADDED events in non-rv order, + // wait until we're through that set of events before propagating the RV + propagateRVFromStart = false + } w, err = r.listerWatcher.WatchWithContext(ctx, options) if err != nil { @@ -500,7 +586,7 @@ func (r *Reflector) watch(ctx context.Context, w watch.Interface, resyncerrc cha select { case <-stopCh: return nil - case <-r.backoffManager.Backoff().C(): + case <-r.clock.After(r.delayHandler()): continue } } @@ -508,7 +594,25 @@ func (r *Reflector) watch(ctx context.Context, w watch.Interface, resyncerrc cha } } - err = handleWatch(ctx, start, w, r.store, r.expectedType, r.expectedGVK, r.name, r.typeDescription, r.setLastSyncResourceVersion, + err = handleWatch(ctx, start, w, r.store, r.expectedType, r.expectedGVK, r.name, r.typeDescription, + func(rv string, eventReceivedBesidesAdded bool) { + // We update the resource version in the store only if we have received at least one event that is + // not an added event, or if the resource version has been set previously. This is because we can + // encounter 2 scenarios: + // 1. The watch is started from a resource version specified by the LastSyncResourceVersion field. + // In this case, we can update the resource version in the store without worrying about it being + // out of order since we will not receive any synthetic added events for resources that may be + // out of order. + // 2. The watch is started when the LastSyncResourceVersion field is empty. In this case, we may not + // update the LastSyncResourceVersion until we receive at least one event that is not an added + // event, since that is the only way to ensure that the watch has exited the initial list phase. + if propagateRVFromStart || eventReceivedBesidesAdded { + r.setLastSyncResourceVersion(rv) + if rvu, ok := r.store.(cache.ResourceVersionUpdater); ok { + rvu.UpdateResourceVersion(rv) + } + } + }, r.clock, resyncerrc) // handleWatch always stops the watcher. So we don't need to here. // Just set it to nil to trigger a retry on the next loop. @@ -527,7 +631,7 @@ func (r *Reflector) watch(ctx context.Context, w watch.Interface, resyncerrc cha select { case <-stopCh: return nil - case <-r.backoffManager.Backoff().C(): + case <-r.clock.After(r.delayHandler()): continue } case apierrors.IsInternalError(err) && retry.ShouldRetry(): @@ -600,6 +704,11 @@ func (r *Reflector) list(ctx context.Context) error { // the reflector makes forward progress. list, paginatedResult, err = pager.ListWithAlloc(context.Background(), metav1.ListOptions{ResourceVersion: r.relistResourceVersion()}) } + if err == nil { + if unsupportedList, unsupportedListGVK := isUnsupportedTableListObject(list); unsupportedList { + err = fmt.Errorf("unsupported list gvk: %v, type: %v", unsupportedListGVK, r.typeDescription) + } + } close(listCh) }() select { @@ -609,6 +718,7 @@ func (r *Reflector) list(ctx context.Context) error { panic(r) case <-listCh: } + initTrace.Step("Objects listed", trace.Field{Key: "error", Value: err}) if err != nil { return fmt.Errorf("failed to list %v: %w", r.typeDescription, err) @@ -681,7 +791,7 @@ func (r *Reflector) watchList(ctx context.Context) (watch.Interface, error) { isErrorRetriableWithSideEffectsFn := func(err error) bool { if canRetry := isWatchErrorRetriable(err); canRetry { logger.V(2).Info("watch-list failed - backing off", "reflector", r.name, "type", r.typeDescription, "err", err) - <-r.backoffManager.Backoff().C() + <-r.clock.After(r.delayHandler()) return true } if isExpiredError(err) || isTooLargeResourceVersionError(err) { @@ -720,7 +830,7 @@ func (r *Reflector) watchList(ctx context.Context) (watch.Interface, error) { // TODO(#115478): large "list", slow clients, slow network, p&f // might slow down streaming and eventually fail. // maybe in such a case we should retry with an increased timeout? - timeoutSeconds := int64(r.minWatchTimeout.Seconds() * (rand.Float64() + 1.0)) + timeoutSeconds := int64(r.minWatchTimeout.Seconds() + rand.Float64()*(r.maxWatchTimeout.Seconds()-r.minWatchTimeout.Seconds())) options := metav1.ListOptions{ ResourceVersion: lastKnownRV, AllowWatchBookmarks: true, @@ -738,7 +848,11 @@ func (r *Reflector) watchList(ctx context.Context) (watch.Interface, error) { return nil, err } watchListBookmarkReceived, err := handleListWatch(ctx, start, w, temporaryStore, r.expectedType, r.expectedGVK, r.name, r.typeDescription, - func(rv string) { resourceVersion = rv }, + func(rv string, eventReceivedBesidesAdded bool) { + if eventReceivedBesidesAdded { + resourceVersion = rv + } + }, r.clock, make(chan error)) if err != nil { w.Stop() // stop and retry with clean state @@ -795,7 +909,7 @@ func handleListWatch( expectedGVK *schema.GroupVersionKind, name string, expectedTypeName string, - setLastSyncResourceVersion func(string), + setLastSyncResourceVersion func(string, bool), clock clock.Clock, errCh chan error, ) (bool, error) { @@ -816,7 +930,7 @@ func handleWatch( expectedGVK *schema.GroupVersionKind, name string, expectedTypeName string, - setLastSyncResourceVersion func(string), + setLastSyncResourceVersion func(string, bool), clock clock.Clock, errCh chan error, ) error { @@ -844,12 +958,13 @@ func handleAnyWatch( expectedGVK *schema.GroupVersionKind, name string, expectedTypeName string, - setLastSyncResourceVersion func(string), + setLastSyncResourceVersion func(string, bool), exitOnWatchListBookmarkReceived bool, clock clock.Clock, errCh chan error, ) (bool, error) { watchListBookmarkReceived := false + eventReceivedBesidesAdded := false eventCount := 0 logger := klog.FromContext(ctx) initialEventsEndBookmarkWarningTicker := newInitialEventsEndBookmarkTicker(logger, name, clock, start, exitOnWatchListBookmarkReceived) @@ -887,14 +1002,11 @@ loop: continue } } - // For now, let's block unsupported Table - // resources for watchlist only + // we don't support receiving resources in Table format // see #132926 for more info - if exitOnWatchListBookmarkReceived { - if unsupportedGVK := isUnsupportedTableObject(event.Object); unsupportedGVK { - utilruntime.HandleErrorWithContext(ctx, nil, "Unsupported watch event object gvk", "reflector", name, "actualGVK", event.Object.GetObjectKind().GroupVersionKind()) - continue - } + if unsupportedGVK := isUnsupportedTableObject(event.Object); unsupportedGVK { + utilruntime.HandleErrorWithContext(ctx, nil, "Unsupported watch event object gvk", "reflector", name, "actualGVK", event.Object.GetObjectKind().GroupVersionKind()) + continue } meta, err := meta.Accessor(event.Object) if err != nil { @@ -909,6 +1021,7 @@ loop: utilruntime.HandleErrorWithContext(ctx, err, "Unable to add watch event object to store", "reflector", name, "object", event.Object) } case watch.Modified: + eventReceivedBesidesAdded = true err := store.Update(event.Object) if err != nil { utilruntime.HandleErrorWithContext(ctx, err, "Unable to update watch event object to store", "reflector", name, "object", event.Object) @@ -917,22 +1030,29 @@ loop: // TODO: Will any consumers need access to the "last known // state", which is passed in event.Object? If so, may need // to change this. + eventReceivedBesidesAdded = true err := store.Delete(event.Object) if err != nil { utilruntime.HandleErrorWithContext(ctx, err, "Unable to delete watch event object from store", "reflector", name, "object", event.Object) } case watch.Bookmark: // A `Bookmark` means watch has synced here, just update the resourceVersion + eventReceivedBesidesAdded = true if meta.GetAnnotations()[metav1.InitialEventsAnnotationKey] == "true" { watchListBookmarkReceived = true } + // Propagate the resource version from the bookmark event to stores which indicate they want it + if bookmarkStore, ok := store.(cache.ReflectorBookmarkStore); ok { + err := bookmarkStore.Bookmark(resourceVersion) + if err != nil { + utilruntime.HandleErrorWithContext(ctx, err, "Unable to send bookmark event to store", "reflector", name, "object", event.Object) + } + } default: utilruntime.HandleErrorWithContext(ctx, err, "Unknown watch event", "reflector", name, "event", event) } - setLastSyncResourceVersion(resourceVersion) - if rvu, ok := store.(cache.ResourceVersionUpdater); ok { - rvu.UpdateResourceVersion(resourceVersion) - } + // when eventReceivedBesidesAdded is true, that indicates we are definitely past any initial synthetic Added events + setLastSyncResourceVersion(resourceVersion, eventReceivedBesidesAdded) eventCount++ if exitOnWatchListBookmarkReceived && watchListBookmarkReceived { stopWatcher = false @@ -1183,6 +1303,15 @@ func isUnsupportedTableObject(rawObject runtime.Object) bool { return unsupportedTableGVK[rawObject.GetObjectKind().GroupVersionKind()] } +func isUnsupportedTableListObject(rawObject runtime.Object) (bool, schema.GroupVersionKind) { + unstructuredObj, ok := rawObject.(*unstructured.UnstructuredList) + if !ok { + return false, schema.GroupVersionKind{} + } + + return unsupportedTableGVK[unstructuredObj.GetObjectKind().GroupVersionKind()], unstructuredObj.GetObjectKind().GroupVersionKind() +} + // checkWatchListDataConsistencyIfRequested performs a data consistency check against the // temporary store if the KUBE_WATCHLIST_INCONSISTENCY_DETECTOR environment variable was set. func checkWatchListDataConsistencyIfRequested(ctx context.Context, name string, resourceVersion string, listFunc func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error), transformer cache.TransformFunc, storeListFunc func() []interface{}) { From a49c717fd8759668c9e7df912d3e28705df6ab0d Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Tue, 5 May 2026 15:32:03 +0200 Subject: [PATCH 7/9] Update inforemrs to v1.36.0 Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../informers/event_handler_name.go | 124 ++++++ .../third_party/informers/shared_informer.go | 381 ++++++++++++++++-- 2 files changed, 475 insertions(+), 30 deletions(-) create mode 100644 staging/src/github.com/kcp-dev/apimachinery/third_party/informers/event_handler_name.go diff --git a/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/event_handler_name.go b/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/event_handler_name.go new file mode 100644 index 00000000000..6f12c166039 --- /dev/null +++ b/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/event_handler_name.go @@ -0,0 +1,124 @@ +/* +Copyright The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package informers + +import ( + "fmt" + "reflect" + "runtime" + "strings" + + "k8s.io/client-go/tools/cache" +) + +func nameForHandler(handler cache.ResourceEventHandler) (name string) { + defer func() { + // Last resort: let Sprintf handle it. + if name == "" { + name = fmt.Sprintf("%T", handler) + } + }() + + if handler == nil { + return "" + } + switch handler := handler.(type) { + case *cache.ResourceEventHandlerFuncs: + return nameForHandlerFuncs(*handler) + case cache.ResourceEventHandlerFuncs: + return nameForHandlerFuncs(handler) + default: + // We can use the fully qualified name of whatever + // provides the interface. We don't care whether + // it contains fields or methods which provide + // the interface methods. + value := reflect.ValueOf(handler) + if value.Type().Kind() == reflect.Interface { + // Probably not needed, but let's play it safe. + value = value.Elem() + } + if value.Type().Kind() == reflect.Pointer { + if !value.IsNil() { + value = value.Elem() + } + } + name := value.Type().PkgPath() + if name != "" { + name += "." + } + if typeName := value.Type().Name(); typeName != "" { + name += typeName + } + return name + } +} + +func nameForHandlerFuncs(funcs cache.ResourceEventHandlerFuncs) string { + return nameForFunctions(funcs.AddFunc, funcs.UpdateFunc, funcs.DeleteFunc) +} + +func nameForFunctions(fs ...any) string { + // If all functions are defined in the same place, then we + // don't care about the actual function name in + // e.g. "main.FuncName" or "main.(*Foo).FuncName-fm", instead + // we use the common qualifier. + // + // But we don't know that yet, so we also collect all names. + var qualifier string + singleQualifier := true + var names []string + for _, f := range fs { + if f == nil { + continue + } + name := nameForFunction(f) + if name == "" { + continue + } + names = append(names, name) + + newQualifier := name + index := strings.LastIndexByte(newQualifier, '.') + if index > 0 { + newQualifier = newQualifier[:index] + } + switch qualifier { + case "": + qualifier = newQualifier + case newQualifier: + // So far, so good... + default: + // Nope, different. + singleQualifier = false + } + } + + if singleQualifier { + return qualifier + } + + return strings.Join(names, "+") +} + +func nameForFunction(f any) string { + fn := runtime.FuncForPC(reflect.ValueOf(f).Pointer()) + if fn == nil { + return "" + } + return fn.Name() +} diff --git a/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/shared_informer.go b/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/shared_informer.go index 50c9ba48f3b..d87abec8191 100644 --- a/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/shared_informer.go +++ b/staging/src/github.com/kcp-dev/apimachinery/third_party/informers/shared_informer.go @@ -22,11 +22,13 @@ import ( "errors" "fmt" "sync" + "sync/atomic" "time" "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" clientgofeaturegate "k8s.io/client-go/features" "k8s.io/client-go/tools/cache" @@ -35,6 +37,7 @@ import ( "k8s.io/utils/buffer" "k8s.io/utils/clock" "k8s.io/utils/ptr" + utiltrace "k8s.io/utils/trace" kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpreflector "github.com/kcp-dev/apimachinery/v2/third_party/reflector" @@ -88,10 +91,14 @@ func NewSharedIndexInformer(lw cache.ListerWatcher, exampleObject runtime.Object func NewSharedIndexInformerWithOptions(lw cache.ListerWatcher, exampleObject runtime.Object, options cache.SharedIndexInformerOptions) kcpcache.ScopeableSharedIndexInformer { realClock := &clock.RealClock{} + processor := &sharedProcessor{clock: realClock} + processor.listenersRCond = sync.NewCond(processor.listenersLock.RLocker()) + return &sharedIndexInformer{ // kcp modification: We changed the keyfunction passed to NewIndexer - indexer: cache.NewIndexer(kcpcache.MetaClusterNamespaceKeyFunc, options.Indexers), - processor: &sharedProcessor{clock: realClock}, + indexer: cache.NewIndexer(kcpcache.MetaClusterNamespaceKeyFunc, options.Indexers, cache.WithStoreMetrics(options.Identifier, options.InformerMetricsProvider)), + processor: processor, + synced: make(chan struct{}), listerWatcher: lw, objectType: exampleObject, objectDescription: options.ObjectDescription, @@ -99,6 +106,9 @@ func NewSharedIndexInformerWithOptions(lw cache.ListerWatcher, exampleObject run defaultEventHandlerResyncPeriod: options.ResyncPeriod, clock: realClock, cacheMutationDetector: cache.NewCacheMutationDetector(fmt.Sprintf("%T", exampleObject)), + identifier: options.Identifier, + informerMetricsProvider: options.InformerMetricsProvider, + keyFunc: kcpcache.MetaClusterNamespaceKeyFunc, } } @@ -184,6 +194,10 @@ type sharedIndexInformer struct { indexer cache.Indexer controller cache.Controller + // synced gets created when creating the sharedIndexInformer. + // It gets closed when Run detects that the processor created + synced chan struct{} + processor *sharedProcessor cacheMutationDetector cache.MutationDetector @@ -217,6 +231,15 @@ type sharedIndexInformer struct { watchErrorHandler cache.WatchErrorHandlerWithContext transform cache.TransformFunc + + // identifier is used to identify this informer for metrics and logging purposes. + identifier cache.InformerNameAndResource + + // informerMetricsProvider is the metrics provider for the FIFO queue. + informerMetricsProvider cache.InformerMetricsProvider + + // keyFunc is called when processing deltas by the underlying process function. + keyFunc cache.KeyFunc } func (s *sharedIndexInformer) Cluster(cluster logicalcluster.Name) cache.SharedIndexInformer { @@ -246,6 +269,10 @@ func (v *dummyController) HasSynced() bool { return v.informer.HasSynced() } +func (v *dummyController) HasSyncedChecker() cache.DoneChecker { + return v.informer.HasSyncedChecker() +} + func (v *dummyController) LastSyncResourceVersion() string { if clientgofeaturegate.FeatureGates().Enabled(clientgofeaturegate.InformerResourceVersion) { return v.informer.controller.LastSyncResourceVersion() @@ -315,16 +342,23 @@ func (s *sharedIndexInformer) RunWithContext(ctx context.Context) { s.startedLock.Lock() defer s.startedLock.Unlock() + // kcp: This is almost verbatim the content of newQueueFIFO in controller.go var fifo cache.Queue if clientgofeaturegate.FeatureGates().Enabled(clientgofeaturegate.InOrderInformers) { fifo = cache.NewRealFIFOWithOptions(cache.RealFIFOOptions{ + Logger: &logger, + Name: fmt.Sprintf("RealFIFO %T", s.objectType), // KCP modification: We changed the keyfunction passed to NewDeltaFIFOWithOptions - KeyFunction: kcpcache.MetaClusterNamespaceKeyFunc, - KnownObjects: s.indexer, - Transformer: s.transform, + KeyFunction: kcpcache.MetaClusterNamespaceKeyFunc, + KnownObjects: s.indexer, + Transformer: s.transform, + Identifier: s.identifier, + MetricsProvider: s.informerMetricsProvider, }) } else { fifo = cache.NewDeltaFIFOWithOptions(cache.DeltaFIFOOptions{ + Logger: &logger, + Name: fmt.Sprintf("RealFIFO %T", s.objectType), KnownObjects: s.indexer, EmitDeltaTypeReplaced: true, Transformer: s.transform, @@ -344,8 +378,12 @@ func (s *sharedIndexInformer) RunWithContext(ctx context.Context) { FullResyncPeriod: s.resyncCheckPeriod, ShouldResync: s.processor.shouldResync, - Process: s.HandleDeltas, - ProcessBatch: s.HandleBatchDeltas, + Process: func(obj interface{}, isInInitialList bool) error { + return s.handleDeltas(logger, obj, isInInitialList) + }, + ProcessBatch: func(deltas []cache.Delta, isInInitialList bool) error { + return s.handleBatchDeltas(logger, deltas, isInInitialList) + }, WatchErrorHandlerWithContext: s.watchErrorHandler, KeyFunction: kcpcache.DeletionHandlingMetaClusterNamespaceKeyFunc, } @@ -364,6 +402,15 @@ func (s *sharedIndexInformer) RunWithContext(ctx context.Context) { defer stopProcessor(errors.New("informer is stopping")) // Tell Processor to stop wg.StartWithChannel(processorStopCtx.Done(), s.cacheMutationDetector.Run) wg.StartWithContext(processorStopCtx, s.processor.run) + wg.Start(func() { + select { + case <-ctx.Done(): + // We were stopped without completing the sync. + case <-s.controller.HasSyncedChecker().Done(): + // Controller has synced and thus so have we. + close(s.synced) + } + }) defer func() { s.startedLock.Lock() @@ -380,13 +427,31 @@ func (s *sharedIndexInformer) HasStarted() bool { } func (s *sharedIndexInformer) HasSynced() bool { - s.startedLock.Lock() - defer s.startedLock.Unlock() - - if s.controller == nil { + select { + case <-s.synced: + return true + default: return false } - return s.controller.HasSynced() +} + +func (s *sharedIndexInformer) HasSyncedChecker() cache.DoneChecker { + return &sharedIndexInformerDone{ + s: s, + } +} + +// sharedIndexInformerDone implements [NamedCacheSync] for a [sharedIndexInformer]. +type sharedIndexInformerDone struct { + s *sharedIndexInformer +} + +func (sd *sharedIndexInformerDone) Name() string { + return fmt.Sprintf("SharedIndexInformer %T", sd.s.objectType) +} + +func (sd *sharedIndexInformerDone) Done() <-chan struct{} { + return sd.s.synced } func (s *sharedIndexInformer) LastSyncResourceVersion() string { @@ -476,10 +541,12 @@ func (s *sharedIndexInformer) AddEventHandlerWithOptions(handler cache.ResourceE } } } - listener := newProcessListener(logger, handler, resyncPeriod, determineResyncPeriod(logger, resyncPeriod, s.resyncCheckPeriod), s.clock.Now(), initialBufferSize, s.HasSynced) + + listener := newProcessListener(logger, handler, resyncPeriod, determineResyncPeriod(logger, resyncPeriod, s.resyncCheckPeriod), s.clock.Now(), initialBufferSize, s.HasSyncedChecker()) if !s.started { - return s.processor.addListener(listener), nil + handle, _ := s.processor.addListener(listener) + return handle, nil } // in order to safely join, we have to @@ -490,7 +557,7 @@ func (s *sharedIndexInformer) AddEventHandlerWithOptions(handler cache.ResourceE s.blockDeltas.Lock() defer s.blockDeltas.Unlock() - handle := s.processor.addListener(listener) + handle, started := s.processor.addListener(listener) for _, item := range s.indexer.List() { // Note that we enqueue these notifications with the lock held // and before returning the handle. That means there is never a @@ -503,23 +570,28 @@ func (s *sharedIndexInformer) AddEventHandlerWithOptions(handler cache.ResourceE listener.add(addNotification{newObj: item, isInInitialList: true}) } + // Initial list is added, now we can allow the listener to detect that "upstream has synced". + if started { + s.processor.wg.Start(listener.watchSynced) + } + return handle, nil } -func (s *sharedIndexInformer) HandleDeltas(obj interface{}, isInInitialList bool) error { +func (s *sharedIndexInformer) handleDeltas(logger klog.Logger, obj interface{}, isInInitialList bool) error { s.blockDeltas.Lock() defer s.blockDeltas.Unlock() if deltas, ok := obj.(cache.Deltas); ok { - return processDeltas(s, s.indexer, deltas, isInInitialList) + return processDeltas(logger, s, s.indexer, deltas, isInInitialList, s.keyFunc) } return errors.New("object given as Process argument is not Deltas") } -func (s *sharedIndexInformer) HandleBatchDeltas(deltas []cache.Delta, isInInitialList bool) error { +func (s *sharedIndexInformer) handleBatchDeltas(logger klog.Logger, deltas []cache.Delta, isInInitialList bool) error { s.blockDeltas.Lock() defer s.blockDeltas.Unlock() - return processDeltasInBatch(s, s.indexer, deltas, isInInitialList) + return processDeltasInBatch(logger, s, s.indexer, deltas, isInInitialList, s.keyFunc) } // Conforms to cache.ResourceEventHandler @@ -588,6 +660,7 @@ func (s *sharedIndexInformer) RemoveEventHandler(handle cache.ResourceEventHandl type sharedProcessor struct { listenersStarted bool listenersLock sync.RWMutex + listenersRCond *sync.Cond // Caller of Wait must hold a read lock on listenersLock. // Map from listeners to whether or not they are currently syncing listeners map[*processorListener]bool clock clock.Clock @@ -611,7 +684,7 @@ func (p *sharedProcessor) getListener(registration cache.ResourceEventHandlerReg return nil } -func (p *sharedProcessor) addListener(listener *processorListener) cache.ResourceEventHandlerRegistration { +func (p *sharedProcessor) addListener(listener *processorListener) (cache.ResourceEventHandlerRegistration, bool) { p.listenersLock.Lock() defer p.listenersLock.Unlock() @@ -622,11 +695,13 @@ func (p *sharedProcessor) addListener(listener *processorListener) cache.Resourc p.listeners[listener] = true if p.listenersStarted { + // Not starting listener.watchSynced! + // The caller must first add the initial list, then start it. p.wg.Start(listener.run) p.wg.Start(listener.pop) } - return listener + return listener, p.listenersStarted } func (p *sharedProcessor) removeListener(handle cache.ResourceEventHandlerRegistration) error { @@ -657,6 +732,14 @@ func (p *sharedProcessor) distribute(obj interface{}, sync bool) { p.listenersLock.RLock() defer p.listenersLock.RUnlock() + // Before we start blocking on writes to the listeners' channels, + // ensure that they all have been started. If the processor stops, + // p.listeners gets cleared, in which case we also continue here + // and return without doing anything. + for !p.listenersStarted && len(p.listeners) > 0 { + p.listenersRCond.Wait() + } + for listener, isSyncing := range p.listeners { switch { case !sync: @@ -671,15 +754,26 @@ func (p *sharedProcessor) distribute(obj interface{}, sync bool) { } } +// sharedProcessorRunHook can be used inside tests to execute additional code +// at the start of sharedProcessor.run. +var sharedProcessorRunHook atomic.Pointer[func()] + func (p *sharedProcessor) run(ctx context.Context) { func() { - p.listenersLock.RLock() - defer p.listenersLock.RUnlock() + hook := sharedProcessorRunHook.Load() + if hook != nil { + (*hook)() + } + // Changing listenersStarted needs a write lock. + p.listenersLock.Lock() + defer p.listenersLock.Unlock() for listener := range p.listeners { + p.wg.Start(listener.watchSynced) p.wg.Start(listener.run) p.wg.Start(listener.pop) } p.listenersStarted = true + p.listenersRCond.Signal() }() <-ctx.Done() @@ -696,6 +790,9 @@ func (p *sharedProcessor) run(ctx context.Context) { // Reset to false since no listeners are running p.listenersStarted = false + // Wake up sharedProcessor.distribute. + p.listenersRCond.Signal() + p.wg.Wait() // Wait for all .pop() and .run() to stop } @@ -733,7 +830,7 @@ func (p *sharedProcessor) resyncCheckPeriodChanged(logger klog.Logger, resyncChe } // processorListener relays notifications from a sharedProcessor to -// one cache.ResourceEventHandler --- using two goroutines, two unbuffered +// one cache.ResourceEventHandler --- using three goroutines, two unbuffered // channels, and an unbounded ring buffer. The `add(notification)` // function sends the given notification to `addCh`. One goroutine // runs `pop()`, which pumps notifications from `addCh` to `nextCh` @@ -741,16 +838,24 @@ func (p *sharedProcessor) resyncCheckPeriodChanged(logger klog.Logger, resyncChe // Another goroutine runs `run()`, which receives notifications from // `nextCh` and synchronously invokes the appropriate handler method. // +// The third goroutine watches the upstream "has synced" channel +// and notifies a SingleFileTracker instance. That instance then +// combines the upstream state and the processListener state to +// implement the overall "event handler has synced". +// // processorListener also keeps track of the adjusted requested resync // period of the listener. type processorListener struct { logger klog.Logger nextCh chan interface{} addCh chan interface{} + done chan struct{} - handler cache.ResourceEventHandler + handler cache.ResourceEventHandler + handlerName string - syncTracker *synctrack.SingleFileTracker + syncTracker *synctrack.SingleFileTracker + upstreamHasSynced cache.DoneChecker // pendingNotifications is an unbounded ring buffer that holds all notifications not yet distributed. // There is one per listener, but a failing/stalled listener will have infinite pendingNotifications @@ -758,6 +863,9 @@ type processorListener struct { // TODO: This is no worse than before, since reflectors were backed by unbounded DeltaFIFOs, but // we should try to do something better. pendingNotifications buffer.RingGrowing + // pendingNotificationsLength tracks pendingNotifications size and is only mutated by pop(). + // run() reads this to decide when to enable expensive time tracing. + pendingNotificationsLength atomic.Int64 // requestedResyncPeriod is how frequently the listener wants a // full resync from the shared informer, but modified by two @@ -788,13 +896,23 @@ func (p *processorListener) HasSynced() bool { return p.syncTracker.HasSynced() } -func newProcessListener(logger klog.Logger, handler cache.ResourceEventHandler, requestedResyncPeriod, resyncPeriod time.Duration, now time.Time, bufferSize int, hasSynced func() bool) *processorListener { +// HasNamedSync is done if the source informer has synced, and all +// corresponding events have been delivered. +func (p *processorListener) HasSyncedChecker() cache.DoneChecker { + return p.syncTracker +} + +func newProcessListener(logger klog.Logger, handler cache.ResourceEventHandler, requestedResyncPeriod, resyncPeriod time.Duration, now time.Time, bufferSize int, hasSynced cache.DoneChecker) *processorListener { + handlerName := nameForHandler(handler) ret := &processorListener{ logger: logger, nextCh: make(chan interface{}), addCh: make(chan interface{}), + done: make(chan struct{}), + upstreamHasSynced: hasSynced, handler: handler, - syncTracker: &synctrack.SingleFileTracker{UpstreamHasSynced: hasSynced}, + handlerName: handlerName, + syncTracker: synctrack.NewSingleFileTracker(fmt.Sprintf("%s + event handler %s", hasSynced.Name(), handlerName)), pendingNotifications: *buffer.NewRingGrowing(bufferSize), requestedResyncPeriod: requestedResyncPeriod, resyncPeriod: resyncPeriod, @@ -815,6 +933,7 @@ func (p *processorListener) add(notification interface{}) { func (p *processorListener) pop() { defer utilruntime.HandleCrashWithLogger(p.logger) defer close(p.nextCh) // Tell .run() to stop + defer close(p.done) // Tell .watchSynced() to stop var nextCh chan<- interface{} var notification interface{} @@ -824,7 +943,9 @@ func (p *processorListener) pop() { // Notification dispatched var ok bool notification, ok = p.pendingNotifications.ReadOne() - if !ok { // Nothing to pop + if ok { + p.pendingNotificationsLength.Add(-1) + } else { // Nothing to pop nextCh = nil // Disable this select case } case notificationToAdd, ok := <-p.addCh: @@ -837,6 +958,7 @@ func (p *processorListener) pop() { nextCh = p.nextCh } else { // There is already a notification waiting to be dispatched p.pendingNotifications.WriteOne(notificationToAdd) + p.pendingNotificationsLength.Add(1) } } } @@ -859,6 +981,14 @@ func (p *processorListener) run() { // Gets reset below, but only if we get that far. sleepAfterCrash = true defer utilruntime.HandleCrashWithLogger(p.logger) + pendingNotifications := p.pendingNotificationsLength.Load() + if pendingNotifications > initialBufferSize { + trace := utiltrace.New("processorListener handler", + utiltrace.Field{Key: "handler", Value: p.handlerName}, + utiltrace.Field{Key: "pendingNotifications", Value: pendingNotifications}, + ) + defer trace.LogIfLong(100 * time.Millisecond) + } switch notification := next.(type) { case updateNotification: @@ -878,6 +1008,16 @@ func (p *processorListener) run() { } } +func (p *processorListener) watchSynced() { + select { + case <-p.upstreamHasSynced.Done(): + // Notify tracker that the upstream has synced. + p.syncTracker.UpstreamHasSynced() + case <-p.done: + // Give up waiting for sync. + } +} + // shouldResync determines if the listener needs a resync. If the listener's resyncPeriod is 0, // this always returns false. func (p *processorListener) shouldResync(now time.Time) bool { @@ -910,17 +1050,37 @@ func (p *processorListener) setResyncPeriod(resyncPeriod time.Duration) { // taken from k8s.io/client-go/tools/cache/controller.go // kcp modification: we added this function from controller.go func processDeltas( + logger klog.Logger, // Object which receives event notifications from the given deltas handler cache.ResourceEventHandler, clientState cache.Store, deltas cache.Deltas, isInInitialList bool, + keyFunc cache.KeyFunc, ) error { // from oldest to newest for _, d := range deltas { obj := d.Object switch d.Type { + case cache.ReplacedAll: + info, ok := obj.(cache.ReplacedAllInfo) + if !ok { + return fmt.Errorf("ReplacedAll did not contain ReplacedAllInfo: %T", obj) + } + if err := processReplacedAllInfo(logger, handler, info, clientState, isInInitialList, keyFunc); err != nil { + return err + } + case cache.SyncAll: + _, ok := obj.(cache.SyncAllInfo) + if !ok { + return fmt.Errorf("SyncAll did not contain SyncAllInfo: %T", obj) + } + objs := clientState.List() + for _, obj := range objs { + handler.OnUpdate(obj, obj) + } + return nil case cache.Sync, cache.Replaced, cache.Added, cache.Updated: if old, exists, err := clientState.Get(obj); err == nil && exists { if err := clientState.Update(obj); err != nil { @@ -938,6 +1098,12 @@ func processDeltas( return err } handler.OnDelete(obj) + case cache.Bookmark: + info, ok := obj.(cache.BookmarkInfo) + if !ok { + return fmt.Errorf("bookmark delta did not contain BookmarkInfo: %T", obj) + } + clientState.Bookmark(info.ResourceVersion) } } return nil @@ -953,10 +1119,12 @@ func processDeltas( // Returns an error if any Delta or transaction fails. For TransactionError, // only successful operations trigger callbacks. func processDeltasInBatch( + logger klog.Logger, handler cache.ResourceEventHandler, clientState cache.Store, deltas []cache.Delta, isInInitialList bool, + keyFunc cache.KeyFunc, ) error { // from oldest to newest txns := make([]cache.Transaction, 0) @@ -965,7 +1133,7 @@ func processDeltasInBatch( if !txnSupported { var errs []error for _, delta := range deltas { - if err := processDeltas(handler, clientState, cache.Deltas{delta}, isInInitialList); err != nil { + if err := processDeltas(logger, handler, clientState, cache.Deltas{delta}, isInInitialList, keyFunc); err != nil { errs = append(errs, err) } } @@ -1008,6 +1176,8 @@ func processDeltasInBatch( callbacks = append(callbacks, func() { handler.OnDelete(obj) }) + default: + return fmt.Errorf("Delta type %s is not supported in batch processing", d.Type) } } @@ -1027,3 +1197,154 @@ func processDeltasInBatch( } return nil } + +func processReplacedAllInfo(logger klog.Logger, handler cache.ResourceEventHandler, info cache.ReplacedAllInfo, clientState cache.Store, isInInitialList bool, keyFunc cache.KeyFunc) error { + var deletions []cache.DeletedFinalStateUnknown + type replacement struct { + oldObj interface{} + newObj interface{} + } + replacements := make([]replacement, 0, len(info.Objects)) + + err := reconcileReplacement(logger, nil, clientState, info.Objects, keyFunc, + func(obj cache.DeletedFinalStateUnknown) error { + deletions = append(deletions, obj) + return nil + }, + func(obj interface{}) error { + // This behavior matches processDeltas handling of Replace deltas + if old, exists, err := clientState.Get(obj); err == nil && exists { + replacements = append(replacements, replacement{newObj: obj, oldObj: old}) + } else { + replacements = append(replacements, replacement{newObj: obj}) + } + return nil + }, + ) + if err != nil { + return err + } + + // Replace the client state first so the store reflects the events handlers are given + if err := clientState.Replace(info.Objects, info.ResourceVersion); err != nil { + return err + } + // Processing all deletions first matches behavior of RealFIFO#Replace + for _, objToDelete := range deletions { + handler.OnDelete(objToDelete) + } + // Processing adds/updates in order observed by reconcileReplacement matches behavior of RealFIFO#Replace + for _, r := range replacements { + if r.oldObj != nil { + handler.OnUpdate(r.oldObj, r.newObj) + } else { + handler.OnAdd(r.newObj, isInInitialList) + } + } + return nil +} + +// reconcileReplacement takes the items that are already in the queue and the set of new items +// and based upon the state of the items in the queue and known objects will call onDelete and onReplace +// depending upon whether the item is being deleted or replaced/added. +// kcp: This is taken from the_real_fifo.go +func reconcileReplacement( + logger klog.Logger, + queuedItems []cache.Delta, + knownObjects cache.KeyListerGetter, + newItems []interface{}, + keyOf func(obj interface{}) (string, error), + onDelete func(obj cache.DeletedFinalStateUnknown) error, + onReplace func(obj interface{}) error, +) error { + // determine the keys of everything we're adding. We cannot add the items until after the synthetic deletes have been + // created for items that don't existing in newItems + newKeys := sets.Set[string]{} + for _, obj := range newItems { + key, err := keyOf(obj) + if err != nil { + return cache.KeyError{Obj: obj, Err: err} + } + newKeys.Insert(key) + } + + queuedKeys := []string{} + lastQueuedItemForKey := map[string]cache.Delta{} + for _, queuedItem := range queuedItems { + queuedKey, err := keyOf(queuedItem.Object) + if err != nil { + return cache.KeyError{Obj: queuedItem.Object, Err: err} + } + + if _, seen := lastQueuedItemForKey[queuedKey]; !seen { + queuedKeys = append(queuedKeys, queuedKey) + } + lastQueuedItemForKey[queuedKey] = queuedItem + } + + // all the deletes already in the queue are important. There are two cases + // 1. queuedItems has delete for key/X and newItems has replace for key/X. This means the queued UID was deleted and a new one was created. + // 2. queuedItems has a delete for key/X and newItems does NOT have key/X. This means the queued item was deleted. + // Do deletion detection against objects in the queue. + for _, queuedKey := range queuedKeys { + if newKeys.Has(queuedKey) { + continue + } + + // Delete pre-existing items not in the new list. + // This could happen if watch deletion event was missed while + // disconnected from apiserver. + lastQueuedItem := lastQueuedItemForKey[queuedKey] + // if we've already got the item marked as deleted, no need to add another delete + if lastQueuedItem.Type == cache.Deleted { + continue + } + + // if we got here, then the last entry we have for the queued item is *not* a deletion and we need to add a delete + deletedObj := lastQueuedItem.Object + + retErr := onDelete(cache.DeletedFinalStateUnknown{ + Key: queuedKey, + Obj: deletedObj, + }) + if retErr != nil { + return fmt.Errorf("couldn't enqueue object: %w", retErr) + } + } + + // Detect deletions for objects not present in the queue, but present in KnownObjects + knownKeys := knownObjects.ListKeys() + for _, knownKey := range knownKeys { + if newKeys.Has(knownKey) { // still present + continue + } + if _, inQueuedItems := lastQueuedItemForKey[knownKey]; inQueuedItems { // already added delete for these + continue + } + + deletedObj, exists, err := knownObjects.GetByKey(knownKey) + if err != nil { + deletedObj = nil + utilruntime.HandleErrorWithLogger(logger, err, "Error during lookup, placing DeleteFinalStateUnknown marker without object", "key", knownKey) + } else if !exists { + deletedObj = nil + utilruntime.HandleErrorWithLogger(logger, nil, "Key does not exist in known objects store, placing DeleteFinalStateUnknown marker without object", "key", knownKey) + } + retErr := onDelete(cache.DeletedFinalStateUnknown{ + Key: knownKey, + Obj: deletedObj, + }) + if retErr != nil { + return fmt.Errorf("couldn't enqueue object: %w", retErr) + } + } + + // now that we have the deletes we need for items, we can add the newItems to the items queue + for _, obj := range newItems { + if err := onReplace(obj); err != nil { + return fmt.Errorf("couldn't enqueue object: %w", err) + } + } + + return nil +} From af0f7bcc566086edb684d0b0650704eb5ec1bc1f Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Wed, 6 May 2026 08:07:19 +0200 Subject: [PATCH 8/9] Update modified upstream copies Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../typed/core/v1/fake/fake_pod_expansion.go | 21 ++- .../listers/apps/v1/daemonset_expansion.go | 1 + .../listers/apps/v1/replicaset_expansion.go | 1 + .../listers/apps/v1/statefulset_expansion.go | 1 + .../apps/v1beta1/statefulset_expansion.go | 1 + .../apps/v1beta2/daemonset_expansion.go | 1 + .../apps/v1beta2/replicaset_expansion.go | 1 + .../apps/v1beta2/statefulset_expansion.go | 1 + .../listers/batch/v1/job_expansion.go | 1 + .../v1/replicationcontroller_expansion.go | 1 + .../extensions/v1beta1/daemonset_expansion.go | 1 + .../v1beta1/replicaset_expansion.go | 1 + .../v1/poddisruptionbudget_expansion.go | 1 + .../v1beta1/poddisruptionbudget_expansion.go | 1 + .../client-go/discovery/fake/discovery.go | 2 +- .../k8s.io/client-go/dynamic/fake/simple.go | 3 +- .../k8s.io/client-go/gentype/type.go | 3 + .../k8s.io/client-go/metadata/fake/simple.go | 3 +- .../k8s.io/client-go/testing/fixture.go | 139 +++++++++++++++--- .../client-go/tools/cache/mutation_cache.go | 3 +- 20 files changed, 157 insertions(+), 30 deletions(-) diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/core/v1/fake/fake_pod_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/core/v1/fake/fake_pod_expansion.go index e3002827b90..d8f27d28be4 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/core/v1/fake/fake_pod_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/core/v1/fake/fake_pod_expansion.go @@ -18,16 +18,17 @@ limitations under the License. package fake import ( + "bytes" "context" "fmt" "io" "net/http" - "strings" v1 "k8s.io/api/core/v1" policyv1 "k8s.io/api/policy/v1" policyv1beta1 "k8s.io/api/policy/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/scheme" restclient "k8s.io/client-go/rest" fakerest "k8s.io/client-go/rest/fake" @@ -67,12 +68,26 @@ func (c *podScopedClient) GetLogs(name string, opts *v1.PodLogOptions) *restclie action.Value = opts action.ClusterPath = c.ClusterPath - _, _ = c.Fake.Invokes(action, &v1.Pod{}) + defaultLogResponse := &runtime.Unknown{Raw: []byte("fake logs")} + obj, err := c.Fake.Invokes(action, defaultLogResponse) + logs := defaultLogResponse.Raw + if err == nil { + unknown, ok := obj.(*runtime.Unknown) + if !ok || unknown == nil { + err = fmt.Errorf("fake Pods.GetLogs expected reactor to return *runtime.Unknown, got %T", obj) + } else { + logs = unknown.Raw + } + } + fakeClient := &fakerest.RESTClient{ Client: fakerest.CreateHTTPClient(func(request *http.Request) (*http.Response, error) { + if err != nil { + return nil, err + } resp := &http.Response{ StatusCode: http.StatusOK, - Body: io.NopCloser(strings.NewReader("fake logs")), + Body: io.NopCloser(bytes.NewReader(logs)), } return resp, nil }), diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/daemonset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/daemonset_expansion.go index e48e0143862..309600af9fe 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/daemonset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/daemonset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/replicaset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/replicaset_expansion.go index 233a8dab425..6cf5b803ee3 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/replicaset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/replicaset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/statefulset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/statefulset_expansion.go index 205dcd673fc..8ca1d9c6457 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/statefulset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1/statefulset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta1/statefulset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta1/statefulset_expansion.go index 506cca09bf1..3785246d36d 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta1/statefulset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta1/statefulset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/daemonset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/daemonset_expansion.go index eb17b02e214..0c0d7f26c1b 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/daemonset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/daemonset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/replicaset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/replicaset_expansion.go index e691efb0e4e..171be189891 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/replicaset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/replicaset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/statefulset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/statefulset_expansion.go index a9a6b84d09b..36c395e7b1e 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/statefulset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/apps/v1beta2/statefulset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/batch/v1/job_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/batch/v1/job_expansion.go index 2003595cd67..3e0b0093130 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/batch/v1/job_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/batch/v1/job_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2016 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/core/v1/replicationcontroller_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/core/v1/replicationcontroller_expansion.go index 46d2e1309e6..da6f73511ab 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/core/v1/replicationcontroller_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/core/v1/replicationcontroller_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/daemonset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/daemonset_expansion.go index 7166f131d6e..b54e1add1be 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/daemonset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/daemonset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/replicaset_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/replicaset_expansion.go index 0b7c0fb2381..ddd6560eaec 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/replicaset_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/extensions/v1beta1/replicaset_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/policy/v1/poddisruptionbudget_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/policy/v1/poddisruptionbudget_expansion.go index af730cd0779..4cb14b9adf3 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/policy/v1/poddisruptionbudget_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/policy/v1/poddisruptionbudget_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2021 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/policy/v1beta1/poddisruptionbudget_expansion.go b/staging/src/github.com/kcp-dev/client-go/listers/policy/v1beta1/poddisruptionbudget_expansion.go index 86f85d84c9b..2e625fab7ef 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/policy/v1beta1/poddisruptionbudget_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/policy/v1beta1/poddisruptionbudget_expansion.go @@ -1,5 +1,6 @@ /* Copyright 2017 The Kubernetes Authors. +Modifications Copyright 2026 The kcp Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/discovery/fake/discovery.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/discovery/fake/discovery.go index 2931dcc136a..dd8d5bf45fa 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/discovery/fake/discovery.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/discovery/fake/discovery.go @@ -86,7 +86,7 @@ func (c *FakeDiscovery) ServerGroupsAndResources() ([]*metav1.APIGroup, []*metav ClusterPath: c.ClusterPath, } if _, err = c.Invokes(action, nil); err != nil { - return nil, nil, err + return resultGroups, c.Resources[c.ClusterPath], err } return resultGroups, c.Resources[c.ClusterPath], nil } diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/dynamic/fake/simple.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/dynamic/fake/simple.go index 08d7292db1d..ecbbb1d1557 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/dynamic/fake/simple.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/dynamic/fake/simple.go @@ -453,7 +453,6 @@ func (c *dynamicResourceClient) List(ctx context.Context, opts metav1.ListOption case len(c.namespace) > 0: obj, err = c.client.Fake. Invokes(kcptesting.NewListActionWithOptions(c.resource, c.client.clusterPath, listForFakeClientGVK, c.namespace, opts), &metav1.Status{Status: "dynamic list fail"}) - } if obj == nil { @@ -493,6 +492,7 @@ func (c *dynamicResourceClient) List(ctx context.Context, opts metav1.ListOption } func (c *dynamicResourceClient) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { + opts.Watch = true switch { case len(c.namespace) == 0: return c.client.Fake. @@ -501,7 +501,6 @@ func (c *dynamicResourceClient) Watch(ctx context.Context, opts metav1.ListOptio case len(c.namespace) > 0: return c.client.Fake. InvokesWatch(kcptesting.NewWatchActionWithOptions(c.resource, c.client.clusterPath, c.namespace, opts)) - } panic("math broke") diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype/type.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype/type.go index 1a240029149..ab85d9efa18 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype/type.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype/type.go @@ -32,3 +32,6 @@ type namedObject interface { comparable GetName() *string } + +// kcp: The rebase will add a load of structures and things here - these +// are not needed. diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/metadata/fake/simple.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/metadata/fake/simple.go index ae2ad2f2b00..15d6d1c49c0 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/metadata/fake/simple.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/metadata/fake/simple.go @@ -62,7 +62,7 @@ func NewSimpleMetadataClient(scheme *runtime.Scheme, objects ...runtime.Object) } codecs := serializer.NewCodecFactory(scheme) - o := kcptesting.NewObjectTracker(scheme, codecs.UniversalDecoder()) + o := kcptesting.NewObjectTracker(scheme, codecs.UniversalDeserializer()) for _, obj := range objects { metaObj, ok := obj.(logicalcluster.Object) if !ok { @@ -430,6 +430,7 @@ func (c *metadataResourceClient) List(ctx context.Context, opts metav1.ListOptio } func (c *metadataResourceClient) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { + opts.Watch = true switch { case len(c.namespace) == 0: return c.client.Fake. diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing/fixture.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing/fixture.go index 0a66ed60c0e..295bfc95b88 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing/fixture.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing/fixture.go @@ -21,6 +21,7 @@ import ( "fmt" "reflect" "sort" + "strconv" "strings" "sync" @@ -357,13 +358,46 @@ type tracker struct { scheme ObjectScheme decoder runtime.Decoder lock sync.RWMutex - objects map[schema.GroupVersionResource]map[ClusterNamespacedName]runtime.Object + objects map[schema.GroupVersionResource]map[ClusterNamespacedName]versionedObject // The value type of watchers is a map of which the key is either a namespace or // all/non namespace aka "" and its value is list of fake watchers. // Manipulations on resources will broadcast the notification events into the // watchers' channel. Note that too many unhandled events (currently 100, // see apimachinery/pkg/watch.DefaultChanSize) will cause a panic. watchers map[schema.GroupVersionResource]map[logicalcluster.Path]map[string][]*watch.RaceFreeFakeWatcher + // resourceVersions is the highest resource version of any tracked object with + // a certain gvr. Conceptually it starts at 1 when no objects are stored (0 is + // special in queries) but the map contains no entries in that case. + // The resource version for that set of objects gets bumped before + // storing a new or modified object. + // + // Object content does not get changed to preserve the traditional behavior + // (hence also the versionedObject type instead of storing a runtime.Object + // with modified ResourceVersion). + // + // Resource version support (https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions) + // is very limited. It only supports one particular use case: + // List (no resource version check, returned ListMeta has ResourceVersion set) + + // Watch (Exact match for the ResourceVersion returned by List). + // + // This is sufficient for Reflector.ListAndWatch (https://github.com/kubernetes/kubernetes/blob/b53b9fb5573323484af9a19cf3f5bfe80760abba/staging/src/k8s.io/client-go/tools/cache/reflector.go#L401) + // when setting up informers in an informer factory. + // + // Strictly speaking, this should be by GroupVersion. But objects are + // also tracked by GroupVersionResource instead of GroupVersion, so the + // same is done here to match how List is implemented. + resourceVersions map[schema.GroupVersionResource]int64 +} + +// versionedObject stores an object together with the resource version that was +// assigned to it by the tracker. The version could be stored inline in the object, +// but this is not how fake client-go has traditionally worked and starting to do +// that now might break tests. +type versionedObject struct { + // resourceVersion is always > 1 for a stored object because 1 + // is the initial value for an empty set of objects. + resourceVersion int64 + runtime.Object } func (t *tracker) Cluster(clusterPath logicalcluster.Path) ScopedObjectTracker { @@ -384,10 +418,11 @@ var _ ObjectTracker = &tracker{} // of objects for the fake clientset. Mostly useful for unit tests. func NewObjectTracker(scheme ObjectScheme, decoder runtime.Decoder) ObjectTracker { return &tracker{ - scheme: scheme, - decoder: decoder, - objects: make(map[schema.GroupVersionResource]map[ClusterNamespacedName]runtime.Object), - watchers: make(map[schema.GroupVersionResource]map[logicalcluster.Path]map[string][]*watch.RaceFreeFakeWatcher), + scheme: scheme, + decoder: decoder, + objects: make(map[schema.GroupVersionResource]map[ClusterNamespacedName]versionedObject), + watchers: make(map[schema.GroupVersionResource]map[logicalcluster.Path]map[string][]*watch.RaceFreeFakeWatcher), + resourceVersions: make(map[schema.GroupVersionResource]int64), } } @@ -476,15 +511,27 @@ func (t *tracker) list(gvr schema.GroupVersionResource, gvk schema.GroupVersionK t.lock.RLock() defer t.lock.RUnlock() + if listMeta, err := meta.ListAccessor(list); err == nil { + resourceVersion, ok := t.resourceVersions[gvr] + if !ok { + resourceVersion = 1 + } + listMeta.SetResourceVersion(fmt.Sprintf("%d", resourceVersion)) + } + objs, ok := t.objects[gvr] if !ok { return list, nil } - matchingObjs, err := filterByNamespace(objs, ns) + matchingVersionedObjs, err := filterByNamespace(objs, ns) if err != nil { return nil, err } + matchingObjs := make([]runtime.Object, len(matchingVersionedObjs)) + for i, obj := range matchingVersionedObjs { + matchingObjs[i] = obj.Object + } if err := meta.SetList(list, matchingObjs); err != nil { return nil, err } @@ -505,6 +552,27 @@ func (t *tracker) watch(gvr schema.GroupVersionResource, cluster logicalcluster. return nil, err } + // By default, emulate the traditional behavior of the tracker and don't deliver + // *any* existing objects unless list options are provided. + addExisting := false + addFromRV := int64(0) + if len(opts) > 0 { + // Providing options, as the generated client-go fake does, enables support + // for existing objects depending on the resource version. + // + // The default if ResourceVersion is empty is "start at most recent", + // which includes delivering all existing objects. addFromRV == 0 + // matches all objects below because all stored objects have addFromRV > 0. + addExisting = true + if opts[0].ResourceVersion != "" { + rv, err := strconv.ParseInt(opts[0].ResourceVersion, 10, 64) + if err != nil { + return nil, fmt.Errorf("invalid ResourceVersion %q in ListOptions, must be int64: %w", opts[0].ResourceVersion, err) + } + addFromRV = rv + } + } + t.lock.Lock() defer t.lock.Unlock() @@ -517,6 +585,22 @@ func (t *tracker) watch(gvr schema.GroupVersionResource, cluster logicalcluster. t.watchers[gvr][cluster] = make(map[string][]*watch.RaceFreeFakeWatcher) } t.watchers[gvr][cluster][ns] = append(t.watchers[gvr][cluster][ns], fakewatcher) + + // Deliver all objects that match the list options, for example + // between the initial List and the following Watch. + if addExisting { + objs := t.objects[gvr] + matchingObjs, err := filterByNamespace(objs, ns) + if err != nil { + return nil, err + } + for _, obj := range matchingObjs { + if addFromRV < obj.resourceVersion { + fakewatcher.Add(obj.Object) + } + } + } + return fakewatcher, nil } @@ -726,8 +810,15 @@ func (t *scopedTracker) add(gvr schema.GroupVersionResource, obj runtime.Object, _, ok := t.objects[gvr] if !ok { - t.objects[gvr] = make(map[ClusterNamespacedName]runtime.Object) + t.objects[gvr] = make(map[ClusterNamespacedName]versionedObject) + } + + // Determine resource version for the new or updated object. + resourceVersion, ok := t.resourceVersions[gvr] + if !ok { + resourceVersion = 1 } + resourceVersion++ cluster := logicalcluster.From(newMeta).Path() if cluster.Empty() { @@ -737,11 +828,12 @@ func (t *scopedTracker) add(gvr schema.GroupVersionResource, obj runtime.Object, namespacedName := ClusterNamespacedName{Cluster: cluster, NamespacedName: types.NamespacedName{Namespace: newMeta.GetNamespace(), Name: newMeta.GetName()}} if _, ok = t.objects[gvr][namespacedName]; ok { if replaceExisting { + t.resourceVersions[gvr] = resourceVersion + t.objects[gvr][namespacedName] = versionedObject{resourceVersion, obj} for _, w := range t.getWatches(gvr, t.clusterPath, ns) { // To avoid the object from being accidentally modified by watcher w.Modify(obj.DeepCopyObject()) } - t.objects[gvr][namespacedName] = obj return nil } return apierrors.NewAlreadyExists(gr, newMeta.GetName()) @@ -752,7 +844,8 @@ func (t *scopedTracker) add(gvr schema.GroupVersionResource, obj runtime.Object, return apierrors.NewNotFound(gr, newMeta.GetName()) } - t.objects[gvr][namespacedName] = obj + t.resourceVersions[gvr] = resourceVersion + t.objects[gvr][namespacedName] = versionedObject{resourceVersion, obj} for _, w := range t.getWatches(gvr, t.clusterPath, ns) { // To avoid the object from being accidentally modified by watcher @@ -810,7 +903,7 @@ type managedFieldObjectTracker struct { ObjectTracker scheme ObjectScheme objectConverter runtime.ObjectConvertor - mapper meta.RESTMapper + mapper func() meta.RESTMapper typeConverter managedfields.TypeConverter } @@ -823,8 +916,10 @@ func NewFieldManagedObjectTracker(scheme *runtime.Scheme, decoder runtime.Decode ObjectTracker: NewObjectTracker(scheme, decoder), scheme: scheme, objectConverter: scheme, - mapper: testrestmapper.TestOnlyStaticRESTMapper(scheme), - typeConverter: typeConverter, + mapper: func() meta.RESTMapper { + return testrestmapper.TestOnlyStaticRESTMapper(scheme) + }, + typeConverter: typeConverter, } } @@ -842,7 +937,7 @@ type scopedManagedFieldObjectTracker struct { ScopedObjectTracker scheme ObjectScheme objectConverter runtime.ObjectConvertor - mapper meta.RESTMapper + mapper func() meta.RESTMapper typeConverter managedfields.TypeConverter } @@ -853,7 +948,7 @@ func (t *scopedManagedFieldObjectTracker) Create(gvr schema.GroupVersionResource if err != nil { return err } - gvk, err := t.mapper.KindFor(gvr) + gvk, err := t.mapper().KindFor(gvr) if err != nil { return err } @@ -897,7 +992,7 @@ func (t *scopedManagedFieldObjectTracker) Update(gvr schema.GroupVersionResource if err != nil { return err } - gvk, err := t.mapper.KindFor(gvr) + gvk, err := t.mapper().KindFor(gvr) if err != nil { return err } @@ -927,7 +1022,7 @@ func (t *scopedManagedFieldObjectTracker) Patch(gvr schema.GroupVersionResource, if err != nil { return err } - gvk, err := t.mapper.KindFor(gvr) + gvk, err := t.mapper().KindFor(gvr) if err != nil { return err } @@ -956,7 +1051,7 @@ func (t *scopedManagedFieldObjectTracker) Apply(gvr schema.GroupVersionResource, if err != nil { return err } - gvk, err := t.mapper.KindFor(gvr) + gvk, err := t.mapper().KindFor(gvr) if err != nil { return err } @@ -1026,11 +1121,11 @@ func (d *objectDefaulter) Default(_ runtime.Object) {} // filterByNamespace returns all objects in the collection that // match provided namespace. Empty namespace matches // non-namespaced objects. -func filterByNamespace(objs map[ClusterNamespacedName]runtime.Object, ns string) ([]runtime.Object, error) { - var res []runtime.Object +func filterByNamespace(objs map[ClusterNamespacedName]versionedObject, ns string) ([]versionedObject, error) { + var res []versionedObject for _, obj := range objs { - acc, err := meta.Accessor(obj) + acc, err := meta.Accessor(obj.Object) if err != nil { return nil, err } @@ -1042,8 +1137,8 @@ func filterByNamespace(objs map[ClusterNamespacedName]runtime.Object, ns string) // Sort res to get deterministic order. sort.Slice(res, func(i, j int) bool { - acc1, _ := meta.Accessor(res[i]) - acc2, _ := meta.Accessor(res[j]) + acc1, _ := meta.Accessor(res[i].Object) + acc2, _ := meta.Accessor(res[j].Object) if acc1.GetNamespace() != acc2.GetNamespace() { return acc1.GetNamespace() < acc2.GetNamespace() } diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go index 314cbffdb03..0cf1ebd851d 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go @@ -23,13 +23,14 @@ import ( "sync" "time" + "k8s.io/klog/v2" + "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" utilcache "k8s.io/apimachinery/pkg/util/cache" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/tools/cache" - "k8s.io/klog/v2" ) // MutationCache is able to take the result of update operations and stores them in an LRU From c4c0b7e1e77175d0d200aab21f774f8e3c2ffd87 Mon Sep 17 00:00:00 2001 From: "Nelo-T. Wallus" Date: Fri, 8 May 2026 16:52:13 +0200 Subject: [PATCH 9/9] codegen Signed-off-by: Nelo-T. Wallus Signed-off-by: Nelo-T. Wallus --- .../admissionregistration/v1/interface.go | 14 ++ .../v1/mutatingadmissionpolicy.go} | 74 +++++----- .../v1/mutatingadmissionpolicybinding.go | 127 ++++++++++++++++++ .../informers/autoscaling/interface.go | 16 --- .../autoscaling/v2beta1/interface.go | 43 ------ .../v2beta2/horizontalpodautoscaler.go | 127 ------------------ .../autoscaling/v2beta2/interface.go | 43 ------ .../kcp-dev/client-go/informers/generic.go | 30 ++--- .../informers/resource/v1alpha3/interface.go | 7 + .../v1alpha3/resourcepoolstatusrequest.go | 127 ++++++++++++++++++ .../resource/v1beta2/devicetaintrule.go | 127 ++++++++++++++++++ .../informers/resource/v1beta2/interface.go | 7 + .../informers/scheduling/interface.go | 12 +- .../{v1alpha1 => v1alpha2}/interface.go | 12 +- .../priorityclass.go => v1alpha2/podgroup.go} | 68 +++++----- .../{v1alpha1 => v1alpha2}/workload.go | 36 ++--- .../kcp-dev/client-go/kubernetes/clientset.go | 42 ++---- .../client-go/kubernetes/fake/clientset.go | 44 ++---- .../client-go/kubernetes/fake/register.go | 8 +- .../client-go/kubernetes/scheme/register.go | 8 +- .../v1/admissionregistration_client.go | 10 ++ .../v1/fake/admissionregistration_client.go | 16 +++ .../v1/fake/mutatingadmissionpolicy.go | 98 ++++++++++++++ .../v1/fake/mutatingadmissionpolicybinding.go | 102 ++++++++++++++ .../v1/generated_expansion.go | 4 + .../v1/mutatingadmissionpolicy.go | 69 ++++++++++ .../v1/mutatingadmissionpolicybinding.go | 69 ++++++++++ .../autoscaling/v2beta1/autoscaling_client.go | 103 -------------- .../v2beta1/fake/autoscaling_client.go | 61 --------- .../v2beta1/fake/horizontalpodautoscaler.go | 107 --------------- .../v2beta1/generated_expansion.go | 21 --- .../v2beta1/horizontalpodautoscaler.go | 83 ------------ .../autoscaling/v2beta2/autoscaling_client.go | 103 -------------- .../typed/autoscaling/v2beta2/doc.go | 20 --- .../v2beta2/fake/autoscaling_client.go | 61 --------- .../typed/autoscaling/v2beta2/fake/doc.go | 20 --- .../v2beta2/fake/horizontalpodautoscaler.go | 107 --------------- .../v2beta2/generated_expansion.go | 21 --- .../v2beta2/horizontalpodautoscaler.go | 83 ------------ .../resource/v1alpha3/fake/resource_client.go | 8 ++ .../fake/resourcepoolstatusrequest.go | 98 ++++++++++++++ .../resource/v1alpha3/generated_expansion.go | 2 + .../resource/v1alpha3/resource_client.go | 5 + .../v1alpha3/resourcepoolstatusrequest.go | 69 ++++++++++ .../typed/resource/v1beta2/devicetaintrule.go | 69 ++++++++++ .../resource/v1beta2/fake/devicetaintrule.go | 90 +++++++++++++ .../resource/v1beta2/fake/resource_client.go | 8 ++ .../resource/v1beta2/generated_expansion.go | 2 + .../typed/resource/v1beta2/resource_client.go | 5 + .../typed/scheduling/v1alpha1/doc.go | 20 --- .../typed/scheduling/v1alpha1/fake/doc.go | 20 --- .../scheduling/v1alpha1/fake/priorityclass.go | 90 ------------- .../scheduling/v1alpha1/fake/workload.go | 99 -------------- .../scheduling/v1alpha1/priorityclass.go | 69 ---------- .../v2beta1 => scheduling/v1alpha2}/doc.go | 2 +- .../v1alpha2}/fake/doc.go | 0 .../scheduling/v1alpha2/fake/podgroup.go | 99 ++++++++++++++ .../fake/scheduling_client.go | 28 ++-- .../scheduling/v1alpha2/fake/workload.go | 99 ++++++++++++++ .../generated_expansion.go | 4 +- .../typed/scheduling/v1alpha2/podgroup.go | 83 ++++++++++++ .../scheduling_client.go | 50 +++---- .../{v1alpha1 => v1alpha2}/workload.go | 20 +-- .../v1/expansion_generated.go | 8 ++ .../v1/mutatingadmissionpolicy.go | 91 +++++++++++++ .../v1/mutatingadmissionpolicybinding.go | 91 +++++++++++++ .../v2beta1/expansion_generated.go | 23 ---- .../v2beta1/horizontalpodautoscaler.go | 115 ---------------- .../v2beta2/expansion_generated.go | 23 ---- .../v2beta2/horizontalpodautoscaler.go | 115 ---------------- .../resource/v1alpha3/expansion_generated.go | 4 + .../v1alpha3/resourcepoolstatusrequest.go | 91 +++++++++++++ .../resource/v1beta2/devicetaintrule.go | 91 +++++++++++++ .../resource/v1beta2/expansion_generated.go | 4 + .../scheduling/v1alpha1/priorityclass.go | 91 ------------- .../expansion_generated.go | 8 +- .../listers/scheduling/v1alpha2/podgroup.go | 115 ++++++++++++++++ .../{v1alpha1 => v1alpha2}/workload.go | 40 +++--- .../client-go/tools/cache/mutation_cache.go | 3 +- .../versioned/fake/clientset_generated.go | 10 +- .../example/v1/clustertesttype.go | 48 ++++--- .../externalversions/example/v1/testtype.go | 48 ++++--- .../example/v1alpha1/clustertesttype.go | 48 ++++--- .../example/v1alpha1/testtype.go | 48 ++++--- .../example/v1beta1/clustertesttype.go | 48 ++++--- .../example/v1beta1/testtype.go | 48 ++++--- .../example/v2/clustertesttype.go | 48 ++++--- .../externalversions/example/v2/testtype.go | 48 ++++--- .../example3/v1/clustertesttype.go | 48 ++++--- .../externalversions/example3/v1/testtype.go | 48 ++++--- .../exampledashed/v1/clustertesttype.go | 48 ++++--- .../exampledashed/v1/testtype.go | 48 ++++--- .../existinginterfaces/v1/clustertesttype.go | 48 ++++--- .../existinginterfaces/v1/testtype.go | 48 ++++--- .../informers/externalversions/factory.go | 110 ++++++++++++--- .../internalinterfaces/factory_interfaces.go | 19 +++ .../secondexample/v1/clustertesttype.go | 48 ++++--- .../secondexample/v1/testtype.go | 48 ++++--- .../apis/v1alpha1/zz_generated.deepcopy.go | 3 +- .../apis/v1alpha2/zz_generated.conversion.go | 5 +- .../apis/v1alpha2/zz_generated.deepcopy.go | 3 +- .../cache/v1alpha1/zz_generated.deepcopy.go | 3 +- .../core/v1alpha1/zz_generated.deepcopy.go | 3 +- .../tenancy/v1alpha1/zz_generated.deepcopy.go | 5 +- .../v1alpha1/zz_generated.deepcopy.go | 3 +- .../apis/v1alpha1/apibinding.go | 3 +- .../apis/v1alpha1/apiconversion.go | 3 +- .../apis/v1alpha1/apiexport.go | 3 +- .../apis/v1alpha1/apiexportendpointslice.go | 3 +- .../apis/v1alpha1/apiresourceschema.go | 3 +- .../apis/v1alpha2/apibinding.go | 3 +- .../apis/v1alpha2/apiexport.go | 3 +- .../cache/v1alpha1/cachedresource.go | 3 +- .../v1alpha1/cachedresourceendpointslice.go | 3 +- .../conditions/v1alpha1/condition.go | 3 +- .../core/v1alpha1/logicalcluster.go | 3 +- .../applyconfiguration/core/v1alpha1/shard.go | 3 +- .../core/v1alpha1/shardstatus.go | 3 +- .../tenancy/v1alpha1/workspace.go | 3 +- .../workspaceauthenticationconfiguration.go | 3 +- .../tenancy/v1alpha1/workspacetype.go | 3 +- .../topology/v1alpha1/partition.go | 3 +- .../topology/v1alpha1/partitionset.go | 3 +- .../sdk/client/applyconfiguration/utils.go | 11 +- .../client/clientset/versioned/clientset.go | 7 +- .../clientset/versioned/cluster/clientset.go | 7 +- .../versioned/cluster/fake/clientset.go | 5 +- .../versioned/cluster/fake/register.go | 11 +- .../versioned/cluster/scheme/register.go | 11 +- .../cluster/typed/apis/v1alpha1/apibinding.go | 5 +- .../typed/apis/v1alpha1/apiconversion.go | 5 +- .../cluster/typed/apis/v1alpha1/apiexport.go | 5 +- .../apis/v1alpha1/apiexportendpointslice.go | 5 +- .../typed/apis/v1alpha1/apiresourceschema.go | 5 +- .../typed/apis/v1alpha1/apis_client.go | 3 +- .../typed/apis/v1alpha1/fake/apis_client.go | 3 +- .../cluster/typed/apis/v1alpha2/apibinding.go | 5 +- .../cluster/typed/apis/v1alpha2/apiexport.go | 5 +- .../typed/apis/v1alpha2/apis_client.go | 3 +- .../typed/apis/v1alpha2/fake/apis_client.go | 3 +- .../typed/cache/v1alpha1/cache_client.go | 3 +- .../typed/cache/v1alpha1/cachedresource.go | 5 +- .../v1alpha1/cachedresourceendpointslice.go | 5 +- .../typed/cache/v1alpha1/fake/cache_client.go | 3 +- .../typed/core/v1alpha1/core_client.go | 3 +- .../typed/core/v1alpha1/fake/core_client.go | 3 +- .../typed/core/v1alpha1/logicalcluster.go | 5 +- .../cluster/typed/core/v1alpha1/shard.go | 5 +- .../tenancy/v1alpha1/fake/tenancy_client.go | 3 +- .../typed/tenancy/v1alpha1/tenancy_client.go | 3 +- .../typed/tenancy/v1alpha1/workspace.go | 5 +- .../workspaceauthenticationconfiguration.go | 5 +- .../typed/tenancy/v1alpha1/workspacetype.go | 5 +- .../topology/v1alpha1/fake/topology_client.go | 3 +- .../typed/topology/v1alpha1/partition.go | 5 +- .../typed/topology/v1alpha1/partitionset.go | 5 +- .../topology/v1alpha1/topology_client.go | 3 +- .../versioned/fake/clientset_generated.go | 23 ++-- .../clientset/versioned/fake/register.go | 11 +- .../clientset/versioned/scheme/register.go | 11 +- .../typed/apis/v1alpha1/apibinding.go | 7 +- .../typed/apis/v1alpha1/apiconversion.go | 7 +- .../typed/apis/v1alpha1/apiexport.go | 7 +- .../apis/v1alpha1/apiexportendpointslice.go | 7 +- .../typed/apis/v1alpha1/apiresourceschema.go | 7 +- .../typed/apis/v1alpha1/apis_client.go | 3 +- .../apis/v1alpha1/fake/fake_apibinding.go | 3 +- .../apis/v1alpha1/fake/fake_apiconversion.go | 3 +- .../apis/v1alpha1/fake/fake_apiexport.go | 3 +- .../fake/fake_apiexportendpointslice.go | 3 +- .../v1alpha1/fake/fake_apiresourceschema.go | 3 +- .../apis/v1alpha1/fake/fake_apis_client.go | 3 +- .../typed/apis/v1alpha2/apibinding.go | 7 +- .../typed/apis/v1alpha2/apiexport.go | 7 +- .../typed/apis/v1alpha2/apis_client.go | 3 +- .../apis/v1alpha2/fake/fake_apibinding.go | 3 +- .../apis/v1alpha2/fake/fake_apiexport.go | 3 +- .../apis/v1alpha2/fake/fake_apis_client.go | 3 +- .../typed/cache/v1alpha1/cache_client.go | 3 +- .../typed/cache/v1alpha1/cachedresource.go | 7 +- .../v1alpha1/cachedresourceendpointslice.go | 7 +- .../cache/v1alpha1/fake/fake_cache_client.go | 3 +- .../v1alpha1/fake/fake_cachedresource.go | 3 +- .../fake/fake_cachedresourceendpointslice.go | 3 +- .../typed/core/v1alpha1/core_client.go | 3 +- .../core/v1alpha1/fake/fake_core_client.go | 3 +- .../core/v1alpha1/fake/fake_logicalcluster.go | 3 +- .../typed/core/v1alpha1/fake/fake_shard.go | 3 +- .../typed/core/v1alpha1/logicalcluster.go | 7 +- .../versioned/typed/core/v1alpha1/shard.go | 7 +- .../v1alpha1/fake/fake_tenancy_client.go | 3 +- .../tenancy/v1alpha1/fake/fake_workspace.go | 3 +- ...ke_workspaceauthenticationconfiguration.go | 3 +- .../v1alpha1/fake/fake_workspacetype.go | 3 +- .../typed/tenancy/v1alpha1/tenancy_client.go | 3 +- .../typed/tenancy/v1alpha1/workspace.go | 7 +- .../workspaceauthenticationconfiguration.go | 7 +- .../typed/tenancy/v1alpha1/workspacetype.go | 7 +- .../topology/v1alpha1/fake/fake_partition.go | 3 +- .../v1alpha1/fake/fake_partitionset.go | 3 +- .../v1alpha1/fake/fake_topology_client.go | 3 +- .../typed/topology/v1alpha1/partition.go | 7 +- .../typed/topology/v1alpha1/partitionset.go | 7 +- .../topology/v1alpha1/topology_client.go | 3 +- .../apis/v1alpha1/apibinding.go | 9 +- .../apis/v1alpha1/apiconversion.go | 9 +- .../apis/v1alpha1/apiexport.go | 9 +- .../apis/v1alpha1/apiexportendpointslice.go | 9 +- .../apis/v1alpha1/apiresourceschema.go | 9 +- .../apis/v1alpha2/apibinding.go | 9 +- .../apis/v1alpha2/apiexport.go | 9 +- .../cache/v1alpha1/cachedresource.go | 9 +- .../v1alpha1/cachedresourceendpointslice.go | 9 +- .../core/v1alpha1/logicalcluster.go | 9 +- .../externalversions/core/v1alpha1/shard.go | 9 +- .../informers/externalversions/factory.go | 9 +- .../informers/externalversions/generic.go | 5 +- .../internalinterfaces/factory_interfaces.go | 7 +- .../tenancy/v1alpha1/workspace.go | 9 +- .../workspaceauthenticationconfiguration.go | 9 +- .../tenancy/v1alpha1/workspacetype.go | 9 +- .../topology/v1alpha1/partition.go | 9 +- .../topology/v1alpha1/partitionset.go | 9 +- .../listers/apis/v1alpha1/apibinding.go | 5 +- .../listers/apis/v1alpha1/apiconversion.go | 5 +- .../client/listers/apis/v1alpha1/apiexport.go | 5 +- .../apis/v1alpha1/apiexportendpointslice.go | 5 +- .../apis/v1alpha1/apiresourceschema.go | 5 +- .../listers/apis/v1alpha2/apibinding.go | 5 +- .../client/listers/apis/v1alpha2/apiexport.go | 5 +- .../listers/cache/v1alpha1/cachedresource.go | 5 +- .../v1alpha1/cachedresourceendpointslice.go | 5 +- .../listers/core/v1alpha1/logicalcluster.go | 5 +- .../sdk/client/listers/core/v1alpha1/shard.go | 5 +- .../listers/tenancy/v1alpha1/workspace.go | 5 +- .../workspaceauthenticationconfiguration.go | 5 +- .../listers/tenancy/v1alpha1/workspacetype.go | 5 +- .../listers/topology/v1alpha1/partition.go | 5 +- .../listers/topology/v1alpha1/partitionset.go | 5 +- .../sdk/openapi/zz_generated.openapi.go | 49 ++++++- 240 files changed, 3071 insertions(+), 2700 deletions(-) rename staging/src/github.com/kcp-dev/client-go/informers/{autoscaling/v2beta1/horizontalpodautoscaler.go => admissionregistration/v1/mutatingadmissionpolicy.go} (52%) create mode 100644 staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicybinding.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/interface.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/horizontalpodautoscaler.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/interface.go create mode 100644 staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/resourcepoolstatusrequest.go create mode 100644 staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/devicetaintrule.go rename staging/src/github.com/kcp-dev/client-go/informers/scheduling/{v1alpha1 => v1alpha2}/interface.go (80%) rename staging/src/github.com/kcp-dev/client-go/informers/scheduling/{v1alpha1/priorityclass.go => v1alpha2/podgroup.go} (50%) rename staging/src/github.com/kcp-dev/client-go/informers/scheduling/{v1alpha1 => v1alpha2}/workload.go (80%) create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicy.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicybinding.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicy.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicybinding.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/autoscaling_client.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/autoscaling_client.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/horizontalpodautoscaler.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/generated_expansion.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/horizontalpodautoscaler.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/autoscaling_client.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/doc.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/autoscaling_client.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/doc.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/horizontalpodautoscaler.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/generated_expansion.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/horizontalpodautoscaler.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resourcepoolstatusrequest.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resourcepoolstatusrequest.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/devicetaintrule.go create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/devicetaintrule.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/doc.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/doc.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/priorityclass.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/workload.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/priorityclass.go rename staging/src/github.com/kcp-dev/client-go/kubernetes/typed/{autoscaling/v2beta1 => scheduling/v1alpha2}/doc.go (97%) rename staging/src/github.com/kcp-dev/client-go/kubernetes/typed/{autoscaling/v2beta1 => scheduling/v1alpha2}/fake/doc.go (100%) create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/podgroup.go rename staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/{v1alpha1 => v1alpha2}/fake/scheduling_client.go (53%) create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/workload.go rename staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/{v1alpha1 => v1alpha2}/generated_expansion.go (91%) create mode 100644 staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/podgroup.go rename staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/{v1alpha1 => v1alpha2}/scheduling_client.go (61%) rename staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/{v1alpha1 => v1alpha2}/workload.go (82%) create mode 100644 staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicy.go create mode 100644 staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicybinding.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/expansion_generated.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/horizontalpodautoscaler.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/expansion_generated.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/horizontalpodautoscaler.go create mode 100644 staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/resourcepoolstatusrequest.go create mode 100644 staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/devicetaintrule.go delete mode 100644 staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/priorityclass.go rename staging/src/github.com/kcp-dev/client-go/listers/scheduling/{v1alpha1 => v1alpha2}/expansion_generated.go (81%) create mode 100644 staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/podgroup.go rename staging/src/github.com/kcp-dev/client-go/listers/scheduling/{v1alpha1 => v1alpha2}/workload.go (75%) diff --git a/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/interface.go index 822e4233f3e..dcfcc130f1b 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/interface.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/interface.go @@ -23,6 +23,10 @@ import ( ) type ClusterInterface interface { + // MutatingAdmissionPolicies returns a MutatingAdmissionPolicyClusterInformer. + MutatingAdmissionPolicies() MutatingAdmissionPolicyClusterInformer + // MutatingAdmissionPolicyBindings returns a MutatingAdmissionPolicyBindingClusterInformer. + MutatingAdmissionPolicyBindings() MutatingAdmissionPolicyBindingClusterInformer // MutatingWebhookConfigurations returns a MutatingWebhookConfigurationClusterInformer. MutatingWebhookConfigurations() MutatingWebhookConfigurationClusterInformer // ValidatingAdmissionPolicies returns a ValidatingAdmissionPolicyClusterInformer. @@ -43,6 +47,16 @@ func New(f kcpinternalinterfaces.SharedInformerFactory, tweakListOptions kcpinte return &version{factory: f, tweakListOptions: tweakListOptions} } +// MutatingAdmissionPolicies returns a MutatingAdmissionPolicyClusterInformer. +func (v *version) MutatingAdmissionPolicies() MutatingAdmissionPolicyClusterInformer { + return &mutatingAdmissionPolicyClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// MutatingAdmissionPolicyBindings returns a MutatingAdmissionPolicyBindingClusterInformer. +func (v *version) MutatingAdmissionPolicyBindings() MutatingAdmissionPolicyBindingClusterInformer { + return &mutatingAdmissionPolicyBindingClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + // MutatingWebhookConfigurations returns a MutatingWebhookConfigurationClusterInformer. func (v *version) MutatingWebhookConfigurations() MutatingWebhookConfigurationClusterInformer { return &mutatingWebhookConfigurationClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicy.go similarity index 52% rename from staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/horizontalpodautoscaler.go rename to staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicy.go index d034b9e1592..4ef6d9c0c63 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/horizontalpodautoscaler.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicy.go @@ -16,112 +16,112 @@ limitations under the License. // Code generated by cluster-informer-gen. DO NOT EDIT. -package v2beta1 +package v1 import ( context "context" time "time" - apiautoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + apiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" - autoscalingv2beta1 "k8s.io/client-go/informers/autoscaling/v2beta1" - listersautoscalingv2beta1 "k8s.io/client-go/listers/autoscaling/v2beta1" + admissionregistrationv1 "k8s.io/client-go/informers/admissionregistration/v1" + listersadmissionregistrationv1 "k8s.io/client-go/listers/admissionregistration/v1" cache "k8s.io/client-go/tools/cache" kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" - kcpv2beta1 "github.com/kcp-dev/client-go/listers/autoscaling/v2beta1" + kcpv1 "github.com/kcp-dev/client-go/listers/admissionregistration/v1" logicalcluster "github.com/kcp-dev/logicalcluster/v3" ) -// HorizontalPodAutoscalerClusterInformer provides access to a shared informer and lister for -// HorizontalPodAutoscalers. -type HorizontalPodAutoscalerClusterInformer interface { - Cluster(logicalcluster.Name) autoscalingv2beta1.HorizontalPodAutoscalerInformer - ClusterWithContext(context.Context, logicalcluster.Name) autoscalingv2beta1.HorizontalPodAutoscalerInformer +// MutatingAdmissionPolicyClusterInformer provides access to a shared informer and lister for +// MutatingAdmissionPolicies. +type MutatingAdmissionPolicyClusterInformer interface { + Cluster(logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyInformer + ClusterWithContext(context.Context, logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyInformer Informer() kcpcache.ScopeableSharedIndexInformer - Lister() kcpv2beta1.HorizontalPodAutoscalerClusterLister + Lister() kcpv1.MutatingAdmissionPolicyClusterLister } -type horizontalPodAutoscalerClusterInformer struct { +type mutatingAdmissionPolicyClusterInformer struct { factory kcpinternalinterfaces.SharedInformerFactory tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc } -// NewHorizontalPodAutoscalerClusterInformer constructs a new informer for HorizontalPodAutoscaler type. +// NewMutatingAdmissionPolicyClusterInformer constructs a new informer for MutatingAdmissionPolicy type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. -func NewHorizontalPodAutoscalerClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { - return NewFilteredHorizontalPodAutoscalerClusterInformer(client, resyncPeriod, indexers, nil) +func NewMutatingAdmissionPolicyClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredMutatingAdmissionPolicyClusterInformer(client, resyncPeriod, indexers, nil) } -// NewFilteredHorizontalPodAutoscalerClusterInformer constructs a new informer for HorizontalPodAutoscaler type. +// NewFilteredMutatingAdmissionPolicyClusterInformer constructs a new informer for MutatingAdmissionPolicy type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. -func NewFilteredHorizontalPodAutoscalerClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { +func NewFilteredMutatingAdmissionPolicyClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { return kcpinformers.NewSharedIndexInformer( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.AutoscalingV2beta1().HorizontalPodAutoscalers().List(context.Background(), options) + return client.AdmissionregistrationV1().MutatingAdmissionPolicies().List(context.Background(), options) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.AutoscalingV2beta1().HorizontalPodAutoscalers().Watch(context.Background(), options) + return client.AdmissionregistrationV1().MutatingAdmissionPolicies().Watch(context.Background(), options) }, }, client), - &apiautoscalingv2beta1.HorizontalPodAutoscaler{}, + &apiadmissionregistrationv1.MutatingAdmissionPolicy{}, resyncPeriod, indexers, ) } -func (i *horizontalPodAutoscalerClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { - return NewFilteredHorizontalPodAutoscalerClusterInformer(client, resyncPeriod, cache.Indexers{ +func (i *mutatingAdmissionPolicyClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredMutatingAdmissionPolicyClusterInformer(client, resyncPeriod, cache.Indexers{ kcpcache.ClusterIndexName: kcpcache.ClusterIndexFunc, kcpcache.ClusterAndNamespaceIndexName: kcpcache.ClusterAndNamespaceIndexFunc, }, i.tweakListOptions) } -func (i *horizontalPodAutoscalerClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { - return i.factory.InformerFor(&apiautoscalingv2beta1.HorizontalPodAutoscaler{}, i.defaultInformer) +func (i *mutatingAdmissionPolicyClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { + return i.factory.InformerFor(&apiadmissionregistrationv1.MutatingAdmissionPolicy{}, i.defaultInformer) } -func (i *horizontalPodAutoscalerClusterInformer) Lister() kcpv2beta1.HorizontalPodAutoscalerClusterLister { - return kcpv2beta1.NewHorizontalPodAutoscalerClusterLister(i.Informer().GetIndexer()) +func (i *mutatingAdmissionPolicyClusterInformer) Lister() kcpv1.MutatingAdmissionPolicyClusterLister { + return kcpv1.NewMutatingAdmissionPolicyClusterLister(i.Informer().GetIndexer()) } -func (i *horizontalPodAutoscalerClusterInformer) Cluster(clusterName logicalcluster.Name) autoscalingv2beta1.HorizontalPodAutoscalerInformer { - return &horizontalPodAutoscalerInformer{ +func (i *mutatingAdmissionPolicyClusterInformer) Cluster(clusterName logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyInformer { + return &mutatingAdmissionPolicyInformer{ informer: i.Informer().Cluster(clusterName), lister: i.Lister().Cluster(clusterName), } } -func (i *horizontalPodAutoscalerClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) autoscalingv2beta1.HorizontalPodAutoscalerInformer { - return &horizontalPodAutoscalerInformer{ +func (i *mutatingAdmissionPolicyClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyInformer { + return &mutatingAdmissionPolicyInformer{ informer: i.Informer().ClusterWithContext(ctx, clusterName), lister: i.Lister().Cluster(clusterName), } } -type horizontalPodAutoscalerInformer struct { +type mutatingAdmissionPolicyInformer struct { informer cache.SharedIndexInformer - lister listersautoscalingv2beta1.HorizontalPodAutoscalerLister + lister listersadmissionregistrationv1.MutatingAdmissionPolicyLister } -func (i *horizontalPodAutoscalerInformer) Informer() cache.SharedIndexInformer { +func (i *mutatingAdmissionPolicyInformer) Informer() cache.SharedIndexInformer { return i.informer } -func (i *horizontalPodAutoscalerInformer) Lister() listersautoscalingv2beta1.HorizontalPodAutoscalerLister { +func (i *mutatingAdmissionPolicyInformer) Lister() listersadmissionregistrationv1.MutatingAdmissionPolicyLister { return i.lister } diff --git a/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicybinding.go b/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicybinding.go new file mode 100644 index 00000000000..2974013cd3d --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/informers/admissionregistration/v1/mutatingadmissionpolicybinding.go @@ -0,0 +1,127 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-informer-gen. DO NOT EDIT. + +package v1 + +import ( + context "context" + time "time" + + apiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + admissionregistrationv1 "k8s.io/client-go/informers/admissionregistration/v1" + listersadmissionregistrationv1 "k8s.io/client-go/listers/admissionregistration/v1" + cache "k8s.io/client-go/tools/cache" + + kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" + kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" + kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" + kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" + kcpv1 "github.com/kcp-dev/client-go/listers/admissionregistration/v1" + logicalcluster "github.com/kcp-dev/logicalcluster/v3" +) + +// MutatingAdmissionPolicyBindingClusterInformer provides access to a shared informer and lister for +// MutatingAdmissionPolicyBindings. +type MutatingAdmissionPolicyBindingClusterInformer interface { + Cluster(logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyBindingInformer + ClusterWithContext(context.Context, logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyBindingInformer + Informer() kcpcache.ScopeableSharedIndexInformer + Lister() kcpv1.MutatingAdmissionPolicyBindingClusterLister +} + +type mutatingAdmissionPolicyBindingClusterInformer struct { + factory kcpinternalinterfaces.SharedInformerFactory + tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc +} + +// NewMutatingAdmissionPolicyBindingClusterInformer constructs a new informer for MutatingAdmissionPolicyBinding type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewMutatingAdmissionPolicyBindingClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredMutatingAdmissionPolicyBindingClusterInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredMutatingAdmissionPolicyBindingClusterInformer constructs a new informer for MutatingAdmissionPolicyBinding type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredMutatingAdmissionPolicyBindingClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { + return kcpinformers.NewSharedIndexInformer( + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ + ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AdmissionregistrationV1().MutatingAdmissionPolicyBindings().List(context.Background(), options) + }, + WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AdmissionregistrationV1().MutatingAdmissionPolicyBindings().Watch(context.Background(), options) + }, + }, client), + &apiadmissionregistrationv1.MutatingAdmissionPolicyBinding{}, + resyncPeriod, + indexers, + ) +} + +func (i *mutatingAdmissionPolicyBindingClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredMutatingAdmissionPolicyBindingClusterInformer(client, resyncPeriod, cache.Indexers{ + kcpcache.ClusterIndexName: kcpcache.ClusterIndexFunc, + kcpcache.ClusterAndNamespaceIndexName: kcpcache.ClusterAndNamespaceIndexFunc, + }, i.tweakListOptions) +} + +func (i *mutatingAdmissionPolicyBindingClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { + return i.factory.InformerFor(&apiadmissionregistrationv1.MutatingAdmissionPolicyBinding{}, i.defaultInformer) +} + +func (i *mutatingAdmissionPolicyBindingClusterInformer) Lister() kcpv1.MutatingAdmissionPolicyBindingClusterLister { + return kcpv1.NewMutatingAdmissionPolicyBindingClusterLister(i.Informer().GetIndexer()) +} + +func (i *mutatingAdmissionPolicyBindingClusterInformer) Cluster(clusterName logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyBindingInformer { + return &mutatingAdmissionPolicyBindingInformer{ + informer: i.Informer().Cluster(clusterName), + lister: i.Lister().Cluster(clusterName), + } +} + +func (i *mutatingAdmissionPolicyBindingClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) admissionregistrationv1.MutatingAdmissionPolicyBindingInformer { + return &mutatingAdmissionPolicyBindingInformer{ + informer: i.Informer().ClusterWithContext(ctx, clusterName), + lister: i.Lister().Cluster(clusterName), + } +} + +type mutatingAdmissionPolicyBindingInformer struct { + informer cache.SharedIndexInformer + lister listersadmissionregistrationv1.MutatingAdmissionPolicyBindingLister +} + +func (i *mutatingAdmissionPolicyBindingInformer) Informer() cache.SharedIndexInformer { + return i.informer +} + +func (i *mutatingAdmissionPolicyBindingInformer) Lister() listersadmissionregistrationv1.MutatingAdmissionPolicyBindingLister { + return i.lister +} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/interface.go index f9a22adb892..98457b1f9f9 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/interface.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/interface.go @@ -21,8 +21,6 @@ package autoscaling import ( kcpv1 "github.com/kcp-dev/client-go/informers/autoscaling/v1" kcpv2 "github.com/kcp-dev/client-go/informers/autoscaling/v2" - kcpv2beta1 "github.com/kcp-dev/client-go/informers/autoscaling/v2beta1" - kcpv2beta2 "github.com/kcp-dev/client-go/informers/autoscaling/v2beta2" kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" ) @@ -32,10 +30,6 @@ type ClusterInterface interface { V1() kcpv1.ClusterInterface // V2 provides access to shared informers for resources in V2. V2() kcpv2.ClusterInterface - // V2beta1 provides access to shared informers for resources in V2beta1. - V2beta1() kcpv2beta1.ClusterInterface - // V2beta2 provides access to shared informers for resources in V2beta2. - V2beta2() kcpv2beta2.ClusterInterface } type group struct { @@ -57,13 +51,3 @@ func (g *group) V1() kcpv1.ClusterInterface { func (g *group) V2() kcpv2.ClusterInterface { return kcpv2.New(g.factory, g.tweakListOptions) } - -// V2beta1 returns a new kcpv2beta1.ClusterInterface. -func (g *group) V2beta1() kcpv2beta1.ClusterInterface { - return kcpv2beta1.New(g.factory, g.tweakListOptions) -} - -// V2beta2 returns a new kcpv2beta2.ClusterInterface. -func (g *group) V2beta2() kcpv2beta2.ClusterInterface { - return kcpv2beta2.New(g.factory, g.tweakListOptions) -} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/interface.go deleted file mode 100644 index ab3429d34ce..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta1/interface.go +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-informer-gen. DO NOT EDIT. - -package v2beta1 - -import ( - kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" -) - -type ClusterInterface interface { - // HorizontalPodAutoscalers returns a HorizontalPodAutoscalerClusterInformer. - HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInformer -} - -type version struct { - factory kcpinternalinterfaces.SharedInformerFactory - tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc -} - -// New returns a new Interface. -func New(f kcpinternalinterfaces.SharedInformerFactory, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) ClusterInterface { - return &version{factory: f, tweakListOptions: tweakListOptions} -} - -// HorizontalPodAutoscalers returns a HorizontalPodAutoscalerClusterInformer. -func (v *version) HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInformer { - return &horizontalPodAutoscalerClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} -} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/horizontalpodautoscaler.go deleted file mode 100644 index eb23044a5a1..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/horizontalpodautoscaler.go +++ /dev/null @@ -1,127 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-informer-gen. DO NOT EDIT. - -package v2beta2 - -import ( - context "context" - time "time" - - apiautoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - autoscalingv2beta2 "k8s.io/client-go/informers/autoscaling/v2beta2" - listersautoscalingv2beta2 "k8s.io/client-go/listers/autoscaling/v2beta2" - cache "k8s.io/client-go/tools/cache" - - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" - kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" - kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" - kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" - kcpv2beta2 "github.com/kcp-dev/client-go/listers/autoscaling/v2beta2" - logicalcluster "github.com/kcp-dev/logicalcluster/v3" -) - -// HorizontalPodAutoscalerClusterInformer provides access to a shared informer and lister for -// HorizontalPodAutoscalers. -type HorizontalPodAutoscalerClusterInformer interface { - Cluster(logicalcluster.Name) autoscalingv2beta2.HorizontalPodAutoscalerInformer - ClusterWithContext(context.Context, logicalcluster.Name) autoscalingv2beta2.HorizontalPodAutoscalerInformer - Informer() kcpcache.ScopeableSharedIndexInformer - Lister() kcpv2beta2.HorizontalPodAutoscalerClusterLister -} - -type horizontalPodAutoscalerClusterInformer struct { - factory kcpinternalinterfaces.SharedInformerFactory - tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc -} - -// NewHorizontalPodAutoscalerClusterInformer constructs a new informer for HorizontalPodAutoscaler type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewHorizontalPodAutoscalerClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { - return NewFilteredHorizontalPodAutoscalerClusterInformer(client, resyncPeriod, indexers, nil) -} - -// NewFilteredHorizontalPodAutoscalerClusterInformer constructs a new informer for HorizontalPodAutoscaler type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewFilteredHorizontalPodAutoscalerClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { - return kcpinformers.NewSharedIndexInformer( - cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.AutoscalingV2beta2().HorizontalPodAutoscalers().List(context.Background(), options) - }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.AutoscalingV2beta2().HorizontalPodAutoscalers().Watch(context.Background(), options) - }, - }, client), - &apiautoscalingv2beta2.HorizontalPodAutoscaler{}, - resyncPeriod, - indexers, - ) -} - -func (i *horizontalPodAutoscalerClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { - return NewFilteredHorizontalPodAutoscalerClusterInformer(client, resyncPeriod, cache.Indexers{ - kcpcache.ClusterIndexName: kcpcache.ClusterIndexFunc, - kcpcache.ClusterAndNamespaceIndexName: kcpcache.ClusterAndNamespaceIndexFunc, - }, i.tweakListOptions) -} - -func (i *horizontalPodAutoscalerClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { - return i.factory.InformerFor(&apiautoscalingv2beta2.HorizontalPodAutoscaler{}, i.defaultInformer) -} - -func (i *horizontalPodAutoscalerClusterInformer) Lister() kcpv2beta2.HorizontalPodAutoscalerClusterLister { - return kcpv2beta2.NewHorizontalPodAutoscalerClusterLister(i.Informer().GetIndexer()) -} - -func (i *horizontalPodAutoscalerClusterInformer) Cluster(clusterName logicalcluster.Name) autoscalingv2beta2.HorizontalPodAutoscalerInformer { - return &horizontalPodAutoscalerInformer{ - informer: i.Informer().Cluster(clusterName), - lister: i.Lister().Cluster(clusterName), - } -} - -func (i *horizontalPodAutoscalerClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) autoscalingv2beta2.HorizontalPodAutoscalerInformer { - return &horizontalPodAutoscalerInformer{ - informer: i.Informer().ClusterWithContext(ctx, clusterName), - lister: i.Lister().Cluster(clusterName), - } -} - -type horizontalPodAutoscalerInformer struct { - informer cache.SharedIndexInformer - lister listersautoscalingv2beta2.HorizontalPodAutoscalerLister -} - -func (i *horizontalPodAutoscalerInformer) Informer() cache.SharedIndexInformer { - return i.informer -} - -func (i *horizontalPodAutoscalerInformer) Lister() listersautoscalingv2beta2.HorizontalPodAutoscalerLister { - return i.lister -} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/interface.go deleted file mode 100644 index 191c07e9b00..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/informers/autoscaling/v2beta2/interface.go +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-informer-gen. DO NOT EDIT. - -package v2beta2 - -import ( - kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" -) - -type ClusterInterface interface { - // HorizontalPodAutoscalers returns a HorizontalPodAutoscalerClusterInformer. - HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInformer -} - -type version struct { - factory kcpinternalinterfaces.SharedInformerFactory - tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc -} - -// New returns a new Interface. -func New(f kcpinternalinterfaces.SharedInformerFactory, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) ClusterInterface { - return &version{factory: f, tweakListOptions: tweakListOptions} -} - -// HorizontalPodAutoscalers returns a HorizontalPodAutoscalerClusterInformer. -func (v *version) HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInformer { - return &horizontalPodAutoscalerClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} -} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/generic.go b/staging/src/github.com/kcp-dev/client-go/informers/generic.go index 384d3df7345..48aa208fb74 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/generic.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/generic.go @@ -31,8 +31,6 @@ import ( v1beta2 "k8s.io/api/apps/v1beta2" autoscalingv1 "k8s.io/api/autoscaling/v1" v2 "k8s.io/api/autoscaling/v2" - v2beta1 "k8s.io/api/autoscaling/v2beta1" - v2beta2 "k8s.io/api/autoscaling/v2beta2" batchv1 "k8s.io/api/batch/v1" batchv1beta1 "k8s.io/api/batch/v1beta1" certificatesv1 "k8s.io/api/certificates/v1" @@ -66,7 +64,7 @@ import ( resourcev1beta1 "k8s.io/api/resource/v1beta1" resourcev1beta2 "k8s.io/api/resource/v1beta2" schedulingv1 "k8s.io/api/scheduling/v1" - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" schedulingv1beta1 "k8s.io/api/scheduling/v1beta1" storagev1 "k8s.io/api/storage/v1" storagev1alpha1 "k8s.io/api/storage/v1alpha1" @@ -139,6 +137,10 @@ func (i *genericInformer) Lister() cache.GenericLister { func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericClusterInformer, error) { switch resource { // Group=admissionregistration.k8s.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("mutatingadmissionpolicies"): + return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().MutatingAdmissionPolicies().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("mutatingadmissionpolicybindings"): + return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().MutatingAdmissionPolicyBindings().Informer()}, nil case v1.SchemeGroupVersion.WithResource("mutatingwebhookconfigurations"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().MutatingWebhookConfigurations().Informer()}, nil case v1.SchemeGroupVersion.WithResource("validatingadmissionpolicies"): @@ -212,14 +214,6 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource case v2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2().HorizontalPodAutoscalers().Informer()}, nil - // Group=autoscaling, Version=v2beta1 - case v2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"): - return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta1().HorizontalPodAutoscalers().Informer()}, nil - - // Group=autoscaling, Version=v2beta2 - case v2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"): - return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta2().HorizontalPodAutoscalers().Informer()}, nil - // Group=batch, Version=v1 case batchv1.SchemeGroupVersion.WithResource("cronjobs"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Batch().V1().CronJobs().Informer()}, nil @@ -435,6 +429,8 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource // Group=resource.k8s.io, Version=v1alpha3 case v1alpha3.SchemeGroupVersion.WithResource("devicetaintrules"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha3().DeviceTaintRules().Informer()}, nil + case v1alpha3.SchemeGroupVersion.WithResource("resourcepoolstatusrequests"): + return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha3().ResourcePoolStatusRequests().Informer()}, nil // Group=resource.k8s.io, Version=v1beta1 case resourcev1beta1.SchemeGroupVersion.WithResource("deviceclasses"): @@ -449,6 +445,8 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource // Group=resource.k8s.io, Version=v1beta2 case resourcev1beta2.SchemeGroupVersion.WithResource("deviceclasses"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Resource().V1beta2().DeviceClasses().Informer()}, nil + case resourcev1beta2.SchemeGroupVersion.WithResource("devicetaintrules"): + return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Resource().V1beta2().DeviceTaintRules().Informer()}, nil case resourcev1beta2.SchemeGroupVersion.WithResource("resourceclaims"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Resource().V1beta2().ResourceClaims().Informer()}, nil case resourcev1beta2.SchemeGroupVersion.WithResource("resourceclaimtemplates"): @@ -460,11 +458,11 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource case schedulingv1.SchemeGroupVersion.WithResource("priorityclasses"): return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1().PriorityClasses().Informer()}, nil - // Group=scheduling.k8s.io, Version=v1alpha1 - case schedulingv1alpha1.SchemeGroupVersion.WithResource("priorityclasses"): - return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1alpha1().PriorityClasses().Informer()}, nil - case schedulingv1alpha1.SchemeGroupVersion.WithResource("workloads"): - return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1alpha1().Workloads().Informer()}, nil + // Group=scheduling.k8s.io, Version=v1alpha2 + case schedulingv1alpha2.SchemeGroupVersion.WithResource("podgroups"): + return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1alpha2().PodGroups().Informer()}, nil + case schedulingv1alpha2.SchemeGroupVersion.WithResource("workloads"): + return &genericClusterInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1alpha2().Workloads().Informer()}, nil // Group=scheduling.k8s.io, Version=v1beta1 case schedulingv1beta1.SchemeGroupVersion.WithResource("priorityclasses"): diff --git a/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/interface.go index 441201b0634..90b041f340d 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/interface.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/interface.go @@ -25,6 +25,8 @@ import ( type ClusterInterface interface { // DeviceTaintRules returns a DeviceTaintRuleClusterInformer. DeviceTaintRules() DeviceTaintRuleClusterInformer + // ResourcePoolStatusRequests returns a ResourcePoolStatusRequestClusterInformer. + ResourcePoolStatusRequests() ResourcePoolStatusRequestClusterInformer } type version struct { @@ -41,3 +43,8 @@ func New(f kcpinternalinterfaces.SharedInformerFactory, tweakListOptions kcpinte func (v *version) DeviceTaintRules() DeviceTaintRuleClusterInformer { return &deviceTaintRuleClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} } + +// ResourcePoolStatusRequests returns a ResourcePoolStatusRequestClusterInformer. +func (v *version) ResourcePoolStatusRequests() ResourcePoolStatusRequestClusterInformer { + return &resourcePoolStatusRequestClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/resourcepoolstatusrequest.go b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/resourcepoolstatusrequest.go new file mode 100644 index 00000000000..289f1931d90 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1alpha3/resourcepoolstatusrequest.go @@ -0,0 +1,127 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-informer-gen. DO NOT EDIT. + +package v1alpha3 + +import ( + context "context" + time "time" + + apiresourcev1alpha3 "k8s.io/api/resource/v1alpha3" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + resourcev1alpha3 "k8s.io/client-go/informers/resource/v1alpha3" + listersresourcev1alpha3 "k8s.io/client-go/listers/resource/v1alpha3" + cache "k8s.io/client-go/tools/cache" + + kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" + kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" + kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" + kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" + kcpv1alpha3 "github.com/kcp-dev/client-go/listers/resource/v1alpha3" + logicalcluster "github.com/kcp-dev/logicalcluster/v3" +) + +// ResourcePoolStatusRequestClusterInformer provides access to a shared informer and lister for +// ResourcePoolStatusRequests. +type ResourcePoolStatusRequestClusterInformer interface { + Cluster(logicalcluster.Name) resourcev1alpha3.ResourcePoolStatusRequestInformer + ClusterWithContext(context.Context, logicalcluster.Name) resourcev1alpha3.ResourcePoolStatusRequestInformer + Informer() kcpcache.ScopeableSharedIndexInformer + Lister() kcpv1alpha3.ResourcePoolStatusRequestClusterLister +} + +type resourcePoolStatusRequestClusterInformer struct { + factory kcpinternalinterfaces.SharedInformerFactory + tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc +} + +// NewResourcePoolStatusRequestClusterInformer constructs a new informer for ResourcePoolStatusRequest type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewResourcePoolStatusRequestClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredResourcePoolStatusRequestClusterInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredResourcePoolStatusRequestClusterInformer constructs a new informer for ResourcePoolStatusRequest type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredResourcePoolStatusRequestClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { + return kcpinformers.NewSharedIndexInformer( + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ResourceV1alpha3().ResourcePoolStatusRequests().List(context.Background(), options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ResourceV1alpha3().ResourcePoolStatusRequests().Watch(context.Background(), options) + }, + }, client), + &apiresourcev1alpha3.ResourcePoolStatusRequest{}, + resyncPeriod, + indexers, + ) +} + +func (i *resourcePoolStatusRequestClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredResourcePoolStatusRequestClusterInformer(client, resyncPeriod, cache.Indexers{ + kcpcache.ClusterIndexName: kcpcache.ClusterIndexFunc, + kcpcache.ClusterAndNamespaceIndexName: kcpcache.ClusterAndNamespaceIndexFunc, + }, i.tweakListOptions) +} + +func (i *resourcePoolStatusRequestClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { + return i.factory.InformerFor(&apiresourcev1alpha3.ResourcePoolStatusRequest{}, i.defaultInformer) +} + +func (i *resourcePoolStatusRequestClusterInformer) Lister() kcpv1alpha3.ResourcePoolStatusRequestClusterLister { + return kcpv1alpha3.NewResourcePoolStatusRequestClusterLister(i.Informer().GetIndexer()) +} + +func (i *resourcePoolStatusRequestClusterInformer) Cluster(clusterName logicalcluster.Name) resourcev1alpha3.ResourcePoolStatusRequestInformer { + return &resourcePoolStatusRequestInformer{ + informer: i.Informer().Cluster(clusterName), + lister: i.Lister().Cluster(clusterName), + } +} + +func (i *resourcePoolStatusRequestClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) resourcev1alpha3.ResourcePoolStatusRequestInformer { + return &resourcePoolStatusRequestInformer{ + informer: i.Informer().ClusterWithContext(ctx, clusterName), + lister: i.Lister().Cluster(clusterName), + } +} + +type resourcePoolStatusRequestInformer struct { + informer cache.SharedIndexInformer + lister listersresourcev1alpha3.ResourcePoolStatusRequestLister +} + +func (i *resourcePoolStatusRequestInformer) Informer() cache.SharedIndexInformer { + return i.informer +} + +func (i *resourcePoolStatusRequestInformer) Lister() listersresourcev1alpha3.ResourcePoolStatusRequestLister { + return i.lister +} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/devicetaintrule.go b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/devicetaintrule.go new file mode 100644 index 00000000000..224bf056547 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/devicetaintrule.go @@ -0,0 +1,127 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-informer-gen. DO NOT EDIT. + +package v1beta2 + +import ( + context "context" + time "time" + + apiresourcev1beta2 "k8s.io/api/resource/v1beta2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + resourcev1beta2 "k8s.io/client-go/informers/resource/v1beta2" + listersresourcev1beta2 "k8s.io/client-go/listers/resource/v1beta2" + cache "k8s.io/client-go/tools/cache" + + kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" + kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" + kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" + kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" + kcpv1beta2 "github.com/kcp-dev/client-go/listers/resource/v1beta2" + logicalcluster "github.com/kcp-dev/logicalcluster/v3" +) + +// DeviceTaintRuleClusterInformer provides access to a shared informer and lister for +// DeviceTaintRules. +type DeviceTaintRuleClusterInformer interface { + Cluster(logicalcluster.Name) resourcev1beta2.DeviceTaintRuleInformer + ClusterWithContext(context.Context, logicalcluster.Name) resourcev1beta2.DeviceTaintRuleInformer + Informer() kcpcache.ScopeableSharedIndexInformer + Lister() kcpv1beta2.DeviceTaintRuleClusterLister +} + +type deviceTaintRuleClusterInformer struct { + factory kcpinternalinterfaces.SharedInformerFactory + tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc +} + +// NewDeviceTaintRuleClusterInformer constructs a new informer for DeviceTaintRule type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewDeviceTaintRuleClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredDeviceTaintRuleClusterInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredDeviceTaintRuleClusterInformer constructs a new informer for DeviceTaintRule type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredDeviceTaintRuleClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { + return kcpinformers.NewSharedIndexInformer( + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ResourceV1beta2().DeviceTaintRules().List(context.Background(), options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ResourceV1beta2().DeviceTaintRules().Watch(context.Background(), options) + }, + }, client), + &apiresourcev1beta2.DeviceTaintRule{}, + resyncPeriod, + indexers, + ) +} + +func (i *deviceTaintRuleClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredDeviceTaintRuleClusterInformer(client, resyncPeriod, cache.Indexers{ + kcpcache.ClusterIndexName: kcpcache.ClusterIndexFunc, + kcpcache.ClusterAndNamespaceIndexName: kcpcache.ClusterAndNamespaceIndexFunc, + }, i.tweakListOptions) +} + +func (i *deviceTaintRuleClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { + return i.factory.InformerFor(&apiresourcev1beta2.DeviceTaintRule{}, i.defaultInformer) +} + +func (i *deviceTaintRuleClusterInformer) Lister() kcpv1beta2.DeviceTaintRuleClusterLister { + return kcpv1beta2.NewDeviceTaintRuleClusterLister(i.Informer().GetIndexer()) +} + +func (i *deviceTaintRuleClusterInformer) Cluster(clusterName logicalcluster.Name) resourcev1beta2.DeviceTaintRuleInformer { + return &deviceTaintRuleInformer{ + informer: i.Informer().Cluster(clusterName), + lister: i.Lister().Cluster(clusterName), + } +} + +func (i *deviceTaintRuleClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) resourcev1beta2.DeviceTaintRuleInformer { + return &deviceTaintRuleInformer{ + informer: i.Informer().ClusterWithContext(ctx, clusterName), + lister: i.Lister().Cluster(clusterName), + } +} + +type deviceTaintRuleInformer struct { + informer cache.SharedIndexInformer + lister listersresourcev1beta2.DeviceTaintRuleLister +} + +func (i *deviceTaintRuleInformer) Informer() cache.SharedIndexInformer { + return i.informer +} + +func (i *deviceTaintRuleInformer) Lister() listersresourcev1beta2.DeviceTaintRuleLister { + return i.lister +} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/interface.go index dfbd8fa2406..4b2a87bb4ce 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/interface.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/resource/v1beta2/interface.go @@ -25,6 +25,8 @@ import ( type ClusterInterface interface { // DeviceClasses returns a DeviceClassClusterInformer. DeviceClasses() DeviceClassClusterInformer + // DeviceTaintRules returns a DeviceTaintRuleClusterInformer. + DeviceTaintRules() DeviceTaintRuleClusterInformer // ResourceClaims returns a ResourceClaimClusterInformer. ResourceClaims() ResourceClaimClusterInformer // ResourceClaimTemplates returns a ResourceClaimTemplateClusterInformer. @@ -48,6 +50,11 @@ func (v *version) DeviceClasses() DeviceClassClusterInformer { return &deviceClassClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} } +// DeviceTaintRules returns a DeviceTaintRuleClusterInformer. +func (v *version) DeviceTaintRules() DeviceTaintRuleClusterInformer { + return &deviceTaintRuleClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + // ResourceClaims returns a ResourceClaimClusterInformer. func (v *version) ResourceClaims() ResourceClaimClusterInformer { return &resourceClaimClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} diff --git a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/interface.go index 05872cdc090..c267209dfe7 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/interface.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/interface.go @@ -21,7 +21,7 @@ package scheduling import ( kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" kcpv1 "github.com/kcp-dev/client-go/informers/scheduling/v1" - kcpv1alpha1 "github.com/kcp-dev/client-go/informers/scheduling/v1alpha1" + kcpv1alpha2 "github.com/kcp-dev/client-go/informers/scheduling/v1alpha2" kcpv1beta1 "github.com/kcp-dev/client-go/informers/scheduling/v1beta1" ) @@ -29,8 +29,8 @@ import ( type ClusterInterface interface { // V1 provides access to shared informers for resources in V1. V1() kcpv1.ClusterInterface - // V1alpha1 provides access to shared informers for resources in V1alpha1. - V1alpha1() kcpv1alpha1.ClusterInterface + // V1alpha2 provides access to shared informers for resources in V1alpha2. + V1alpha2() kcpv1alpha2.ClusterInterface // V1beta1 provides access to shared informers for resources in V1beta1. V1beta1() kcpv1beta1.ClusterInterface } @@ -50,9 +50,9 @@ func (g *group) V1() kcpv1.ClusterInterface { return kcpv1.New(g.factory, g.tweakListOptions) } -// V1alpha1 returns a new kcpv1alpha1.ClusterInterface. -func (g *group) V1alpha1() kcpv1alpha1.ClusterInterface { - return kcpv1alpha1.New(g.factory, g.tweakListOptions) +// V1alpha2 returns a new kcpv1alpha2.ClusterInterface. +func (g *group) V1alpha2() kcpv1alpha2.ClusterInterface { + return kcpv1alpha2.New(g.factory, g.tweakListOptions) } // V1beta1 returns a new kcpv1beta1.ClusterInterface. diff --git a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/interface.go b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/interface.go similarity index 80% rename from staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/interface.go rename to staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/interface.go index 909a33a534e..a846152b647 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/interface.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/interface.go @@ -16,15 +16,15 @@ limitations under the License. // Code generated by cluster-informer-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 import ( kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" ) type ClusterInterface interface { - // PriorityClasses returns a PriorityClassClusterInformer. - PriorityClasses() PriorityClassClusterInformer + // PodGroups returns a PodGroupClusterInformer. + PodGroups() PodGroupClusterInformer // Workloads returns a WorkloadClusterInformer. Workloads() WorkloadClusterInformer } @@ -39,9 +39,9 @@ func New(f kcpinternalinterfaces.SharedInformerFactory, tweakListOptions kcpinte return &version{factory: f, tweakListOptions: tweakListOptions} } -// PriorityClasses returns a PriorityClassClusterInformer. -func (v *version) PriorityClasses() PriorityClassClusterInformer { - return &priorityClassClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +// PodGroups returns a PodGroupClusterInformer. +func (v *version) PodGroups() PodGroupClusterInformer { + return &podGroupClusterInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} } // Workloads returns a WorkloadClusterInformer. diff --git a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/priorityclass.go b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/podgroup.go similarity index 50% rename from staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/priorityclass.go rename to staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/podgroup.go index 540ed6f3193..671af038ce5 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/priorityclass.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/podgroup.go @@ -16,112 +16,112 @@ limitations under the License. // Code generated by cluster-informer-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 import ( context "context" time "time" - apischedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + apischedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" - schedulingv1alpha1 "k8s.io/client-go/informers/scheduling/v1alpha1" - listersschedulingv1alpha1 "k8s.io/client-go/listers/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/client-go/informers/scheduling/v1alpha2" + listersschedulingv1alpha2 "k8s.io/client-go/listers/scheduling/v1alpha2" cache "k8s.io/client-go/tools/cache" kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" - kcpv1alpha1 "github.com/kcp-dev/client-go/listers/scheduling/v1alpha1" + kcpv1alpha2 "github.com/kcp-dev/client-go/listers/scheduling/v1alpha2" logicalcluster "github.com/kcp-dev/logicalcluster/v3" ) -// PriorityClassClusterInformer provides access to a shared informer and lister for -// PriorityClasses. -type PriorityClassClusterInformer interface { - Cluster(logicalcluster.Name) schedulingv1alpha1.PriorityClassInformer - ClusterWithContext(context.Context, logicalcluster.Name) schedulingv1alpha1.PriorityClassInformer +// PodGroupClusterInformer provides access to a shared informer and lister for +// PodGroups. +type PodGroupClusterInformer interface { + Cluster(logicalcluster.Name) schedulingv1alpha2.PodGroupInformer + ClusterWithContext(context.Context, logicalcluster.Name) schedulingv1alpha2.PodGroupInformer Informer() kcpcache.ScopeableSharedIndexInformer - Lister() kcpv1alpha1.PriorityClassClusterLister + Lister() kcpv1alpha2.PodGroupClusterLister } -type priorityClassClusterInformer struct { +type podGroupClusterInformer struct { factory kcpinternalinterfaces.SharedInformerFactory tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc } -// NewPriorityClassClusterInformer constructs a new informer for PriorityClass type. +// NewPodGroupClusterInformer constructs a new informer for PodGroup type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. -func NewPriorityClassClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { - return NewFilteredPriorityClassClusterInformer(client, resyncPeriod, indexers, nil) +func NewPodGroupClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredPodGroupClusterInformer(client, resyncPeriod, indexers, nil) } -// NewFilteredPriorityClassClusterInformer constructs a new informer for PriorityClass type. +// NewFilteredPodGroupClusterInformer constructs a new informer for PodGroup type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. -func NewFilteredPriorityClassClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { +func NewFilteredPodGroupClusterInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions kcpinternalinterfaces.TweakListOptionsFunc) kcpcache.ScopeableSharedIndexInformer { return kcpinformers.NewSharedIndexInformer( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.SchedulingV1alpha1().PriorityClasses().List(context.Background(), options) + return client.SchedulingV1alpha2().PodGroups().List(context.Background(), options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.SchedulingV1alpha1().PriorityClasses().Watch(context.Background(), options) + return client.SchedulingV1alpha2().PodGroups().Watch(context.Background(), options) }, }, client), - &apischedulingv1alpha1.PriorityClass{}, + &apischedulingv1alpha2.PodGroup{}, resyncPeriod, indexers, ) } -func (i *priorityClassClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { - return NewFilteredPriorityClassClusterInformer(client, resyncPeriod, cache.Indexers{ +func (i *podGroupClusterInformer) defaultInformer(client kcpkubernetes.ClusterInterface, resyncPeriod time.Duration) kcpcache.ScopeableSharedIndexInformer { + return NewFilteredPodGroupClusterInformer(client, resyncPeriod, cache.Indexers{ kcpcache.ClusterIndexName: kcpcache.ClusterIndexFunc, kcpcache.ClusterAndNamespaceIndexName: kcpcache.ClusterAndNamespaceIndexFunc, }, i.tweakListOptions) } -func (i *priorityClassClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { - return i.factory.InformerFor(&apischedulingv1alpha1.PriorityClass{}, i.defaultInformer) +func (i *podGroupClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { + return i.factory.InformerFor(&apischedulingv1alpha2.PodGroup{}, i.defaultInformer) } -func (i *priorityClassClusterInformer) Lister() kcpv1alpha1.PriorityClassClusterLister { - return kcpv1alpha1.NewPriorityClassClusterLister(i.Informer().GetIndexer()) +func (i *podGroupClusterInformer) Lister() kcpv1alpha2.PodGroupClusterLister { + return kcpv1alpha2.NewPodGroupClusterLister(i.Informer().GetIndexer()) } -func (i *priorityClassClusterInformer) Cluster(clusterName logicalcluster.Name) schedulingv1alpha1.PriorityClassInformer { - return &priorityClassInformer{ +func (i *podGroupClusterInformer) Cluster(clusterName logicalcluster.Name) schedulingv1alpha2.PodGroupInformer { + return &podGroupInformer{ informer: i.Informer().Cluster(clusterName), lister: i.Lister().Cluster(clusterName), } } -func (i *priorityClassClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) schedulingv1alpha1.PriorityClassInformer { - return &priorityClassInformer{ +func (i *podGroupClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) schedulingv1alpha2.PodGroupInformer { + return &podGroupInformer{ informer: i.Informer().ClusterWithContext(ctx, clusterName), lister: i.Lister().Cluster(clusterName), } } -type priorityClassInformer struct { +type podGroupInformer struct { informer cache.SharedIndexInformer - lister listersschedulingv1alpha1.PriorityClassLister + lister listersschedulingv1alpha2.PodGroupLister } -func (i *priorityClassInformer) Informer() cache.SharedIndexInformer { +func (i *podGroupInformer) Informer() cache.SharedIndexInformer { return i.informer } -func (i *priorityClassInformer) Lister() listersschedulingv1alpha1.PriorityClassLister { +func (i *podGroupInformer) Lister() listersschedulingv1alpha2.PodGroupLister { return i.lister } diff --git a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/workload.go b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/workload.go similarity index 80% rename from staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/workload.go rename to staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/workload.go index adb61a5a202..6fac5a60a6c 100644 --- a/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha1/workload.go +++ b/staging/src/github.com/kcp-dev/client-go/informers/scheduling/v1alpha2/workload.go @@ -16,35 +16,35 @@ limitations under the License. // Code generated by cluster-informer-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 import ( context "context" time "time" - apischedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + apischedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" - schedulingv1alpha1 "k8s.io/client-go/informers/scheduling/v1alpha1" - listersschedulingv1alpha1 "k8s.io/client-go/listers/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/client-go/informers/scheduling/v1alpha2" + listersschedulingv1alpha2 "k8s.io/client-go/listers/scheduling/v1alpha2" cache "k8s.io/client-go/tools/cache" kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" kcpinternalinterfaces "github.com/kcp-dev/client-go/informers/internalinterfaces" kcpkubernetes "github.com/kcp-dev/client-go/kubernetes" - kcpv1alpha1 "github.com/kcp-dev/client-go/listers/scheduling/v1alpha1" + kcpv1alpha2 "github.com/kcp-dev/client-go/listers/scheduling/v1alpha2" logicalcluster "github.com/kcp-dev/logicalcluster/v3" ) // WorkloadClusterInformer provides access to a shared informer and lister for // Workloads. type WorkloadClusterInformer interface { - Cluster(logicalcluster.Name) schedulingv1alpha1.WorkloadInformer - ClusterWithContext(context.Context, logicalcluster.Name) schedulingv1alpha1.WorkloadInformer + Cluster(logicalcluster.Name) schedulingv1alpha2.WorkloadInformer + ClusterWithContext(context.Context, logicalcluster.Name) schedulingv1alpha2.WorkloadInformer Informer() kcpcache.ScopeableSharedIndexInformer - Lister() kcpv1alpha1.WorkloadClusterLister + Lister() kcpv1alpha2.WorkloadClusterLister } type workloadClusterInformer struct { @@ -69,16 +69,16 @@ func NewFilteredWorkloadClusterInformer(client kcpkubernetes.ClusterInterface, r if tweakListOptions != nil { tweakListOptions(&options) } - return client.SchedulingV1alpha1().Workloads().List(context.Background(), options) + return client.SchedulingV1alpha2().Workloads().List(context.Background(), options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.SchedulingV1alpha1().Workloads().Watch(context.Background(), options) + return client.SchedulingV1alpha2().Workloads().Watch(context.Background(), options) }, }, client), - &apischedulingv1alpha1.Workload{}, + &apischedulingv1alpha2.Workload{}, resyncPeriod, indexers, ) @@ -92,21 +92,21 @@ func (i *workloadClusterInformer) defaultInformer(client kcpkubernetes.ClusterIn } func (i *workloadClusterInformer) Informer() kcpcache.ScopeableSharedIndexInformer { - return i.factory.InformerFor(&apischedulingv1alpha1.Workload{}, i.defaultInformer) + return i.factory.InformerFor(&apischedulingv1alpha2.Workload{}, i.defaultInformer) } -func (i *workloadClusterInformer) Lister() kcpv1alpha1.WorkloadClusterLister { - return kcpv1alpha1.NewWorkloadClusterLister(i.Informer().GetIndexer()) +func (i *workloadClusterInformer) Lister() kcpv1alpha2.WorkloadClusterLister { + return kcpv1alpha2.NewWorkloadClusterLister(i.Informer().GetIndexer()) } -func (i *workloadClusterInformer) Cluster(clusterName logicalcluster.Name) schedulingv1alpha1.WorkloadInformer { +func (i *workloadClusterInformer) Cluster(clusterName logicalcluster.Name) schedulingv1alpha2.WorkloadInformer { return &workloadInformer{ informer: i.Informer().Cluster(clusterName), lister: i.Lister().Cluster(clusterName), } } -func (i *workloadClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) schedulingv1alpha1.WorkloadInformer { +func (i *workloadClusterInformer) ClusterWithContext(ctx context.Context, clusterName logicalcluster.Name) schedulingv1alpha2.WorkloadInformer { return &workloadInformer{ informer: i.Informer().ClusterWithContext(ctx, clusterName), lister: i.Lister().Cluster(clusterName), @@ -115,13 +115,13 @@ func (i *workloadClusterInformer) ClusterWithContext(ctx context.Context, cluste type workloadInformer struct { informer cache.SharedIndexInformer - lister listersschedulingv1alpha1.WorkloadLister + lister listersschedulingv1alpha2.WorkloadLister } func (i *workloadInformer) Informer() cache.SharedIndexInformer { return i.informer } -func (i *workloadInformer) Lister() listersschedulingv1alpha1.WorkloadLister { +func (i *workloadInformer) Lister() listersschedulingv1alpha2.WorkloadLister { return i.lister } diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/clientset.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/clientset.go index e663ead26b3..9d5f745e112 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/clientset.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/clientset.go @@ -42,8 +42,6 @@ import ( authorizationv1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/authorization/v1beta1" autoscalingv1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v1" autoscalingv2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2" - autoscalingv2beta1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1" - autoscalingv2beta2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2" batchv1 "github.com/kcp-dev/client-go/kubernetes/typed/batch/v1" batchv1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/batch/v1beta1" certificatesv1 "github.com/kcp-dev/client-go/kubernetes/typed/certificates/v1" @@ -77,7 +75,7 @@ import ( resourcev1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta1" resourcev1beta2 "github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2" schedulingv1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1" - schedulingv1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1" + schedulingv1alpha2 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2" schedulingv1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1beta1" storagev1 "github.com/kcp-dev/client-go/kubernetes/typed/storage/v1" storagev1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/storage/v1alpha1" @@ -103,8 +101,6 @@ type ClusterInterface interface { AuthorizationV1beta1() authorizationv1beta1.AuthorizationV1beta1ClusterInterface AutoscalingV1() autoscalingv1.AutoscalingV1ClusterInterface AutoscalingV2() autoscalingv2.AutoscalingV2ClusterInterface - AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1ClusterInterface - AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2ClusterInterface BatchV1() batchv1.BatchV1ClusterInterface BatchV1beta1() batchv1beta1.BatchV1beta1ClusterInterface CertificatesV1() certificatesv1.CertificatesV1ClusterInterface @@ -138,7 +134,7 @@ type ClusterInterface interface { ResourceV1beta1() resourcev1beta1.ResourceV1beta1ClusterInterface ResourceV1beta2() resourcev1beta2.ResourceV1beta2ClusterInterface SchedulingV1() schedulingv1.SchedulingV1ClusterInterface - SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1ClusterInterface + SchedulingV1alpha2() schedulingv1alpha2.SchedulingV1alpha2ClusterInterface SchedulingV1beta1() schedulingv1beta1.SchedulingV1beta1ClusterInterface StorageV1() storagev1.StorageV1ClusterInterface StorageV1alpha1() storagev1alpha1.StorageV1alpha1ClusterInterface @@ -164,8 +160,6 @@ type ClusterClientset struct { authorizationV1beta1 *authorizationv1beta1.AuthorizationV1beta1ClusterClient autoscalingV1 *autoscalingv1.AutoscalingV1ClusterClient autoscalingV2 *autoscalingv2.AutoscalingV2ClusterClient - autoscalingV2beta1 *autoscalingv2beta1.AutoscalingV2beta1ClusterClient - autoscalingV2beta2 *autoscalingv2beta2.AutoscalingV2beta2ClusterClient batchV1 *batchv1.BatchV1ClusterClient batchV1beta1 *batchv1beta1.BatchV1beta1ClusterClient certificatesV1 *certificatesv1.CertificatesV1ClusterClient @@ -199,7 +193,7 @@ type ClusterClientset struct { resourceV1beta1 *resourcev1beta1.ResourceV1beta1ClusterClient resourceV1beta2 *resourcev1beta2.ResourceV1beta2ClusterClient schedulingV1 *schedulingv1.SchedulingV1ClusterClient - schedulingV1alpha1 *schedulingv1alpha1.SchedulingV1alpha1ClusterClient + schedulingV1alpha2 *schedulingv1alpha2.SchedulingV1alpha2ClusterClient schedulingV1beta1 *schedulingv1beta1.SchedulingV1beta1ClusterClient storageV1 *storagev1.StorageV1ClusterClient storageV1alpha1 *storagev1alpha1.StorageV1alpha1ClusterClient @@ -285,16 +279,6 @@ func (c *ClusterClientset) AutoscalingV2() autoscalingv2.AutoscalingV2ClusterInt return c.autoscalingV2 } -// AutoscalingV2beta1 retrieves the AutoscalingV2beta1ClusterClient. -func (c *ClusterClientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1ClusterInterface { - return c.autoscalingV2beta1 -} - -// AutoscalingV2beta2 retrieves the AutoscalingV2beta2ClusterClient. -func (c *ClusterClientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2ClusterInterface { - return c.autoscalingV2beta2 -} - // BatchV1 retrieves the BatchV1ClusterClient. func (c *ClusterClientset) BatchV1() batchv1.BatchV1ClusterInterface { return c.batchV1 @@ -460,9 +444,9 @@ func (c *ClusterClientset) SchedulingV1() schedulingv1.SchedulingV1ClusterInterf return c.schedulingV1 } -// SchedulingV1alpha1 retrieves the SchedulingV1alpha1ClusterClient. -func (c *ClusterClientset) SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1ClusterInterface { - return c.schedulingV1alpha1 +// SchedulingV1alpha2 retrieves the SchedulingV1alpha2ClusterClient. +func (c *ClusterClientset) SchedulingV1alpha2() schedulingv1alpha2.SchedulingV1alpha2ClusterInterface { + return c.schedulingV1alpha2 } // SchedulingV1beta1 retrieves the SchedulingV1beta1ClusterClient. @@ -598,14 +582,6 @@ func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*ClusterCli if err != nil { return nil, err } - cs.autoscalingV2beta1, err = autoscalingv2beta1.NewForConfigAndClient(&configShallowCopy, httpClient) - if err != nil { - return nil, err - } - cs.autoscalingV2beta2, err = autoscalingv2beta2.NewForConfigAndClient(&configShallowCopy, httpClient) - if err != nil { - return nil, err - } cs.batchV1, err = batchv1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err @@ -738,7 +714,7 @@ func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*ClusterCli if err != nil { return nil, err } - cs.schedulingV1alpha1, err = schedulingv1alpha1.NewForConfigAndClient(&configShallowCopy, httpClient) + cs.schedulingV1alpha2, err = schedulingv1alpha2.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } @@ -797,8 +773,6 @@ func New(c *rest.Config) *ClusterClientset { cs.authorizationV1beta1 = authorizationv1beta1.NewForConfigOrDie(c) cs.autoscalingV1 = autoscalingv1.NewForConfigOrDie(c) cs.autoscalingV2 = autoscalingv2.NewForConfigOrDie(c) - cs.autoscalingV2beta1 = autoscalingv2beta1.NewForConfigOrDie(c) - cs.autoscalingV2beta2 = autoscalingv2beta2.NewForConfigOrDie(c) cs.batchV1 = batchv1.NewForConfigOrDie(c) cs.batchV1beta1 = batchv1beta1.NewForConfigOrDie(c) cs.certificatesV1 = certificatesv1.NewForConfigOrDie(c) @@ -832,7 +806,7 @@ func New(c *rest.Config) *ClusterClientset { cs.resourceV1beta1 = resourcev1beta1.NewForConfigOrDie(c) cs.resourceV1beta2 = resourcev1beta2.NewForConfigOrDie(c) cs.schedulingV1 = schedulingv1.NewForConfigOrDie(c) - cs.schedulingV1alpha1 = schedulingv1alpha1.NewForConfigOrDie(c) + cs.schedulingV1alpha2 = schedulingv1alpha2.NewForConfigOrDie(c) cs.schedulingV1beta1 = schedulingv1beta1.NewForConfigOrDie(c) cs.storageV1 = storagev1.NewForConfigOrDie(c) cs.storageV1alpha1 = storagev1alpha1.NewForConfigOrDie(c) diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/clientset.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/clientset.go index a2ab2822c67..d6955db2276 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/clientset.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/clientset.go @@ -37,8 +37,6 @@ import ( authorizationv1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" autoscalingv1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" autoscalingv2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2" - autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" - autoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1" batchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" certificatesv1 "k8s.io/client-go/kubernetes/typed/certificates/v1" @@ -72,7 +70,7 @@ import ( resourcev1beta1 "k8s.io/client-go/kubernetes/typed/resource/v1beta1" resourcev1beta2 "k8s.io/client-go/kubernetes/typed/resource/v1beta2" schedulingv1 "k8s.io/client-go/kubernetes/typed/scheduling/v1" - schedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" schedulingv1beta1 "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1" storagev1 "k8s.io/client-go/kubernetes/typed/storage/v1" storagev1alpha1 "k8s.io/client-go/kubernetes/typed/storage/v1alpha1" @@ -109,10 +107,6 @@ import ( kcpfakeautoscalingv1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v1/fake" kcpautoscalingv2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2" kcpfakeautoscalingv2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2/fake" - kcpautoscalingv2beta1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1" - kcpfakeautoscalingv2beta1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake" - kcpautoscalingv2beta2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2" - kcpfakeautoscalingv2beta2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake" kcpbatchv1 "github.com/kcp-dev/client-go/kubernetes/typed/batch/v1" kcpfakebatchv1 "github.com/kcp-dev/client-go/kubernetes/typed/batch/v1/fake" kcpbatchv1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/batch/v1beta1" @@ -179,8 +173,8 @@ import ( kcpfakeresourcev1beta2 "github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake" kcpschedulingv1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1" kcpfakeschedulingv1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1/fake" - kcpschedulingv1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1" - kcpfakeschedulingv1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake" + kcpschedulingv1alpha2 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2" + kcpfakeschedulingv1alpha2 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake" kcpschedulingv1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1beta1" kcpfakeschedulingv1beta1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1beta1/fake" kcpstoragev1 "github.com/kcp-dev/client-go/kubernetes/typed/storage/v1" @@ -339,16 +333,6 @@ func (c *ClusterClientset) AutoscalingV2() kcpautoscalingv2.AutoscalingV2Cluster return &kcpfakeautoscalingv2.AutoscalingV2ClusterClient{Fake: &c.Fake} } -// AutoscalingV2beta1 retrieves the AutoscalingV2beta1ClusterClient -func (c *ClusterClientset) AutoscalingV2beta1() kcpautoscalingv2beta1.AutoscalingV2beta1ClusterInterface { - return &kcpfakeautoscalingv2beta1.AutoscalingV2beta1ClusterClient{Fake: &c.Fake} -} - -// AutoscalingV2beta2 retrieves the AutoscalingV2beta2ClusterClient -func (c *ClusterClientset) AutoscalingV2beta2() kcpautoscalingv2beta2.AutoscalingV2beta2ClusterInterface { - return &kcpfakeautoscalingv2beta2.AutoscalingV2beta2ClusterClient{Fake: &c.Fake} -} - // BatchV1 retrieves the BatchV1ClusterClient func (c *ClusterClientset) BatchV1() kcpbatchv1.BatchV1ClusterInterface { return &kcpfakebatchv1.BatchV1ClusterClient{Fake: &c.Fake} @@ -514,9 +498,9 @@ func (c *ClusterClientset) SchedulingV1() kcpschedulingv1.SchedulingV1ClusterInt return &kcpfakeschedulingv1.SchedulingV1ClusterClient{Fake: &c.Fake} } -// SchedulingV1alpha1 retrieves the SchedulingV1alpha1ClusterClient -func (c *ClusterClientset) SchedulingV1alpha1() kcpschedulingv1alpha1.SchedulingV1alpha1ClusterInterface { - return &kcpfakeschedulingv1alpha1.SchedulingV1alpha1ClusterClient{Fake: &c.Fake} +// SchedulingV1alpha2 retrieves the SchedulingV1alpha2ClusterClient +func (c *ClusterClientset) SchedulingV1alpha2() kcpschedulingv1alpha2.SchedulingV1alpha2ClusterInterface { + return &kcpfakeschedulingv1alpha2.SchedulingV1alpha2ClusterClient{Fake: &c.Fake} } // SchedulingV1beta1 retrieves the SchedulingV1beta1ClusterClient @@ -657,16 +641,6 @@ func (c *Clientset) AutoscalingV2() autoscalingv2.AutoscalingV2Interface { return &kcpfakeautoscalingv2.AutoscalingV2Client{Fake: c.Fake, ClusterPath: c.clusterPath} } -// AutoscalingV2beta1 retrieves the AutoscalingV2beta1Client -func (c *Clientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface { - return &kcpfakeautoscalingv2beta1.AutoscalingV2beta1Client{Fake: c.Fake, ClusterPath: c.clusterPath} -} - -// AutoscalingV2beta2 retrieves the AutoscalingV2beta2Client -func (c *Clientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface { - return &kcpfakeautoscalingv2beta2.AutoscalingV2beta2Client{Fake: c.Fake, ClusterPath: c.clusterPath} -} - // BatchV1 retrieves the BatchV1Client func (c *Clientset) BatchV1() batchv1.BatchV1Interface { return &kcpfakebatchv1.BatchV1Client{Fake: c.Fake, ClusterPath: c.clusterPath} @@ -832,9 +806,9 @@ func (c *Clientset) SchedulingV1() schedulingv1.SchedulingV1Interface { return &kcpfakeschedulingv1.SchedulingV1Client{Fake: c.Fake, ClusterPath: c.clusterPath} } -// SchedulingV1alpha1 retrieves the SchedulingV1alpha1Client -func (c *Clientset) SchedulingV1alpha1() schedulingv1alpha1.SchedulingV1alpha1Interface { - return &kcpfakeschedulingv1alpha1.SchedulingV1alpha1Client{Fake: c.Fake, ClusterPath: c.clusterPath} +// SchedulingV1alpha2 retrieves the SchedulingV1alpha2Client +func (c *Clientset) SchedulingV1alpha2() schedulingv1alpha2.SchedulingV1alpha2Interface { + return &kcpfakeschedulingv1alpha2.SchedulingV1alpha2Client{Fake: c.Fake, ClusterPath: c.clusterPath} } // SchedulingV1beta1 retrieves the SchedulingV1beta1Client diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/register.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/register.go index f39ee05fad1..c3e314576cd 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/register.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/fake/register.go @@ -33,8 +33,6 @@ import ( authorizationv1beta1 "k8s.io/api/authorization/v1beta1" autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv2 "k8s.io/api/autoscaling/v2" - autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" batchv1 "k8s.io/api/batch/v1" batchv1beta1 "k8s.io/api/batch/v1beta1" certificatesv1 "k8s.io/api/certificates/v1" @@ -68,7 +66,7 @@ import ( resourcev1beta1 "k8s.io/api/resource/v1beta1" resourcev1beta2 "k8s.io/api/resource/v1beta2" schedulingv1 "k8s.io/api/scheduling/v1" - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" schedulingv1beta1 "k8s.io/api/scheduling/v1beta1" storagev1 "k8s.io/api/storage/v1" storagev1alpha1 "k8s.io/api/storage/v1alpha1" @@ -99,8 +97,6 @@ var localSchemeBuilder = runtime.SchemeBuilder{ authorizationv1beta1.AddToScheme, autoscalingv1.AddToScheme, autoscalingv2.AddToScheme, - autoscalingv2beta1.AddToScheme, - autoscalingv2beta2.AddToScheme, batchv1.AddToScheme, batchv1beta1.AddToScheme, certificatesv1.AddToScheme, @@ -134,7 +130,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{ resourcev1beta1.AddToScheme, resourcev1beta2.AddToScheme, schedulingv1.AddToScheme, - schedulingv1alpha1.AddToScheme, + schedulingv1alpha2.AddToScheme, schedulingv1beta1.AddToScheme, storagev1.AddToScheme, storagev1alpha1.AddToScheme, diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/scheme/register.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/scheme/register.go index c340305eb63..9371745de3e 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/scheme/register.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/scheme/register.go @@ -33,8 +33,6 @@ import ( authorizationv1beta1 "k8s.io/api/authorization/v1beta1" autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv2 "k8s.io/api/autoscaling/v2" - autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" batchv1 "k8s.io/api/batch/v1" batchv1beta1 "k8s.io/api/batch/v1beta1" certificatesv1 "k8s.io/api/certificates/v1" @@ -68,7 +66,7 @@ import ( resourcev1beta1 "k8s.io/api/resource/v1beta1" resourcev1beta2 "k8s.io/api/resource/v1beta2" schedulingv1 "k8s.io/api/scheduling/v1" - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" schedulingv1beta1 "k8s.io/api/scheduling/v1beta1" storagev1 "k8s.io/api/storage/v1" storagev1alpha1 "k8s.io/api/storage/v1alpha1" @@ -99,8 +97,6 @@ var localSchemeBuilder = runtime.SchemeBuilder{ authorizationv1beta1.AddToScheme, autoscalingv1.AddToScheme, autoscalingv2.AddToScheme, - autoscalingv2beta1.AddToScheme, - autoscalingv2beta2.AddToScheme, batchv1.AddToScheme, batchv1beta1.AddToScheme, certificatesv1.AddToScheme, @@ -134,7 +130,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{ resourcev1beta1.AddToScheme, resourcev1beta2.AddToScheme, schedulingv1.AddToScheme, - schedulingv1alpha1.AddToScheme, + schedulingv1alpha2.AddToScheme, schedulingv1beta1.AddToScheme, storagev1.AddToScheme, storagev1alpha1.AddToScheme, diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/admissionregistration_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/admissionregistration_client.go index 33758fbd52c..75ba05cf26a 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/admissionregistration_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/admissionregistration_client.go @@ -32,6 +32,8 @@ import ( type AdmissionregistrationV1ClusterInterface interface { AdmissionregistrationV1ClusterScoper + MutatingAdmissionPoliciesClusterGetter + MutatingAdmissionPolicyBindingsClusterGetter MutatingWebhookConfigurationsClusterGetter ValidatingAdmissionPoliciesClusterGetter ValidatingAdmissionPolicyBindingsClusterGetter @@ -54,6 +56,14 @@ func (c *AdmissionregistrationV1ClusterClient) Cluster(clusterPath logicalcluste return c.clientCache.ClusterOrDie(clusterPath) } +func (c *AdmissionregistrationV1ClusterClient) MutatingAdmissionPolicies() MutatingAdmissionPolicyClusterInterface { + return &mutatingAdmissionPoliciesClusterInterface{clientCache: c.clientCache} +} + +func (c *AdmissionregistrationV1ClusterClient) MutatingAdmissionPolicyBindings() MutatingAdmissionPolicyBindingClusterInterface { + return &mutatingAdmissionPolicyBindingsClusterInterface{clientCache: c.clientCache} +} + func (c *AdmissionregistrationV1ClusterClient) MutatingWebhookConfigurations() MutatingWebhookConfigurationClusterInterface { return &mutatingWebhookConfigurationsClusterInterface{clientCache: c.clientCache} } diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/admissionregistration_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/admissionregistration_client.go index 4c5e535e8f5..f51179272bb 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/admissionregistration_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/admissionregistration_client.go @@ -40,6 +40,14 @@ func (c *AdmissionregistrationV1ClusterClient) Cluster(clusterPath logicalcluste return &AdmissionregistrationV1Client{Fake: c.Fake, ClusterPath: clusterPath} } +func (c *AdmissionregistrationV1ClusterClient) MutatingAdmissionPolicies() kcpadmissionregistrationv1.MutatingAdmissionPolicyClusterInterface { + return newFakeMutatingAdmissionPolicyClusterClient(c) +} + +func (c *AdmissionregistrationV1ClusterClient) MutatingAdmissionPolicyBindings() kcpadmissionregistrationv1.MutatingAdmissionPolicyBindingClusterInterface { + return newFakeMutatingAdmissionPolicyBindingClusterClient(c) +} + func (c *AdmissionregistrationV1ClusterClient) MutatingWebhookConfigurations() kcpadmissionregistrationv1.MutatingWebhookConfigurationClusterInterface { return newFakeMutatingWebhookConfigurationClusterClient(c) } @@ -61,6 +69,14 @@ type AdmissionregistrationV1Client struct { ClusterPath logicalcluster.Path } +func (c *AdmissionregistrationV1Client) MutatingAdmissionPolicies() admissionregistrationv1.MutatingAdmissionPolicyInterface { + return newFakeMutatingAdmissionPolicyClient(c.Fake, c.ClusterPath) +} + +func (c *AdmissionregistrationV1Client) MutatingAdmissionPolicyBindings() admissionregistrationv1.MutatingAdmissionPolicyBindingInterface { + return newFakeMutatingAdmissionPolicyBindingClient(c.Fake, c.ClusterPath) +} + func (c *AdmissionregistrationV1Client) MutatingWebhookConfigurations() admissionregistrationv1.MutatingWebhookConfigurationInterface { return newFakeMutatingWebhookConfigurationClient(c.Fake, c.ClusterPath) } diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicy.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicy.go new file mode 100644 index 00000000000..4c3e2ce5f5c --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicy.go @@ -0,0 +1,98 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package fake + +import ( + admissionregistrationv1 "k8s.io/api/admissionregistration/v1" + v1 "k8s.io/client-go/applyconfigurations/admissionregistration/v1" + typedadmissionregistrationv1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" + + typedkcpadmissionregistrationv1 "github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1" + kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" + kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" + "github.com/kcp-dev/logicalcluster/v3" +) + +// mutatingAdmissionPolicyClusterClient implements MutatingAdmissionPolicyClusterInterface +type mutatingAdmissionPolicyClusterClient struct { + *kcpgentype.FakeClusterClientWithList[*admissionregistrationv1.MutatingAdmissionPolicy, *admissionregistrationv1.MutatingAdmissionPolicyList] + Fake *kcptesting.Fake +} + +func newFakeMutatingAdmissionPolicyClusterClient(fake *AdmissionregistrationV1ClusterClient) typedkcpadmissionregistrationv1.MutatingAdmissionPolicyClusterInterface { + return &mutatingAdmissionPolicyClusterClient{ + kcpgentype.NewFakeClusterClientWithList[*admissionregistrationv1.MutatingAdmissionPolicy, *admissionregistrationv1.MutatingAdmissionPolicyList]( + fake.Fake, + admissionregistrationv1.SchemeGroupVersion.WithResource("mutatingadmissionpolicies"), + admissionregistrationv1.SchemeGroupVersion.WithKind("MutatingAdmissionPolicy"), + func() *admissionregistrationv1.MutatingAdmissionPolicy { + return &admissionregistrationv1.MutatingAdmissionPolicy{} + }, + func() *admissionregistrationv1.MutatingAdmissionPolicyList { + return &admissionregistrationv1.MutatingAdmissionPolicyList{} + }, + func(dst, src *admissionregistrationv1.MutatingAdmissionPolicyList) { dst.ListMeta = src.ListMeta }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyList) []*admissionregistrationv1.MutatingAdmissionPolicy { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyList, items []*admissionregistrationv1.MutatingAdmissionPolicy) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake.Fake, + } +} + +func (c *mutatingAdmissionPolicyClusterClient) Cluster(cluster logicalcluster.Path) typedadmissionregistrationv1.MutatingAdmissionPolicyInterface { + return newFakeMutatingAdmissionPolicyClient(c.Fake, cluster) +} + +// mutatingAdmissionPolicyScopedClient implements MutatingAdmissionPolicyInterface +type mutatingAdmissionPolicyScopedClient struct { + *kcpgentype.FakeClientWithListAndApply[*admissionregistrationv1.MutatingAdmissionPolicy, *admissionregistrationv1.MutatingAdmissionPolicyList, *v1.MutatingAdmissionPolicyApplyConfiguration] + Fake *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func newFakeMutatingAdmissionPolicyClient(fake *kcptesting.Fake, clusterPath logicalcluster.Path) typedadmissionregistrationv1.MutatingAdmissionPolicyInterface { + return &mutatingAdmissionPolicyScopedClient{ + kcpgentype.NewFakeClientWithListAndApply[*admissionregistrationv1.MutatingAdmissionPolicy, *admissionregistrationv1.MutatingAdmissionPolicyList, *v1.MutatingAdmissionPolicyApplyConfiguration]( + fake, + clusterPath, + "", + admissionregistrationv1.SchemeGroupVersion.WithResource("mutatingadmissionpolicies"), + admissionregistrationv1.SchemeGroupVersion.WithKind("MutatingAdmissionPolicy"), + func() *admissionregistrationv1.MutatingAdmissionPolicy { + return &admissionregistrationv1.MutatingAdmissionPolicy{} + }, + func() *admissionregistrationv1.MutatingAdmissionPolicyList { + return &admissionregistrationv1.MutatingAdmissionPolicyList{} + }, + func(dst, src *admissionregistrationv1.MutatingAdmissionPolicyList) { dst.ListMeta = src.ListMeta }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyList) []*admissionregistrationv1.MutatingAdmissionPolicy { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyList, items []*admissionregistrationv1.MutatingAdmissionPolicy) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake, + clusterPath, + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicybinding.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicybinding.go new file mode 100644 index 00000000000..3745eda7f68 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/fake/mutatingadmissionpolicybinding.go @@ -0,0 +1,102 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package fake + +import ( + admissionregistrationv1 "k8s.io/api/admissionregistration/v1" + v1 "k8s.io/client-go/applyconfigurations/admissionregistration/v1" + typedadmissionregistrationv1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" + + typedkcpadmissionregistrationv1 "github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1" + kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" + kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" + "github.com/kcp-dev/logicalcluster/v3" +) + +// mutatingAdmissionPolicyBindingClusterClient implements MutatingAdmissionPolicyBindingClusterInterface +type mutatingAdmissionPolicyBindingClusterClient struct { + *kcpgentype.FakeClusterClientWithList[*admissionregistrationv1.MutatingAdmissionPolicyBinding, *admissionregistrationv1.MutatingAdmissionPolicyBindingList] + Fake *kcptesting.Fake +} + +func newFakeMutatingAdmissionPolicyBindingClusterClient(fake *AdmissionregistrationV1ClusterClient) typedkcpadmissionregistrationv1.MutatingAdmissionPolicyBindingClusterInterface { + return &mutatingAdmissionPolicyBindingClusterClient{ + kcpgentype.NewFakeClusterClientWithList[*admissionregistrationv1.MutatingAdmissionPolicyBinding, *admissionregistrationv1.MutatingAdmissionPolicyBindingList]( + fake.Fake, + admissionregistrationv1.SchemeGroupVersion.WithResource("mutatingadmissionpolicybindings"), + admissionregistrationv1.SchemeGroupVersion.WithKind("MutatingAdmissionPolicyBinding"), + func() *admissionregistrationv1.MutatingAdmissionPolicyBinding { + return &admissionregistrationv1.MutatingAdmissionPolicyBinding{} + }, + func() *admissionregistrationv1.MutatingAdmissionPolicyBindingList { + return &admissionregistrationv1.MutatingAdmissionPolicyBindingList{} + }, + func(dst, src *admissionregistrationv1.MutatingAdmissionPolicyBindingList) { + dst.ListMeta = src.ListMeta + }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyBindingList) []*admissionregistrationv1.MutatingAdmissionPolicyBinding { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyBindingList, items []*admissionregistrationv1.MutatingAdmissionPolicyBinding) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake.Fake, + } +} + +func (c *mutatingAdmissionPolicyBindingClusterClient) Cluster(cluster logicalcluster.Path) typedadmissionregistrationv1.MutatingAdmissionPolicyBindingInterface { + return newFakeMutatingAdmissionPolicyBindingClient(c.Fake, cluster) +} + +// mutatingAdmissionPolicyBindingScopedClient implements MutatingAdmissionPolicyBindingInterface +type mutatingAdmissionPolicyBindingScopedClient struct { + *kcpgentype.FakeClientWithListAndApply[*admissionregistrationv1.MutatingAdmissionPolicyBinding, *admissionregistrationv1.MutatingAdmissionPolicyBindingList, *v1.MutatingAdmissionPolicyBindingApplyConfiguration] + Fake *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func newFakeMutatingAdmissionPolicyBindingClient(fake *kcptesting.Fake, clusterPath logicalcluster.Path) typedadmissionregistrationv1.MutatingAdmissionPolicyBindingInterface { + return &mutatingAdmissionPolicyBindingScopedClient{ + kcpgentype.NewFakeClientWithListAndApply[*admissionregistrationv1.MutatingAdmissionPolicyBinding, *admissionregistrationv1.MutatingAdmissionPolicyBindingList, *v1.MutatingAdmissionPolicyBindingApplyConfiguration]( + fake, + clusterPath, + "", + admissionregistrationv1.SchemeGroupVersion.WithResource("mutatingadmissionpolicybindings"), + admissionregistrationv1.SchemeGroupVersion.WithKind("MutatingAdmissionPolicyBinding"), + func() *admissionregistrationv1.MutatingAdmissionPolicyBinding { + return &admissionregistrationv1.MutatingAdmissionPolicyBinding{} + }, + func() *admissionregistrationv1.MutatingAdmissionPolicyBindingList { + return &admissionregistrationv1.MutatingAdmissionPolicyBindingList{} + }, + func(dst, src *admissionregistrationv1.MutatingAdmissionPolicyBindingList) { + dst.ListMeta = src.ListMeta + }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyBindingList) []*admissionregistrationv1.MutatingAdmissionPolicyBinding { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *admissionregistrationv1.MutatingAdmissionPolicyBindingList, items []*admissionregistrationv1.MutatingAdmissionPolicyBinding) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake, + clusterPath, + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/generated_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/generated_expansion.go index 64e112bdd80..f61c6c2bc86 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/generated_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/generated_expansion.go @@ -18,6 +18,10 @@ limitations under the License. package v1 +type MutatingAdmissionPolicyClusterExpansion interface{} + +type MutatingAdmissionPolicyBindingClusterExpansion interface{} + type MutatingWebhookConfigurationClusterExpansion interface{} type ValidatingAdmissionPolicyClusterExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicy.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicy.go new file mode 100644 index 00000000000..a1d194e1e7a --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicy.go @@ -0,0 +1,69 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package v1 + +import ( + context "context" + + apiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" + admissionregistrationv1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" + + kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" + "github.com/kcp-dev/logicalcluster/v3" +) + +// MutatingAdmissionPoliciesClusterGetter has a method to return a MutatingAdmissionPolicyClusterInterface. +// A group's cluster client should implement this interface. +type MutatingAdmissionPoliciesClusterGetter interface { + MutatingAdmissionPolicies() MutatingAdmissionPolicyClusterInterface +} + +// MutatingAdmissionPolicyClusterInterface can operate on MutatingAdmissionPolicies across all clusters, +// or scope down to one cluster and return a admissionregistrationv1.MutatingAdmissionPolicyInterface. +type MutatingAdmissionPolicyClusterInterface interface { + Cluster(logicalcluster.Path) admissionregistrationv1.MutatingAdmissionPolicyInterface + List(ctx context.Context, opts metav1.ListOptions) (*apiadmissionregistrationv1.MutatingAdmissionPolicyList, error) + Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) + MutatingAdmissionPolicyClusterExpansion +} + +type mutatingAdmissionPoliciesClusterInterface struct { + clientCache kcpclient.Cache[*admissionregistrationv1.AdmissionregistrationV1Client] +} + +// Cluster scopes the client down to a particular cluster. +func (c *mutatingAdmissionPoliciesClusterInterface) Cluster(clusterPath logicalcluster.Path) admissionregistrationv1.MutatingAdmissionPolicyInterface { + if clusterPath == logicalcluster.Wildcard { + panic("A specific cluster must be provided when scoping, not the wildcard.") + } + + return c.clientCache.ClusterOrDie(clusterPath).MutatingAdmissionPolicies() +} + +// List returns the entire collection of all MutatingAdmissionPolicies across all clusters. +func (c *mutatingAdmissionPoliciesClusterInterface) List(ctx context.Context, opts metav1.ListOptions) (*apiadmissionregistrationv1.MutatingAdmissionPolicyList, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).MutatingAdmissionPolicies().List(ctx, opts) +} + +// Watch begins to watch all MutatingAdmissionPolicies across all clusters. +func (c *mutatingAdmissionPoliciesClusterInterface) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).MutatingAdmissionPolicies().Watch(ctx, opts) +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicybinding.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicybinding.go new file mode 100644 index 00000000000..afc8125f47f --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/admissionregistration/v1/mutatingadmissionpolicybinding.go @@ -0,0 +1,69 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package v1 + +import ( + context "context" + + apiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" + admissionregistrationv1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" + + kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" + "github.com/kcp-dev/logicalcluster/v3" +) + +// MutatingAdmissionPolicyBindingsClusterGetter has a method to return a MutatingAdmissionPolicyBindingClusterInterface. +// A group's cluster client should implement this interface. +type MutatingAdmissionPolicyBindingsClusterGetter interface { + MutatingAdmissionPolicyBindings() MutatingAdmissionPolicyBindingClusterInterface +} + +// MutatingAdmissionPolicyBindingClusterInterface can operate on MutatingAdmissionPolicyBindings across all clusters, +// or scope down to one cluster and return a admissionregistrationv1.MutatingAdmissionPolicyBindingInterface. +type MutatingAdmissionPolicyBindingClusterInterface interface { + Cluster(logicalcluster.Path) admissionregistrationv1.MutatingAdmissionPolicyBindingInterface + List(ctx context.Context, opts metav1.ListOptions) (*apiadmissionregistrationv1.MutatingAdmissionPolicyBindingList, error) + Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) + MutatingAdmissionPolicyBindingClusterExpansion +} + +type mutatingAdmissionPolicyBindingsClusterInterface struct { + clientCache kcpclient.Cache[*admissionregistrationv1.AdmissionregistrationV1Client] +} + +// Cluster scopes the client down to a particular cluster. +func (c *mutatingAdmissionPolicyBindingsClusterInterface) Cluster(clusterPath logicalcluster.Path) admissionregistrationv1.MutatingAdmissionPolicyBindingInterface { + if clusterPath == logicalcluster.Wildcard { + panic("A specific cluster must be provided when scoping, not the wildcard.") + } + + return c.clientCache.ClusterOrDie(clusterPath).MutatingAdmissionPolicyBindings() +} + +// List returns the entire collection of all MutatingAdmissionPolicyBindings across all clusters. +func (c *mutatingAdmissionPolicyBindingsClusterInterface) List(ctx context.Context, opts metav1.ListOptions) (*apiadmissionregistrationv1.MutatingAdmissionPolicyBindingList, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).MutatingAdmissionPolicyBindings().List(ctx, opts) +} + +// Watch begins to watch all MutatingAdmissionPolicyBindings across all clusters. +func (c *mutatingAdmissionPolicyBindingsClusterInterface) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).MutatingAdmissionPolicyBindings().Watch(ctx, opts) +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/autoscaling_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/autoscaling_client.go deleted file mode 100644 index c5e0b9c0c9d..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/autoscaling_client.go +++ /dev/null @@ -1,103 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v2beta1 - -import ( - http "net/http" - - apiautoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" - rest "k8s.io/client-go/rest" - - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" - kcpscheme "github.com/kcp-dev/client-go/kubernetes/scheme" - "github.com/kcp-dev/logicalcluster/v3" -) - -type AutoscalingV2beta1ClusterInterface interface { - AutoscalingV2beta1ClusterScoper - HorizontalPodAutoscalersClusterGetter -} - -type AutoscalingV2beta1ClusterScoper interface { - Cluster(logicalcluster.Path) autoscalingv2beta1.AutoscalingV2beta1Interface -} - -// AutoscalingV2beta1ClusterClient is used to interact with features provided by the autoscaling group. -type AutoscalingV2beta1ClusterClient struct { - clientCache kcpclient.Cache[*autoscalingv2beta1.AutoscalingV2beta1Client] -} - -func (c *AutoscalingV2beta1ClusterClient) Cluster(clusterPath logicalcluster.Path) autoscalingv2beta1.AutoscalingV2beta1Interface { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - return c.clientCache.ClusterOrDie(clusterPath) -} - -func (c *AutoscalingV2beta1ClusterClient) HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInterface { - return &horizontalPodAutoscalersClusterInterface{clientCache: c.clientCache} -} - -// NewForConfig creates a new AutoscalingV2beta1ClusterClient for the given config. -// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), -// where httpClient was generated with rest.HTTPClientFor(c). -func NewForConfig(c *rest.Config) (*AutoscalingV2beta1ClusterClient, error) { - config := *c - setConfigDefaults(&config) - httpClient, err := rest.HTTPClientFor(&config) - if err != nil { - return nil, err - } - return NewForConfigAndClient(&config, httpClient) -} - -// NewForConfigAndClient creates a new AutoscalingV2beta1ClusterClient for the given config and http client. -// Note the http client provided takes precedence over the configured transport values. -func NewForConfigAndClient(c *rest.Config, h *http.Client) (*AutoscalingV2beta1ClusterClient, error) { - cache := kcpclient.NewCache(c, h, &kcpclient.Constructor[*autoscalingv2beta1.AutoscalingV2beta1Client]{ - NewForConfigAndClient: autoscalingv2beta1.NewForConfigAndClient, - }) - if _, err := cache.Cluster(logicalcluster.Name("root").Path()); err != nil { - return nil, err - } - - return &AutoscalingV2beta1ClusterClient{clientCache: cache}, nil -} - -// NewForConfigOrDie creates a new AutoscalingV2beta1ClusterClient for the given config and -// panics if there is an error in the config. -func NewForConfigOrDie(c *rest.Config) *AutoscalingV2beta1ClusterClient { - client, err := NewForConfig(c) - if err != nil { - panic(err) - } - return client -} - -func setConfigDefaults(config *rest.Config) { - gv := apiautoscalingv2beta1.SchemeGroupVersion - config.GroupVersion = &gv - config.APIPath = "/apis" - config.NegotiatedSerializer = rest.CodecFactoryForGeneratedClient(kcpscheme.Scheme, kcpscheme.Codecs).WithoutConversion() - - if config.UserAgent == "" { - config.UserAgent = rest.DefaultKubernetesUserAgent() - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/autoscaling_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/autoscaling_client.go deleted file mode 100644 index 39c8439ec52..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/autoscaling_client.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package fake - -import ( - autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" - rest "k8s.io/client-go/rest" - - kcpautoscalingv2beta1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" - "github.com/kcp-dev/logicalcluster/v3" -) - -var _ kcpautoscalingv2beta1.AutoscalingV2beta1ClusterInterface = (*AutoscalingV2beta1ClusterClient)(nil) - -type AutoscalingV2beta1ClusterClient struct { - *kcptesting.Fake -} - -func (c *AutoscalingV2beta1ClusterClient) Cluster(clusterPath logicalcluster.Path) autoscalingv2beta1.AutoscalingV2beta1Interface { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - return &AutoscalingV2beta1Client{Fake: c.Fake, ClusterPath: clusterPath} -} - -func (c *AutoscalingV2beta1ClusterClient) HorizontalPodAutoscalers() kcpautoscalingv2beta1.HorizontalPodAutoscalerClusterInterface { - return newFakeHorizontalPodAutoscalerClusterClient(c) -} - -type AutoscalingV2beta1Client struct { - *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func (c *AutoscalingV2beta1Client) HorizontalPodAutoscalers(namespace string) autoscalingv2beta1.HorizontalPodAutoscalerInterface { - return newFakeHorizontalPodAutoscalerClient(c.Fake, namespace, c.ClusterPath) -} - -// RESTClient returns a RESTClient that is used to communicate -// with API server by this client implementation. -func (c *AutoscalingV2beta1Client) RESTClient() rest.Interface { - var ret *rest.RESTClient - return ret -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/horizontalpodautoscaler.go deleted file mode 100644 index ff603b6d33e..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/horizontalpodautoscaler.go +++ /dev/null @@ -1,107 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package fake - -import ( - autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - v2beta1 "k8s.io/client-go/applyconfigurations/autoscaling/v2beta1" - typedautoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" - - typedkcpautoscalingv2beta1 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1" - kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" - "github.com/kcp-dev/logicalcluster/v3" -) - -// horizontalPodAutoscalerClusterClient implements HorizontalPodAutoscalerClusterInterface -type horizontalPodAutoscalerClusterClient struct { - *kcpgentype.FakeClusterClientWithList[*autoscalingv2beta1.HorizontalPodAutoscaler, *autoscalingv2beta1.HorizontalPodAutoscalerList] - Fake *kcptesting.Fake -} - -func newFakeHorizontalPodAutoscalerClusterClient(fake *AutoscalingV2beta1ClusterClient) typedkcpautoscalingv2beta1.HorizontalPodAutoscalerClusterInterface { - return &horizontalPodAutoscalerClusterClient{ - kcpgentype.NewFakeClusterClientWithList[*autoscalingv2beta1.HorizontalPodAutoscaler, *autoscalingv2beta1.HorizontalPodAutoscalerList]( - fake.Fake, - autoscalingv2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), - autoscalingv2beta1.SchemeGroupVersion.WithKind("HorizontalPodAutoscaler"), - func() *autoscalingv2beta1.HorizontalPodAutoscaler { - return &autoscalingv2beta1.HorizontalPodAutoscaler{} - }, - func() *autoscalingv2beta1.HorizontalPodAutoscalerList { - return &autoscalingv2beta1.HorizontalPodAutoscalerList{} - }, - func(dst, src *autoscalingv2beta1.HorizontalPodAutoscalerList) { dst.ListMeta = src.ListMeta }, - func(list *autoscalingv2beta1.HorizontalPodAutoscalerList) []*autoscalingv2beta1.HorizontalPodAutoscaler { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *autoscalingv2beta1.HorizontalPodAutoscalerList, items []*autoscalingv2beta1.HorizontalPodAutoscaler) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake.Fake, - } -} - -func (c *horizontalPodAutoscalerClusterClient) Cluster(cluster logicalcluster.Path) typedkcpautoscalingv2beta1.HorizontalPodAutoscalersNamespacer { - return &horizontalPodAutoscalerNamespacer{Fake: c.Fake, ClusterPath: cluster} -} - -type horizontalPodAutoscalerNamespacer struct { - *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func (n *horizontalPodAutoscalerNamespacer) Namespace(namespace string) typedautoscalingv2beta1.HorizontalPodAutoscalerInterface { - return newFakeHorizontalPodAutoscalerClient(n.Fake, namespace, n.ClusterPath) -} - -// horizontalPodAutoscalerScopedClient implements HorizontalPodAutoscalerInterface -type horizontalPodAutoscalerScopedClient struct { - *kcpgentype.FakeClientWithListAndApply[*autoscalingv2beta1.HorizontalPodAutoscaler, *autoscalingv2beta1.HorizontalPodAutoscalerList, *v2beta1.HorizontalPodAutoscalerApplyConfiguration] - Fake *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func newFakeHorizontalPodAutoscalerClient(fake *kcptesting.Fake, namespace string, clusterPath logicalcluster.Path) typedautoscalingv2beta1.HorizontalPodAutoscalerInterface { - return &horizontalPodAutoscalerScopedClient{ - kcpgentype.NewFakeClientWithListAndApply[*autoscalingv2beta1.HorizontalPodAutoscaler, *autoscalingv2beta1.HorizontalPodAutoscalerList, *v2beta1.HorizontalPodAutoscalerApplyConfiguration]( - fake, - clusterPath, - namespace, - autoscalingv2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), - autoscalingv2beta1.SchemeGroupVersion.WithKind("HorizontalPodAutoscaler"), - func() *autoscalingv2beta1.HorizontalPodAutoscaler { - return &autoscalingv2beta1.HorizontalPodAutoscaler{} - }, - func() *autoscalingv2beta1.HorizontalPodAutoscalerList { - return &autoscalingv2beta1.HorizontalPodAutoscalerList{} - }, - func(dst, src *autoscalingv2beta1.HorizontalPodAutoscalerList) { dst.ListMeta = src.ListMeta }, - func(list *autoscalingv2beta1.HorizontalPodAutoscalerList) []*autoscalingv2beta1.HorizontalPodAutoscaler { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *autoscalingv2beta1.HorizontalPodAutoscalerList, items []*autoscalingv2beta1.HorizontalPodAutoscaler) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake, - clusterPath, - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/generated_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/generated_expansion.go deleted file mode 100644 index 9af772fd12d..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/generated_expansion.go +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v2beta1 - -type HorizontalPodAutoscalerClusterExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/horizontalpodautoscaler.go deleted file mode 100644 index 0ae27b3986e..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/horizontalpodautoscaler.go +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v2beta1 - -import ( - context "context" - - autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - typedautoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" - - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" - "github.com/kcp-dev/logicalcluster/v3" -) - -// HorizontalPodAutoscalersClusterGetter has a method to return a HorizontalPodAutoscalerClusterInterface. -// A group's cluster client should implement this interface. -type HorizontalPodAutoscalersClusterGetter interface { - HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInterface -} - -// HorizontalPodAutoscalerClusterInterface can operate on HorizontalPodAutoscalers across all clusters, -// or scope down to one cluster and return a HorizontalPodAutoscalersNamespacer. -type HorizontalPodAutoscalerClusterInterface interface { - Cluster(logicalcluster.Path) HorizontalPodAutoscalersNamespacer - List(ctx context.Context, opts v1.ListOptions) (*autoscalingv2beta1.HorizontalPodAutoscalerList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - HorizontalPodAutoscalerClusterExpansion -} - -type horizontalPodAutoscalersClusterInterface struct { - clientCache kcpclient.Cache[*typedautoscalingv2beta1.AutoscalingV2beta1Client] -} - -// Cluster scopes the client down to a particular cluster. -func (c *horizontalPodAutoscalersClusterInterface) Cluster(clusterPath logicalcluster.Path) HorizontalPodAutoscalersNamespacer { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - - return &horizontalPodAutoscalersNamespacer{clientCache: c.clientCache, clusterPath: clusterPath} -} - -// List returns the entire collection of all HorizontalPodAutoscalers across all clusters. -func (c *horizontalPodAutoscalersClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*autoscalingv2beta1.HorizontalPodAutoscalerList, error) { - return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).HorizontalPodAutoscalers(v1.NamespaceAll).List(ctx, opts) -} - -// Watch begins to watch all HorizontalPodAutoscalers across all clusters. -func (c *horizontalPodAutoscalersClusterInterface) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).HorizontalPodAutoscalers(v1.NamespaceAll).Watch(ctx, opts) -} - -// HorizontalPodAutoscalersNamespacer can scope to objects within a namespace, returning a typedautoscalingv2beta1.HorizontalPodAutoscalerInterface. -type HorizontalPodAutoscalersNamespacer interface { - Namespace(string) typedautoscalingv2beta1.HorizontalPodAutoscalerInterface -} - -type horizontalPodAutoscalersNamespacer struct { - clientCache kcpclient.Cache[*typedautoscalingv2beta1.AutoscalingV2beta1Client] - clusterPath logicalcluster.Path -} - -func (n *horizontalPodAutoscalersNamespacer) Namespace(namespace string) typedautoscalingv2beta1.HorizontalPodAutoscalerInterface { - return n.clientCache.ClusterOrDie(n.clusterPath).HorizontalPodAutoscalers(namespace) -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/autoscaling_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/autoscaling_client.go deleted file mode 100644 index c256bbebb5a..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/autoscaling_client.go +++ /dev/null @@ -1,103 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v2beta2 - -import ( - http "net/http" - - apiautoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" - autoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" - rest "k8s.io/client-go/rest" - - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" - kcpscheme "github.com/kcp-dev/client-go/kubernetes/scheme" - "github.com/kcp-dev/logicalcluster/v3" -) - -type AutoscalingV2beta2ClusterInterface interface { - AutoscalingV2beta2ClusterScoper - HorizontalPodAutoscalersClusterGetter -} - -type AutoscalingV2beta2ClusterScoper interface { - Cluster(logicalcluster.Path) autoscalingv2beta2.AutoscalingV2beta2Interface -} - -// AutoscalingV2beta2ClusterClient is used to interact with features provided by the autoscaling group. -type AutoscalingV2beta2ClusterClient struct { - clientCache kcpclient.Cache[*autoscalingv2beta2.AutoscalingV2beta2Client] -} - -func (c *AutoscalingV2beta2ClusterClient) Cluster(clusterPath logicalcluster.Path) autoscalingv2beta2.AutoscalingV2beta2Interface { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - return c.clientCache.ClusterOrDie(clusterPath) -} - -func (c *AutoscalingV2beta2ClusterClient) HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInterface { - return &horizontalPodAutoscalersClusterInterface{clientCache: c.clientCache} -} - -// NewForConfig creates a new AutoscalingV2beta2ClusterClient for the given config. -// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), -// where httpClient was generated with rest.HTTPClientFor(c). -func NewForConfig(c *rest.Config) (*AutoscalingV2beta2ClusterClient, error) { - config := *c - setConfigDefaults(&config) - httpClient, err := rest.HTTPClientFor(&config) - if err != nil { - return nil, err - } - return NewForConfigAndClient(&config, httpClient) -} - -// NewForConfigAndClient creates a new AutoscalingV2beta2ClusterClient for the given config and http client. -// Note the http client provided takes precedence over the configured transport values. -func NewForConfigAndClient(c *rest.Config, h *http.Client) (*AutoscalingV2beta2ClusterClient, error) { - cache := kcpclient.NewCache(c, h, &kcpclient.Constructor[*autoscalingv2beta2.AutoscalingV2beta2Client]{ - NewForConfigAndClient: autoscalingv2beta2.NewForConfigAndClient, - }) - if _, err := cache.Cluster(logicalcluster.Name("root").Path()); err != nil { - return nil, err - } - - return &AutoscalingV2beta2ClusterClient{clientCache: cache}, nil -} - -// NewForConfigOrDie creates a new AutoscalingV2beta2ClusterClient for the given config and -// panics if there is an error in the config. -func NewForConfigOrDie(c *rest.Config) *AutoscalingV2beta2ClusterClient { - client, err := NewForConfig(c) - if err != nil { - panic(err) - } - return client -} - -func setConfigDefaults(config *rest.Config) { - gv := apiautoscalingv2beta2.SchemeGroupVersion - config.GroupVersion = &gv - config.APIPath = "/apis" - config.NegotiatedSerializer = rest.CodecFactoryForGeneratedClient(kcpscheme.Scheme, kcpscheme.Codecs).WithoutConversion() - - if config.UserAgent == "" { - config.UserAgent = rest.DefaultKubernetesUserAgent() - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/doc.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/doc.go deleted file mode 100644 index 50629590cb0..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -// This package has the automatically generated typed clients. -package v2beta2 diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/autoscaling_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/autoscaling_client.go deleted file mode 100644 index a01b122ebb8..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/autoscaling_client.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package fake - -import ( - autoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" - rest "k8s.io/client-go/rest" - - kcpautoscalingv2beta2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" - "github.com/kcp-dev/logicalcluster/v3" -) - -var _ kcpautoscalingv2beta2.AutoscalingV2beta2ClusterInterface = (*AutoscalingV2beta2ClusterClient)(nil) - -type AutoscalingV2beta2ClusterClient struct { - *kcptesting.Fake -} - -func (c *AutoscalingV2beta2ClusterClient) Cluster(clusterPath logicalcluster.Path) autoscalingv2beta2.AutoscalingV2beta2Interface { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - return &AutoscalingV2beta2Client{Fake: c.Fake, ClusterPath: clusterPath} -} - -func (c *AutoscalingV2beta2ClusterClient) HorizontalPodAutoscalers() kcpautoscalingv2beta2.HorizontalPodAutoscalerClusterInterface { - return newFakeHorizontalPodAutoscalerClusterClient(c) -} - -type AutoscalingV2beta2Client struct { - *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func (c *AutoscalingV2beta2Client) HorizontalPodAutoscalers(namespace string) autoscalingv2beta2.HorizontalPodAutoscalerInterface { - return newFakeHorizontalPodAutoscalerClient(c.Fake, namespace, c.ClusterPath) -} - -// RESTClient returns a RESTClient that is used to communicate -// with API server by this client implementation. -func (c *AutoscalingV2beta2Client) RESTClient() rest.Interface { - var ret *rest.RESTClient - return ret -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/doc.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/doc.go deleted file mode 100644 index 100cd63c05b..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -// Package fake has the automatically generated cluster clients. -package fake diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/horizontalpodautoscaler.go deleted file mode 100644 index 651c27e93fd..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/fake/horizontalpodautoscaler.go +++ /dev/null @@ -1,107 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package fake - -import ( - autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" - v2beta2 "k8s.io/client-go/applyconfigurations/autoscaling/v2beta2" - typedautoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" - - typedkcpautoscalingv2beta2 "github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2" - kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" - "github.com/kcp-dev/logicalcluster/v3" -) - -// horizontalPodAutoscalerClusterClient implements HorizontalPodAutoscalerClusterInterface -type horizontalPodAutoscalerClusterClient struct { - *kcpgentype.FakeClusterClientWithList[*autoscalingv2beta2.HorizontalPodAutoscaler, *autoscalingv2beta2.HorizontalPodAutoscalerList] - Fake *kcptesting.Fake -} - -func newFakeHorizontalPodAutoscalerClusterClient(fake *AutoscalingV2beta2ClusterClient) typedkcpautoscalingv2beta2.HorizontalPodAutoscalerClusterInterface { - return &horizontalPodAutoscalerClusterClient{ - kcpgentype.NewFakeClusterClientWithList[*autoscalingv2beta2.HorizontalPodAutoscaler, *autoscalingv2beta2.HorizontalPodAutoscalerList]( - fake.Fake, - autoscalingv2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), - autoscalingv2beta2.SchemeGroupVersion.WithKind("HorizontalPodAutoscaler"), - func() *autoscalingv2beta2.HorizontalPodAutoscaler { - return &autoscalingv2beta2.HorizontalPodAutoscaler{} - }, - func() *autoscalingv2beta2.HorizontalPodAutoscalerList { - return &autoscalingv2beta2.HorizontalPodAutoscalerList{} - }, - func(dst, src *autoscalingv2beta2.HorizontalPodAutoscalerList) { dst.ListMeta = src.ListMeta }, - func(list *autoscalingv2beta2.HorizontalPodAutoscalerList) []*autoscalingv2beta2.HorizontalPodAutoscaler { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *autoscalingv2beta2.HorizontalPodAutoscalerList, items []*autoscalingv2beta2.HorizontalPodAutoscaler) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake.Fake, - } -} - -func (c *horizontalPodAutoscalerClusterClient) Cluster(cluster logicalcluster.Path) typedkcpautoscalingv2beta2.HorizontalPodAutoscalersNamespacer { - return &horizontalPodAutoscalerNamespacer{Fake: c.Fake, ClusterPath: cluster} -} - -type horizontalPodAutoscalerNamespacer struct { - *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func (n *horizontalPodAutoscalerNamespacer) Namespace(namespace string) typedautoscalingv2beta2.HorizontalPodAutoscalerInterface { - return newFakeHorizontalPodAutoscalerClient(n.Fake, namespace, n.ClusterPath) -} - -// horizontalPodAutoscalerScopedClient implements HorizontalPodAutoscalerInterface -type horizontalPodAutoscalerScopedClient struct { - *kcpgentype.FakeClientWithListAndApply[*autoscalingv2beta2.HorizontalPodAutoscaler, *autoscalingv2beta2.HorizontalPodAutoscalerList, *v2beta2.HorizontalPodAutoscalerApplyConfiguration] - Fake *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func newFakeHorizontalPodAutoscalerClient(fake *kcptesting.Fake, namespace string, clusterPath logicalcluster.Path) typedautoscalingv2beta2.HorizontalPodAutoscalerInterface { - return &horizontalPodAutoscalerScopedClient{ - kcpgentype.NewFakeClientWithListAndApply[*autoscalingv2beta2.HorizontalPodAutoscaler, *autoscalingv2beta2.HorizontalPodAutoscalerList, *v2beta2.HorizontalPodAutoscalerApplyConfiguration]( - fake, - clusterPath, - namespace, - autoscalingv2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"), - autoscalingv2beta2.SchemeGroupVersion.WithKind("HorizontalPodAutoscaler"), - func() *autoscalingv2beta2.HorizontalPodAutoscaler { - return &autoscalingv2beta2.HorizontalPodAutoscaler{} - }, - func() *autoscalingv2beta2.HorizontalPodAutoscalerList { - return &autoscalingv2beta2.HorizontalPodAutoscalerList{} - }, - func(dst, src *autoscalingv2beta2.HorizontalPodAutoscalerList) { dst.ListMeta = src.ListMeta }, - func(list *autoscalingv2beta2.HorizontalPodAutoscalerList) []*autoscalingv2beta2.HorizontalPodAutoscaler { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *autoscalingv2beta2.HorizontalPodAutoscalerList, items []*autoscalingv2beta2.HorizontalPodAutoscaler) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake, - clusterPath, - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/generated_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/generated_expansion.go deleted file mode 100644 index f899b56c130..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/generated_expansion.go +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v2beta2 - -type HorizontalPodAutoscalerClusterExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/horizontalpodautoscaler.go deleted file mode 100644 index 8a15ba5c7fc..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta2/horizontalpodautoscaler.go +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v2beta2 - -import ( - context "context" - - autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - typedautoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" - - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" - "github.com/kcp-dev/logicalcluster/v3" -) - -// HorizontalPodAutoscalersClusterGetter has a method to return a HorizontalPodAutoscalerClusterInterface. -// A group's cluster client should implement this interface. -type HorizontalPodAutoscalersClusterGetter interface { - HorizontalPodAutoscalers() HorizontalPodAutoscalerClusterInterface -} - -// HorizontalPodAutoscalerClusterInterface can operate on HorizontalPodAutoscalers across all clusters, -// or scope down to one cluster and return a HorizontalPodAutoscalersNamespacer. -type HorizontalPodAutoscalerClusterInterface interface { - Cluster(logicalcluster.Path) HorizontalPodAutoscalersNamespacer - List(ctx context.Context, opts v1.ListOptions) (*autoscalingv2beta2.HorizontalPodAutoscalerList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - HorizontalPodAutoscalerClusterExpansion -} - -type horizontalPodAutoscalersClusterInterface struct { - clientCache kcpclient.Cache[*typedautoscalingv2beta2.AutoscalingV2beta2Client] -} - -// Cluster scopes the client down to a particular cluster. -func (c *horizontalPodAutoscalersClusterInterface) Cluster(clusterPath logicalcluster.Path) HorizontalPodAutoscalersNamespacer { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - - return &horizontalPodAutoscalersNamespacer{clientCache: c.clientCache, clusterPath: clusterPath} -} - -// List returns the entire collection of all HorizontalPodAutoscalers across all clusters. -func (c *horizontalPodAutoscalersClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*autoscalingv2beta2.HorizontalPodAutoscalerList, error) { - return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).HorizontalPodAutoscalers(v1.NamespaceAll).List(ctx, opts) -} - -// Watch begins to watch all HorizontalPodAutoscalers across all clusters. -func (c *horizontalPodAutoscalersClusterInterface) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).HorizontalPodAutoscalers(v1.NamespaceAll).Watch(ctx, opts) -} - -// HorizontalPodAutoscalersNamespacer can scope to objects within a namespace, returning a typedautoscalingv2beta2.HorizontalPodAutoscalerInterface. -type HorizontalPodAutoscalersNamespacer interface { - Namespace(string) typedautoscalingv2beta2.HorizontalPodAutoscalerInterface -} - -type horizontalPodAutoscalersNamespacer struct { - clientCache kcpclient.Cache[*typedautoscalingv2beta2.AutoscalingV2beta2Client] - clusterPath logicalcluster.Path -} - -func (n *horizontalPodAutoscalersNamespacer) Namespace(namespace string) typedautoscalingv2beta2.HorizontalPodAutoscalerInterface { - return n.clientCache.ClusterOrDie(n.clusterPath).HorizontalPodAutoscalers(namespace) -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resource_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resource_client.go index 7d4de3f06e7..59442cd4209 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resource_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resource_client.go @@ -44,6 +44,10 @@ func (c *ResourceV1alpha3ClusterClient) DeviceTaintRules() kcpresourcev1alpha3.D return newFakeDeviceTaintRuleClusterClient(c) } +func (c *ResourceV1alpha3ClusterClient) ResourcePoolStatusRequests() kcpresourcev1alpha3.ResourcePoolStatusRequestClusterInterface { + return newFakeResourcePoolStatusRequestClusterClient(c) +} + type ResourceV1alpha3Client struct { *kcptesting.Fake ClusterPath logicalcluster.Path @@ -53,6 +57,10 @@ func (c *ResourceV1alpha3Client) DeviceTaintRules() resourcev1alpha3.DeviceTaint return newFakeDeviceTaintRuleClient(c.Fake, c.ClusterPath) } +func (c *ResourceV1alpha3Client) ResourcePoolStatusRequests() resourcev1alpha3.ResourcePoolStatusRequestInterface { + return newFakeResourcePoolStatusRequestClient(c.Fake, c.ClusterPath) +} + // RESTClient returns a RESTClient that is used to communicate // with API server by this client implementation. func (c *ResourceV1alpha3Client) RESTClient() rest.Interface { diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resourcepoolstatusrequest.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resourcepoolstatusrequest.go new file mode 100644 index 00000000000..d5c72a05b62 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/fake/resourcepoolstatusrequest.go @@ -0,0 +1,98 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package fake + +import ( + resourcev1alpha3 "k8s.io/api/resource/v1alpha3" + v1alpha3 "k8s.io/client-go/applyconfigurations/resource/v1alpha3" + typedresourcev1alpha3 "k8s.io/client-go/kubernetes/typed/resource/v1alpha3" + + typedkcpresourcev1alpha3 "github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3" + kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" + kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" + "github.com/kcp-dev/logicalcluster/v3" +) + +// resourcePoolStatusRequestClusterClient implements ResourcePoolStatusRequestClusterInterface +type resourcePoolStatusRequestClusterClient struct { + *kcpgentype.FakeClusterClientWithList[*resourcev1alpha3.ResourcePoolStatusRequest, *resourcev1alpha3.ResourcePoolStatusRequestList] + Fake *kcptesting.Fake +} + +func newFakeResourcePoolStatusRequestClusterClient(fake *ResourceV1alpha3ClusterClient) typedkcpresourcev1alpha3.ResourcePoolStatusRequestClusterInterface { + return &resourcePoolStatusRequestClusterClient{ + kcpgentype.NewFakeClusterClientWithList[*resourcev1alpha3.ResourcePoolStatusRequest, *resourcev1alpha3.ResourcePoolStatusRequestList]( + fake.Fake, + resourcev1alpha3.SchemeGroupVersion.WithResource("resourcepoolstatusrequests"), + resourcev1alpha3.SchemeGroupVersion.WithKind("ResourcePoolStatusRequest"), + func() *resourcev1alpha3.ResourcePoolStatusRequest { + return &resourcev1alpha3.ResourcePoolStatusRequest{} + }, + func() *resourcev1alpha3.ResourcePoolStatusRequestList { + return &resourcev1alpha3.ResourcePoolStatusRequestList{} + }, + func(dst, src *resourcev1alpha3.ResourcePoolStatusRequestList) { dst.ListMeta = src.ListMeta }, + func(list *resourcev1alpha3.ResourcePoolStatusRequestList) []*resourcev1alpha3.ResourcePoolStatusRequest { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *resourcev1alpha3.ResourcePoolStatusRequestList, items []*resourcev1alpha3.ResourcePoolStatusRequest) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake.Fake, + } +} + +func (c *resourcePoolStatusRequestClusterClient) Cluster(cluster logicalcluster.Path) typedresourcev1alpha3.ResourcePoolStatusRequestInterface { + return newFakeResourcePoolStatusRequestClient(c.Fake, cluster) +} + +// resourcePoolStatusRequestScopedClient implements ResourcePoolStatusRequestInterface +type resourcePoolStatusRequestScopedClient struct { + *kcpgentype.FakeClientWithListAndApply[*resourcev1alpha3.ResourcePoolStatusRequest, *resourcev1alpha3.ResourcePoolStatusRequestList, *v1alpha3.ResourcePoolStatusRequestApplyConfiguration] + Fake *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func newFakeResourcePoolStatusRequestClient(fake *kcptesting.Fake, clusterPath logicalcluster.Path) typedresourcev1alpha3.ResourcePoolStatusRequestInterface { + return &resourcePoolStatusRequestScopedClient{ + kcpgentype.NewFakeClientWithListAndApply[*resourcev1alpha3.ResourcePoolStatusRequest, *resourcev1alpha3.ResourcePoolStatusRequestList, *v1alpha3.ResourcePoolStatusRequestApplyConfiguration]( + fake, + clusterPath, + "", + resourcev1alpha3.SchemeGroupVersion.WithResource("resourcepoolstatusrequests"), + resourcev1alpha3.SchemeGroupVersion.WithKind("ResourcePoolStatusRequest"), + func() *resourcev1alpha3.ResourcePoolStatusRequest { + return &resourcev1alpha3.ResourcePoolStatusRequest{} + }, + func() *resourcev1alpha3.ResourcePoolStatusRequestList { + return &resourcev1alpha3.ResourcePoolStatusRequestList{} + }, + func(dst, src *resourcev1alpha3.ResourcePoolStatusRequestList) { dst.ListMeta = src.ListMeta }, + func(list *resourcev1alpha3.ResourcePoolStatusRequestList) []*resourcev1alpha3.ResourcePoolStatusRequest { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *resourcev1alpha3.ResourcePoolStatusRequestList, items []*resourcev1alpha3.ResourcePoolStatusRequest) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake, + clusterPath, + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/generated_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/generated_expansion.go index d7dbbfce0ee..d237c170d86 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/generated_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/generated_expansion.go @@ -19,3 +19,5 @@ limitations under the License. package v1alpha3 type DeviceTaintRuleClusterExpansion interface{} + +type ResourcePoolStatusRequestClusterExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resource_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resource_client.go index 000ba29f1b8..5efc013e8c0 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resource_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resource_client.go @@ -33,6 +33,7 @@ import ( type ResourceV1alpha3ClusterInterface interface { ResourceV1alpha3ClusterScoper DeviceTaintRulesClusterGetter + ResourcePoolStatusRequestsClusterGetter } type ResourceV1alpha3ClusterScoper interface { @@ -55,6 +56,10 @@ func (c *ResourceV1alpha3ClusterClient) DeviceTaintRules() DeviceTaintRuleCluste return &deviceTaintRulesClusterInterface{clientCache: c.clientCache} } +func (c *ResourceV1alpha3ClusterClient) ResourcePoolStatusRequests() ResourcePoolStatusRequestClusterInterface { + return &resourcePoolStatusRequestsClusterInterface{clientCache: c.clientCache} +} + // NewForConfig creates a new ResourceV1alpha3ClusterClient for the given config. // NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), // where httpClient was generated with rest.HTTPClientFor(c). diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resourcepoolstatusrequest.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resourcepoolstatusrequest.go new file mode 100644 index 00000000000..28369f65a6c --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1alpha3/resourcepoolstatusrequest.go @@ -0,0 +1,69 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package v1alpha3 + +import ( + context "context" + + apiresourcev1alpha3 "k8s.io/api/resource/v1alpha3" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" + resourcev1alpha3 "k8s.io/client-go/kubernetes/typed/resource/v1alpha3" + + kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" + "github.com/kcp-dev/logicalcluster/v3" +) + +// ResourcePoolStatusRequestsClusterGetter has a method to return a ResourcePoolStatusRequestClusterInterface. +// A group's cluster client should implement this interface. +type ResourcePoolStatusRequestsClusterGetter interface { + ResourcePoolStatusRequests() ResourcePoolStatusRequestClusterInterface +} + +// ResourcePoolStatusRequestClusterInterface can operate on ResourcePoolStatusRequests across all clusters, +// or scope down to one cluster and return a resourcev1alpha3.ResourcePoolStatusRequestInterface. +type ResourcePoolStatusRequestClusterInterface interface { + Cluster(logicalcluster.Path) resourcev1alpha3.ResourcePoolStatusRequestInterface + List(ctx context.Context, opts v1.ListOptions) (*apiresourcev1alpha3.ResourcePoolStatusRequestList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + ResourcePoolStatusRequestClusterExpansion +} + +type resourcePoolStatusRequestsClusterInterface struct { + clientCache kcpclient.Cache[*resourcev1alpha3.ResourceV1alpha3Client] +} + +// Cluster scopes the client down to a particular cluster. +func (c *resourcePoolStatusRequestsClusterInterface) Cluster(clusterPath logicalcluster.Path) resourcev1alpha3.ResourcePoolStatusRequestInterface { + if clusterPath == logicalcluster.Wildcard { + panic("A specific cluster must be provided when scoping, not the wildcard.") + } + + return c.clientCache.ClusterOrDie(clusterPath).ResourcePoolStatusRequests() +} + +// List returns the entire collection of all ResourcePoolStatusRequests across all clusters. +func (c *resourcePoolStatusRequestsClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*apiresourcev1alpha3.ResourcePoolStatusRequestList, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).ResourcePoolStatusRequests().List(ctx, opts) +} + +// Watch begins to watch all ResourcePoolStatusRequests across all clusters. +func (c *resourcePoolStatusRequestsClusterInterface) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).ResourcePoolStatusRequests().Watch(ctx, opts) +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/devicetaintrule.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/devicetaintrule.go new file mode 100644 index 00000000000..656273ac35e --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/devicetaintrule.go @@ -0,0 +1,69 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package v1beta2 + +import ( + context "context" + + apiresourcev1beta2 "k8s.io/api/resource/v1beta2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" + resourcev1beta2 "k8s.io/client-go/kubernetes/typed/resource/v1beta2" + + kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" + "github.com/kcp-dev/logicalcluster/v3" +) + +// DeviceTaintRulesClusterGetter has a method to return a DeviceTaintRuleClusterInterface. +// A group's cluster client should implement this interface. +type DeviceTaintRulesClusterGetter interface { + DeviceTaintRules() DeviceTaintRuleClusterInterface +} + +// DeviceTaintRuleClusterInterface can operate on DeviceTaintRules across all clusters, +// or scope down to one cluster and return a resourcev1beta2.DeviceTaintRuleInterface. +type DeviceTaintRuleClusterInterface interface { + Cluster(logicalcluster.Path) resourcev1beta2.DeviceTaintRuleInterface + List(ctx context.Context, opts v1.ListOptions) (*apiresourcev1beta2.DeviceTaintRuleList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + DeviceTaintRuleClusterExpansion +} + +type deviceTaintRulesClusterInterface struct { + clientCache kcpclient.Cache[*resourcev1beta2.ResourceV1beta2Client] +} + +// Cluster scopes the client down to a particular cluster. +func (c *deviceTaintRulesClusterInterface) Cluster(clusterPath logicalcluster.Path) resourcev1beta2.DeviceTaintRuleInterface { + if clusterPath == logicalcluster.Wildcard { + panic("A specific cluster must be provided when scoping, not the wildcard.") + } + + return c.clientCache.ClusterOrDie(clusterPath).DeviceTaintRules() +} + +// List returns the entire collection of all DeviceTaintRules across all clusters. +func (c *deviceTaintRulesClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*apiresourcev1beta2.DeviceTaintRuleList, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).DeviceTaintRules().List(ctx, opts) +} + +// Watch begins to watch all DeviceTaintRules across all clusters. +func (c *deviceTaintRulesClusterInterface) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).DeviceTaintRules().Watch(ctx, opts) +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/devicetaintrule.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/devicetaintrule.go new file mode 100644 index 00000000000..13fcbbc5219 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/devicetaintrule.go @@ -0,0 +1,90 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package fake + +import ( + resourcev1beta2 "k8s.io/api/resource/v1beta2" + v1beta2 "k8s.io/client-go/applyconfigurations/resource/v1beta2" + typedresourcev1beta2 "k8s.io/client-go/kubernetes/typed/resource/v1beta2" + + typedkcpresourcev1beta2 "github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2" + kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" + kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" + "github.com/kcp-dev/logicalcluster/v3" +) + +// deviceTaintRuleClusterClient implements DeviceTaintRuleClusterInterface +type deviceTaintRuleClusterClient struct { + *kcpgentype.FakeClusterClientWithList[*resourcev1beta2.DeviceTaintRule, *resourcev1beta2.DeviceTaintRuleList] + Fake *kcptesting.Fake +} + +func newFakeDeviceTaintRuleClusterClient(fake *ResourceV1beta2ClusterClient) typedkcpresourcev1beta2.DeviceTaintRuleClusterInterface { + return &deviceTaintRuleClusterClient{ + kcpgentype.NewFakeClusterClientWithList[*resourcev1beta2.DeviceTaintRule, *resourcev1beta2.DeviceTaintRuleList]( + fake.Fake, + resourcev1beta2.SchemeGroupVersion.WithResource("devicetaintrules"), + resourcev1beta2.SchemeGroupVersion.WithKind("DeviceTaintRule"), + func() *resourcev1beta2.DeviceTaintRule { return &resourcev1beta2.DeviceTaintRule{} }, + func() *resourcev1beta2.DeviceTaintRuleList { return &resourcev1beta2.DeviceTaintRuleList{} }, + func(dst, src *resourcev1beta2.DeviceTaintRuleList) { dst.ListMeta = src.ListMeta }, + func(list *resourcev1beta2.DeviceTaintRuleList) []*resourcev1beta2.DeviceTaintRule { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *resourcev1beta2.DeviceTaintRuleList, items []*resourcev1beta2.DeviceTaintRule) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake.Fake, + } +} + +func (c *deviceTaintRuleClusterClient) Cluster(cluster logicalcluster.Path) typedresourcev1beta2.DeviceTaintRuleInterface { + return newFakeDeviceTaintRuleClient(c.Fake, cluster) +} + +// deviceTaintRuleScopedClient implements DeviceTaintRuleInterface +type deviceTaintRuleScopedClient struct { + *kcpgentype.FakeClientWithListAndApply[*resourcev1beta2.DeviceTaintRule, *resourcev1beta2.DeviceTaintRuleList, *v1beta2.DeviceTaintRuleApplyConfiguration] + Fake *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func newFakeDeviceTaintRuleClient(fake *kcptesting.Fake, clusterPath logicalcluster.Path) typedresourcev1beta2.DeviceTaintRuleInterface { + return &deviceTaintRuleScopedClient{ + kcpgentype.NewFakeClientWithListAndApply[*resourcev1beta2.DeviceTaintRule, *resourcev1beta2.DeviceTaintRuleList, *v1beta2.DeviceTaintRuleApplyConfiguration]( + fake, + clusterPath, + "", + resourcev1beta2.SchemeGroupVersion.WithResource("devicetaintrules"), + resourcev1beta2.SchemeGroupVersion.WithKind("DeviceTaintRule"), + func() *resourcev1beta2.DeviceTaintRule { return &resourcev1beta2.DeviceTaintRule{} }, + func() *resourcev1beta2.DeviceTaintRuleList { return &resourcev1beta2.DeviceTaintRuleList{} }, + func(dst, src *resourcev1beta2.DeviceTaintRuleList) { dst.ListMeta = src.ListMeta }, + func(list *resourcev1beta2.DeviceTaintRuleList) []*resourcev1beta2.DeviceTaintRule { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *resourcev1beta2.DeviceTaintRuleList, items []*resourcev1beta2.DeviceTaintRule) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake, + clusterPath, + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/resource_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/resource_client.go index 512d0549d60..a9fbcd98ea2 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/resource_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/fake/resource_client.go @@ -44,6 +44,10 @@ func (c *ResourceV1beta2ClusterClient) DeviceClasses() kcpresourcev1beta2.Device return newFakeDeviceClassClusterClient(c) } +func (c *ResourceV1beta2ClusterClient) DeviceTaintRules() kcpresourcev1beta2.DeviceTaintRuleClusterInterface { + return newFakeDeviceTaintRuleClusterClient(c) +} + func (c *ResourceV1beta2ClusterClient) ResourceClaims() kcpresourcev1beta2.ResourceClaimClusterInterface { return newFakeResourceClaimClusterClient(c) } @@ -65,6 +69,10 @@ func (c *ResourceV1beta2Client) DeviceClasses() resourcev1beta2.DeviceClassInter return newFakeDeviceClassClient(c.Fake, c.ClusterPath) } +func (c *ResourceV1beta2Client) DeviceTaintRules() resourcev1beta2.DeviceTaintRuleInterface { + return newFakeDeviceTaintRuleClient(c.Fake, c.ClusterPath) +} + func (c *ResourceV1beta2Client) ResourceClaims(namespace string) resourcev1beta2.ResourceClaimInterface { return newFakeResourceClaimClient(c.Fake, namespace, c.ClusterPath) } diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/generated_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/generated_expansion.go index b65de5e0034..a737ce9c291 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/generated_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/generated_expansion.go @@ -20,6 +20,8 @@ package v1beta2 type DeviceClassClusterExpansion interface{} +type DeviceTaintRuleClusterExpansion interface{} + type ResourceClaimClusterExpansion interface{} type ResourceClaimTemplateClusterExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/resource_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/resource_client.go index 6e2ac8d2c4c..5bf8c3c9176 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/resource_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/resource/v1beta2/resource_client.go @@ -33,6 +33,7 @@ import ( type ResourceV1beta2ClusterInterface interface { ResourceV1beta2ClusterScoper DeviceClassesClusterGetter + DeviceTaintRulesClusterGetter ResourceClaimsClusterGetter ResourceClaimTemplatesClusterGetter ResourceSlicesClusterGetter @@ -58,6 +59,10 @@ func (c *ResourceV1beta2ClusterClient) DeviceClasses() DeviceClassClusterInterfa return &deviceClassesClusterInterface{clientCache: c.clientCache} } +func (c *ResourceV1beta2ClusterClient) DeviceTaintRules() DeviceTaintRuleClusterInterface { + return &deviceTaintRulesClusterInterface{clientCache: c.clientCache} +} + func (c *ResourceV1beta2ClusterClient) ResourceClaims() ResourceClaimClusterInterface { return &resourceClaimsClusterInterface{clientCache: c.clientCache} } diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/doc.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/doc.go deleted file mode 100644 index 3e873237924..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -// This package has the automatically generated typed clients. -package v1alpha1 diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/doc.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/doc.go deleted file mode 100644 index 100cd63c05b..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -// Package fake has the automatically generated cluster clients. -package fake diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/priorityclass.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/priorityclass.go deleted file mode 100644 index fae231c4ebf..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/priorityclass.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package fake - -import ( - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" - v1alpha1 "k8s.io/client-go/applyconfigurations/scheduling/v1alpha1" - typedschedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" - - typedkcpschedulingv1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1" - kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" - "github.com/kcp-dev/logicalcluster/v3" -) - -// priorityClassClusterClient implements PriorityClassClusterInterface -type priorityClassClusterClient struct { - *kcpgentype.FakeClusterClientWithList[*schedulingv1alpha1.PriorityClass, *schedulingv1alpha1.PriorityClassList] - Fake *kcptesting.Fake -} - -func newFakePriorityClassClusterClient(fake *SchedulingV1alpha1ClusterClient) typedkcpschedulingv1alpha1.PriorityClassClusterInterface { - return &priorityClassClusterClient{ - kcpgentype.NewFakeClusterClientWithList[*schedulingv1alpha1.PriorityClass, *schedulingv1alpha1.PriorityClassList]( - fake.Fake, - schedulingv1alpha1.SchemeGroupVersion.WithResource("priorityclasses"), - schedulingv1alpha1.SchemeGroupVersion.WithKind("PriorityClass"), - func() *schedulingv1alpha1.PriorityClass { return &schedulingv1alpha1.PriorityClass{} }, - func() *schedulingv1alpha1.PriorityClassList { return &schedulingv1alpha1.PriorityClassList{} }, - func(dst, src *schedulingv1alpha1.PriorityClassList) { dst.ListMeta = src.ListMeta }, - func(list *schedulingv1alpha1.PriorityClassList) []*schedulingv1alpha1.PriorityClass { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *schedulingv1alpha1.PriorityClassList, items []*schedulingv1alpha1.PriorityClass) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake.Fake, - } -} - -func (c *priorityClassClusterClient) Cluster(cluster logicalcluster.Path) typedschedulingv1alpha1.PriorityClassInterface { - return newFakePriorityClassClient(c.Fake, cluster) -} - -// priorityClassScopedClient implements PriorityClassInterface -type priorityClassScopedClient struct { - *kcpgentype.FakeClientWithListAndApply[*schedulingv1alpha1.PriorityClass, *schedulingv1alpha1.PriorityClassList, *v1alpha1.PriorityClassApplyConfiguration] - Fake *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func newFakePriorityClassClient(fake *kcptesting.Fake, clusterPath logicalcluster.Path) typedschedulingv1alpha1.PriorityClassInterface { - return &priorityClassScopedClient{ - kcpgentype.NewFakeClientWithListAndApply[*schedulingv1alpha1.PriorityClass, *schedulingv1alpha1.PriorityClassList, *v1alpha1.PriorityClassApplyConfiguration]( - fake, - clusterPath, - "", - schedulingv1alpha1.SchemeGroupVersion.WithResource("priorityclasses"), - schedulingv1alpha1.SchemeGroupVersion.WithKind("PriorityClass"), - func() *schedulingv1alpha1.PriorityClass { return &schedulingv1alpha1.PriorityClass{} }, - func() *schedulingv1alpha1.PriorityClassList { return &schedulingv1alpha1.PriorityClassList{} }, - func(dst, src *schedulingv1alpha1.PriorityClassList) { dst.ListMeta = src.ListMeta }, - func(list *schedulingv1alpha1.PriorityClassList) []*schedulingv1alpha1.PriorityClass { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *schedulingv1alpha1.PriorityClassList, items []*schedulingv1alpha1.PriorityClass) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake, - clusterPath, - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/workload.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/workload.go deleted file mode 100644 index a3d774e3971..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/workload.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package fake - -import ( - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" - v1alpha1 "k8s.io/client-go/applyconfigurations/scheduling/v1alpha1" - typedschedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" - - typedkcpschedulingv1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1" - kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" - "github.com/kcp-dev/logicalcluster/v3" -) - -// workloadClusterClient implements WorkloadClusterInterface -type workloadClusterClient struct { - *kcpgentype.FakeClusterClientWithList[*schedulingv1alpha1.Workload, *schedulingv1alpha1.WorkloadList] - Fake *kcptesting.Fake -} - -func newFakeWorkloadClusterClient(fake *SchedulingV1alpha1ClusterClient) typedkcpschedulingv1alpha1.WorkloadClusterInterface { - return &workloadClusterClient{ - kcpgentype.NewFakeClusterClientWithList[*schedulingv1alpha1.Workload, *schedulingv1alpha1.WorkloadList]( - fake.Fake, - schedulingv1alpha1.SchemeGroupVersion.WithResource("workloads"), - schedulingv1alpha1.SchemeGroupVersion.WithKind("Workload"), - func() *schedulingv1alpha1.Workload { return &schedulingv1alpha1.Workload{} }, - func() *schedulingv1alpha1.WorkloadList { return &schedulingv1alpha1.WorkloadList{} }, - func(dst, src *schedulingv1alpha1.WorkloadList) { dst.ListMeta = src.ListMeta }, - func(list *schedulingv1alpha1.WorkloadList) []*schedulingv1alpha1.Workload { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *schedulingv1alpha1.WorkloadList, items []*schedulingv1alpha1.Workload) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake.Fake, - } -} - -func (c *workloadClusterClient) Cluster(cluster logicalcluster.Path) typedkcpschedulingv1alpha1.WorkloadsNamespacer { - return &workloadNamespacer{Fake: c.Fake, ClusterPath: cluster} -} - -type workloadNamespacer struct { - *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func (n *workloadNamespacer) Namespace(namespace string) typedschedulingv1alpha1.WorkloadInterface { - return newFakeWorkloadClient(n.Fake, namespace, n.ClusterPath) -} - -// workloadScopedClient implements WorkloadInterface -type workloadScopedClient struct { - *kcpgentype.FakeClientWithListAndApply[*schedulingv1alpha1.Workload, *schedulingv1alpha1.WorkloadList, *v1alpha1.WorkloadApplyConfiguration] - Fake *kcptesting.Fake - ClusterPath logicalcluster.Path -} - -func newFakeWorkloadClient(fake *kcptesting.Fake, namespace string, clusterPath logicalcluster.Path) typedschedulingv1alpha1.WorkloadInterface { - return &workloadScopedClient{ - kcpgentype.NewFakeClientWithListAndApply[*schedulingv1alpha1.Workload, *schedulingv1alpha1.WorkloadList, *v1alpha1.WorkloadApplyConfiguration]( - fake, - clusterPath, - namespace, - schedulingv1alpha1.SchemeGroupVersion.WithResource("workloads"), - schedulingv1alpha1.SchemeGroupVersion.WithKind("Workload"), - func() *schedulingv1alpha1.Workload { return &schedulingv1alpha1.Workload{} }, - func() *schedulingv1alpha1.WorkloadList { return &schedulingv1alpha1.WorkloadList{} }, - func(dst, src *schedulingv1alpha1.WorkloadList) { dst.ListMeta = src.ListMeta }, - func(list *schedulingv1alpha1.WorkloadList) []*schedulingv1alpha1.Workload { - return kcpgentype.ToPointerSlice(list.Items) - }, - func(list *schedulingv1alpha1.WorkloadList, items []*schedulingv1alpha1.Workload) { - list.Items = kcpgentype.FromPointerSlice(items) - }, - ), - fake, - clusterPath, - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/priorityclass.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/priorityclass.go deleted file mode 100644 index a1a555a93b6..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/priorityclass.go +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-client-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - context "context" - - apischedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - schedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" - - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" - "github.com/kcp-dev/logicalcluster/v3" -) - -// PriorityClassesClusterGetter has a method to return a PriorityClassClusterInterface. -// A group's cluster client should implement this interface. -type PriorityClassesClusterGetter interface { - PriorityClasses() PriorityClassClusterInterface -} - -// PriorityClassClusterInterface can operate on PriorityClasses across all clusters, -// or scope down to one cluster and return a schedulingv1alpha1.PriorityClassInterface. -type PriorityClassClusterInterface interface { - Cluster(logicalcluster.Path) schedulingv1alpha1.PriorityClassInterface - List(ctx context.Context, opts v1.ListOptions) (*apischedulingv1alpha1.PriorityClassList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - PriorityClassClusterExpansion -} - -type priorityClassesClusterInterface struct { - clientCache kcpclient.Cache[*schedulingv1alpha1.SchedulingV1alpha1Client] -} - -// Cluster scopes the client down to a particular cluster. -func (c *priorityClassesClusterInterface) Cluster(clusterPath logicalcluster.Path) schedulingv1alpha1.PriorityClassInterface { - if clusterPath == logicalcluster.Wildcard { - panic("A specific cluster must be provided when scoping, not the wildcard.") - } - - return c.clientCache.ClusterOrDie(clusterPath).PriorityClasses() -} - -// List returns the entire collection of all PriorityClasses across all clusters. -func (c *priorityClassesClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*apischedulingv1alpha1.PriorityClassList, error) { - return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).PriorityClasses().List(ctx, opts) -} - -// Watch begins to watch all PriorityClasses across all clusters. -func (c *priorityClassesClusterInterface) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).PriorityClasses().Watch(ctx, opts) -} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/doc.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/doc.go similarity index 97% rename from staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/doc.go rename to staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/doc.go index adba22ed740..6c19e1b62cf 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/doc.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/doc.go @@ -17,4 +17,4 @@ limitations under the License. // Code generated by cluster-client-gen. DO NOT EDIT. // This package has the automatically generated typed clients. -package v2beta1 +package v1alpha2 diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/doc.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/doc.go similarity index 100% rename from staging/src/github.com/kcp-dev/client-go/kubernetes/typed/autoscaling/v2beta1/fake/doc.go rename to staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/doc.go diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/podgroup.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/podgroup.go new file mode 100644 index 00000000000..4a2b0802541 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/podgroup.go @@ -0,0 +1,99 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package fake + +import ( + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" + v1alpha2 "k8s.io/client-go/applyconfigurations/scheduling/v1alpha2" + typedschedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" + + typedkcpschedulingv1alpha2 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2" + kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" + kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" + "github.com/kcp-dev/logicalcluster/v3" +) + +// podGroupClusterClient implements PodGroupClusterInterface +type podGroupClusterClient struct { + *kcpgentype.FakeClusterClientWithList[*schedulingv1alpha2.PodGroup, *schedulingv1alpha2.PodGroupList] + Fake *kcptesting.Fake +} + +func newFakePodGroupClusterClient(fake *SchedulingV1alpha2ClusterClient) typedkcpschedulingv1alpha2.PodGroupClusterInterface { + return &podGroupClusterClient{ + kcpgentype.NewFakeClusterClientWithList[*schedulingv1alpha2.PodGroup, *schedulingv1alpha2.PodGroupList]( + fake.Fake, + schedulingv1alpha2.SchemeGroupVersion.WithResource("podgroups"), + schedulingv1alpha2.SchemeGroupVersion.WithKind("PodGroup"), + func() *schedulingv1alpha2.PodGroup { return &schedulingv1alpha2.PodGroup{} }, + func() *schedulingv1alpha2.PodGroupList { return &schedulingv1alpha2.PodGroupList{} }, + func(dst, src *schedulingv1alpha2.PodGroupList) { dst.ListMeta = src.ListMeta }, + func(list *schedulingv1alpha2.PodGroupList) []*schedulingv1alpha2.PodGroup { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *schedulingv1alpha2.PodGroupList, items []*schedulingv1alpha2.PodGroup) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake.Fake, + } +} + +func (c *podGroupClusterClient) Cluster(cluster logicalcluster.Path) typedkcpschedulingv1alpha2.PodGroupsNamespacer { + return &podGroupNamespacer{Fake: c.Fake, ClusterPath: cluster} +} + +type podGroupNamespacer struct { + *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func (n *podGroupNamespacer) Namespace(namespace string) typedschedulingv1alpha2.PodGroupInterface { + return newFakePodGroupClient(n.Fake, namespace, n.ClusterPath) +} + +// podGroupScopedClient implements PodGroupInterface +type podGroupScopedClient struct { + *kcpgentype.FakeClientWithListAndApply[*schedulingv1alpha2.PodGroup, *schedulingv1alpha2.PodGroupList, *v1alpha2.PodGroupApplyConfiguration] + Fake *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func newFakePodGroupClient(fake *kcptesting.Fake, namespace string, clusterPath logicalcluster.Path) typedschedulingv1alpha2.PodGroupInterface { + return &podGroupScopedClient{ + kcpgentype.NewFakeClientWithListAndApply[*schedulingv1alpha2.PodGroup, *schedulingv1alpha2.PodGroupList, *v1alpha2.PodGroupApplyConfiguration]( + fake, + clusterPath, + namespace, + schedulingv1alpha2.SchemeGroupVersion.WithResource("podgroups"), + schedulingv1alpha2.SchemeGroupVersion.WithKind("PodGroup"), + func() *schedulingv1alpha2.PodGroup { return &schedulingv1alpha2.PodGroup{} }, + func() *schedulingv1alpha2.PodGroupList { return &schedulingv1alpha2.PodGroupList{} }, + func(dst, src *schedulingv1alpha2.PodGroupList) { dst.ListMeta = src.ListMeta }, + func(list *schedulingv1alpha2.PodGroupList) []*schedulingv1alpha2.PodGroup { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *schedulingv1alpha2.PodGroupList, items []*schedulingv1alpha2.PodGroup) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake, + clusterPath, + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/scheduling_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/scheduling_client.go similarity index 53% rename from staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/scheduling_client.go rename to staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/scheduling_client.go index f94dbf67a78..65ee93e7001 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/fake/scheduling_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/scheduling_client.go @@ -19,51 +19,51 @@ limitations under the License. package fake import ( - schedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" rest "k8s.io/client-go/rest" - kcpschedulingv1alpha1 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1" + kcpschedulingv1alpha2 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2" kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" ) -var _ kcpschedulingv1alpha1.SchedulingV1alpha1ClusterInterface = (*SchedulingV1alpha1ClusterClient)(nil) +var _ kcpschedulingv1alpha2.SchedulingV1alpha2ClusterInterface = (*SchedulingV1alpha2ClusterClient)(nil) -type SchedulingV1alpha1ClusterClient struct { +type SchedulingV1alpha2ClusterClient struct { *kcptesting.Fake } -func (c *SchedulingV1alpha1ClusterClient) Cluster(clusterPath logicalcluster.Path) schedulingv1alpha1.SchedulingV1alpha1Interface { +func (c *SchedulingV1alpha2ClusterClient) Cluster(clusterPath logicalcluster.Path) schedulingv1alpha2.SchedulingV1alpha2Interface { if clusterPath == logicalcluster.Wildcard { panic("A specific cluster must be provided when scoping, not the wildcard.") } - return &SchedulingV1alpha1Client{Fake: c.Fake, ClusterPath: clusterPath} + return &SchedulingV1alpha2Client{Fake: c.Fake, ClusterPath: clusterPath} } -func (c *SchedulingV1alpha1ClusterClient) PriorityClasses() kcpschedulingv1alpha1.PriorityClassClusterInterface { - return newFakePriorityClassClusterClient(c) +func (c *SchedulingV1alpha2ClusterClient) PodGroups() kcpschedulingv1alpha2.PodGroupClusterInterface { + return newFakePodGroupClusterClient(c) } -func (c *SchedulingV1alpha1ClusterClient) Workloads() kcpschedulingv1alpha1.WorkloadClusterInterface { +func (c *SchedulingV1alpha2ClusterClient) Workloads() kcpschedulingv1alpha2.WorkloadClusterInterface { return newFakeWorkloadClusterClient(c) } -type SchedulingV1alpha1Client struct { +type SchedulingV1alpha2Client struct { *kcptesting.Fake ClusterPath logicalcluster.Path } -func (c *SchedulingV1alpha1Client) PriorityClasses() schedulingv1alpha1.PriorityClassInterface { - return newFakePriorityClassClient(c.Fake, c.ClusterPath) +func (c *SchedulingV1alpha2Client) PodGroups(namespace string) schedulingv1alpha2.PodGroupInterface { + return newFakePodGroupClient(c.Fake, namespace, c.ClusterPath) } -func (c *SchedulingV1alpha1Client) Workloads(namespace string) schedulingv1alpha1.WorkloadInterface { +func (c *SchedulingV1alpha2Client) Workloads(namespace string) schedulingv1alpha2.WorkloadInterface { return newFakeWorkloadClient(c.Fake, namespace, c.ClusterPath) } // RESTClient returns a RESTClient that is used to communicate // with API server by this client implementation. -func (c *SchedulingV1alpha1Client) RESTClient() rest.Interface { +func (c *SchedulingV1alpha2Client) RESTClient() rest.Interface { var ret *rest.RESTClient return ret } diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/workload.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/workload.go new file mode 100644 index 00000000000..4f270fbe301 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/fake/workload.go @@ -0,0 +1,99 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package fake + +import ( + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" + v1alpha2 "k8s.io/client-go/applyconfigurations/scheduling/v1alpha2" + typedschedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" + + typedkcpschedulingv1alpha2 "github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2" + kcpgentype "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/gentype" + kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" + "github.com/kcp-dev/logicalcluster/v3" +) + +// workloadClusterClient implements WorkloadClusterInterface +type workloadClusterClient struct { + *kcpgentype.FakeClusterClientWithList[*schedulingv1alpha2.Workload, *schedulingv1alpha2.WorkloadList] + Fake *kcptesting.Fake +} + +func newFakeWorkloadClusterClient(fake *SchedulingV1alpha2ClusterClient) typedkcpschedulingv1alpha2.WorkloadClusterInterface { + return &workloadClusterClient{ + kcpgentype.NewFakeClusterClientWithList[*schedulingv1alpha2.Workload, *schedulingv1alpha2.WorkloadList]( + fake.Fake, + schedulingv1alpha2.SchemeGroupVersion.WithResource("workloads"), + schedulingv1alpha2.SchemeGroupVersion.WithKind("Workload"), + func() *schedulingv1alpha2.Workload { return &schedulingv1alpha2.Workload{} }, + func() *schedulingv1alpha2.WorkloadList { return &schedulingv1alpha2.WorkloadList{} }, + func(dst, src *schedulingv1alpha2.WorkloadList) { dst.ListMeta = src.ListMeta }, + func(list *schedulingv1alpha2.WorkloadList) []*schedulingv1alpha2.Workload { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *schedulingv1alpha2.WorkloadList, items []*schedulingv1alpha2.Workload) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake.Fake, + } +} + +func (c *workloadClusterClient) Cluster(cluster logicalcluster.Path) typedkcpschedulingv1alpha2.WorkloadsNamespacer { + return &workloadNamespacer{Fake: c.Fake, ClusterPath: cluster} +} + +type workloadNamespacer struct { + *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func (n *workloadNamespacer) Namespace(namespace string) typedschedulingv1alpha2.WorkloadInterface { + return newFakeWorkloadClient(n.Fake, namespace, n.ClusterPath) +} + +// workloadScopedClient implements WorkloadInterface +type workloadScopedClient struct { + *kcpgentype.FakeClientWithListAndApply[*schedulingv1alpha2.Workload, *schedulingv1alpha2.WorkloadList, *v1alpha2.WorkloadApplyConfiguration] + Fake *kcptesting.Fake + ClusterPath logicalcluster.Path +} + +func newFakeWorkloadClient(fake *kcptesting.Fake, namespace string, clusterPath logicalcluster.Path) typedschedulingv1alpha2.WorkloadInterface { + return &workloadScopedClient{ + kcpgentype.NewFakeClientWithListAndApply[*schedulingv1alpha2.Workload, *schedulingv1alpha2.WorkloadList, *v1alpha2.WorkloadApplyConfiguration]( + fake, + clusterPath, + namespace, + schedulingv1alpha2.SchemeGroupVersion.WithResource("workloads"), + schedulingv1alpha2.SchemeGroupVersion.WithKind("Workload"), + func() *schedulingv1alpha2.Workload { return &schedulingv1alpha2.Workload{} }, + func() *schedulingv1alpha2.WorkloadList { return &schedulingv1alpha2.WorkloadList{} }, + func(dst, src *schedulingv1alpha2.WorkloadList) { dst.ListMeta = src.ListMeta }, + func(list *schedulingv1alpha2.WorkloadList) []*schedulingv1alpha2.Workload { + return kcpgentype.ToPointerSlice(list.Items) + }, + func(list *schedulingv1alpha2.WorkloadList, items []*schedulingv1alpha2.Workload) { + list.Items = kcpgentype.FromPointerSlice(items) + }, + ), + fake, + clusterPath, + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/generated_expansion.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/generated_expansion.go similarity index 91% rename from staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/generated_expansion.go rename to staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/generated_expansion.go index a1931effad0..c70cd45a3f0 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/generated_expansion.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/generated_expansion.go @@ -16,8 +16,8 @@ limitations under the License. // Code generated by cluster-client-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 -type PriorityClassClusterExpansion interface{} +type PodGroupClusterExpansion interface{} type WorkloadClusterExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/podgroup.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/podgroup.go new file mode 100644 index 00000000000..ca9d150b8e3 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/podgroup.go @@ -0,0 +1,83 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-client-gen. DO NOT EDIT. + +package v1alpha2 + +import ( + context "context" + + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" + typedschedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" + + kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" + "github.com/kcp-dev/logicalcluster/v3" +) + +// PodGroupsClusterGetter has a method to return a PodGroupClusterInterface. +// A group's cluster client should implement this interface. +type PodGroupsClusterGetter interface { + PodGroups() PodGroupClusterInterface +} + +// PodGroupClusterInterface can operate on PodGroups across all clusters, +// or scope down to one cluster and return a PodGroupsNamespacer. +type PodGroupClusterInterface interface { + Cluster(logicalcluster.Path) PodGroupsNamespacer + List(ctx context.Context, opts v1.ListOptions) (*schedulingv1alpha2.PodGroupList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + PodGroupClusterExpansion +} + +type podGroupsClusterInterface struct { + clientCache kcpclient.Cache[*typedschedulingv1alpha2.SchedulingV1alpha2Client] +} + +// Cluster scopes the client down to a particular cluster. +func (c *podGroupsClusterInterface) Cluster(clusterPath logicalcluster.Path) PodGroupsNamespacer { + if clusterPath == logicalcluster.Wildcard { + panic("A specific cluster must be provided when scoping, not the wildcard.") + } + + return &podGroupsNamespacer{clientCache: c.clientCache, clusterPath: clusterPath} +} + +// List returns the entire collection of all PodGroups across all clusters. +func (c *podGroupsClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*schedulingv1alpha2.PodGroupList, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).PodGroups(v1.NamespaceAll).List(ctx, opts) +} + +// Watch begins to watch all PodGroups across all clusters. +func (c *podGroupsClusterInterface) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).PodGroups(v1.NamespaceAll).Watch(ctx, opts) +} + +// PodGroupsNamespacer can scope to objects within a namespace, returning a typedschedulingv1alpha2.PodGroupInterface. +type PodGroupsNamespacer interface { + Namespace(string) typedschedulingv1alpha2.PodGroupInterface +} + +type podGroupsNamespacer struct { + clientCache kcpclient.Cache[*typedschedulingv1alpha2.SchedulingV1alpha2Client] + clusterPath logicalcluster.Path +} + +func (n *podGroupsNamespacer) Namespace(namespace string) typedschedulingv1alpha2.PodGroupInterface { + return n.clientCache.ClusterOrDie(n.clusterPath).PodGroups(namespace) +} diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/scheduling_client.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/scheduling_client.go similarity index 61% rename from staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/scheduling_client.go rename to staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/scheduling_client.go index 73a2f457b11..55880e31b07 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/scheduling_client.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/scheduling_client.go @@ -16,13 +16,13 @@ limitations under the License. // Code generated by cluster-client-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 import ( http "net/http" - apischedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" - schedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" + apischedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" + schedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" rest "k8s.io/client-go/rest" kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" @@ -30,40 +30,40 @@ import ( "github.com/kcp-dev/logicalcluster/v3" ) -type SchedulingV1alpha1ClusterInterface interface { - SchedulingV1alpha1ClusterScoper - PriorityClassesClusterGetter +type SchedulingV1alpha2ClusterInterface interface { + SchedulingV1alpha2ClusterScoper + PodGroupsClusterGetter WorkloadsClusterGetter } -type SchedulingV1alpha1ClusterScoper interface { - Cluster(logicalcluster.Path) schedulingv1alpha1.SchedulingV1alpha1Interface +type SchedulingV1alpha2ClusterScoper interface { + Cluster(logicalcluster.Path) schedulingv1alpha2.SchedulingV1alpha2Interface } -// SchedulingV1alpha1ClusterClient is used to interact with features provided by the scheduling.k8s.io group. -type SchedulingV1alpha1ClusterClient struct { - clientCache kcpclient.Cache[*schedulingv1alpha1.SchedulingV1alpha1Client] +// SchedulingV1alpha2ClusterClient is used to interact with features provided by the scheduling.k8s.io group. +type SchedulingV1alpha2ClusterClient struct { + clientCache kcpclient.Cache[*schedulingv1alpha2.SchedulingV1alpha2Client] } -func (c *SchedulingV1alpha1ClusterClient) Cluster(clusterPath logicalcluster.Path) schedulingv1alpha1.SchedulingV1alpha1Interface { +func (c *SchedulingV1alpha2ClusterClient) Cluster(clusterPath logicalcluster.Path) schedulingv1alpha2.SchedulingV1alpha2Interface { if clusterPath == logicalcluster.Wildcard { panic("A specific cluster must be provided when scoping, not the wildcard.") } return c.clientCache.ClusterOrDie(clusterPath) } -func (c *SchedulingV1alpha1ClusterClient) PriorityClasses() PriorityClassClusterInterface { - return &priorityClassesClusterInterface{clientCache: c.clientCache} +func (c *SchedulingV1alpha2ClusterClient) PodGroups() PodGroupClusterInterface { + return &podGroupsClusterInterface{clientCache: c.clientCache} } -func (c *SchedulingV1alpha1ClusterClient) Workloads() WorkloadClusterInterface { +func (c *SchedulingV1alpha2ClusterClient) Workloads() WorkloadClusterInterface { return &workloadsClusterInterface{clientCache: c.clientCache} } -// NewForConfig creates a new SchedulingV1alpha1ClusterClient for the given config. +// NewForConfig creates a new SchedulingV1alpha2ClusterClient for the given config. // NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), // where httpClient was generated with rest.HTTPClientFor(c). -func NewForConfig(c *rest.Config) (*SchedulingV1alpha1ClusterClient, error) { +func NewForConfig(c *rest.Config) (*SchedulingV1alpha2ClusterClient, error) { config := *c setConfigDefaults(&config) httpClient, err := rest.HTTPClientFor(&config) @@ -73,22 +73,22 @@ func NewForConfig(c *rest.Config) (*SchedulingV1alpha1ClusterClient, error) { return NewForConfigAndClient(&config, httpClient) } -// NewForConfigAndClient creates a new SchedulingV1alpha1ClusterClient for the given config and http client. +// NewForConfigAndClient creates a new SchedulingV1alpha2ClusterClient for the given config and http client. // Note the http client provided takes precedence over the configured transport values. -func NewForConfigAndClient(c *rest.Config, h *http.Client) (*SchedulingV1alpha1ClusterClient, error) { - cache := kcpclient.NewCache(c, h, &kcpclient.Constructor[*schedulingv1alpha1.SchedulingV1alpha1Client]{ - NewForConfigAndClient: schedulingv1alpha1.NewForConfigAndClient, +func NewForConfigAndClient(c *rest.Config, h *http.Client) (*SchedulingV1alpha2ClusterClient, error) { + cache := kcpclient.NewCache(c, h, &kcpclient.Constructor[*schedulingv1alpha2.SchedulingV1alpha2Client]{ + NewForConfigAndClient: schedulingv1alpha2.NewForConfigAndClient, }) if _, err := cache.Cluster(logicalcluster.Name("root").Path()); err != nil { return nil, err } - return &SchedulingV1alpha1ClusterClient{clientCache: cache}, nil + return &SchedulingV1alpha2ClusterClient{clientCache: cache}, nil } -// NewForConfigOrDie creates a new SchedulingV1alpha1ClusterClient for the given config and +// NewForConfigOrDie creates a new SchedulingV1alpha2ClusterClient for the given config and // panics if there is an error in the config. -func NewForConfigOrDie(c *rest.Config) *SchedulingV1alpha1ClusterClient { +func NewForConfigOrDie(c *rest.Config) *SchedulingV1alpha2ClusterClient { client, err := NewForConfig(c) if err != nil { panic(err) @@ -97,7 +97,7 @@ func NewForConfigOrDie(c *rest.Config) *SchedulingV1alpha1ClusterClient { } func setConfigDefaults(config *rest.Config) { - gv := apischedulingv1alpha1.SchemeGroupVersion + gv := apischedulingv1alpha2.SchemeGroupVersion config.GroupVersion = &gv config.APIPath = "/apis" config.NegotiatedSerializer = rest.CodecFactoryForGeneratedClient(kcpscheme.Scheme, kcpscheme.Codecs).WithoutConversion() diff --git a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/workload.go b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/workload.go similarity index 82% rename from staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/workload.go rename to staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/workload.go index cbb8b11fc1e..fcd24ddb2c8 100644 --- a/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha1/workload.go +++ b/staging/src/github.com/kcp-dev/client-go/kubernetes/typed/scheduling/v1alpha2/workload.go @@ -16,15 +16,15 @@ limitations under the License. // Code generated by cluster-client-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 import ( context "context" - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" watch "k8s.io/apimachinery/pkg/watch" - typedschedulingv1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" + typedschedulingv1alpha2 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha2" kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" @@ -40,13 +40,13 @@ type WorkloadsClusterGetter interface { // or scope down to one cluster and return a WorkloadsNamespacer. type WorkloadClusterInterface interface { Cluster(logicalcluster.Path) WorkloadsNamespacer - List(ctx context.Context, opts v1.ListOptions) (*schedulingv1alpha1.WorkloadList, error) + List(ctx context.Context, opts v1.ListOptions) (*schedulingv1alpha2.WorkloadList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) WorkloadClusterExpansion } type workloadsClusterInterface struct { - clientCache kcpclient.Cache[*typedschedulingv1alpha1.SchedulingV1alpha1Client] + clientCache kcpclient.Cache[*typedschedulingv1alpha2.SchedulingV1alpha2Client] } // Cluster scopes the client down to a particular cluster. @@ -59,7 +59,7 @@ func (c *workloadsClusterInterface) Cluster(clusterPath logicalcluster.Path) Wor } // List returns the entire collection of all Workloads across all clusters. -func (c *workloadsClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*schedulingv1alpha1.WorkloadList, error) { +func (c *workloadsClusterInterface) List(ctx context.Context, opts v1.ListOptions) (*schedulingv1alpha2.WorkloadList, error) { return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).Workloads(v1.NamespaceAll).List(ctx, opts) } @@ -68,16 +68,16 @@ func (c *workloadsClusterInterface) Watch(ctx context.Context, opts v1.ListOptio return c.clientCache.ClusterOrDie(logicalcluster.Wildcard).Workloads(v1.NamespaceAll).Watch(ctx, opts) } -// WorkloadsNamespacer can scope to objects within a namespace, returning a typedschedulingv1alpha1.WorkloadInterface. +// WorkloadsNamespacer can scope to objects within a namespace, returning a typedschedulingv1alpha2.WorkloadInterface. type WorkloadsNamespacer interface { - Namespace(string) typedschedulingv1alpha1.WorkloadInterface + Namespace(string) typedschedulingv1alpha2.WorkloadInterface } type workloadsNamespacer struct { - clientCache kcpclient.Cache[*typedschedulingv1alpha1.SchedulingV1alpha1Client] + clientCache kcpclient.Cache[*typedschedulingv1alpha2.SchedulingV1alpha2Client] clusterPath logicalcluster.Path } -func (n *workloadsNamespacer) Namespace(namespace string) typedschedulingv1alpha1.WorkloadInterface { +func (n *workloadsNamespacer) Namespace(namespace string) typedschedulingv1alpha2.WorkloadInterface { return n.clientCache.ClusterOrDie(n.clusterPath).Workloads(namespace) } diff --git a/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/expansion_generated.go b/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/expansion_generated.go index 3676cd7926b..5e224b5f964 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/expansion_generated.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/expansion_generated.go @@ -18,6 +18,14 @@ limitations under the License. package v1 +// MutatingAdmissionPolicyClusterListerExpansion allows custom methods to be added to +// MutatingAdmissionPolicyClusterLister. +type MutatingAdmissionPolicyClusterListerExpansion interface{} + +// MutatingAdmissionPolicyBindingClusterListerExpansion allows custom methods to be added to +// MutatingAdmissionPolicyBindingClusterLister. +type MutatingAdmissionPolicyBindingClusterListerExpansion interface{} + // MutatingWebhookConfigurationClusterListerExpansion allows custom methods to be added to // MutatingWebhookConfigurationClusterLister. type MutatingWebhookConfigurationClusterListerExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicy.go b/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicy.go new file mode 100644 index 00000000000..a2cd82e528d --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicy.go @@ -0,0 +1,91 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-lister-gen. DO NOT EDIT. + +package v1 + +import ( + admissionregistrationv1 "k8s.io/api/admissionregistration/v1" + "k8s.io/apimachinery/pkg/labels" + listersadmissionregistrationv1 "k8s.io/client-go/listers/admissionregistration/v1" + "k8s.io/client-go/tools/cache" + + kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" + "github.com/kcp-dev/logicalcluster/v3" +) + +// MutatingAdmissionPolicyClusterLister helps list MutatingAdmissionPolicies across all workspaces, +// or scope down to a MutatingAdmissionPolicyLister for one workspace. +// All objects returned here must be treated as read-only. +type MutatingAdmissionPolicyClusterLister interface { + // List lists all MutatingAdmissionPolicies in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*admissionregistrationv1.MutatingAdmissionPolicy, err error) + // Cluster returns a lister that can list and get MutatingAdmissionPolicies in one workspace. + Cluster(clusterName logicalcluster.Name) listersadmissionregistrationv1.MutatingAdmissionPolicyLister + MutatingAdmissionPolicyClusterListerExpansion +} + +// mutatingAdmissionPolicyClusterLister implements the MutatingAdmissionPolicyClusterLister interface. +type mutatingAdmissionPolicyClusterLister struct { + kcplisters.ResourceClusterIndexer[*admissionregistrationv1.MutatingAdmissionPolicy] +} + +var _ MutatingAdmissionPolicyClusterLister = new(mutatingAdmissionPolicyClusterLister) + +// NewMutatingAdmissionPolicyClusterLister returns a new MutatingAdmissionPolicyClusterLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewMutatingAdmissionPolicyClusterLister(indexer cache.Indexer) MutatingAdmissionPolicyClusterLister { + return &mutatingAdmissionPolicyClusterLister{ + kcplisters.NewCluster[*admissionregistrationv1.MutatingAdmissionPolicy](indexer, admissionregistrationv1.Resource("mutatingadmissionpolicy")), + } +} + +// Cluster scopes the lister to one workspace, allowing users to list and get MutatingAdmissionPolicies. +func (l *mutatingAdmissionPolicyClusterLister) Cluster(clusterName logicalcluster.Name) listersadmissionregistrationv1.MutatingAdmissionPolicyLister { + return &mutatingAdmissionPolicyLister{ + l.ResourceClusterIndexer.WithCluster(clusterName), + } +} + +// mutatingAdmissionPolicyLister can list all MutatingAdmissionPolicies inside a workspace +// or scope down to a listersadmissionregistrationv1.MutatingAdmissionPolicyNamespaceLister for one namespace. +type mutatingAdmissionPolicyLister struct { + kcplisters.ResourceIndexer[*admissionregistrationv1.MutatingAdmissionPolicy] +} + +var _ listersadmissionregistrationv1.MutatingAdmissionPolicyLister = new(mutatingAdmissionPolicyLister) + +// NewMutatingAdmissionPolicyLister returns a new MutatingAdmissionPolicyLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewMutatingAdmissionPolicyLister(indexer cache.Indexer) listersadmissionregistrationv1.MutatingAdmissionPolicyLister { + return &mutatingAdmissionPolicyLister{ + kcplisters.New[*admissionregistrationv1.MutatingAdmissionPolicy](indexer, admissionregistrationv1.Resource("mutatingadmissionpolicy")), + } +} + +// mutatingAdmissionPolicyScopedLister can list all MutatingAdmissionPolicies inside a workspace +// or scope down to a listersadmissionregistrationv1.MutatingAdmissionPolicyNamespaceLister. +type mutatingAdmissionPolicyScopedLister struct { + kcplisters.ResourceIndexer[*admissionregistrationv1.MutatingAdmissionPolicy] +} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicybinding.go b/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicybinding.go new file mode 100644 index 00000000000..77cbab7a3ff --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/listers/admissionregistration/v1/mutatingadmissionpolicybinding.go @@ -0,0 +1,91 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-lister-gen. DO NOT EDIT. + +package v1 + +import ( + admissionregistrationv1 "k8s.io/api/admissionregistration/v1" + "k8s.io/apimachinery/pkg/labels" + listersadmissionregistrationv1 "k8s.io/client-go/listers/admissionregistration/v1" + "k8s.io/client-go/tools/cache" + + kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" + "github.com/kcp-dev/logicalcluster/v3" +) + +// MutatingAdmissionPolicyBindingClusterLister helps list MutatingAdmissionPolicyBindings across all workspaces, +// or scope down to a MutatingAdmissionPolicyBindingLister for one workspace. +// All objects returned here must be treated as read-only. +type MutatingAdmissionPolicyBindingClusterLister interface { + // List lists all MutatingAdmissionPolicyBindings in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*admissionregistrationv1.MutatingAdmissionPolicyBinding, err error) + // Cluster returns a lister that can list and get MutatingAdmissionPolicyBindings in one workspace. + Cluster(clusterName logicalcluster.Name) listersadmissionregistrationv1.MutatingAdmissionPolicyBindingLister + MutatingAdmissionPolicyBindingClusterListerExpansion +} + +// mutatingAdmissionPolicyBindingClusterLister implements the MutatingAdmissionPolicyBindingClusterLister interface. +type mutatingAdmissionPolicyBindingClusterLister struct { + kcplisters.ResourceClusterIndexer[*admissionregistrationv1.MutatingAdmissionPolicyBinding] +} + +var _ MutatingAdmissionPolicyBindingClusterLister = new(mutatingAdmissionPolicyBindingClusterLister) + +// NewMutatingAdmissionPolicyBindingClusterLister returns a new MutatingAdmissionPolicyBindingClusterLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewMutatingAdmissionPolicyBindingClusterLister(indexer cache.Indexer) MutatingAdmissionPolicyBindingClusterLister { + return &mutatingAdmissionPolicyBindingClusterLister{ + kcplisters.NewCluster[*admissionregistrationv1.MutatingAdmissionPolicyBinding](indexer, admissionregistrationv1.Resource("mutatingadmissionpolicybinding")), + } +} + +// Cluster scopes the lister to one workspace, allowing users to list and get MutatingAdmissionPolicyBindings. +func (l *mutatingAdmissionPolicyBindingClusterLister) Cluster(clusterName logicalcluster.Name) listersadmissionregistrationv1.MutatingAdmissionPolicyBindingLister { + return &mutatingAdmissionPolicyBindingLister{ + l.ResourceClusterIndexer.WithCluster(clusterName), + } +} + +// mutatingAdmissionPolicyBindingLister can list all MutatingAdmissionPolicyBindings inside a workspace +// or scope down to a listersadmissionregistrationv1.MutatingAdmissionPolicyBindingNamespaceLister for one namespace. +type mutatingAdmissionPolicyBindingLister struct { + kcplisters.ResourceIndexer[*admissionregistrationv1.MutatingAdmissionPolicyBinding] +} + +var _ listersadmissionregistrationv1.MutatingAdmissionPolicyBindingLister = new(mutatingAdmissionPolicyBindingLister) + +// NewMutatingAdmissionPolicyBindingLister returns a new MutatingAdmissionPolicyBindingLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewMutatingAdmissionPolicyBindingLister(indexer cache.Indexer) listersadmissionregistrationv1.MutatingAdmissionPolicyBindingLister { + return &mutatingAdmissionPolicyBindingLister{ + kcplisters.New[*admissionregistrationv1.MutatingAdmissionPolicyBinding](indexer, admissionregistrationv1.Resource("mutatingadmissionpolicybinding")), + } +} + +// mutatingAdmissionPolicyBindingScopedLister can list all MutatingAdmissionPolicyBindings inside a workspace +// or scope down to a listersadmissionregistrationv1.MutatingAdmissionPolicyBindingNamespaceLister. +type mutatingAdmissionPolicyBindingScopedLister struct { + kcplisters.ResourceIndexer[*admissionregistrationv1.MutatingAdmissionPolicyBinding] +} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/expansion_generated.go b/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/expansion_generated.go deleted file mode 100644 index e3657b41b91..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/expansion_generated.go +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-lister-gen. DO NOT EDIT. - -package v2beta1 - -// HorizontalPodAutoscalerClusterListerExpansion allows custom methods to be added to -// HorizontalPodAutoscalerClusterLister. -type HorizontalPodAutoscalerClusterListerExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/horizontalpodautoscaler.go deleted file mode 100644 index b807bf7ed9e..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta1/horizontalpodautoscaler.go +++ /dev/null @@ -1,115 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-lister-gen. DO NOT EDIT. - -package v2beta1 - -import ( - autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" - "k8s.io/apimachinery/pkg/labels" - listersautoscalingv2beta1 "k8s.io/client-go/listers/autoscaling/v2beta1" - "k8s.io/client-go/tools/cache" - - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" - "github.com/kcp-dev/logicalcluster/v3" -) - -// HorizontalPodAutoscalerClusterLister helps list HorizontalPodAutoscalers across all workspaces, -// or scope down to a HorizontalPodAutoscalerLister for one workspace. -// All objects returned here must be treated as read-only. -type HorizontalPodAutoscalerClusterLister interface { - // List lists all HorizontalPodAutoscalers in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*autoscalingv2beta1.HorizontalPodAutoscaler, err error) - // Cluster returns a lister that can list and get HorizontalPodAutoscalers in one workspace. - Cluster(clusterName logicalcluster.Name) listersautoscalingv2beta1.HorizontalPodAutoscalerLister - HorizontalPodAutoscalerClusterListerExpansion -} - -// horizontalPodAutoscalerClusterLister implements the HorizontalPodAutoscalerClusterLister interface. -type horizontalPodAutoscalerClusterLister struct { - kcplisters.ResourceClusterIndexer[*autoscalingv2beta1.HorizontalPodAutoscaler] -} - -var _ HorizontalPodAutoscalerClusterLister = new(horizontalPodAutoscalerClusterLister) - -// NewHorizontalPodAutoscalerClusterLister returns a new HorizontalPodAutoscalerClusterLister. -// We assume that the indexer: -// - is fed by a cross-workspace LIST+WATCH -// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function -// - has the kcpcache.ClusterIndex as an index -// - has the kcpcache.ClusterAndNamespaceIndex as an index -func NewHorizontalPodAutoscalerClusterLister(indexer cache.Indexer) HorizontalPodAutoscalerClusterLister { - return &horizontalPodAutoscalerClusterLister{ - kcplisters.NewCluster[*autoscalingv2beta1.HorizontalPodAutoscaler](indexer, autoscalingv2beta1.Resource("horizontalpodautoscaler")), - } -} - -// Cluster scopes the lister to one workspace, allowing users to list and get HorizontalPodAutoscalers. -func (l *horizontalPodAutoscalerClusterLister) Cluster(clusterName logicalcluster.Name) listersautoscalingv2beta1.HorizontalPodAutoscalerLister { - return &horizontalPodAutoscalerLister{ - l.ResourceClusterIndexer.WithCluster(clusterName), - } -} - -// horizontalPodAutoscalerLister can list all HorizontalPodAutoscalers inside a workspace -// or scope down to a listersautoscalingv2beta1.HorizontalPodAutoscalerNamespaceLister for one namespace. -type horizontalPodAutoscalerLister struct { - kcplisters.ResourceIndexer[*autoscalingv2beta1.HorizontalPodAutoscaler] -} - -var _ listersautoscalingv2beta1.HorizontalPodAutoscalerLister = new(horizontalPodAutoscalerLister) - -// HorizontalPodAutoscalers returns an object that can list and get HorizontalPodAutoscalers in one namespace. -func (l *horizontalPodAutoscalerLister) HorizontalPodAutoscalers(namespace string) listersautoscalingv2beta1.HorizontalPodAutoscalerNamespaceLister { - return &horizontalPodAutoscalerNamespaceLister{ - l.ResourceIndexer.WithNamespace(namespace), - } -} - -// horizontalPodAutoscalerNamespaceLister implements the listersautoscalingv2beta1.HorizontalPodAutoscalerNamespaceLister -// interface. -type horizontalPodAutoscalerNamespaceLister struct { - kcplisters.ResourceIndexer[*autoscalingv2beta1.HorizontalPodAutoscaler] -} - -var _ listersautoscalingv2beta1.HorizontalPodAutoscalerNamespaceLister = new(horizontalPodAutoscalerNamespaceLister) - -// NewHorizontalPodAutoscalerLister returns a new HorizontalPodAutoscalerLister. -// We assume that the indexer: -// - is fed by a cross-workspace LIST+WATCH -// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function -// - has the kcpcache.ClusterIndex as an index -// - has the kcpcache.ClusterAndNamespaceIndex as an index -func NewHorizontalPodAutoscalerLister(indexer cache.Indexer) listersautoscalingv2beta1.HorizontalPodAutoscalerLister { - return &horizontalPodAutoscalerLister{ - kcplisters.New[*autoscalingv2beta1.HorizontalPodAutoscaler](indexer, autoscalingv2beta1.Resource("horizontalpodautoscaler")), - } -} - -// horizontalPodAutoscalerScopedLister can list all HorizontalPodAutoscalers inside a workspace -// or scope down to a listersautoscalingv2beta1.HorizontalPodAutoscalerNamespaceLister for one namespace. -type horizontalPodAutoscalerScopedLister struct { - kcplisters.ResourceIndexer[*autoscalingv2beta1.HorizontalPodAutoscaler] -} - -// HorizontalPodAutoscalers returns an object that can list and get HorizontalPodAutoscalers in one namespace. -func (l *horizontalPodAutoscalerScopedLister) HorizontalPodAutoscalers(namespace string) listersautoscalingv2beta1.HorizontalPodAutoscalerLister { - return &horizontalPodAutoscalerLister{ - l.ResourceIndexer.WithNamespace(namespace), - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/expansion_generated.go b/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/expansion_generated.go deleted file mode 100644 index c863754716c..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/expansion_generated.go +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-lister-gen. DO NOT EDIT. - -package v2beta2 - -// HorizontalPodAutoscalerClusterListerExpansion allows custom methods to be added to -// HorizontalPodAutoscalerClusterLister. -type HorizontalPodAutoscalerClusterListerExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/horizontalpodautoscaler.go b/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/horizontalpodautoscaler.go deleted file mode 100644 index b716fce54df..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/listers/autoscaling/v2beta2/horizontalpodautoscaler.go +++ /dev/null @@ -1,115 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-lister-gen. DO NOT EDIT. - -package v2beta2 - -import ( - autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" - "k8s.io/apimachinery/pkg/labels" - listersautoscalingv2beta2 "k8s.io/client-go/listers/autoscaling/v2beta2" - "k8s.io/client-go/tools/cache" - - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" - "github.com/kcp-dev/logicalcluster/v3" -) - -// HorizontalPodAutoscalerClusterLister helps list HorizontalPodAutoscalers across all workspaces, -// or scope down to a HorizontalPodAutoscalerLister for one workspace. -// All objects returned here must be treated as read-only. -type HorizontalPodAutoscalerClusterLister interface { - // List lists all HorizontalPodAutoscalers in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*autoscalingv2beta2.HorizontalPodAutoscaler, err error) - // Cluster returns a lister that can list and get HorizontalPodAutoscalers in one workspace. - Cluster(clusterName logicalcluster.Name) listersautoscalingv2beta2.HorizontalPodAutoscalerLister - HorizontalPodAutoscalerClusterListerExpansion -} - -// horizontalPodAutoscalerClusterLister implements the HorizontalPodAutoscalerClusterLister interface. -type horizontalPodAutoscalerClusterLister struct { - kcplisters.ResourceClusterIndexer[*autoscalingv2beta2.HorizontalPodAutoscaler] -} - -var _ HorizontalPodAutoscalerClusterLister = new(horizontalPodAutoscalerClusterLister) - -// NewHorizontalPodAutoscalerClusterLister returns a new HorizontalPodAutoscalerClusterLister. -// We assume that the indexer: -// - is fed by a cross-workspace LIST+WATCH -// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function -// - has the kcpcache.ClusterIndex as an index -// - has the kcpcache.ClusterAndNamespaceIndex as an index -func NewHorizontalPodAutoscalerClusterLister(indexer cache.Indexer) HorizontalPodAutoscalerClusterLister { - return &horizontalPodAutoscalerClusterLister{ - kcplisters.NewCluster[*autoscalingv2beta2.HorizontalPodAutoscaler](indexer, autoscalingv2beta2.Resource("horizontalpodautoscaler")), - } -} - -// Cluster scopes the lister to one workspace, allowing users to list and get HorizontalPodAutoscalers. -func (l *horizontalPodAutoscalerClusterLister) Cluster(clusterName logicalcluster.Name) listersautoscalingv2beta2.HorizontalPodAutoscalerLister { - return &horizontalPodAutoscalerLister{ - l.ResourceClusterIndexer.WithCluster(clusterName), - } -} - -// horizontalPodAutoscalerLister can list all HorizontalPodAutoscalers inside a workspace -// or scope down to a listersautoscalingv2beta2.HorizontalPodAutoscalerNamespaceLister for one namespace. -type horizontalPodAutoscalerLister struct { - kcplisters.ResourceIndexer[*autoscalingv2beta2.HorizontalPodAutoscaler] -} - -var _ listersautoscalingv2beta2.HorizontalPodAutoscalerLister = new(horizontalPodAutoscalerLister) - -// HorizontalPodAutoscalers returns an object that can list and get HorizontalPodAutoscalers in one namespace. -func (l *horizontalPodAutoscalerLister) HorizontalPodAutoscalers(namespace string) listersautoscalingv2beta2.HorizontalPodAutoscalerNamespaceLister { - return &horizontalPodAutoscalerNamespaceLister{ - l.ResourceIndexer.WithNamespace(namespace), - } -} - -// horizontalPodAutoscalerNamespaceLister implements the listersautoscalingv2beta2.HorizontalPodAutoscalerNamespaceLister -// interface. -type horizontalPodAutoscalerNamespaceLister struct { - kcplisters.ResourceIndexer[*autoscalingv2beta2.HorizontalPodAutoscaler] -} - -var _ listersautoscalingv2beta2.HorizontalPodAutoscalerNamespaceLister = new(horizontalPodAutoscalerNamespaceLister) - -// NewHorizontalPodAutoscalerLister returns a new HorizontalPodAutoscalerLister. -// We assume that the indexer: -// - is fed by a cross-workspace LIST+WATCH -// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function -// - has the kcpcache.ClusterIndex as an index -// - has the kcpcache.ClusterAndNamespaceIndex as an index -func NewHorizontalPodAutoscalerLister(indexer cache.Indexer) listersautoscalingv2beta2.HorizontalPodAutoscalerLister { - return &horizontalPodAutoscalerLister{ - kcplisters.New[*autoscalingv2beta2.HorizontalPodAutoscaler](indexer, autoscalingv2beta2.Resource("horizontalpodautoscaler")), - } -} - -// horizontalPodAutoscalerScopedLister can list all HorizontalPodAutoscalers inside a workspace -// or scope down to a listersautoscalingv2beta2.HorizontalPodAutoscalerNamespaceLister for one namespace. -type horizontalPodAutoscalerScopedLister struct { - kcplisters.ResourceIndexer[*autoscalingv2beta2.HorizontalPodAutoscaler] -} - -// HorizontalPodAutoscalers returns an object that can list and get HorizontalPodAutoscalers in one namespace. -func (l *horizontalPodAutoscalerScopedLister) HorizontalPodAutoscalers(namespace string) listersautoscalingv2beta2.HorizontalPodAutoscalerLister { - return &horizontalPodAutoscalerLister{ - l.ResourceIndexer.WithNamespace(namespace), - } -} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/expansion_generated.go b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/expansion_generated.go index 12abb70b610..2da40c48ff3 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/expansion_generated.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/expansion_generated.go @@ -21,3 +21,7 @@ package v1alpha3 // DeviceTaintRuleClusterListerExpansion allows custom methods to be added to // DeviceTaintRuleClusterLister. type DeviceTaintRuleClusterListerExpansion interface{} + +// ResourcePoolStatusRequestClusterListerExpansion allows custom methods to be added to +// ResourcePoolStatusRequestClusterLister. +type ResourcePoolStatusRequestClusterListerExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/resourcepoolstatusrequest.go b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/resourcepoolstatusrequest.go new file mode 100644 index 00000000000..fae40184e6d --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1alpha3/resourcepoolstatusrequest.go @@ -0,0 +1,91 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-lister-gen. DO NOT EDIT. + +package v1alpha3 + +import ( + resourcev1alpha3 "k8s.io/api/resource/v1alpha3" + "k8s.io/apimachinery/pkg/labels" + listersresourcev1alpha3 "k8s.io/client-go/listers/resource/v1alpha3" + "k8s.io/client-go/tools/cache" + + kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" + "github.com/kcp-dev/logicalcluster/v3" +) + +// ResourcePoolStatusRequestClusterLister helps list ResourcePoolStatusRequests across all workspaces, +// or scope down to a ResourcePoolStatusRequestLister for one workspace. +// All objects returned here must be treated as read-only. +type ResourcePoolStatusRequestClusterLister interface { + // List lists all ResourcePoolStatusRequests in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*resourcev1alpha3.ResourcePoolStatusRequest, err error) + // Cluster returns a lister that can list and get ResourcePoolStatusRequests in one workspace. + Cluster(clusterName logicalcluster.Name) listersresourcev1alpha3.ResourcePoolStatusRequestLister + ResourcePoolStatusRequestClusterListerExpansion +} + +// resourcePoolStatusRequestClusterLister implements the ResourcePoolStatusRequestClusterLister interface. +type resourcePoolStatusRequestClusterLister struct { + kcplisters.ResourceClusterIndexer[*resourcev1alpha3.ResourcePoolStatusRequest] +} + +var _ ResourcePoolStatusRequestClusterLister = new(resourcePoolStatusRequestClusterLister) + +// NewResourcePoolStatusRequestClusterLister returns a new ResourcePoolStatusRequestClusterLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewResourcePoolStatusRequestClusterLister(indexer cache.Indexer) ResourcePoolStatusRequestClusterLister { + return &resourcePoolStatusRequestClusterLister{ + kcplisters.NewCluster[*resourcev1alpha3.ResourcePoolStatusRequest](indexer, resourcev1alpha3.Resource("resourcepoolstatusrequest")), + } +} + +// Cluster scopes the lister to one workspace, allowing users to list and get ResourcePoolStatusRequests. +func (l *resourcePoolStatusRequestClusterLister) Cluster(clusterName logicalcluster.Name) listersresourcev1alpha3.ResourcePoolStatusRequestLister { + return &resourcePoolStatusRequestLister{ + l.ResourceClusterIndexer.WithCluster(clusterName), + } +} + +// resourcePoolStatusRequestLister can list all ResourcePoolStatusRequests inside a workspace +// or scope down to a listersresourcev1alpha3.ResourcePoolStatusRequestNamespaceLister for one namespace. +type resourcePoolStatusRequestLister struct { + kcplisters.ResourceIndexer[*resourcev1alpha3.ResourcePoolStatusRequest] +} + +var _ listersresourcev1alpha3.ResourcePoolStatusRequestLister = new(resourcePoolStatusRequestLister) + +// NewResourcePoolStatusRequestLister returns a new ResourcePoolStatusRequestLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewResourcePoolStatusRequestLister(indexer cache.Indexer) listersresourcev1alpha3.ResourcePoolStatusRequestLister { + return &resourcePoolStatusRequestLister{ + kcplisters.New[*resourcev1alpha3.ResourcePoolStatusRequest](indexer, resourcev1alpha3.Resource("resourcepoolstatusrequest")), + } +} + +// resourcePoolStatusRequestScopedLister can list all ResourcePoolStatusRequests inside a workspace +// or scope down to a listersresourcev1alpha3.ResourcePoolStatusRequestNamespaceLister. +type resourcePoolStatusRequestScopedLister struct { + kcplisters.ResourceIndexer[*resourcev1alpha3.ResourcePoolStatusRequest] +} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/devicetaintrule.go b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/devicetaintrule.go new file mode 100644 index 00000000000..192e01e3f95 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/devicetaintrule.go @@ -0,0 +1,91 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-lister-gen. DO NOT EDIT. + +package v1beta2 + +import ( + resourcev1beta2 "k8s.io/api/resource/v1beta2" + "k8s.io/apimachinery/pkg/labels" + listersresourcev1beta2 "k8s.io/client-go/listers/resource/v1beta2" + "k8s.io/client-go/tools/cache" + + kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" + "github.com/kcp-dev/logicalcluster/v3" +) + +// DeviceTaintRuleClusterLister helps list DeviceTaintRules across all workspaces, +// or scope down to a DeviceTaintRuleLister for one workspace. +// All objects returned here must be treated as read-only. +type DeviceTaintRuleClusterLister interface { + // List lists all DeviceTaintRules in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*resourcev1beta2.DeviceTaintRule, err error) + // Cluster returns a lister that can list and get DeviceTaintRules in one workspace. + Cluster(clusterName logicalcluster.Name) listersresourcev1beta2.DeviceTaintRuleLister + DeviceTaintRuleClusterListerExpansion +} + +// deviceTaintRuleClusterLister implements the DeviceTaintRuleClusterLister interface. +type deviceTaintRuleClusterLister struct { + kcplisters.ResourceClusterIndexer[*resourcev1beta2.DeviceTaintRule] +} + +var _ DeviceTaintRuleClusterLister = new(deviceTaintRuleClusterLister) + +// NewDeviceTaintRuleClusterLister returns a new DeviceTaintRuleClusterLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewDeviceTaintRuleClusterLister(indexer cache.Indexer) DeviceTaintRuleClusterLister { + return &deviceTaintRuleClusterLister{ + kcplisters.NewCluster[*resourcev1beta2.DeviceTaintRule](indexer, resourcev1beta2.Resource("devicetaintrule")), + } +} + +// Cluster scopes the lister to one workspace, allowing users to list and get DeviceTaintRules. +func (l *deviceTaintRuleClusterLister) Cluster(clusterName logicalcluster.Name) listersresourcev1beta2.DeviceTaintRuleLister { + return &deviceTaintRuleLister{ + l.ResourceClusterIndexer.WithCluster(clusterName), + } +} + +// deviceTaintRuleLister can list all DeviceTaintRules inside a workspace +// or scope down to a listersresourcev1beta2.DeviceTaintRuleNamespaceLister for one namespace. +type deviceTaintRuleLister struct { + kcplisters.ResourceIndexer[*resourcev1beta2.DeviceTaintRule] +} + +var _ listersresourcev1beta2.DeviceTaintRuleLister = new(deviceTaintRuleLister) + +// NewDeviceTaintRuleLister returns a new DeviceTaintRuleLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +func NewDeviceTaintRuleLister(indexer cache.Indexer) listersresourcev1beta2.DeviceTaintRuleLister { + return &deviceTaintRuleLister{ + kcplisters.New[*resourcev1beta2.DeviceTaintRule](indexer, resourcev1beta2.Resource("devicetaintrule")), + } +} + +// deviceTaintRuleScopedLister can list all DeviceTaintRules inside a workspace +// or scope down to a listersresourcev1beta2.DeviceTaintRuleNamespaceLister. +type deviceTaintRuleScopedLister struct { + kcplisters.ResourceIndexer[*resourcev1beta2.DeviceTaintRule] +} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/expansion_generated.go b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/expansion_generated.go index 257f21420c3..bfe8b68c077 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/expansion_generated.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/resource/v1beta2/expansion_generated.go @@ -22,6 +22,10 @@ package v1beta2 // DeviceClassClusterLister. type DeviceClassClusterListerExpansion interface{} +// DeviceTaintRuleClusterListerExpansion allows custom methods to be added to +// DeviceTaintRuleClusterLister. +type DeviceTaintRuleClusterListerExpansion interface{} + // ResourceClaimClusterListerExpansion allows custom methods to be added to // ResourceClaimClusterLister. type ResourceClaimClusterListerExpansion interface{} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/priorityclass.go b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/priorityclass.go deleted file mode 100644 index d1a759ca01c..00000000000 --- a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/priorityclass.go +++ /dev/null @@ -1,91 +0,0 @@ -/* -Copyright The kcp Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by cluster-lister-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" - "k8s.io/apimachinery/pkg/labels" - listersschedulingv1alpha1 "k8s.io/client-go/listers/scheduling/v1alpha1" - "k8s.io/client-go/tools/cache" - - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" - "github.com/kcp-dev/logicalcluster/v3" -) - -// PriorityClassClusterLister helps list PriorityClasses across all workspaces, -// or scope down to a PriorityClassLister for one workspace. -// All objects returned here must be treated as read-only. -type PriorityClassClusterLister interface { - // List lists all PriorityClasses in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*schedulingv1alpha1.PriorityClass, err error) - // Cluster returns a lister that can list and get PriorityClasses in one workspace. - Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha1.PriorityClassLister - PriorityClassClusterListerExpansion -} - -// priorityClassClusterLister implements the PriorityClassClusterLister interface. -type priorityClassClusterLister struct { - kcplisters.ResourceClusterIndexer[*schedulingv1alpha1.PriorityClass] -} - -var _ PriorityClassClusterLister = new(priorityClassClusterLister) - -// NewPriorityClassClusterLister returns a new PriorityClassClusterLister. -// We assume that the indexer: -// - is fed by a cross-workspace LIST+WATCH -// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function -// - has the kcpcache.ClusterIndex as an index -func NewPriorityClassClusterLister(indexer cache.Indexer) PriorityClassClusterLister { - return &priorityClassClusterLister{ - kcplisters.NewCluster[*schedulingv1alpha1.PriorityClass](indexer, schedulingv1alpha1.Resource("priorityclass")), - } -} - -// Cluster scopes the lister to one workspace, allowing users to list and get PriorityClasses. -func (l *priorityClassClusterLister) Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha1.PriorityClassLister { - return &priorityClassLister{ - l.ResourceClusterIndexer.WithCluster(clusterName), - } -} - -// priorityClassLister can list all PriorityClasses inside a workspace -// or scope down to a listersschedulingv1alpha1.PriorityClassNamespaceLister for one namespace. -type priorityClassLister struct { - kcplisters.ResourceIndexer[*schedulingv1alpha1.PriorityClass] -} - -var _ listersschedulingv1alpha1.PriorityClassLister = new(priorityClassLister) - -// NewPriorityClassLister returns a new PriorityClassLister. -// We assume that the indexer: -// - is fed by a cross-workspace LIST+WATCH -// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function -// - has the kcpcache.ClusterIndex as an index -func NewPriorityClassLister(indexer cache.Indexer) listersschedulingv1alpha1.PriorityClassLister { - return &priorityClassLister{ - kcplisters.New[*schedulingv1alpha1.PriorityClass](indexer, schedulingv1alpha1.Resource("priorityclass")), - } -} - -// priorityClassScopedLister can list all PriorityClasses inside a workspace -// or scope down to a listersschedulingv1alpha1.PriorityClassNamespaceLister. -type priorityClassScopedLister struct { - kcplisters.ResourceIndexer[*schedulingv1alpha1.PriorityClass] -} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/expansion_generated.go b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/expansion_generated.go similarity index 81% rename from staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/expansion_generated.go rename to staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/expansion_generated.go index 5b8f482e063..404c9dffad3 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/expansion_generated.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/expansion_generated.go @@ -16,11 +16,11 @@ limitations under the License. // Code generated by cluster-lister-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 -// PriorityClassClusterListerExpansion allows custom methods to be added to -// PriorityClassClusterLister. -type PriorityClassClusterListerExpansion interface{} +// PodGroupClusterListerExpansion allows custom methods to be added to +// PodGroupClusterLister. +type PodGroupClusterListerExpansion interface{} // WorkloadClusterListerExpansion allows custom methods to be added to // WorkloadClusterLister. diff --git a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/podgroup.go b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/podgroup.go new file mode 100644 index 00000000000..5a30e045ed0 --- /dev/null +++ b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/podgroup.go @@ -0,0 +1,115 @@ +/* +Copyright The kcp Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by cluster-lister-gen. DO NOT EDIT. + +package v1alpha2 + +import ( + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" + "k8s.io/apimachinery/pkg/labels" + listersschedulingv1alpha2 "k8s.io/client-go/listers/scheduling/v1alpha2" + "k8s.io/client-go/tools/cache" + + kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" + "github.com/kcp-dev/logicalcluster/v3" +) + +// PodGroupClusterLister helps list PodGroups across all workspaces, +// or scope down to a PodGroupLister for one workspace. +// All objects returned here must be treated as read-only. +type PodGroupClusterLister interface { + // List lists all PodGroups in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*schedulingv1alpha2.PodGroup, err error) + // Cluster returns a lister that can list and get PodGroups in one workspace. + Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha2.PodGroupLister + PodGroupClusterListerExpansion +} + +// podGroupClusterLister implements the PodGroupClusterLister interface. +type podGroupClusterLister struct { + kcplisters.ResourceClusterIndexer[*schedulingv1alpha2.PodGroup] +} + +var _ PodGroupClusterLister = new(podGroupClusterLister) + +// NewPodGroupClusterLister returns a new PodGroupClusterLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +// - has the kcpcache.ClusterAndNamespaceIndex as an index +func NewPodGroupClusterLister(indexer cache.Indexer) PodGroupClusterLister { + return &podGroupClusterLister{ + kcplisters.NewCluster[*schedulingv1alpha2.PodGroup](indexer, schedulingv1alpha2.Resource("podgroup")), + } +} + +// Cluster scopes the lister to one workspace, allowing users to list and get PodGroups. +func (l *podGroupClusterLister) Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha2.PodGroupLister { + return &podGroupLister{ + l.ResourceClusterIndexer.WithCluster(clusterName), + } +} + +// podGroupLister can list all PodGroups inside a workspace +// or scope down to a listersschedulingv1alpha2.PodGroupNamespaceLister for one namespace. +type podGroupLister struct { + kcplisters.ResourceIndexer[*schedulingv1alpha2.PodGroup] +} + +var _ listersschedulingv1alpha2.PodGroupLister = new(podGroupLister) + +// PodGroups returns an object that can list and get PodGroups in one namespace. +func (l *podGroupLister) PodGroups(namespace string) listersschedulingv1alpha2.PodGroupNamespaceLister { + return &podGroupNamespaceLister{ + l.ResourceIndexer.WithNamespace(namespace), + } +} + +// podGroupNamespaceLister implements the listersschedulingv1alpha2.PodGroupNamespaceLister +// interface. +type podGroupNamespaceLister struct { + kcplisters.ResourceIndexer[*schedulingv1alpha2.PodGroup] +} + +var _ listersschedulingv1alpha2.PodGroupNamespaceLister = new(podGroupNamespaceLister) + +// NewPodGroupLister returns a new PodGroupLister. +// We assume that the indexer: +// - is fed by a cross-workspace LIST+WATCH +// - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function +// - has the kcpcache.ClusterIndex as an index +// - has the kcpcache.ClusterAndNamespaceIndex as an index +func NewPodGroupLister(indexer cache.Indexer) listersschedulingv1alpha2.PodGroupLister { + return &podGroupLister{ + kcplisters.New[*schedulingv1alpha2.PodGroup](indexer, schedulingv1alpha2.Resource("podgroup")), + } +} + +// podGroupScopedLister can list all PodGroups inside a workspace +// or scope down to a listersschedulingv1alpha2.PodGroupNamespaceLister for one namespace. +type podGroupScopedLister struct { + kcplisters.ResourceIndexer[*schedulingv1alpha2.PodGroup] +} + +// PodGroups returns an object that can list and get PodGroups in one namespace. +func (l *podGroupScopedLister) PodGroups(namespace string) listersschedulingv1alpha2.PodGroupLister { + return &podGroupLister{ + l.ResourceIndexer.WithNamespace(namespace), + } +} diff --git a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/workload.go b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/workload.go similarity index 75% rename from staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/workload.go rename to staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/workload.go index 213cd1dd351..665ffd16ca8 100644 --- a/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha1/workload.go +++ b/staging/src/github.com/kcp-dev/client-go/listers/scheduling/v1alpha2/workload.go @@ -16,12 +16,12 @@ limitations under the License. // Code generated by cluster-lister-gen. DO NOT EDIT. -package v1alpha1 +package v1alpha2 import ( - schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + schedulingv1alpha2 "k8s.io/api/scheduling/v1alpha2" "k8s.io/apimachinery/pkg/labels" - listersschedulingv1alpha1 "k8s.io/client-go/listers/scheduling/v1alpha1" + listersschedulingv1alpha2 "k8s.io/client-go/listers/scheduling/v1alpha2" "k8s.io/client-go/tools/cache" kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" @@ -34,15 +34,15 @@ import ( type WorkloadClusterLister interface { // List lists all Workloads in the indexer. // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*schedulingv1alpha1.Workload, err error) + List(selector labels.Selector) (ret []*schedulingv1alpha2.Workload, err error) // Cluster returns a lister that can list and get Workloads in one workspace. - Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha1.WorkloadLister + Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha2.WorkloadLister WorkloadClusterListerExpansion } // workloadClusterLister implements the WorkloadClusterLister interface. type workloadClusterLister struct { - kcplisters.ResourceClusterIndexer[*schedulingv1alpha1.Workload] + kcplisters.ResourceClusterIndexer[*schedulingv1alpha2.Workload] } var _ WorkloadClusterLister = new(workloadClusterLister) @@ -55,39 +55,39 @@ var _ WorkloadClusterLister = new(workloadClusterLister) // - has the kcpcache.ClusterAndNamespaceIndex as an index func NewWorkloadClusterLister(indexer cache.Indexer) WorkloadClusterLister { return &workloadClusterLister{ - kcplisters.NewCluster[*schedulingv1alpha1.Workload](indexer, schedulingv1alpha1.Resource("workload")), + kcplisters.NewCluster[*schedulingv1alpha2.Workload](indexer, schedulingv1alpha2.Resource("workload")), } } // Cluster scopes the lister to one workspace, allowing users to list and get Workloads. -func (l *workloadClusterLister) Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha1.WorkloadLister { +func (l *workloadClusterLister) Cluster(clusterName logicalcluster.Name) listersschedulingv1alpha2.WorkloadLister { return &workloadLister{ l.ResourceClusterIndexer.WithCluster(clusterName), } } // workloadLister can list all Workloads inside a workspace -// or scope down to a listersschedulingv1alpha1.WorkloadNamespaceLister for one namespace. +// or scope down to a listersschedulingv1alpha2.WorkloadNamespaceLister for one namespace. type workloadLister struct { - kcplisters.ResourceIndexer[*schedulingv1alpha1.Workload] + kcplisters.ResourceIndexer[*schedulingv1alpha2.Workload] } -var _ listersschedulingv1alpha1.WorkloadLister = new(workloadLister) +var _ listersschedulingv1alpha2.WorkloadLister = new(workloadLister) // Workloads returns an object that can list and get Workloads in one namespace. -func (l *workloadLister) Workloads(namespace string) listersschedulingv1alpha1.WorkloadNamespaceLister { +func (l *workloadLister) Workloads(namespace string) listersschedulingv1alpha2.WorkloadNamespaceLister { return &workloadNamespaceLister{ l.ResourceIndexer.WithNamespace(namespace), } } -// workloadNamespaceLister implements the listersschedulingv1alpha1.WorkloadNamespaceLister +// workloadNamespaceLister implements the listersschedulingv1alpha2.WorkloadNamespaceLister // interface. type workloadNamespaceLister struct { - kcplisters.ResourceIndexer[*schedulingv1alpha1.Workload] + kcplisters.ResourceIndexer[*schedulingv1alpha2.Workload] } -var _ listersschedulingv1alpha1.WorkloadNamespaceLister = new(workloadNamespaceLister) +var _ listersschedulingv1alpha2.WorkloadNamespaceLister = new(workloadNamespaceLister) // NewWorkloadLister returns a new WorkloadLister. // We assume that the indexer: @@ -95,20 +95,20 @@ var _ listersschedulingv1alpha1.WorkloadNamespaceLister = new(workloadNamespaceL // - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function // - has the kcpcache.ClusterIndex as an index // - has the kcpcache.ClusterAndNamespaceIndex as an index -func NewWorkloadLister(indexer cache.Indexer) listersschedulingv1alpha1.WorkloadLister { +func NewWorkloadLister(indexer cache.Indexer) listersschedulingv1alpha2.WorkloadLister { return &workloadLister{ - kcplisters.New[*schedulingv1alpha1.Workload](indexer, schedulingv1alpha1.Resource("workload")), + kcplisters.New[*schedulingv1alpha2.Workload](indexer, schedulingv1alpha2.Resource("workload")), } } // workloadScopedLister can list all Workloads inside a workspace -// or scope down to a listersschedulingv1alpha1.WorkloadNamespaceLister for one namespace. +// or scope down to a listersschedulingv1alpha2.WorkloadNamespaceLister for one namespace. type workloadScopedLister struct { - kcplisters.ResourceIndexer[*schedulingv1alpha1.Workload] + kcplisters.ResourceIndexer[*schedulingv1alpha2.Workload] } // Workloads returns an object that can list and get Workloads in one namespace. -func (l *workloadScopedLister) Workloads(namespace string) listersschedulingv1alpha1.WorkloadLister { +func (l *workloadScopedLister) Workloads(namespace string) listersschedulingv1alpha2.WorkloadLister { return &workloadLister{ l.ResourceIndexer.WithNamespace(namespace), } diff --git a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go index 0cf1ebd851d..314cbffdb03 100644 --- a/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go +++ b/staging/src/github.com/kcp-dev/client-go/third_party/k8s.io/client-go/tools/cache/mutation_cache.go @@ -23,14 +23,13 @@ import ( "sync" "time" - "k8s.io/klog/v2" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" utilcache "k8s.io/apimachinery/pkg/util/cache" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/tools/cache" + "k8s.io/klog/v2" ) // MutationCache is able to take the result of update operations and stores them in an LRU diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/clientset/versioned/fake/clientset_generated.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/clientset/versioned/fake/clientset_generated.go index 7bb38bf5b6f..17daabe2dce 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/clientset/versioned/fake/clientset_generated.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/clientset/versioned/fake/clientset_generated.go @@ -50,10 +50,6 @@ import ( // It's backed by a very simple object tracker that processes creates, updates and deletions as-is, // without applying any field management, validations and/or defaults. It shouldn't be considered a replacement // for a real clientset and is mostly useful in simple unit tests. -// -// Deprecated: NewClientset replaces this with support for field management, which significantly improves -// server side apply testing. NewClientset is only available when apply configurations are generated (e.g. -// via --with-applyconfig). func NewSimpleClientset(objects ...runtime.Object) *Clientset { o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) for _, obj := range objects { @@ -99,7 +95,7 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } -// IsWatchListSemanticsSupported informs the reflector that this client +// IsWatchListSemanticsUnSupported informs the reflector that this client // doesn't support WatchList semantics. // // This is a synthetic method whose sole purpose is to satisfy the optional @@ -114,6 +110,10 @@ func (c *Clientset) IsWatchListSemanticsUnSupported() bool { // It's backed by a very simple object tracker that processes creates, updates and deletions as-is, // without applying any validations and/or defaults. It shouldn't be considered a replacement // for a real clientset and is mostly useful in simple unit tests. +// +// Compared to NewSimpleClientset, the Clientset returned here supports field tracking and thus +// server-side apply. Beware though that support in that for CRDs is missing +// (https://github.com/kubernetes/kubernetes/issues/126850). func NewClientset(objects ...runtime.Object) *Clientset { o := testing.NewFieldManagedObjectTracker( scheme, diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/clustertesttype.go index d3701815f99..74d5777fe37 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/clustertesttype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().ClusterTestTypes().List(context.Background(), options) + return client.ExampleV1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().ClusterTestTypes().Watch(context.Background(), options) + return client.ExampleV1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().ClusterTestTypes().List(ctx, options) + return client.ExampleV1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().ClusterTestTypes().Watch(ctx, options) + return client.ExampleV1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexamplev1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/testtype.go index 1fdf6e30d73..8bfd139c5be 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1/testtype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().TestTypes(namespace).List(context.Background(), options) + return client.ExampleV1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().TestTypes(namespace).Watch(context.Background(), options) + return client.ExampleV1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().TestTypes(namespace).List(ctx, options) + return client.ExampleV1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1().TestTypes(namespace).Watch(ctx, options) + return client.ExampleV1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexamplev1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/clustertesttype.go index 8cda2074f55..95811dd75e0 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/clustertesttype.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v1alpha1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().ClusterTestTypes().List(context.Background(), options) + return client.ExampleV1alpha1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().ClusterTestTypes().Watch(context.Background(), options) + return client.ExampleV1alpha1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options v1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().ClusterTestTypes().List(ctx, options) + return client.ExampleV1alpha1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options v1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().ClusterTestTypes().Watch(ctx, options) + return client.ExampleV1alpha1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexamplev1alpha1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/testtype.go index 76387c2aa9d..4c791a9421e 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1alpha1/testtype.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v1alpha1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().TestTypes(namespace).List(context.Background(), options) + return client.ExampleV1alpha1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().TestTypes(namespace).Watch(context.Background(), options) + return client.ExampleV1alpha1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options v1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().TestTypes(namespace).List(ctx, options) + return client.ExampleV1alpha1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options v1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1alpha1().TestTypes(namespace).Watch(ctx, options) + return client.ExampleV1alpha1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexamplev1alpha1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/clustertesttype.go index 8d0ba4b8895..4c866b397de 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/clustertesttype.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v1beta1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().ClusterTestTypes().List(context.Background(), options) + return client.ExampleV1beta1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().ClusterTestTypes().Watch(context.Background(), options) + return client.ExampleV1beta1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options v1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().ClusterTestTypes().List(ctx, options) + return client.ExampleV1beta1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options v1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().ClusterTestTypes().Watch(ctx, options) + return client.ExampleV1beta1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexamplev1beta1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/testtype.go index 1bb95a9723d..ea148b32d48 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v1beta1/testtype.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v1beta1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().TestTypes(namespace).List(context.Background(), options) + return client.ExampleV1beta1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().TestTypes(namespace).Watch(context.Background(), options) + return client.ExampleV1beta1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options v1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().TestTypes(namespace).List(ctx, options) + return client.ExampleV1beta1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options v1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV1beta1().TestTypes(namespace).Watch(ctx, options) + return client.ExampleV1beta1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexamplev1beta1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/clustertesttype.go index 3fdbc271a48..a1e11ac70e5 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/clustertesttype.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v2", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().ClusterTestTypes().List(context.Background(), options) + return client.ExampleV2().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().ClusterTestTypes().Watch(context.Background(), options) + return client.ExampleV2().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options v1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().ClusterTestTypes().List(ctx, options) + return client.ExampleV2().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options v1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().ClusterTestTypes().Watch(ctx, options) + return client.ExampleV2().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexamplev2.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/testtype.go index 57d20787ab2..b3c3b7f13bd 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example/v2/testtype.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example.dev", Version: "v2", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().TestTypes(namespace).List(context.Background(), options) + return client.ExampleV2().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().TestTypes(namespace).Watch(context.Background(), options) + return client.ExampleV2().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options v1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().TestTypes(namespace).List(ctx, options) + return client.ExampleV2().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options v1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleV2().TestTypes(namespace).Watch(ctx, options) + return client.ExampleV2().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexamplev2.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/clustertesttype.go index 90d73f051dd..3882172a7fb 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/clustertesttype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example3.some.corp", Version: "v1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().ClusterTestTypes().List(context.Background(), options) + return client.Example3V1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().ClusterTestTypes().Watch(context.Background(), options) + return client.Example3V1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().ClusterTestTypes().List(ctx, options) + return client.Example3V1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().ClusterTestTypes().Watch(ctx, options) + return client.Example3V1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexample3v1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/testtype.go index 26980201f52..8762e2ee0d5 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/example3/v1/testtype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example3.some.corp", Version: "v1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().TestTypes(namespace).List(context.Background(), options) + return client.Example3V1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().TestTypes(namespace).Watch(context.Background(), options) + return client.Example3V1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().TestTypes(namespace).List(ctx, options) + return client.Example3V1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.Example3V1().TestTypes(namespace).Watch(ctx, options) + return client.Example3V1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexample3v1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/clustertesttype.go index 0f7fdb40315..f246686119a 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/clustertesttype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example-dashed.some.corp", Version: "v1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().ClusterTestTypes().List(context.Background(), options) + return client.ExampleDashedV1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().ClusterTestTypes().Watch(context.Background(), options) + return client.ExampleDashedV1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().ClusterTestTypes().List(ctx, options) + return client.ExampleDashedV1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().ClusterTestTypes().Watch(ctx, options) + return client.ExampleDashedV1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexampledashedv1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/testtype.go index cabd2f67721..d9a97b78b74 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/exampledashed/v1/testtype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "example-dashed.some.corp", Version: "v1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().TestTypes(namespace).List(context.Background(), options) + return client.ExampleDashedV1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().TestTypes(namespace).Watch(context.Background(), options) + return client.ExampleDashedV1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().TestTypes(namespace).List(ctx, options) + return client.ExampleDashedV1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExampleDashedV1().TestTypes(namespace).Watch(ctx, options) + return client.ExampleDashedV1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexampledashedv1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/clustertesttype.go index 76bb704aede..c3a9f10cd76 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/clustertesttype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "existinginterfaces.acme.corp", Version: "v1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().ClusterTestTypes().List(context.Background(), options) + return client.ExistinginterfacesV1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().ClusterTestTypes().Watch(context.Background(), options) + return client.ExistinginterfacesV1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().ClusterTestTypes().List(ctx, options) + return client.ExistinginterfacesV1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().ClusterTestTypes().Watch(ctx, options) + return client.ExistinginterfacesV1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apisexistinginterfacesv1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/testtype.go index 004cf72e52e..de602f506dd 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/existinginterfaces/v1/testtype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "existinginterfaces.acme.corp", Version: "v1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().TestTypes(namespace).List(context.Background(), options) + return client.ExistinginterfacesV1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().TestTypes(namespace).Watch(context.Background(), options) + return client.ExistinginterfacesV1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().TestTypes(namespace).List(ctx, options) + return client.ExistinginterfacesV1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.ExistinginterfacesV1().TestTypes(namespace).Watch(ctx, options) + return client.ExistinginterfacesV1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apisexistinginterfacesv1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/factory.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/factory.go index e1fa842c7f4..f97c4b642c0 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/factory.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/factory.go @@ -19,6 +19,7 @@ limitations under the License. package externalversions import ( + context "context" reflect "reflect" sync "sync" time "time" @@ -34,6 +35,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" + wait "k8s.io/apimachinery/pkg/util/wait" cache "k8s.io/client-go/tools/cache" ) @@ -48,6 +50,7 @@ type sharedInformerFactory struct { defaultResync time.Duration customResync map[reflect.Type]time.Duration transform cache.TransformFunc + informerName *cache.InformerName informers map[reflect.Type]cache.SharedIndexInformer // startedInformers is used for tracking which informers have been started. @@ -94,6 +97,21 @@ func WithTransform(transform cache.TransformFunc) SharedInformerOption { } } +// WithInformerName sets the InformerName for informer identity used in metrics. +// The InformerName must be created via cache.NewInformerName() at startup, +// which validates global uniqueness. Each informer type will register its +// GVR under this name. +func WithInformerName(informerName *cache.InformerName) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.informerName = informerName + return factory + } +} + +func (f *sharedInformerFactory) InformerName() *cache.InformerName { + return f.informerName +} + // NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { return NewSharedInformerFactoryWithOptions(client, defaultResync) @@ -128,6 +146,10 @@ func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResy } func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.StartWithContext(wait.ContextForChannel(stopCh)) +} + +func (f *sharedInformerFactory) StartWithContext(ctx context.Context) { f.lock.Lock() defer f.lock.Unlock() @@ -137,15 +159,9 @@ func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { for informerType, informer := range f.informers { if !f.startedInformers[informerType] { - f.wg.Add(1) - // We need a new variable in each loop iteration, - // otherwise the goroutine would use the loop variable - // and that keeps changing. - informer := informer - go func() { - defer f.wg.Done() - informer.Run(stopCh) - }() + f.wg.Go(func() { + informer.RunWithContext(ctx) + }) f.startedInformers[informerType] = true } } @@ -158,9 +174,15 @@ func (f *sharedInformerFactory) Shutdown() { // Will return immediately if there is nothing to wait for. f.wg.Wait() + f.informerName.Release() } func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + result := f.WaitForCacheSyncWithContext(wait.ContextForChannel(stopCh)) + return result.Synced +} + +func (f *sharedInformerFactory) WaitForCacheSyncWithContext(ctx context.Context) cache.SyncResult { informers := func() map[reflect.Type]cache.SharedIndexInformer { f.lock.Lock() defer f.lock.Unlock() @@ -174,10 +196,31 @@ func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[ref return informers }() - res := map[reflect.Type]bool{} + // Wait for informers to sync, without polling. + cacheSyncs := make([]cache.DoneChecker, 0, len(informers)) + for _, informer := range informers { + cacheSyncs = append(cacheSyncs, informer.HasSyncedChecker()) + } + cache.WaitFor(ctx, "" /* no logging */, cacheSyncs...) + + res := cache.SyncResult{ + Synced: make(map[reflect.Type]bool, len(informers)), + } + failed := false for informType, informer := range informers { - res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + hasSynced := informer.HasSynced() + if !hasSynced { + failed = true + } + res.Synced[informType] = hasSynced } + if failed { + // context.Cause is more informative than ctx.Err(). + // This must be non-nil, otherwise WaitFor wouldn't have stopped + // prematurely. + res.Err = context.Cause(ctx) + } + return res } @@ -199,7 +242,9 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal } informer = newFunc(f.client, resyncPeriod) - informer.SetTransform(f.transform) + if f.transform != nil { + informer.SetTransform(f.transform) + } f.informers[informerType] = informer return informer @@ -216,27 +261,46 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal // defer factory.WaitForStop() // Returns immediately if nothing was started. // genericInformer := factory.ForResource(resource) // typedInformer := factory.SomeAPIGroup().V1().SomeType() -// factory.Start(ctx.Done()) // Start processing these informers. -// synced := factory.WaitForCacheSync(ctx.Done()) -// for v, ok := range synced { -// if !ok { -// fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v) -// return -// } +// handle, err := typeInformer.Informer().AddEventHandler(...) +// if err != nil { +// return fmt.Errorf("register event handler: %v", err) +// } +// defer typeInformer.Informer().RemoveEventHandler(handle) // Avoids leaking goroutines. +// factory.StartWithContext(ctx) // Start processing these informers. +// synced := factory.WaitForCacheSyncWithContext(ctx) +// if err := synced.AsError(); err != nil { +// return err +// } +// for v := range synced { +// // Only if desired log some information similar to this. +// fmt.Fprintf(os.Stdout, "cache synced: %s", v) +// } +// +// // Also make sure that all of the initial cache events have been delivered. +// if !WaitFor(ctx, "event handler sync", handle.HasSyncedChecker()) { +// // Must have failed because of context. +// return fmt.Errorf("sync event handler: %w", context.Cause(ctx)) // } // // // Creating informers can also be created after Start, but then // // Start must be called again: // anotherGenericInformer := factory.ForResource(resource) -// factory.Start(ctx.Done()) +// factory.StartWithContext(ctx) type SharedInformerFactory interface { internalinterfaces.SharedInformerFactory // Start initializes all requested informers. They are handled in goroutines // which run until the stop channel gets closed. // Warning: Start does not block. When run in a go-routine, it will race with a later WaitForCacheSync. + // + // Contextual logging: StartWithContext should be used instead of Start in code which supports contextual logging. Start(stopCh <-chan struct{}) + // StartWithContext initializes all requested informers. They are handled in goroutines + // which run until the context gets canceled. + // Warning: StartWithContext does not block. When run in a go-routine, it will race with a later WaitForCacheSync. + StartWithContext(ctx context.Context) + // Shutdown marks a factory as shutting down. At that point no new // informers can be started anymore and Start will return without // doing anything. @@ -251,8 +315,14 @@ type SharedInformerFactory interface { // WaitForCacheSync blocks until all started informers' caches were synced // or the stop channel gets closed. + // + // Contextual logging: WaitForCacheSync should be used instead of WaitForCacheSync in code which supports contextual logging. It also returns a more useful result. WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + // WaitForCacheSyncWithContext blocks until all started informers' caches were synced + // or the context gets canceled. + WaitForCacheSyncWithContext(ctx context.Context) cache.SyncResult + // ForResource gives generic access to a shared informer of the matching type. ForResource(resource schema.GroupVersionResource) (GenericInformer, error) diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go index f13b1647ff9..a0642e8569d 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -35,7 +35,26 @@ type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexI type SharedInformerFactory interface { Start(stopCh <-chan struct{}) InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer + InformerName() *cache.InformerName } // TweakListOptionsFunc is a function that transforms a v1.ListOptions. type TweakListOptionsFunc func(*v1.ListOptions) + +// InformerOptions holds the options for creating an informer. +type InformerOptions struct { + // ResyncPeriod is the resync period for this informer. + // If not set, defaults to 0 (no resync). + ResyncPeriod time.Duration + + // Indexers are the indexers for this informer. + Indexers cache.Indexers + + // InformerName is used to uniquely identify this informer for metrics. + // If not set, metrics will not be published for this informer. + // Use cache.NewInformerName() to create an InformerName at startup. + InformerName *cache.InformerName + + // TweakListOptions is an optional function to modify the list options. + TweakListOptions TweakListOptionsFunc +} diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/clustertesttype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/clustertesttype.go index 81f748cb46e..01d1d095496 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/clustertesttype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/clustertesttype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -49,48 +50,61 @@ type clusterTestTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, indexers, nil) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredClusterTestTypeInformer constructs a new informer for ClusterTestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterTestTypeInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewClusterTestTypeInformerWithOptions constructs a new informer for ClusterTestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterTestTypeInformerWithOptions(client versioned.Interface, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "secondexample.dev", Version: "v1", Resource: "clustertesttypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().ClusterTestTypes().List(context.Background(), options) + return client.SecondexampleV1().ClusterTestTypes().List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().ClusterTestTypes().Watch(context.Background(), options) + return client.SecondexampleV1().ClusterTestTypes().Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().ClusterTestTypes().List(ctx, options) + return client.SecondexampleV1().ClusterTestTypes().List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().ClusterTestTypes().Watch(ctx, options) + return client.SecondexampleV1().ClusterTestTypes().Watch(ctx, opts) }, }, client), &apissecondexamplev1.ClusterTestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *clusterTestTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredClusterTestTypeInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewClusterTestTypeInformerWithOptions(client, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *clusterTestTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/testtype.go b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/testtype.go index c6a93914ba1..15dc4fb33a8 100644 --- a/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/testtype.go +++ b/staging/src/github.com/kcp-dev/code-generator/examples/pkg/generated/informers/externalversions/secondexample/v1/testtype.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" watch "k8s.io/apimachinery/pkg/watch" cache "k8s.io/client-go/tools/cache" ) @@ -50,48 +51,61 @@ type testTypeInformer struct { // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, namespace, resyncPeriod, indexers, nil) + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers}) } // NewFilteredTestTypeInformer constructs a new informer for TestType type. // Always prefer using an informer factory to get a shared informer instead of getting an independent // one. This reduces memory footprint and number of connections to the server. func NewFilteredTestTypeInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( + return NewTestTypeInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions}) +} + +// NewTestTypeInformerWithOptions constructs a new informer for TestType type with additional options. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTestTypeInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer { + gvr := schema.GroupVersionResource{Group: "secondexample.dev", Version: "v1", Resource: "testtypes"} + identifier := options.InformerName.WithResource(gvr) + tweakListOptions := options.TweakListOptions + return cache.NewSharedIndexInformerWithOptions( cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ - ListFunc: func(options metav1.ListOptions) (runtime.Object, error) { + ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().TestTypes(namespace).List(context.Background(), options) + return client.SecondexampleV1().TestTypes(namespace).List(context.Background(), opts) }, - WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { + WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().TestTypes(namespace).Watch(context.Background(), options) + return client.SecondexampleV1().TestTypes(namespace).Watch(context.Background(), opts) }, - ListWithContextFunc: func(ctx context.Context, options metav1.ListOptions) (runtime.Object, error) { + ListWithContextFunc: func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().TestTypes(namespace).List(ctx, options) + return client.SecondexampleV1().TestTypes(namespace).List(ctx, opts) }, - WatchFuncWithContext: func(ctx context.Context, options metav1.ListOptions) (watch.Interface, error) { + WatchFuncWithContext: func(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { - tweakListOptions(&options) + tweakListOptions(&opts) } - return client.SecondexampleV1().TestTypes(namespace).Watch(ctx, options) + return client.SecondexampleV1().TestTypes(namespace).Watch(ctx, opts) }, }, client), &apissecondexamplev1.TestType{}, - resyncPeriod, - indexers, + cache.SharedIndexInformerOptions{ + ResyncPeriod: options.ResyncPeriod, + Indexers: options.Indexers, + Identifier: identifier, + }, ) } func (f *testTypeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredTestTypeInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) + return NewTestTypeInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions}) } func (f *testTypeInformer) Informer() cache.SharedIndexInformer { diff --git a/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha1/zz_generated.deepcopy.go b/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha1/zz_generated.deepcopy.go index bc2bbfa76b0..235054a9fcb 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha1/zz_generated.deepcopy.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha1/zz_generated.deepcopy.go @@ -22,11 +22,10 @@ limitations under the License. package v1alpha1 import ( + conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" corev1 "k8s.io/api/core/v1" v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" runtime "k8s.io/apimachinery/pkg/runtime" - - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.conversion.go b/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.conversion.go index 7dd0ae95490..914895d563c 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.conversion.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.conversion.go @@ -24,12 +24,11 @@ package v1alpha2 import ( unsafe "unsafe" + v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" v1 "k8s.io/api/core/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) func init() { diff --git a/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.deepcopy.go b/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.deepcopy.go index af765d38cb8..ed493744350 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.deepcopy.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/apis/v1alpha2/zz_generated.deepcopy.go @@ -22,10 +22,9 @@ limitations under the License. package v1alpha2 import ( + v1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" v1 "k8s.io/api/core/v1" runtime "k8s.io/apimachinery/pkg/runtime" - - v1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/staging/src/github.com/kcp-dev/sdk/apis/cache/v1alpha1/zz_generated.deepcopy.go b/staging/src/github.com/kcp-dev/sdk/apis/cache/v1alpha1/zz_generated.deepcopy.go index 1ef7f4cbf58..84176910e03 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/cache/v1alpha1/zz_generated.deepcopy.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/cache/v1alpha1/zz_generated.deepcopy.go @@ -22,11 +22,10 @@ limitations under the License. package v1alpha1 import ( + conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" corev1 "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" - - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/staging/src/github.com/kcp-dev/sdk/apis/core/v1alpha1/zz_generated.deepcopy.go b/staging/src/github.com/kcp-dev/sdk/apis/core/v1alpha1/zz_generated.deepcopy.go index 7d4192e3946..550448b5224 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/core/v1alpha1/zz_generated.deepcopy.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/core/v1alpha1/zz_generated.deepcopy.go @@ -22,11 +22,10 @@ limitations under the License. package v1alpha1 import ( + conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" v1 "k8s.io/api/authentication/v1" corev1 "k8s.io/api/core/v1" runtime "k8s.io/apimachinery/pkg/runtime" - - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/staging/src/github.com/kcp-dev/sdk/apis/tenancy/v1alpha1/zz_generated.deepcopy.go b/staging/src/github.com/kcp-dev/sdk/apis/tenancy/v1alpha1/zz_generated.deepcopy.go index 5e63a8a1647..cb3531521d0 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/tenancy/v1alpha1/zz_generated.deepcopy.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/tenancy/v1alpha1/zz_generated.deepcopy.go @@ -22,11 +22,10 @@ limitations under the License. package v1alpha1 import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/staging/src/github.com/kcp-dev/sdk/apis/topology/v1alpha1/zz_generated.deepcopy.go b/staging/src/github.com/kcp-dev/sdk/apis/topology/v1alpha1/zz_generated.deepcopy.go index 7162493826f..0dd6dfedd23 100644 --- a/staging/src/github.com/kcp-dev/sdk/apis/topology/v1alpha1/zz_generated.deepcopy.go +++ b/staging/src/github.com/kcp-dev/sdk/apis/topology/v1alpha1/zz_generated.deepcopy.go @@ -22,10 +22,9 @@ limitations under the License. package v1alpha1 import ( + conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" - - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apibinding.go index e81c44580fc..251e5829106 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apibinding.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIBindingApplyConfiguration represents a declarative configuration of the APIBinding type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiconversion.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiconversion.go index 3b6fc68a9e8..feedd490dcc 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiconversion.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiconversion.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIConversionApplyConfiguration represents a declarative configuration of the APIConversion type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexport.go index ed5ff479341..3b6df326979 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexport.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIExportApplyConfiguration represents a declarative configuration of the APIExport type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexportendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexportendpointslice.go index 689fb77c895..e35dfdb16ed 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexportendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiexportendpointslice.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIExportEndpointSliceApplyConfiguration represents a declarative configuration of the APIExportEndpointSlice type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiresourceschema.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiresourceschema.go index f0caa8990ba..c7cbea7c956 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiresourceschema.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1/apiresourceschema.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIResourceSchemaApplyConfiguration represents a declarative configuration of the APIResourceSchema type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apibinding.go index 324d018ea99..b4dd590ab7a 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apibinding.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha2 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIBindingApplyConfiguration represents a declarative configuration of the APIBinding type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apiexport.go index 978e1225514..5cc2279ec7e 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2/apiexport.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha2 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // APIExportApplyConfiguration represents a declarative configuration of the APIExport type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresource.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresource.go index 3edb5c85894..b9c12cc7be0 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresource.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresource.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // CachedResourceApplyConfiguration represents a declarative configuration of the CachedResource type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresourceendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresourceendpointslice.go index c4ef2f0b9ee..ab0320ec5d3 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresourceendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1/cachedresourceendpointslice.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // CachedResourceEndpointSliceApplyConfiguration represents a declarative configuration of the CachedResourceEndpointSlice type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/conditions/v1alpha1/condition.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/conditions/v1alpha1/condition.go index 494a781c18c..e98e3f4e4ff 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/conditions/v1alpha1/condition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/conditions/v1alpha1/condition.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" ) // ConditionApplyConfiguration represents a declarative configuration of the Condition type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/logicalcluster.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/logicalcluster.go index 6e81e6d16ff..b69cce6849b 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/logicalcluster.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/logicalcluster.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // LogicalClusterApplyConfiguration represents a declarative configuration of the LogicalCluster type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shard.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shard.go index 72a7337d22b..29625cf7fc9 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shard.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shard.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // ShardApplyConfiguration represents a declarative configuration of the Shard type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shardstatus.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shardstatus.go index 745b2ef7dc0..8e44cfe438b 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shardstatus.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1/shardstatus.go @@ -19,9 +19,8 @@ limitations under the License. package v1alpha1 import ( - v1 "k8s.io/api/core/v1" - conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" + v1 "k8s.io/api/core/v1" ) // ShardStatusApplyConfiguration represents a declarative configuration of the ShardStatus type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspace.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspace.go index 22a518e8199..8c6a96bd4a9 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspace.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspace.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // WorkspaceApplyConfiguration represents a declarative configuration of the Workspace type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspaceauthenticationconfiguration.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspaceauthenticationconfiguration.go index d4502e8c246..0403486bd30 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspaceauthenticationconfiguration.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspaceauthenticationconfiguration.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // WorkspaceAuthenticationConfigurationApplyConfiguration represents a declarative configuration of the WorkspaceAuthenticationConfiguration type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspacetype.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspacetype.go index d4de51029bf..7e60f4edcf0 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspacetype.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1/workspacetype.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // WorkspaceTypeApplyConfiguration represents a declarative configuration of the WorkspaceType type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partition.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partition.go index 6b2da8738e8..d1f32c0b7a9 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partition.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // PartitionApplyConfiguration represents a declarative configuration of the Partition type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partitionset.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partitionset.go index 93a906690fa..a8ca0661514 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partitionset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1/partitionset.go @@ -19,10 +19,9 @@ limitations under the License. package v1alpha1 import ( + v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" - - v1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" ) // PartitionSetApplyConfiguration represents a declarative configuration of the PartitionSet type for use diff --git a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/utils.go b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/utils.go index c983fb81416..d96f71ea7bd 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/utils.go +++ b/staging/src/github.com/kcp-dev/sdk/client/applyconfiguration/utils.go @@ -19,12 +19,6 @@ limitations under the License. package applyconfiguration import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - managedfields "k8s.io/apimachinery/pkg/util/managedfields" - metav1 "k8s.io/client-go/applyconfigurations/meta/v1" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" v1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" @@ -41,6 +35,11 @@ import ( applyconfigurationmetav1 "github.com/kcp-dev/sdk/client/applyconfiguration/meta/v1" applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" applyconfigurationtopologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + metav1 "k8s.io/client-go/applyconfigurations/meta/v1" ) // ForKind returns an apply configuration type for the given GroupVersionKind, or nil if no diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/clientset.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/clientset.go index 27a78e5f3d0..f69a6759b40 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/clientset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/clientset.go @@ -22,16 +22,15 @@ import ( fmt "fmt" http "net/http" - discovery "k8s.io/client-go/discovery" - rest "k8s.io/client-go/rest" - flowcontrol "k8s.io/client-go/util/flowcontrol" - apisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" apisv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" ) type Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/clientset.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/clientset.go index 82803628c87..825d6029a2a 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/clientset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/clientset.go @@ -22,10 +22,6 @@ import ( fmt "fmt" http "net/http" - discovery "k8s.io/client-go/discovery" - rest "k8s.io/client-go/rest" - flowcontrol "k8s.io/client-go/util/flowcontrol" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" client "github.com/kcp-dev/sdk/client/clientset/versioned" @@ -35,6 +31,9 @@ import ( corev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" ) type ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/clientset.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/clientset.go index a2bb8cf91b7..3eb8a219841 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/clientset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/clientset.go @@ -19,9 +19,6 @@ limitations under the License. package fake import ( - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/client-go/discovery" - kcpfakediscovery "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/discovery/fake" kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" @@ -47,6 +44,8 @@ import ( corev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/discovery" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/register.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/register.go index e4971a19a37..7072a907ebc 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/register.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/fake/register.go @@ -19,18 +19,17 @@ limitations under the License. package fake import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - serializer "k8s.io/apimachinery/pkg/runtime/serializer" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" ) var scheme = runtime.NewScheme() diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme/register.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme/register.go index d0e00190489..db674370448 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme/register.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme/register.go @@ -19,18 +19,17 @@ limitations under the License. package scheme import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - serializer "k8s.io/apimachinery/pkg/runtime/serializer" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" ) var Scheme = runtime.NewScheme() diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apibinding.go index 5bbf742aed2..48f20491723 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apibinding.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIBindingsClusterGetter has a method to return a APIBindingClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiconversion.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiconversion.go index 5334cd01285..2761a1662be 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiconversion.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiconversion.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIConversionsClusterGetter has a method to return a APIConversionClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexport.go index 62c35f1ec84..5ae2332a7e3 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexport.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIExportsClusterGetter has a method to return a APIExportClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexportendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexportendpointslice.go index 8c7036ea0ac..c3f3954b329 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexportendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiexportendpointslice.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIExportEndpointSlicesClusterGetter has a method to return a APIExportEndpointSliceClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiresourceschema.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiresourceschema.go index c9c63050294..0106cc7b8ad 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiresourceschema.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apiresourceschema.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIResourceSchemasClusterGetter has a method to return a APIResourceSchemaClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apis_client.go index 01ceff8c83f..8ae840ec552 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/apis_client.go @@ -21,13 +21,12 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" kcpscheme "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + rest "k8s.io/client-go/rest" ) type ApisV1alpha1ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/fake/apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/fake/apis_client.go index f31d6b71756..f9157b7b2e5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/fake/apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1/fake/apis_client.go @@ -19,12 +19,11 @@ limitations under the License. package fake import ( - rest "k8s.io/client-go/rest" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha1" apisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + rest "k8s.io/client-go/rest" ) var _ kcpapisv1alpha1.ApisV1alpha1ClusterInterface = (*ApisV1alpha1ClusterClient)(nil) diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apibinding.go index c7ba767d699..63d4021a218 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apibinding.go @@ -21,13 +21,12 @@ package v1alpha2 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" kcpv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIBindingsClusterGetter has a method to return a APIBindingClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apiexport.go index e0fbe879cab..09334c5c1cc 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apiexport.go @@ -21,13 +21,12 @@ package v1alpha2 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" kcpv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // APIExportsClusterGetter has a method to return a APIExportClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apis_client.go index 38a22b1b895..489b08b9b1e 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/apis_client.go @@ -21,13 +21,12 @@ package v1alpha2 import ( http "net/http" - rest "k8s.io/client-go/rest" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" kcpscheme "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme" kcpv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" + rest "k8s.io/client-go/rest" ) type ApisV1alpha2ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/fake/apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/fake/apis_client.go index ae0a35d6ce9..98897c92a66 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/fake/apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2/fake/apis_client.go @@ -19,12 +19,11 @@ limitations under the License. package fake import ( - rest "k8s.io/client-go/rest" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" kcpapisv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/apis/v1alpha2" apisv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" + rest "k8s.io/client-go/rest" ) var _ kcpapisv1alpha2.ApisV1alpha2ClusterInterface = (*ApisV1alpha2ClusterClient)(nil) diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cache_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cache_client.go index f42f9a1c63e..d825c19ce63 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cache_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cache_client.go @@ -21,13 +21,12 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpcachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" kcpscheme "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" + rest "k8s.io/client-go/rest" ) type CacheV1alpha1ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresource.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresource.go index 6b5f73b080b..6f812da2152 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresource.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresource.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpcachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // CachedResourcesClusterGetter has a method to return a CachedResourceClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresourceendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresourceendpointslice.go index 68c9e09dfe1..8668eb227f5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresourceendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/cachedresourceendpointslice.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpcachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // CachedResourceEndpointSlicesClusterGetter has a method to return a CachedResourceEndpointSliceClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/fake/cache_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/fake/cache_client.go index 416ea10fcb4..e33f306fc36 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/fake/cache_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1/fake/cache_client.go @@ -19,12 +19,11 @@ limitations under the License. package fake import ( - rest "k8s.io/client-go/rest" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" kcpcachev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/cache/v1alpha1" cachev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" + rest "k8s.io/client-go/rest" ) var _ kcpcachev1alpha1.CacheV1alpha1ClusterInterface = (*CacheV1alpha1ClusterClient)(nil) diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/core_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/core_client.go index 52e93040807..2aa0f3e1c1a 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/core_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/core_client.go @@ -21,13 +21,12 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" kcpscheme "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" + rest "k8s.io/client-go/rest" ) type CoreV1alpha1ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/fake/core_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/fake/core_client.go index 9c5f2562e9f..63f5fc6dc92 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/fake/core_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/fake/core_client.go @@ -19,12 +19,11 @@ limitations under the License. package fake import ( - rest "k8s.io/client-go/rest" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" kcpcorev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" + rest "k8s.io/client-go/rest" ) var _ kcpcorev1alpha1.CoreV1alpha1ClusterInterface = (*CoreV1alpha1ClusterClient)(nil) diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/logicalcluster.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/logicalcluster.go index 6577c35d4a5..4660899e0f3 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/logicalcluster.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/logicalcluster.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // LogicalClustersClusterGetter has a method to return a LogicalClusterClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/shard.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/shard.go index 9ee54630503..17c1728081f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/shard.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/core/v1alpha1/shard.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcpcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // ShardsClusterGetter has a method to return a ShardClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/fake/tenancy_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/fake/tenancy_client.go index 324f5c021a4..6675ba105a6 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/fake/tenancy_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/fake/tenancy_client.go @@ -19,12 +19,11 @@ limitations under the License. package fake import ( - rest "k8s.io/client-go/rest" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" kcptenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + rest "k8s.io/client-go/rest" ) var _ kcptenancyv1alpha1.TenancyV1alpha1ClusterInterface = (*TenancyV1alpha1ClusterClient)(nil) diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/tenancy_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/tenancy_client.go index ab494c277e2..27db49d5a3d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/tenancy_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/tenancy_client.go @@ -21,13 +21,12 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" kcpscheme "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + rest "k8s.io/client-go/rest" ) type TenancyV1alpha1ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspace.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspace.go index 08f74c951cd..68856b81ae5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspace.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspace.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // WorkspacesClusterGetter has a method to return a WorkspaceClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go index a0315c58643..c2792fcc8b4 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // WorkspaceAuthenticationConfigurationsClusterGetter has a method to return a WorkspaceAuthenticationConfigurationClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspacetype.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspacetype.go index 0ca968895c9..fef255a88e7 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspacetype.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/tenancy/v1alpha1/workspacetype.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // WorkspaceTypesClusterGetter has a method to return a WorkspaceTypeClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/fake/topology_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/fake/topology_client.go index 89c8f0795bd..ca29e37c827 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/fake/topology_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/fake/topology_client.go @@ -19,12 +19,11 @@ limitations under the License. package fake import ( - rest "k8s.io/client-go/rest" - kcptesting "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/testing" "github.com/kcp-dev/logicalcluster/v3" kcptopologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + rest "k8s.io/client-go/rest" ) var _ kcptopologyv1alpha1.TopologyV1alpha1ClusterInterface = (*TopologyV1alpha1ClusterClient)(nil) diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partition.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partition.go index e0a84c3ffd8..c2e4ed40974 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partition.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptopologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // PartitionsClusterGetter has a method to return a PartitionClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partitionset.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partitionset.go index 70b00f3ca21..e936ec1747d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partitionset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/partitionset.go @@ -21,13 +21,12 @@ package v1alpha1 import ( context "context" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - watch "k8s.io/apimachinery/pkg/watch" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptopologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" ) // PartitionSetsClusterGetter has a method to return a PartitionSetClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/topology_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/topology_client.go index ddf833202b0..36d4da9080d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/topology_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/cluster/typed/topology/v1alpha1/topology_client.go @@ -21,13 +21,12 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - kcpclient "github.com/kcp-dev/apimachinery/v2/pkg/client" "github.com/kcp-dev/logicalcluster/v3" kcptopologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" kcpscheme "github.com/kcp-dev/sdk/client/clientset/versioned/cluster/scheme" kcpv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + rest "k8s.io/client-go/rest" ) type TopologyV1alpha1ClusterInterface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/clientset_generated.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/clientset_generated.go index 2df46631d99..91cd98e3fdd 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/clientset_generated.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/clientset_generated.go @@ -19,13 +19,6 @@ limitations under the License. package fake import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/client-go/discovery" - fakediscovery "k8s.io/client-go/discovery/fake" - "k8s.io/client-go/testing" - applyconfiguration "github.com/kcp-dev/sdk/client/applyconfiguration" clientset "github.com/kcp-dev/sdk/client/clientset/versioned" apisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" @@ -40,16 +33,18 @@ import ( faketenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake" topologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" faketopologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. // It's backed by a very simple object tracker that processes creates, updates and deletions as-is, // without applying any field management, validations and/or defaults. It shouldn't be considered a replacement // for a real clientset and is mostly useful in simple unit tests. -// -// Deprecated: NewClientset replaces this with support for field management, which significantly improves -// server side apply testing. NewClientset is only available when apply configurations are generated (e.g. -// via --with-applyconfig). func NewSimpleClientset(objects ...runtime.Object) *Clientset { o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) for _, obj := range objects { @@ -95,7 +90,7 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } -// IsWatchListSemanticsSupported informs the reflector that this client +// IsWatchListSemanticsUnSupported informs the reflector that this client // doesn't support WatchList semantics. // // This is a synthetic method whose sole purpose is to satisfy the optional @@ -110,6 +105,10 @@ func (c *Clientset) IsWatchListSemanticsUnSupported() bool { // It's backed by a very simple object tracker that processes creates, updates and deletions as-is, // without applying any validations and/or defaults. It shouldn't be considered a replacement // for a real clientset and is mostly useful in simple unit tests. +// +// Compared to NewSimpleClientset, the Clientset returned here supports field tracking and thus +// server-side apply. Beware though that support in that for CRDs is missing +// (https://github.com/kubernetes/kubernetes/issues/126850). func NewClientset(objects ...runtime.Object) *Clientset { o := testing.NewFieldManagedObjectTracker( scheme, diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/register.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/register.go index 8293dab4ea8..4651f64af78 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/register.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/fake/register.go @@ -19,18 +19,17 @@ limitations under the License. package fake import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - serializer "k8s.io/apimachinery/pkg/runtime/serializer" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" ) var scheme = runtime.NewScheme() diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/scheme/register.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/scheme/register.go index eb79b75ae43..fa1b41c2385 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/scheme/register.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/scheme/register.go @@ -19,18 +19,17 @@ limitations under the License. package scheme import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - serializer "k8s.io/apimachinery/pkg/runtime/serializer" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" ) var Scheme = runtime.NewScheme() diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apibinding.go index 8efba9c2f77..1004859744c 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apibinding.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" - applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIBindingsGetter has a method to return a APIBindingInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiconversion.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiconversion.go index 496d9e961d6..fa28af25bd7 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiconversion.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiconversion.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" - applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIConversionsGetter has a method to return a APIConversionInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexport.go index 9ba293e313d..e9acaa2543e 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexport.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" - applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIExportsGetter has a method to return a APIExportInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexportendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexportendpointslice.go index 788dba6d61b..82da8a38f4f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexportendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiexportendpointslice.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" - applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIExportEndpointSlicesGetter has a method to return a APIExportEndpointSliceInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiresourceschema.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiresourceschema.go index fe5cbd33883..75232bab914 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiresourceschema.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apiresourceschema.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" - applyconfigurationapisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIResourceSchemasGetter has a method to return a APIResourceSchemaInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go index d24fa6cc316..222bb6b113f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/apis_client.go @@ -21,10 +21,9 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - apisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" ) type ApisV1alpha1Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apibinding.go index f4b1c397360..08704f949dc 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apibinding.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" typedapisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeAPIBindings implements APIBindingInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiconversion.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiconversion.go index 867b85fd242..4cc7115bb85 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiconversion.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiconversion.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" typedapisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeAPIConversions implements APIConversionInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexport.go index 6f62f60b304..2a59674378e 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexport.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" typedapisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeAPIExports implements APIExportInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexportendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexportendpointslice.go index b9ae9700e6d..7bf401290ca 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexportendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiexportendpointslice.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" typedapisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeAPIExportEndpointSlices implements APIExportEndpointSliceInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiresourceschema.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiresourceschema.go index b19ff78f9cb..b9f879b89b5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiresourceschema.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apiresourceschema.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" apisv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha1" typedapisv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeAPIResourceSchemas implements APIResourceSchemaInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go index 0a236c04320..e3d99b5ef81 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1/fake/fake_apis_client.go @@ -19,10 +19,9 @@ limitations under the License. package fake import ( + v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" - - v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha1" ) type FakeApisV1alpha1 struct { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apibinding.go index 272414d3d36..0bbe592fcd4 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apibinding.go @@ -21,14 +21,13 @@ package v1alpha2 import ( context "context" + apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" + applyconfigurationapisv1alpha2 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" - applyconfigurationapisv1alpha2 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIBindingsGetter has a method to return a APIBindingInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apiexport.go index 2e5096ba7b5..1ae6f741ebb 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apiexport.go @@ -21,14 +21,13 @@ package v1alpha2 import ( context "context" + apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" + applyconfigurationapisv1alpha2 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" - applyconfigurationapisv1alpha2 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // APIExportsGetter has a method to return a APIExportInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apis_client.go index fb91de156a7..bebf829cead 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/apis_client.go @@ -21,10 +21,9 @@ package v1alpha2 import ( http "net/http" - rest "k8s.io/client-go/rest" - apisv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" ) type ApisV1alpha2Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apibinding.go index cce79655184..67eb10d3b4c 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apibinding.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" apisv1alpha2 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2" typedapisv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" + gentype "k8s.io/client-go/gentype" ) // fakeAPIBindings implements APIBindingInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apiexport.go index 945e640b93d..3499a7d46b4 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apiexport.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" apisv1alpha2 "github.com/kcp-dev/sdk/client/applyconfiguration/apis/v1alpha2" typedapisv1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" + gentype "k8s.io/client-go/gentype" ) // fakeAPIExports implements APIExportInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apis_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apis_client.go index 8bdd19a4ef4..3df6512ac3b 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apis_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2/fake/fake_apis_client.go @@ -19,10 +19,9 @@ limitations under the License. package fake import ( + v1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" - - v1alpha2 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/apis/v1alpha2" ) type FakeApisV1alpha2 struct { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cache_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cache_client.go index 6ea152a69d1..814a68e2d03 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cache_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cache_client.go @@ -21,10 +21,9 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" ) type CacheV1alpha1Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresource.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresource.go index cdfa002bce6..76765826ef8 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresource.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresource.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" + applyconfigurationcachev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" - applyconfigurationcachev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // CachedResourcesGetter has a method to return a CachedResourceInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresourceendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresourceendpointslice.go index cf677e30204..f8cfed7442b 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresourceendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/cachedresourceendpointslice.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" + applyconfigurationcachev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" - applyconfigurationcachev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // CachedResourceEndpointSlicesGetter has a method to return a CachedResourceEndpointSliceInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cache_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cache_client.go index e9da438b53d..802f7d7c7b7 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cache_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cache_client.go @@ -19,10 +19,9 @@ limitations under the License. package fake import ( + v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" - - v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" ) type FakeCacheV1alpha1 struct { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresource.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresource.go index 29a54d31f26..335544d0d09 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresource.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresource.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" cachev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1" typedcachev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeCachedResources implements CachedResourceInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresourceendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresourceendpointslice.go index 7a42469e092..521176da1bd 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresourceendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1/fake/fake_cachedresourceendpointslice.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" cachev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/cache/v1alpha1" typedcachev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/cache/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeCachedResourceEndpointSlices implements CachedResourceEndpointSliceInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/core_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/core_client.go index fbdc3707ce5..64cf7ed8268 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/core_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/core_client.go @@ -21,10 +21,9 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" ) type CoreV1alpha1Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_core_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_core_client.go index f8d7b043316..45de9d8dfbc 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_core_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_core_client.go @@ -19,10 +19,9 @@ limitations under the License. package fake import ( + v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" - - v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" ) type FakeCoreV1alpha1 struct { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_logicalcluster.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_logicalcluster.go index c48f631044e..94a7dd421b6 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_logicalcluster.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_logicalcluster.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1" typedcorev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeLogicalClusters implements LogicalClusterInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_shard.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_shard.go index 79176ed8e05..fb0dd10e774 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_shard.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/fake/fake_shard.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" corev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1" typedcorev1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeShards implements ShardInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/logicalcluster.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/logicalcluster.go index 363237b2e29..d2f0cf9755f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/logicalcluster.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/logicalcluster.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" + applyconfigurationcorev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" - applyconfigurationcorev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // LogicalClustersGetter has a method to return a LogicalClusterInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/shard.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/shard.go index c3d8f928331..6e0105de836 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/shard.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/core/v1alpha1/shard.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" + applyconfigurationcorev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - corev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" - applyconfigurationcorev1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/core/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // ShardsGetter has a method to return a ShardInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_tenancy_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_tenancy_client.go index c2a6fa387cd..f78a9647662 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_tenancy_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_tenancy_client.go @@ -19,10 +19,9 @@ limitations under the License. package fake import ( + v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" - - v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" ) type FakeTenancyV1alpha1 struct { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspace.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspace.go index dcd91573fbf..54b2de30f11 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspace.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspace.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" typedtenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeWorkspaces implements WorkspaceInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspaceauthenticationconfiguration.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspaceauthenticationconfiguration.go index 4a409941e9d..84d33adf01a 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspaceauthenticationconfiguration.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspaceauthenticationconfiguration.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" typedtenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeWorkspaceAuthenticationConfigurations implements WorkspaceAuthenticationConfigurationInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspacetype.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspacetype.go index 959b204694a..d59dcc95bf5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspacetype.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/fake/fake_workspacetype.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" tenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" typedtenancyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakeWorkspaceTypes implements WorkspaceTypeInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/tenancy_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/tenancy_client.go index cc9f24938aa..cdd4986c08a 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/tenancy_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/tenancy_client.go @@ -21,10 +21,9 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" ) type TenancyV1alpha1Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspace.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspace.go index 3da0e02d182..ea6de94f17d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspace.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspace.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" + applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" - applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // WorkspacesGetter has a method to return a WorkspaceInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go index b88a95861e6..639a838bd63 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspaceauthenticationconfiguration.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" + applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" - applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // WorkspaceAuthenticationConfigurationsGetter has a method to return a WorkspaceAuthenticationConfigurationInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspacetype.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspacetype.go index b4c64e19465..94ba83c2584 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspacetype.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/tenancy/v1alpha1/workspacetype.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" + applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" - applyconfigurationtenancyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/tenancy/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // WorkspaceTypesGetter has a method to return a WorkspaceTypeInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partition.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partition.go index 2f10f952f9a..017c0986618 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partition.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" typedtopologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakePartitions implements PartitionInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partitionset.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partitionset.go index 944cdb46ff9..0ab6551a1d2 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partitionset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_partitionset.go @@ -19,11 +19,10 @@ limitations under the License. package fake import ( - gentype "k8s.io/client-go/gentype" - v1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" typedtopologyv1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" + gentype "k8s.io/client-go/gentype" ) // fakePartitionSets implements PartitionSetInterface diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_topology_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_topology_client.go index 618c91be2af..be079f0e5fd 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_topology_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/fake/fake_topology_client.go @@ -19,10 +19,9 @@ limitations under the License. package fake import ( + v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" - - v1alpha1 "github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1" ) type FakeTopologyV1alpha1 struct { diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partition.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partition.go index 2b5bd64c734..635f36b75c5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partition.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + applyconfigurationtopologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" - applyconfigurationtopologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // PartitionsGetter has a method to return a PartitionInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partitionset.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partitionset.go index 2921f04ccad..a0df07d5ae6 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partitionset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/partitionset.go @@ -21,14 +21,13 @@ package v1alpha1 import ( context "context" + topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + applyconfigurationtopologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" + scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" gentype "k8s.io/client-go/gentype" - - topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" - applyconfigurationtopologyv1alpha1 "github.com/kcp-dev/sdk/client/applyconfiguration/topology/v1alpha1" - scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" ) // PartitionSetsGetter has a method to return a PartitionSetInterface. diff --git a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/topology_client.go b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/topology_client.go index f123fbb5b50..2fad3a5fe75 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/topology_client.go +++ b/staging/src/github.com/kcp-dev/sdk/client/clientset/versioned/typed/topology/v1alpha1/topology_client.go @@ -21,10 +21,9 @@ package v1alpha1 import ( http "net/http" - rest "k8s.io/client-go/rest" - topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" scheme "github.com/kcp-dev/sdk/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" ) type TopologyV1alpha1Interface interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apibinding.go index 5e4892aa335..5a8f946506f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apibinding.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIBindingClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiconversion.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiconversion.go index d9415042ddd..a61f1bb12c2 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiconversion.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiconversion.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIConversionClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexport.go index 5e712280a7e..fe2cf2e7264 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexport.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIExportClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexportendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexportendpointslice.go index 86b8bf5f63c..b215ace8ab8 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexportendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiexportendpointslice.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIExportEndpointSliceClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiresourceschema.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiresourceschema.go index 99bca4604ea..5d08fa6aae8 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiresourceschema.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha1/apiresourceschema.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIResourceSchemaClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apibinding.go index 06714555b49..3e8acfaaaab 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apibinding.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha2 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIBindingClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apiexport.go index 8c52f3bd1ea..352cd5391d6 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/apis/v1alpha2/apiexport.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha2 "github.com/kcp-dev/sdk/client/listers/apis/v1alpha2" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // APIExportClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresource.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresource.go index 71bf4cb16fa..515913de493 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresource.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresource.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/cache/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // CachedResourceClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresourceendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresourceendpointslice.go index f51fc97d39e..fed63737c8f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresourceendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/cache/v1alpha1/cachedresourceendpointslice.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/cache/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // CachedResourceEndpointSliceClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/logicalcluster.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/logicalcluster.go index e51a36ee0ca..c78f1c6129b 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/logicalcluster.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/logicalcluster.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/core/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // LogicalClusterClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/shard.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/shard.go index df17501fd91..cb02a195061 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/shard.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/core/v1alpha1/shard.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/core/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // ShardClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/factory.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/factory.go index 2af0156fa8c..0e94d70cace 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/factory.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/factory.go @@ -23,11 +23,6 @@ import ( sync "sync" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" logicalcluster "github.com/kcp-dev/logicalcluster/v3" kcpversioned "github.com/kcp-dev/sdk/client/clientset/versioned" @@ -38,6 +33,10 @@ import ( kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcptenancy "github.com/kcp-dev/sdk/client/informers/externalversions/tenancy" kcptopology "github.com/kcp-dev/sdk/client/informers/externalversions/topology" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" ) // SharedInformerOption defines the functional option type for SharedInformerFactory. diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/generic.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/generic.go index 2e5a4f4857b..1ae3519dc11 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/generic.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/generic.go @@ -22,9 +22,6 @@ import ( context "context" fmt "fmt" - schema "k8s.io/apimachinery/pkg/runtime/schema" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" logicalcluster "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" @@ -33,6 +30,8 @@ import ( kcpcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" kcptenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" kcptopologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" ) type GenericClusterInformer interface { diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces/factory_interfaces.go index 1cf4c52ad2a..b16b172d677 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces/factory_interfaces.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -21,13 +21,12 @@ package internalinterfaces import ( time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpversioned "github.com/kcp-dev/sdk/client/clientset/versioned" kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" ) // TweakListOptionsFunc is a function that transforms a v1.ListOptions. diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspace.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspace.go index 6c3ccd453ac..e469273bb5d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspace.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspace.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // WorkspaceClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspaceauthenticationconfiguration.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspaceauthenticationconfiguration.go index b4eaf26cb11..4e8f7ff89dd 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspaceauthenticationconfiguration.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspaceauthenticationconfiguration.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // WorkspaceAuthenticationConfigurationClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspacetype.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspacetype.go index 68bd204044d..d900026b3b9 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspacetype.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/tenancy/v1alpha1/workspacetype.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // WorkspaceTypeClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partition.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partition.go index 0cd5cc78644..54a38664c87 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partition.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // PartitionClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partitionset.go b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partitionset.go index 4b35373ac24..84077a7d065 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partitionset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/informers/externalversions/topology/v1alpha1/partitionset.go @@ -22,11 +22,6 @@ import ( context "context" time "time" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" - kcpcache "github.com/kcp-dev/apimachinery/v2/pkg/cache" kcpinformers "github.com/kcp-dev/apimachinery/v2/third_party/informers" logicalcluster "github.com/kcp-dev/logicalcluster/v3" @@ -35,6 +30,10 @@ import ( kcpcluster "github.com/kcp-dev/sdk/client/clientset/versioned/cluster" kcpinternalinterfaces "github.com/kcp-dev/sdk/client/informers/externalversions/internalinterfaces" kcpv1alpha1 "github.com/kcp-dev/sdk/client/listers/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" ) // PartitionSetClusterInformer provides access to a shared informer and lister for diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apibinding.go index 79f1b803b52..cbb815d6664 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apibinding.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIBindingClusterLister helps list APIBindings across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiconversion.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiconversion.go index d067b79db31..0588b44e611 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiconversion.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiconversion.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIConversionClusterLister helps list APIConversions across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexport.go index 12e99eac156..2ab57f86431 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexport.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIExportClusterLister helps list APIExports across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexportendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexportendpointslice.go index a7c4069a783..ea1b200c11b 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexportendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiexportendpointslice.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIExportEndpointSliceClusterLister helps list APIExportEndpointSlices across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiresourceschema.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiresourceschema.go index 5667d5ff70a..3a13c3bba82 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiresourceschema.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha1/apiresourceschema.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIResourceSchemaClusterLister helps list APIResourceSchemas across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apibinding.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apibinding.go index 403d849a465..cb00b248a1e 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apibinding.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apibinding.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha2 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIBindingClusterLister helps list APIBindings across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apiexport.go b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apiexport.go index 412cbca8f3c..b7e7cf51535 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apiexport.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/apis/v1alpha2/apiexport.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha2 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // APIExportClusterLister helps list APIExports across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresource.go b/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresource.go index 302c864c54f..f382c641127 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresource.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresource.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // CachedResourceClusterLister helps list CachedResources across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresourceendpointslice.go b/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresourceendpointslice.go index 06d3d334bba..dffe783afd5 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresourceendpointslice.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/cache/v1alpha1/cachedresourceendpointslice.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // CachedResourceEndpointSliceClusterLister helps list CachedResourceEndpointSlices across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/logicalcluster.go b/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/logicalcluster.go index 82a8aa58d07..2acc3cf853d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/logicalcluster.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/logicalcluster.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // LogicalClusterClusterLister helps list LogicalClusters across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/shard.go b/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/shard.go index a40f5d390d4..1af56c4af3f 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/shard.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/core/v1alpha1/shard.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // ShardClusterLister helps list Shards across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspace.go b/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspace.go index 2c74e9ac9b1..7845b781a3c 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspace.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspace.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // WorkspaceClusterLister helps list Workspaces across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspaceauthenticationconfiguration.go b/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspaceauthenticationconfiguration.go index f4233bed33c..ad6a41eafb0 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspaceauthenticationconfiguration.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspaceauthenticationconfiguration.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // WorkspaceAuthenticationConfigurationClusterLister helps list WorkspaceAuthenticationConfigurations across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspacetype.go b/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspacetype.go index 7eee569fa2c..b0cb0f8b90a 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspacetype.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/tenancy/v1alpha1/workspacetype.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // WorkspaceTypeClusterLister helps list WorkspaceTypes across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partition.go b/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partition.go index ec9a94811af..abac681be9d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partition.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partition.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // PartitionClusterLister helps list Partitions across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partitionset.go b/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partitionset.go index 34479f4b8bb..c58ef99280d 100644 --- a/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partitionset.go +++ b/staging/src/github.com/kcp-dev/sdk/client/listers/topology/v1alpha1/partitionset.go @@ -19,12 +19,11 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" - kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers" "github.com/kcp-dev/logicalcluster/v3" kcpv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" ) // PartitionSetClusterLister helps list PartitionSets across all workspaces, diff --git a/staging/src/github.com/kcp-dev/sdk/openapi/zz_generated.openapi.go b/staging/src/github.com/kcp-dev/sdk/openapi/zz_generated.openapi.go index 305800fbc78..81b83ca234f 100644 --- a/staging/src/github.com/kcp-dev/sdk/openapi/zz_generated.openapi.go +++ b/staging/src/github.com/kcp-dev/sdk/openapi/zz_generated.openapi.go @@ -22,12 +22,6 @@ limitations under the License. package openapi import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - version "k8s.io/apimachinery/pkg/version" - common "k8s.io/kube-openapi/pkg/common" - spec "k8s.io/kube-openapi/pkg/validation/spec" - v1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1" v1alpha2 "github.com/kcp-dev/sdk/apis/apis/v1alpha2" cachev1alpha1 "github.com/kcp-dev/sdk/apis/cache/v1alpha1" @@ -35,6 +29,11 @@ import ( tenancyv1alpha1 "github.com/kcp-dev/sdk/apis/tenancy/v1alpha1" conditionsv1alpha1 "github.com/kcp-dev/sdk/apis/third_party/conditions/apis/conditions/v1alpha1" topologyv1alpha1 "github.com/kcp-dev/sdk/apis/topology/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + version "k8s.io/apimachinery/pkg/version" + common "k8s.io/kube-openapi/pkg/common" + spec "k8s.io/kube-openapi/pkg/validation/spec" ) func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { @@ -198,6 +197,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA v1.Preconditions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Preconditions(ref), v1.RootPaths{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_RootPaths(ref), v1.ServerAddressByClientCIDR{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ServerAddressByClientCIDR(ref), + v1.ShardInfo{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ShardInfo(ref), v1.Status{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Status(ref), v1.StatusCause{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_StatusCause(ref), v1.StatusDetails{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_StatusDetails(ref), @@ -6720,9 +6720,17 @@ func schema_pkg_apis_meta_v1_ListMeta(ref common.ReferenceCallback) common.OpenA Format: "int64", }, }, + "shardInfo": { + SchemaProps: spec.SchemaProps{ + Description: "shardInfo is set when the list is a filtered subset of the full collection, as selected by a shard selector on the request. It echoes back the selector so clients can verify which shard they received and merge sharded responses. Clients should not cache sharded list responses as a full representation of the collection.\n\nThis is an alpha field and requires enabling the ShardedListAndWatch feature gate.", + Ref: ref(v1.ShardInfo{}.OpenAPIModelName()), + }, + }, }, }, }, + Dependencies: []string{ + v1.ShardInfo{}.OpenAPIModelName()}, } } @@ -6817,6 +6825,13 @@ func schema_pkg_apis_meta_v1_ListOptions(ref common.ReferenceCallback) common.Op Format: "", }, }, + "shardSelector": { + SchemaProps: spec.SchemaProps{ + Description: "shardSelector restricts the list of returned objects using a CEL-based shard selector expression. The format uses the shardRange() function combined with || (logical OR) to specify one or more hash ranges:\n\n shardRange(object.metadata.uid, '0x0', '0x8000000000000000')\n shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')\n\nField paths use CEL-style object-rooted syntax (e.g. \"object.metadata.uid\"), NOT the fieldSelector format (\"metadata.uid\"). Currently supported paths:\n - object.metadata.uid\n - object.metadata.namespace\n\nhexStart and hexEnd are single-quoted CEL string literals with a '0x' prefix, defining the inclusive lower and exclusive upper bounds over the 64-bit FNV-1a hash space. The full range is [0x0, 0x10000000000000000), where the exclusive upper bound equals 2^64.\n\nExamples:\n 2-shard split:\n shard 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')\n shard 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')\n 4-shard split:\n shard 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')\n shard 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')\n shard 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')\n shard 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')\n\nThis is an alpha field and requires enabling the ShardedListAndWatch feature gate.", + Type: []string{"string"}, + Format: "", + }, + }, }, }, }, @@ -7398,6 +7413,28 @@ func schema_pkg_apis_meta_v1_ServerAddressByClientCIDR(ref common.ReferenceCallb } } +func schema_pkg_apis_meta_v1_ShardInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ShardInfo describes the shard selector that was applied to produce a list response. Its presence on a list response indicates the list is a filtered subset.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "selector": { + SchemaProps: spec.SchemaProps{ + Description: "selector is the shard selector string from the request, echoed back so clients can verify which shard they received and merge responses from multiple shards.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"selector"}, + }, + }, + } +} + func schema_pkg_apis_meta_v1_Status(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{