Skip to content

Commit c9a483e

Browse files
varshaprasad96ChristianZaccaria
authored andcommitted
[Fix] Remove the requirement for VAP (kubernetes-sigs#3908)
VAP is a default admission plugin enabled while starting an API server for visibility. The Kueue controller has additional permissions to watch those GVKs even though it is not required. Disabling the plugin from api server helps in keeping it minimal and maintaining compatibility with previous versions of K8s. Signed-off-by: Varsha Prasad Narsing <[email protected]>
1 parent 89c7aaf commit c9a483e

File tree

6 files changed

+5
-23
lines changed

6 files changed

+5
-23
lines changed

charts/kueue/templates/rbac/role.yaml

-9
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,6 @@ rules:
7979
- list
8080
- update
8181
- watch
82-
- apiGroups:
83-
- admissionregistration.k8s.io
84-
resources:
85-
- validatingadmissionpolicies
86-
- validatingadmissionpolicybindings
87-
verbs:
88-
- get
89-
- list
90-
- watch
9182
- apiGroups:
9283
- apps
9384
resources:

cmd/kueue/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ func main() {
144144

145145
features.LogFeatureGates(setupLog)
146146

147-
options, cfg, err := apply(configFile)
147+
options, cfg, err = apply(configFile)
148148
if err != nil {
149149
setupLog.Error(err, "Unable to load the configuration")
150150
os.Exit(1)

config/components/rbac/role.yaml

-9
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,6 @@ rules:
7878
- list
7979
- update
8080
- watch
81-
- apiGroups:
82-
- admissionregistration.k8s.io
83-
resources:
84-
- validatingadmissionpolicies
85-
- validatingadmissionpolicybindings
86-
verbs:
87-
- get
88-
- list
89-
- watch
9081
- apiGroups:
9182
- apps
9283
resources:

pkg/util/cert/cert.go

-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ const (
3838
// +kubebuilder:rbac:groups="",resources=secrets,verbs=get;list;watch;update
3939
// +kubebuilder:rbac:groups="admissionregistration.k8s.io",resources=mutatingwebhookconfigurations,verbs=get;list;watch;update
4040
// +kubebuilder:rbac:groups="admissionregistration.k8s.io",resources=validatingwebhookconfigurations,verbs=get;list;watch;update
41-
// +kubebuilder:rbac:groups="admissionregistration.k8s.io",resources=validatingadmissionpolicies,verbs=get;list;watch
42-
// +kubebuilder:rbac:groups="admissionregistration.k8s.io",resources=validatingadmissionpolicybindings,verbs=get;list;watch
4341

4442
// ManageCerts creates all certs for webhooks. This function is called from main.go.
4543
func ManageCerts(mgr ctrl.Manager, cfg config.Configuration, setupFinished chan struct{}) error {

pkg/visibility/server.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"os"
2424
"strings"
2525

26+
validatingadmissionpolicy "k8s.io/apiserver/pkg/admission/plugin/policy/validating"
2627
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
2728
genericapiserver "k8s.io/apiserver/pkg/server"
2829
genericoptions "k8s.io/apiserver/pkg/server/options"
@@ -77,7 +78,7 @@ func applyVisibilityServerOptions(config *genericapiserver.RecommendedConfig) er
7778
o.SecureServing.BindPort = 8082
7879
// The directory where TLS certs will be created
7980
o.SecureServing.ServerCert.CertDirectory = "/tmp"
80-
81+
o.Admission.DisablePlugins = []string{validatingadmissionpolicy.PluginName}
8182
if err := o.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
8283
return fmt.Errorf("error creating self-signed certificates: %v", err)
8384
}

vendor/sigs.k8s.io/controller-runtime/pkg/metrics/filters/filters.go

+2-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)