feat(config): add --full flag and strip redundant upstream defaults (…#143
Merged
stevensbkang merged 1 commit intodevelopfrom Apr 28, 2026
Merged
feat(config): add --full flag and strip redundant upstream defaults (…#143stevensbkang merged 1 commit intodevelopfrom
stevensbkang merged 1 commit intodevelopfrom
Conversation
…KS-49)
Introduce a --full mode flag (KUBESOLO_FULL env var) that disables
edge-optimised overrides and uses upstream Kubernetes defaults for all
component configurations. This enables running KubeSolo in CI/testing
environments with standard Kubernetes behaviour.
Flag plumbing:
- Add Full flag to internal/config/flags with KUBESOLO_FULL env var
- Add FullMode to types.Embedded, wire through all 5 services
- Log active profile ("edge" or "full") at startup
Edge/full mode guards across all components:
- apiserver: etcd metrics, request throttling, timeouts, profiling,
admission plugins, audit logging
- controller: profiling, GC threshold, sync concurrency, sync periods,
API QPS/burst
- kubelet: profiling/debug handlers, frequencies, image GC, eviction
thresholds, resource reservations, max pods
- kubeproxy: profiling, conntrack limits, sync period
- containerd: concurrent downloads, stats collection, GC scheduler
Remove flags and config values that duplicate upstream defaults:
- apiserver: secure-port, bind-address, enable-bootstrap-token-auth,
etcd-compaction-interval, watch-cache, event-ttl,
enable-garbage-collector
- controller: bind-address, secure-port, v, concurrent-daemonset-syncs,
min-resync-period
- kubelet: enableServer, imageServiceEndpoint, registerNode, port,
serializeImagePulls, registerWithTaints, imagePullProgressDeadline,
RotateKubeletServerCertificate, imageGCLowThresholdPercent,
registryPullQPS, registryBurst
- kubeproxy: iptables-masquerade-bit
- containerd: ~50 default-matching keys across CRI runtime, CRI images,
grpc.v1.cri, overlayfs snapshotter, cgroup, and timeouts sections
There was a problem hiding this comment.
Pull request overview
Adds a “full” runtime profile to KubeSolo so CI/dev environments can run closer to upstream Kubernetes defaults, while keeping edge-optimized overrides as the default behavior.
Changes:
- Introduce
--full/KUBESOLO_FULLflag and plumbFullModethrough embedded config and services. - Gate edge-optimized overrides behind
!FullModeacross apiserver/controller/kubelet/kube-proxy/containerd configs. - Remove/stop setting multiple flags/config values that duplicate upstream defaults; refactor containerd config generation into smaller helpers.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
types/types.go |
Adds FullMode to embedded runtime config for cross-service plumbing. |
internal/config/flags/flags.go |
Adds --full flag + KUBESOLO_FULL env var. |
cmd/kubesolo/main.go |
Wires flag into bootstrap embedded config; logs active profile; passes full mode into kube-proxy. |
pkg/kubernetes/apiserver/service.go |
Stores fullMode on apiserver service. |
pkg/kubernetes/apiserver/flags.go |
Applies edge-only apiserver overrides behind !fullMode; strips redundant defaults. |
pkg/kubernetes/controller/service.go |
Stores fullMode on controller-manager service. |
pkg/kubernetes/controller/flags.go |
Applies edge-only controller-manager overrides behind !fullMode; strips redundant defaults. |
pkg/kubernetes/kubelet/service.go |
Stores fullMode on kubelet service. |
pkg/kubernetes/kubelet/config.go |
Moves edge-specific kubelet settings behind !fullMode; strips redundant defaults. |
pkg/kubernetes/kubeproxy/service.go |
Extends constructor to accept fullMode. |
pkg/kubernetes/kubeproxy/flags.go |
Applies edge-only kube-proxy overrides behind !fullMode; strips redundant defaults. |
pkg/runtime/containerd/service.go |
Stores fullMode on containerd service. |
pkg/runtime/containerd/config.go |
Removes many default-matching keys; adds helper generators and gates edge-only settings behind !fullMode. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
stevensbkang
added a commit
that referenced
this pull request
May 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…KS-49)
Introduce a --full mode flag (KUBESOLO_FULL env var) that disables edge-optimised overrides and uses upstream Kubernetes defaults for all component configurations. This enables running KubeSolo in CI/testing environments with standard Kubernetes behaviour.
Flag plumbing:
Edge/full mode guards across all components:
Remove flags and config values that duplicate upstream defaults: