Skip to content

Commit 027652d

Browse files
Bump CAPI to v1.6.0-beta.0
Signed-off-by: Furkat Gofurov <[email protected]>
1 parent c1e3f00 commit 027652d

18 files changed

+468
-629
lines changed

api/v1alpha2/addonprovider_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@ type AddonProviderList struct {
5353
metav1.ListMeta `json:"metadata,omitempty"`
5454
Items []AddonProvider `json:"items"`
5555
}
56+
57+
func init() {
58+
objectTypes = append(objectTypes, &AddonProvider{}, &AddonProviderList{})
59+
}

api/v1alpha2/bootstrapprovider_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@ type BootstrapProviderList struct {
5353
metav1.ListMeta `json:"metadata,omitempty"`
5454
Items []BootstrapProvider `json:"items"`
5555
}
56+
57+
func init() {
58+
objectTypes = append(objectTypes, &BootstrapProvider{}, &BootstrapProviderList{})
59+
}

api/v1alpha2/controlplaneprovider_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@ type ControlPlaneProviderList struct {
5353
metav1.ListMeta `json:"metadata,omitempty"`
5454
Items []ControlPlaneProvider `json:"items"`
5555
}
56+
57+
func init() {
58+
objectTypes = append(objectTypes, &ControlPlaneProvider{}, &ControlPlaneProviderList{})
59+
}

api/v1alpha2/coreprovider_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@ type CoreProviderList struct {
5353
metav1.ListMeta `json:"metadata,omitempty"`
5454
Items []CoreProvider `json:"items"`
5555
}
56+
57+
func init() {
58+
objectTypes = append(objectTypes, &CoreProvider{}, &CoreProviderList{})
59+
}

api/v1alpha2/groupversion_info.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,13 @@ var (
3434

3535
// AddToScheme adds the types in this group-version to the given scheme.
3636
AddToScheme = SchemeBuilder.AddToScheme
37+
38+
objectTypes = []runtime.Object{}
3739
)
3840

