Skip to content

Commit 27add91

Browse files
committed
✨ Refactor bottlerocket settings templates into go structs
1 parent 2be46b1 commit 27add91

File tree

16 files changed

+528
-668
lines changed

16 files changed

+528
-668
lines changed

bootstrap/kubeadm/api/v1beta1/kubeadm_types.go

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ type BottlerocketKubernetesSettings struct {
226226

227227
// ContainerLogMaxFiles specifies the maximum number of container log
228228
// files that can be present for a container
229-
ContainerLogMaxFiles int `json:"containerLogMaxFiles,omitempty"`
229+
ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"`
230230

231231
// ContainerLogMaxSize is a quantity defining the maximum size of
232232
// the container log file before it is rotated
@@ -246,17 +246,17 @@ type BottlerocketKubernetesSettings struct {
246246
CPUManagerReconcilePeriod *v1.Duration `json:"cpuManagerReconcilePeriod,omitempty"`
247247

248248
// EventBurst is the maximum size of a burst of event creations.
249-
EventBurst int `json:"eventBurst,omitempty"`
249+
EventBurst *int `json:"eventBurst,omitempty"`
250250

251251
// EventRecordQPS is the maximum event creations per second.
252-
EventRecordQPS int `json:"eventRecordQPS,omitempty"`
252+
EventRecordQPS *int `json:"eventRecordQPS,omitempty"`
253253

254254
// EvictionHard is a map of signal names to quantities that defines hard eviction thresholds.
255255
EvictionHard map[string]string `json:"evictionHard,omitempty"`
256256

257257
// EvictionMaxPodGracePeriod is the maximum allowed grace period (in seconds) to use
258258
// when terminating pods in response to a soft eviction threshold being met.
259-
EvictionMaxPodGracePeriod int `json:"evictionMaxPodGracePeriod,omitempty"`
259+
EvictionMaxPodGracePeriod *int `json:"evictionMaxPodGracePeriod,omitempty"`
260260

261261
// EvictionSoft is a map of signal names to quantities that defines soft eviction thresholds.
262262
EvictionSoft map[string]string `json:"evictionSoft,omitempty"`
@@ -267,38 +267,35 @@ type BottlerocketKubernetesSettings struct {
267267

268268
// ImageGCHighThresholdPercent is the percent of disk usage after which image garbage
269269
// collection is always run.
270-
ImageGCHighThresholdPercent int `json:"imageGCHighThresholdPercent,omitempty"`
270+
ImageGCHighThresholdPercent *int `json:"imageGCHighThresholdPercent,omitempty"`
271271

272272
// ImageGCLowThresholdPercent is the percent of disk usage before which image garbage collection is never run.
273-
ImageGCLowThresholdPercent int `json:"imageGCLowThresholdPercent,omitempty"`
273+
ImageGCLowThresholdPercent *int `json:"imageGCLowThresholdPercent,omitempty"`
274274

275275
// KubeAPIBurst is the burst to allow while talking with kubernetes API server.
276-
KubeAPIBurst int `json:"kubeAPIBurst,omitempty"`
276+
KubeAPIBurst *int `json:"kubeAPIBurst,omitempty"`
277277

278278
// KubeAPIQPS is the QPS to use while talking with kubernetes apiserver.
279-
KubeAPIQPS int `json:"kubeAPIQPS,omitempty"`
279+
KubeAPIQPS *int `json:"kubeAPIQPS,omitempty"`
280280

281281
// KubeReserved is a set of ResourceName=ResourceQuantity pairs that describe resources
282282
// reserved for kubernetes system components
283283
KubeReserved map[string]string `json:"kubeReserved,omitempty"`
284284

285285
// MaxPods defines the maximum number of pods that can run on a node.
286-
MaxPods int `json:"maxPods,omitempty"`
286+
MaxPods *int `json:"maxPods,omitempty"`
287287

288288
// MemoryManagerPolicy is the name of the policy to use by memory manager.
289289
MemoryManagerPolicy string `json:"memoryManagerPolicy,omitempty"`
290290

291291
// PodPidsLimit is the maximum number of PIDs in any pod.
292-
PodPidsLimit int64 `json:"podPidsLimit,omitempty"`
293-
294-
// ProviderID sets the unique ID of the instance that an external provider.
295-
ProviderID string `json:"providerID,omitempty"`
292+
PodPidsLimit *int64 `json:"podPidsLimit,omitempty"`
296293

297294
// RegistryBurst is the maximum size of bursty pulls.
298-
RegistryBurst int `json:"registryBurst,omitempty"`
295+
RegistryBurst *int `json:"registryBurst,omitempty"`
299296

300297
// RegistryPullQPS is the limit of registry pulls per second.
301-
RegistryPullQPS int `json:"registryPullQPS,omitempty"`
298+
RegistryPullQPS *int `json:"registryPullQPS,omitempty"`
302299

303300
// ShutdownGracePeriod specifies the total duration that the node should delay
304301
// the shutdown and total grace period for pod termination during a node shutdown.
@@ -470,7 +467,6 @@ type APIEndpoint struct {
470467
// NodeRegistrationOptions holds fields that relate to registering a new control-plane or node to the cluster, either via "kubeadm init" or "kubeadm join".
471468
// Note: The NodeRegistrationOptions struct has to be kept in sync with the structs in MarshalJSON.
472469
type NodeRegistrationOptions struct {
473-
474470
// Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation.
475471
// This field is also used in the CommonName field of the kubelet's client certificate to the API server.
476472
// Defaults to the hostname of the node if not provided.

bootstrap/kubeadm/api/v1beta1/zz_generated.deepcopy.go

Lines changed: 60 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml

Lines changed: 0 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml

Lines changed: 0 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)