Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapt to changes needed for gardener-node-agent #33

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,14 @@ install: revendor $(CONTROLLER_GEN) $(GEN_CRD_API_REFERENCE_DOCS) $(HELM) $(MOCK
@LD_FLAGS="-w -X github.com/gardener/$(EXTENSION_PREFIX)-$(NAME)/pkg/version.Version=$(VERSION)" \
$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/install.sh ./...

.PHONY: tidy
tidy:
@GO111MODULE=on go mod tidy

.PHONY: revendor
revendor:
@GO111MODULE=on go mod vendor
@GO111MODULE=on go mod tidy
@GO111MODULE=on go mod vendor
@chmod +x $(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/*
@chmod +x $(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/.ci/*

Expand Down
2 changes: 1 addition & 1 deletion charts/os-metal/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ spec:
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- /os-metal
- --leader-election-resource-lock={{ .Values.leaderElection.resourceLock }}
- --max-concurrent-reconciles={{ .Values.controllers.concurrentSyncs }}
- --heartbeat-namespace={{ .Release.Namespace }}
- --heartbeat-renew-interval-seconds={{ .Values.controllers.heartbeat.renewIntervalSeconds }}
- --disable-controllers={{ .Values.disableControllers | join "," }}
- --ignore-operation-annotation={{ .Values.controllers.ignoreOperationAnnotation }}
- --gardenlet-uses-gardener-node-agent={{ ternary .Values.gardener.gardenlet.featureGates.UseGardenerNodeAgent true (hasKey .Values.gardener.gardenlet.featureGates "UseGardenerNodeAgent") }}
env:
- name: LEADER_ELECTION_NAMESPACE
valueFrom:
Expand Down
7 changes: 4 additions & 3 deletions charts/os-metal/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ controllers:
heartbeat:
renewIntervalSeconds: 30

leaderElection:
resourceLock: leases

disableControllers: []

gardener:
gardenlet:
featureGates: {}
48 changes: 23 additions & 25 deletions cmd/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,43 +20,31 @@ import (
"os"

extcontroller "github.com/gardener/gardener/extensions/pkg/controller"
corev1 "k8s.io/api/core/v1"
componentbaseconfig "k8s.io/component-base/config"

controllercmd "github.com/gardener/gardener/extensions/pkg/controller/cmd"
"github.com/gardener/gardener/extensions/pkg/controller/heartbeat"
heartbeatcmd "github.com/gardener/gardener/extensions/pkg/controller/heartbeat/cmd"
"github.com/gardener/gardener/extensions/pkg/controller/operatingsystemconfig/oscommon"
oscommoncmd "github.com/gardener/gardener/extensions/pkg/controller/operatingsystemconfig/oscommon/cmd"
osccontroller "github.com/gardener/gardener/extensions/pkg/controller/operatingsystemconfig"
"github.com/gardener/gardener/extensions/pkg/util"
"github.com/metal-stack/os-metal-extension/pkg/generator"
"github.com/spf13/cobra"
"k8s.io/client-go/tools/leaderelection/resourcelock"
corev1 "k8s.io/api/core/v1"
componentbaseconfig "k8s.io/component-base/config"
"sigs.k8s.io/controller-runtime/pkg/client"
runtimelog "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"

"github.com/metal-stack/os-metal-extension/pkg/controller/operatingsystemconfig"
)

const ctrlName = "os-metal"

var osTypes = []string{"ubuntu", "debian", "nvidia"}

// NewControllerCommand returns a new Command with a new Generator
func NewControllerCommand(ctx context.Context) *cobra.Command {
g := generator.IgnitionGenerator()
if g == nil {
runtimelog.Log.Error(fmt.Errorf("generator is nil"), "Error executing the main controller command")
os.Exit(1)
}

var (
generalOpts = &controllercmd.GeneralOptions{}
restOpts = &controllercmd.RESTOptions{}
mgrOpts = &controllercmd.ManagerOptions{
LeaderElection: true,
LeaderElectionResourceLock: resourcelock.LeasesResourceLock,
LeaderElectionID: controllercmd.LeaderElectionNameID(ctrlName),
LeaderElectionNamespace: os.Getenv("LEADER_ELECTION_NAMESPACE"),
LeaderElection: true,
LeaderElectionID: controllercmd.LeaderElectionNameID(ctrlName),
LeaderElectionNamespace: os.Getenv("LEADER_ELECTION_NAMESPACE"),
}
ctrlOpts = &controllercmd.ControllerOptions{
MaxConcurrentReconciles: 5,
Expand All @@ -70,7 +58,10 @@ func NewControllerCommand(ctx context.Context) *cobra.Command {

reconcileOpts = &controllercmd.ReconcilerOptions{}

controllerSwitches = oscommoncmd.SwitchOptions(ctrlName, osTypes, g)
controllerSwitches = controllercmd.NewSwitchOptions(
controllercmd.Switch(osccontroller.ControllerName, operatingsystemconfig.AddToManager),
controllercmd.Switch(heartbeat.ControllerName, heartbeat.AddToManager),
)

aggOption = controllercmd.NewOptionAggregator(
generalOpts,
Expand Down Expand Up @@ -100,8 +91,12 @@ func NewControllerCommand(ctx context.Context) *cobra.Command {
}, restOpts.Completed().Config)

completedMgrOpts := mgrOpts.Completed().Options()
completedMgrOpts.ClientDisableCacheFor = []client.Object{
&corev1.Secret{}, // applied for OperatingSystemConfig Secret references
completedMgrOpts.Client = client.Options{
Cache: &client.CacheOptions{
DisableFor: []client.Object{
&corev1.Secret{}, // applied for OperatingSystemConfig Secret references
},
},
}

mgr, err := manager.New(restOpts.Completed().Config, completedMgrOpts)
Expand All @@ -113,10 +108,13 @@ func NewControllerCommand(ctx context.Context) *cobra.Command {
return fmt.Errorf("could not update manager scheme: %w", err)
}

ctrlOpts.Completed().Apply(&oscommon.DefaultAddOptions.Controller)
ctrlOpts.Completed().Apply(&operatingsystemconfig.DefaultAddOptions.Controller)
heartbeatCtrlOpts.Completed().Apply(&heartbeat.DefaultAddOptions)

reconcileOpts.Completed().Apply(&oscommon.DefaultAddOptions.IgnoreOperationAnnotation)
reconcileOpts.Completed().Apply(&operatingsystemconfig.DefaultAddOptions.IgnoreOperationAnnotation)
// TODO(rfranzke): Remove the UseGardenerNodeAgent fields as soon as the general options no longer support
// the GardenletUsesGardenerNodeAgent field.
operatingsystemconfig.DefaultAddOptions.UseGardenerNodeAgent = generalOpts.Completed().GardenletUsesGardenerNodeAgent

if err := controllerSwitches.Completed().AddToManager(ctx, mgr); err != nil {
return fmt.Errorf("could not add controller to manager: %w", err)
Expand Down
4 changes: 3 additions & 1 deletion example/controller-registration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
name: os-metal
type: helm
providerConfig:
chart: H4sIAAAAAAAAA+0aa2/juHE/61dMfQW6KVZS/EjSurgPPsd3ZzSXBHEuh0VRLGiJlnmRRZWk7Hhz29/eIfWwbOe5m2SRLgeBJVHz4nCGM5yIS3dGFYn9N88HuwgHe3vmirB5NffNdqfZ2mvt7+vxZrN10HkDe8+oUwWZVEQAvBGcq7vw7nv/SoGX6+9NaTxjUcIFfWoZeoH3O51b1x+XfWP925128w3sPrUiN8E3vv7fwSlRiopEguKQrz8spjSBccbikCURpCS4JBGVnvMdnE+ZBJmlKRcKb9BnYohiPoYZUcEUsd+BoDFRbE6RTk1r4yQJkUFCI3zLE3ibCjphVzSEBUO8P+14cJLES+CJodQqQUoFxCyhnuMdjj6MFOqGLPp8NkMGF/0RhExIx4uY8s1vrr7jjT8K3/yWA9PI1z/lo5wn/orRGOeXpTBhMZXOXz25SPF3TC7xV83w/r+IekEE45mE4eEABaaC/04D5XgspMTP8XDI8eYy4CH1na+9qg+HKv77UyKUtySz+Mll3Bf/rU5zM/5bzX0b/y8BJGUXVEiMyC7Mmw5J0+qx0fR2G05IZSBYqsxQD37GLAGB9hWYcAFqSuEnIkKaYKj2MbhORnhJFGF64Igl2RXQK0UTaWK+F7Mg5ln4F+lAgb7jJGRGu1A6ojMv5e96qMArCqVXCVX8hzzwIv4sMu6J/1az2d6I/1Z7f8/G/0uA72McpkvMlFMFb4MdaO02/w6j3imMBoABThLzQCaYHhlRFAI+S0my9KCHqd+QSUz5koo5Db28PtCZFPCKwY6Bjxk+S0Ka7xU9LCbwMuITtSBYaRzlKO9g7kELd4qApgqIhIQrpONIIhZMIrfEkB8N+4NjVExLcHwf/0oONwipeBc7GrS8XXirERrFq8bOPzSLJc+wTllqoZChMFVNolAIpetpowGSgOb1iloJ8DSP9wUPPtZ7HxAkSPFpUkcEogqlDUyVSru+v1gsPGI09riI/MJo0i/m6qLWBdWvCVYo2tr/yZjAGY+XgPs1EpAx6hqThVmwSFB8p4u5BBYCiyJdfMnC4JpNyKQSbJypNaOVOuLU6whoNnSBRm8Ew1EDfuiNhqN3mslvw/OfT349h996Z2e94/PhYAQnZ9A/OT4cng9PjvHpR+gdv4d/Do8P3wFleiXRnFj04QxQTabNiR6jeY0oXVOhTCwypQGbsACnlkQZlqAQccwOiSlKqZgxqZdVmsoS2cRsxpQpLuX2vDwHUSLejXSm0n4sp+AG0PA8H//mNAm58LGEnGZjD9faj4qktrqZYpnol+RugElO8DimwhU00gYzkj1kW6Uy8ODPbwOiIBdyMTgboWl2ikd6RdAG1L+Nky7F4CTV4nDCo6VUdIapdcKibjbOEpXBLW9DOkZHbegJY3FvavciY9NEe4qENTvkxbwxejGo7atNF3AhsMyFlYawpqGT1rnbTP0aocr/6D8pHtxw43lyGY/v/7RbBy3b/3kJuGH9Q5rGfDmjyVMdB++p/9r7W+e//XanZeu/l4D6+Q+LCenjIfCSJWEXDis3cLSHhESRLp7a8tNamRXd6nDnVge4HEdickDE62vwzmhMCabg43IYPn1CrJiMaSw1T9CivctsjMmdogt6jPsPkYM1FB5HMef6JgPdj74thiW4/slNmmoldQWiFRTUlFkyx7ogcYbUxWCfYzLOZySRPFBc5HMyra+j2iQ/f5qP1xygDOhCmdoSaojX9PoSzT5HtxwQfcEFelvklWI80x7wFXcFWpXNqIsOag4XAv0zjvmChg+jDxP5SIo0G+N6ugXOo6kFm+vC8EHkWAXzTARorG1GSObKKe420tVGXRnAVUHqdjrtdc6li5p7xMNytxcE2iePH7iAQdmvqdzBfVCU58BmWAF2oVELDDOkw4NLhtGwxDXvbr1WJMLxxjqf0yyOTzmuwnIt0nKKtHpZdyIs1md4AFh5sgv+lpIuuC76YKinokNUz6RcAzfmweX3NWk54qDAq9bqCNHqgjXPGbnSJ4Egw0I5UchSP+g+cp3fqnw29wXyaJkEcpPflOI2NqZEudUW+v0dO+hNhMibLlyWKPQFgp6kVQpv1aei8wzdsCAb5VSbUvBgqA8QtcPPGuPidX/1Fv6A3zmeQxvvGpu88l68y/MjDK4HSfD8bW5vUzYnOSkpehVBnTdN5nVfyB35aNA7HJx9GBwN+vp0+uG498tgdNrrDypMgLkW+KPgs25tEGDCaBye0cn6aDF+StS0W+2tXrVoFW4V6HXy62sXz+fv9flulUsKPLQYnm8x6hQ0W3pez5z/b6j/xJgET/qPgPvqv93OZv9vb9f2/14GXNd16jWgWXySqSkX7GN+zL/8m8npVWHYj9FmVJzxmD66MnwFNZ/IYh2uLhKynwTPUqOuu/o3xmbSdjbC3IUgt5A0D7xs0kjTpAlMk+auVz5qp7I7MSYsITH7mIvA0mBcCI6oMteYyfxmoWtQc5dWd1mKK0a/aIJYXOlcJ8KHyd8S1Whs88RMJaiS9fvPmScS6tnVJrqa/YP0yG08I2muCp3jXrwhvpBxMzvNAS2Dmtei514xxgdvFvNggz6d5NK+K7NWCpTe80X7xg84gE79f7l94PSKcqFcozusg1jbm+pDbCGzsf4EwWxUOYfRWvH/hCf1r52iLDwj3FD/FadIkjvSE1SC933/0WnvbdR/B80DW/+9CGx8/3HjVvLNtv++9uK8AFTxP88Pos/xAdj98X+w9f3nftvG/0tA3r7LW9xFuw7jaBoIHR3GM1w0UHBZ9dRWsaV7zCTqgskauuBIa927XrwgS+k4q9oTrj85Tq2do4VutMO6sIeDt7Z5ujAhsdT1UdW26oKTt1m2m1ddaO86znozr1urhnU/r1tWv85276oL//r3t7ADWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxYsWLBgwYIFCxZeO/wP6+x1hwBQAAA=
chart: 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
values:
image:
tag: 0.0.1
Expand All @@ -14,6 +14,8 @@ apiVersion: core.gardener.cloud/v1beta1
kind: ControllerRegistration
metadata:
name: os-metal
annotations:
security.gardener.cloud/pod-security-enforce: baseline
spec:
deployment:
deploymentRefs:
Expand Down
78 changes: 42 additions & 36 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
module github.com/metal-stack/os-metal-extension

go 1.22
go 1.22.0

require (
github.com/ahmetb/gen-crd-api-reference-docs v0.3.0
github.com/flatcar/container-linux-config-transpiler v0.9.4
github.com/gardener/gardener v1.76.4
github.com/gardener/gardener v1.89.0
github.com/go-logr/logr v1.4.1
github.com/golang/mock v1.6.0
github.com/metal-stack/gardener-extension-provider-metal v0.22.4
github.com/onsi/ginkgo v1.16.5
github.com/onsi/ginkgo/v2 v2.15.0
github.com/onsi/gomega v1.31.1
github.com/spf13/cobra v1.8.0
k8s.io/api v0.26.10
k8s.io/apimachinery v0.28.2
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/code-generator v0.26.10
k8s.io/component-base v0.26.10
k8s.io/utils v0.0.0-20230505201702-9f6742963106
sigs.k8s.io/controller-runtime v0.14.6
k8s.io/api v0.28.4
k8s.io/apimachinery v0.28.4
k8s.io/code-generator v0.28.4
k8s.io/component-base v0.28.4
k8s.io/utils v0.0.0-20240102154912-e7106e64919e
sigs.k8s.io/controller-runtime v0.16.3
)

require (
github.com/BurntSushi/toml v1.3.2 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
github.com/Masterminds/semver/v3 v3.2.1 // indirect
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
github.com/ajeddeloh/go-json v0.0.0-20200220154158-5ae607161559 // indirect
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bronze1man/yaml2json v0.0.0-20211227013850-8972abeaea25 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/coreos/go-semver v0.3.0 // indirect
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.11.2 // indirect
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
github.com/evanphx/json-patch/v5 v5.7.0 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/flatcar/ignition v0.36.2 // indirect
github.com/fluent/fluent-operator/v2 v2.2.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/gardener/etcd-druid v0.18.4 // indirect
github.com/gardener/hvpa-controller v0.3.1 // indirect
github.com/gardener/machine-controller-manager v0.49.3 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/gardener/etcd-druid v0.22.0 // indirect
github.com/gardener/hvpa-controller/api v0.5.0 // indirect
github.com/gardener/machine-controller-manager v0.50.0 // indirect
github.com/go-logr/zapr v1.3.0 // indirect
github.com/go-openapi/errors v0.21.0 // indirect
github.com/go-openapi/jsonpointer v0.20.2 // indirect
Expand All @@ -55,7 +55,6 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/gnostic v0.7.0 // indirect
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
Expand All @@ -66,6 +65,7 @@ require (
github.com/huandu/xstrings v1.4.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/ironcore-dev/vgopath v0.1.3 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kubernetes-csi/external-snapshotter/client/v4 v4.2.0 // indirect
Expand All @@ -78,21 +78,27 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nxadm/tail v1.4.11 // indirect
github.com/onsi/ginkgo/v2 v2.15.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.71.0 // indirect
github.com/prometheus/client_golang v1.19.0 // indirect
github.com/prometheus/client_model v0.6.0 // indirect
github.com/prometheus/common v0.50.0 // indirect
github.com/prometheus/procfs v0.13.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/shopspring/decimal v1.2.0 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/spf13/cast v1.5.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/vincent-petithory/dataurl v1.0.0 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
go.uber.org/mock v0.2.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
golang.org/x/mod v0.16.0 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/oauth2 v0.18.0 // indirect
Expand All @@ -106,30 +112,30 @@ require (
google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect
google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
istio.io/api v0.0.0-20230217221049-9d422bf48675 // indirect
istio.io/client-go v1.17.1 // indirect
k8s.io/apiextensions-apiserver v0.26.10 // indirect
helm.sh/helm/v3 v3.11.1 // indirect
istio.io/api v1.19.2-0.20231011000955-f3015ebb5bd4 // indirect
istio.io/client-go v1.19.3 // indirect
k8s.io/apiextensions-apiserver v0.28.4 // indirect
k8s.io/autoscaler v0.0.0-20190805135949-100e91ba756e // indirect
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible // indirect
k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 // indirect
k8s.io/helm v2.16.1+incompatible // indirect
k8s.io/helm v2.17.0+incompatible // indirect
k8s.io/klog v1.0.0 // indirect
k8s.io/klog/v2 v2.110.1 // indirect
k8s.io/kube-aggregator v0.26.4 // indirect
k8s.io/kube-aggregator v0.28.4 // indirect
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
k8s.io/kubelet v0.26.4 // indirect
k8s.io/metrics v0.26.4 // indirect
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20221212190805-d4f1e822ca11 // indirect
sigs.k8s.io/controller-tools v0.11.3 // indirect
k8s.io/kubelet v0.28.4 // indirect
k8s.io/metrics v0.28.4 // indirect
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20231015215740-bf15e44028f9 // indirect
sigs.k8s.io/controller-tools v0.13.0 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)

replace (
k8s.io/client-go => k8s.io/client-go v0.26.3
// for some reason, newer gengo versions will fail with "hit an unsupported type"
k8s.io/gengo => k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c // indirect
)
// for some reason, newer gengo versions will fail with "hit an unsupported type"
replace k8s.io/gengo => k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c // indirect

replace k8s.io/client-go => k8s.io/client-go v0.28.4
Loading