3941
// Adds the list of known types to api.Scheme.
4042
func addKnownTypes(scheme *runtime.Scheme) error {
41-
scheme.AddKnownTypes(GroupVersion,
42-
&CoreProvider{}, &CoreProviderList{},
43-
&BootstrapProvider{}, &BootstrapProviderList{},
44-
&ControlPlaneProvider{}, &ControlPlaneProviderList{},
45-
&InfrastructureProvider{}, &InfrastructureProviderList{},
46-
&AddonProvider{}, &AddonProviderList{},
47-
)
48-
43+
scheme.AddKnownTypes(GroupVersion, objectTypes...)
4944
metav1.AddToGroupVersion(scheme, GroupVersion)
5045

5146
return nil

api/v1alpha2/infrastructureprovider_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@ type InfrastructureProviderList struct {
5353
metav1.ListMeta `json:"metadata,omitempty"`
5454
Items []InfrastructureProvider `json:"items"`
5555
}
56+
57+
func init() {
58+
objectTypes = append(objectTypes, &InfrastructureProvider{}, &InfrastructureProviderList{})
59+
}

cmd/main.go

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ package main
1919
import (
2020
"flag"
2121
"fmt"
22-
"net/http"
2322
"os"
23+
goruntime "runtime"
2424
"time"
2525

2626
"github.com/spf13/pflag"
@@ -34,6 +34,7 @@ import (
3434
"sigs.k8s.io/cluster-api-operator/internal/webhook"
3535
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3636
clusterctlv1 "sigs.k8s.io/cluster-api/cmd/clusterctl/api/v1alpha3"
37+
"sigs.k8s.io/cluster-api/util/flags"
3738
"sigs.k8s.io/cluster-api/version"
3839
ctrl "sigs.k8s.io/controller-runtime"
3940
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -50,18 +51,20 @@ var (
5051
setupLog = ctrl.Log.WithName("setup")
5152

5253
// flags.
53-
metricsBindAddr string
5454
enableLeaderElection bool
5555
leaderElectionLeaseDuration time.Duration
5656
leaderElectionRenewDeadline time.Duration
5757
leaderElectionRetryPeriod time.Duration
5858
watchFilterValue string
59+
watchNamespace string
5960
profilerAddress string
61+
enableContentionProfiling bool
6062
concurrencyNumber int
6163
syncPeriod time.Duration
6264
webhookPort int
6365
webhookCertDir string
6466
healthAddr string
67+
diagnosticsOptions = flags.DiagnosticsOptions{}
6568
)
6669

6770
func init() {
@@ -77,9 +80,6 @@ func init() {
7780

7881
// InitFlags initializes the flags.
7982
func InitFlags(fs *pflag.FlagSet) {
80-
fs.StringVar(&metricsBindAddr, "metrics-bind-addr", ":8080",
81-
"The address the metric endpoint binds to.")
82-
8383
fs.BoolVar(&enableLeaderElection, "leader-elect", false,
8484
"Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.")
8585

@@ -95,9 +95,15 @@ func InitFlags(fs *pflag.FlagSet) {
9595
fs.StringVar(&watchFilterValue, "watch-filter", "",
9696
fmt.Sprintf("Label value that the controller watches to reconcile cluster-api objects. Label key is always %s. If unspecified, the controller watches for all cluster-api objects.", clusterv1.WatchLabel))
9797

98+
fs.StringVar(&watchNamespace, "namespace", "",
99+
"Namespace that the controller watches to reconcile cluster-api objects. If unspecified, the controller watches for cluster-api objects across all namespaces.")
100+
98101
fs.StringVar(&profilerAddress, "profiler-address", "",
99102
"Bind address to expose the pprof profiler (e.g. localhost:6060)")
100103

104+
fs.BoolVar(&enableContentionProfiling, "contention-profiling", false,
105+
"Enable block profiling")
106+
101107
fs.IntVar(&concurrencyNumber, "concurrency", 1,
102108
"Number of core resources to process simultaneously")
103109

@@ -111,45 +117,49 @@ func InitFlags(fs *pflag.FlagSet) {
111117

112118
fs.StringVar(&healthAddr, "health-addr", ":9440",
113119
"The address the health endpoint binds to.")
120+
121+
flags.AddDiagnosticsOptions(fs, &diagnosticsOptions)
114122
}
115123

124+
// Add RBAC for the authorized diagnostics endpoint.
125+
// +kubebuilder:rbac:groups=authentication.k8s.io,resources=tokenreviews,verbs=create
126+
// +kubebuilder:rbac:groups=authorization.k8s.io,resources=subjectaccessreviews,verbs=create
127+
116128
func main() {
117129
InitFlags(pflag.CommandLine)
118130
pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
119131
pflag.Parse()
120132

121133
ctrl.SetLogger(klogr.New())
134+
restConfig := ctrl.GetConfigOrDie()
122135

123-
if profilerAddress != "" {
124-
klog.Infof("Profiler listening for requests at %s", profilerAddress)
125-
126-
go func() {
127-
server := &http.Server{
128-
Addr: profilerAddress,
129-
ReadHeaderTimeout: 3 * time.Second,
130-
}
136+
diagnosticsOpts := flags.GetDiagnosticsOptions(diagnosticsOptions)
131137

132-
klog.Info(server.ListenAndServe())
133-
}()
138+
if enableContentionProfiling {
139+
goruntime.SetBlockProfileRate(1)
134140
}
135141

136-
mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
137-
Scheme: scheme,
138-
MetricsBindAddress: metricsBindAddr,
139-
LeaderElection: enableLeaderElection,
140-
LeaderElectionID: "controller-leader-election-capi-operator",
141-
LeaseDuration: &leaderElectionLeaseDuration,
142-
RenewDeadline: &leaderElectionRenewDeadline,
143-
RetryPeriod: &leaderElectionRetryPeriod,
144-
SyncPeriod: &syncPeriod,
145-
ClientDisableCacheFor: []client.Object{
146-
&corev1.ConfigMap{},
147-
&corev1.Secret{},
142+
ctrlOptions := ctrl.Options{
143+
Scheme: scheme,
144+
LeaderElection: enableLeaderElection,
145+
LeaderElectionID: "controller-leader-election-capi-operator",
146+
LeaseDuration: &leaderElectionLeaseDuration,
147+
RenewDeadline: &leaderElectionRenewDeadline,
148+
RetryPeriod: &leaderElectionRetryPeriod,
149+
Client: client.Options{
150+
Cache: &client.CacheOptions{
151+
DisableFor: []client.Object{
152+
&corev1.ConfigMap{},
153+
&corev1.Secret{},
154+
},
155+
},
148156
},
149-
Port: webhookPort,
150-
CertDir: webhookCertDir,
151157
HealthProbeBindAddress: healthAddr,
152-
})
158+
PprofBindAddress: profilerAddress,
159+
Metrics: diagnosticsOpts,
160+
}
161+
162+
mgr, err := ctrl.NewManager(restConfig, ctrlOptions)
153163
if err != nil {
154164
setupLog.Error(err, "unable to start manager")
155165
os.Exit(1)

cmd/plugin/cmd/root.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package cmd
1818

1919
import (
20+
"context"
2021
"flag"
2122
"fmt"
2223
"os"
@@ -78,7 +79,7 @@ func init() {
7879
func initConfig() {
7980
// check if the CLUSTERCTL_LOG_LEVEL was set via env var or in the config file
8081
if *verbosity == 0 { //nolint:nestif
81-
configClient, err := configclient.New(cfgFile)
82+
configClient, err := configclient.New(context.Background(), cfgFile)
8283
if err == nil {
8384
v, err := configClient.Variables().Get("CLUSTERCTL_LOG_LEVEL")
8485
if err == nil && v != "" {

go.mod

Lines changed: 66 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module sigs.k8s.io/cluster-api-operator
22

33
go 1.20
44

5-
replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.5.1
5+
replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.6.0-beta.0
66

77
require (
88
github.com/MakeNowJust/heredoc v1.0.0
@@ -13,53 +13,59 @@ require (
1313
github.com/pkg/errors v0.9.1
1414
github.com/spf13/cobra v1.7.0
1515
github.com/spf13/pflag v1.0.5
16-
golang.org/x/oauth2 v0.11.0
17-
k8s.io/api v0.27.7
18-
k8s.io/apiextensions-apiserver v0.27.7
19-
k8s.io/apimachinery v0.27.7
20-
k8s.io/client-go v0.27.7
21-
k8s.io/component-base v0.27.7
22-
k8s.io/klog/v2 v2.90.1
23-
k8s.io/utils v0.0.0-20230209194617-a36077c30491
24-
sigs.k8s.io/cluster-api v1.5.1
25-
sigs.k8s.io/controller-runtime v0.15.2
16+
golang.org/x/oauth2 v0.13.0
17+
k8s.io/api v0.28.3
18+
k8s.io/apiextensions-apiserver v0.28.3
19+
k8s.io/apimachinery v0.28.3
20+
k8s.io/client-go v0.28.3
21+
k8s.io/component-base v0.28.3
22+
k8s.io/klog/v2 v2.100.1
23+
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2
24+
sigs.k8s.io/cluster-api v1.6.0-beta.0
25+
sigs.k8s.io/controller-runtime v0.16.3
2626
)
2727

2828
require (
2929
github.com/Masterminds/goutils v1.1.1 // indirect
3030
github.com/Masterminds/semver/v3 v3.2.0 // indirect
3131
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
32+
github.com/NYTimes/gziphandler v1.1.1 // indirect
3233
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
3334
github.com/adrg/xdg v0.4.0 // indirect
34-
github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect
35+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect
3536
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
3637
github.com/beorn7/perks v1.0.1 // indirect
37-
github.com/blang/semver v3.5.1+incompatible // indirect
3838
github.com/blang/semver/v4 v4.0.0 // indirect
39+
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
3940
github.com/cespare/xxhash/v2 v2.2.0 // indirect
4041
github.com/cloudflare/circl v1.3.3 // indirect
4142
github.com/coredns/caddy v1.1.1 // indirect
42-
github.com/coredns/corefile-migration v1.0.21 // indirect
43-
github.com/davecgh/go-spew v1.1.1 // indirect
44-
github.com/docker/distribution v2.8.2+incompatible // indirect
43+
github.com/coreos/go-semver v0.3.1 // indirect
44+
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
45+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
46+
github.com/distribution/reference v0.5.0 // indirect
4547
github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 // indirect
46-
github.com/emicklei/go-restful/v3 v3.10.2 // indirect
48+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
4749
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
48-
github.com/evanphx/json-patch/v5 v5.6.0 // indirect
50+
github.com/evanphx/json-patch/v5 v5.7.0 // indirect
51+
github.com/felixge/httpsnoop v1.0.3 // indirect
4952
github.com/fsnotify/fsnotify v1.6.0 // indirect
5053
github.com/go-logr/logr v1.2.4 // indirect
54+
github.com/go-logr/stdr v1.2.2 // indirect
5155
github.com/go-openapi/jsonpointer v0.19.6 // indirect
52-
github.com/go-openapi/jsonreference v0.20.1 // indirect
56+
github.com/go-openapi/jsonreference v0.20.2 // indirect
5357
github.com/go-openapi/swag v0.22.3 // indirect
5458
github.com/gobuffalo/flect v1.0.2 // indirect
5559
github.com/gogo/protobuf v1.3.2 // indirect
5660
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
5761
github.com/golang/protobuf v1.5.3 // indirect
58-
github.com/google/cel-go v0.12.7 // indirect
59-
github.com/google/gnostic v0.6.9 // indirect
60-
github.com/google/go-github/v48 v48.2.0 // indirect
62+
github.com/google/cel-go v0.16.1 // indirect
63+
github.com/google/gnostic-models v0.6.8 // indirect
64+
github.com/google/go-github/v53 v53.2.0 // indirect
6165
github.com/google/go-querystring v1.1.0 // indirect
6266
github.com/google/uuid v1.3.0 // indirect
67+
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
68+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
6369
github.com/hashicorp/hcl v1.0.0 // indirect
6470
github.com/huandu/xstrings v1.3.3 // indirect
6571
github.com/imdario/mergo v0.3.13 // indirect
@@ -76,37 +82,60 @@ require (
7682
github.com/modern-go/reflect2 v1.0.2 // indirect
7783
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
7884
github.com/opencontainers/go-digest v1.0.0 // indirect
79-
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
80-
github.com/prometheus/client_golang v1.16.0 // indirect
81-
github.com/prometheus/client_model v0.4.0 // indirect
82-
github.com/prometheus/common v0.42.0 // indirect
83-
github.com/prometheus/procfs v0.10.1 // indirect
85+
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
86+
github.com/prometheus/client_golang v1.17.0 // indirect
87+
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
88+
github.com/prometheus/common v0.44.0 // indirect
89+
github.com/prometheus/procfs v0.11.1 // indirect
90+
github.com/sagikazarmark/locafero v0.3.0 // indirect
91+
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
8492
github.com/shopspring/decimal v1.3.1 // indirect
85-
github.com/spf13/afero v1.9.5 // indirect
93+
github.com/sourcegraph/conc v0.3.0 // indirect
94+
github.com/spf13/afero v1.10.0 // indirect
8695
github.com/spf13/cast v1.5.1 // indirect
87-
github.com/spf13/jwalterweatherman v1.1.0 // indirect
88-
github.com/spf13/viper v1.16.0 // indirect
96+
github.com/spf13/viper v1.17.0 // indirect
8997
github.com/stoewer/go-strcase v1.2.0 // indirect
90-
github.com/subosito/gotenv v1.4.2 // indirect
98+
github.com/subosito/gotenv v1.6.0 // indirect
9199
github.com/valyala/fastjson v1.6.4 // indirect
92-
go.uber.org/atomic v1.10.0 // indirect
100+
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
101+
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
102+
go.etcd.io/etcd/client/v3 v3.5.9 // indirect
103+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 // indirect
104+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
105+
go.opentelemetry.io/otel v1.19.0 // indirect
106+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
107+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 // indirect
108+
go.opentelemetry.io/otel/metric v1.19.0 // indirect
109+
go.opentelemetry.io/otel/sdk v1.19.0 // indirect
110+
go.opentelemetry.io/otel/trace v1.19.0 // indirect
111+
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
112+
go.uber.org/multierr v1.11.0 // indirect
113+
go.uber.org/zap v1.25.0 // indirect
93114
golang.org/x/crypto v0.14.0 // indirect
115+
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
94116
golang.org/x/net v0.17.0 // indirect
117+
golang.org/x/sync v0.3.0 // indirect
95118
golang.org/x/sys v0.13.0 // indirect
96119
golang.org/x/term v0.13.0 // indirect
97120
golang.org/x/text v0.13.0 // indirect
98121
golang.org/x/time v0.3.0 // indirect
99-
gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect
122+
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
100123
google.golang.org/appengine v1.6.7 // indirect
101-
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
124+
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect
125+
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb // indirect
126+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 // indirect
127+
google.golang.org/grpc v1.58.3 // indirect
102128
google.golang.org/protobuf v1.31.0 // indirect
103129
gopkg.in/inf.v0 v0.9.1 // indirect
104130
gopkg.in/ini.v1 v1.67.0 // indirect
131+
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
105132
gopkg.in/yaml.v2 v2.4.0 // indirect
106133
gopkg.in/yaml.v3 v3.0.1 // indirect
107-
k8s.io/apiserver v0.27.7 // indirect
108-
k8s.io/cluster-bootstrap v0.27.2 // indirect
109-
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
134+
k8s.io/apiserver v0.28.3 // indirect
135+
k8s.io/cluster-bootstrap v0.28.3 // indirect
136+
k8s.io/kms v0.28.3 // indirect
137+
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
138+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 // indirect
110139
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
111140
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
112141
sigs.k8s.io/yaml v1.3.0 // indirect

0 commit comments

Comments
 (0)