Skip to content

workload-variant-autoscaler: RBAC

ServiceAccount bindings, roles, and resource permissions.

RBAC Overview

This component defines a large RBAC surface (91 diagram lines). The graph below groups roles by permission scope.

graph LR
    classDef wide fill:#e74c3c,stroke:#c0392b,color:#fff
    classDef medium fill:#f39c12,stroke:#d68910,color:#fff
    classDef narrow fill:#2ecc71,stroke:#27ae60,color:#fff
    classDef subject fill:#3498db,stroke:#2980b9,color:#fff

    subgraph wide["Wide Scope (>30 resources)"]
    variantautoscaling_admin_role["variantautoscaling-admin-role\n2 resources\n!! wildcard"]:::wide
    end
    subgraph med["Medium Scope (10-30)"]
    manager_role["manager-role\n20 resources"]:::medium
    end
    subgraph nar["Narrow Scope (<10)"]
    VariantAutoscalings_viewer_role["VariantAutoscalings-viewer-role\n2 resources"]:::narrow
    epp_metrics_reader_role["epp-metrics-reader-role"]:::narrow
    metrics_auth_role["metrics-auth-role\n2 resources"]:::narrow
    metrics_reader["metrics-reader"]:::narrow
    variantautoscaling_editor_role["variantautoscaling-editor-role\n2 resources"]:::narrow
    leader_election_role["leader-election-role\n3 resources"]:::narrow
    end

    subj_epp_metrics_reader["epp-metrics-reader\nServiceAccount"]:::subject
    subj_epp_metrics_reader -->|binds| epp_metrics_reader_role
    subj_controller_manager["controller-manager\nServiceAccount"]:::subject
    subj_controller_manager -->|binds| manager_role
    subj_workload_variant_autoscaler_controller_manager["workload-variant-autoscaler-controller-manager\nServiceAccount"]:::subject
    subj_workload_variant_autoscaler_controller_manager -->|binds| metrics_auth_role
    subj_kube_prometheus_stack_prometheus["kube-prometheus-stack-prometheus\nServiceAccount"]:::subject
    subj_kube_prometheus_stack_prometheus -->|binds| metrics_reader
    subj_kube_prometheus_stack_prometheus -->|binds| workload_variant_autoscaler_metrics_auth_role
    subj_controller_manager -->|binds| leader_election_role

Bindings

Subject-to-role mappings defining who has access to what.

Binding Type Role Subject
epp-metrics-reader-role-binding ClusterRoleBinding epp-metrics-reader-role ServiceAccount/epp-metrics-reader
manager-rolebinding ClusterRoleBinding manager-role ServiceAccount/controller-manager
metrics-auth-rolebinding ClusterRoleBinding metrics-auth-role ServiceAccount/workload-variant-autoscaler-controller-manager
metrics-reader-rolebinding ClusterRoleBinding metrics-reader ServiceAccount/kube-prometheus-stack-prometheus
prometheus-metrics-auth-rolebinding ClusterRoleBinding workload-variant-autoscaler-metrics-auth-role ServiceAccount/kube-prometheus-stack-prometheus
leader-election-rolebinding RoleBinding leader-election-role ServiceAccount/controller-manager

Role Details

Per-rule breakdown of API groups, resources, and verbs for each role.

Role Kind API Groups Resources Verbs
VariantAutoscalings-viewer-role ClusterRole VariantAutoscalingss get, list, watch
VariantAutoscalings-viewer-role ClusterRole VariantAutoscalingss/status get
epp-metrics-reader-role ClusterRole get
manager-role ClusterRole configmaps get, list, update, watch
manager-role ClusterRole configmaps/status get
manager-role ClusterRole events create, patch
manager-role ClusterRole namespaces, pods, secrets, services get, list, watch
manager-role ClusterRole nodes, nodes/status get, list, patch, update, watch
manager-role ClusterRole deployments get, list, patch, update, watch
manager-role ClusterRole deployments/scale get, update
manager-role ClusterRole replicasets, statefulsets get, list, watch
manager-role ClusterRole inferencepools get, list, watch
manager-role ClusterRole leaderworkersets get, list, patch, update, watch
manager-role ClusterRole leaderworkersets/scale get, update
manager-role ClusterRole variantautoscalings create, delete, get, list, patch, update, watch
manager-role ClusterRole variantautoscalings/finalizers update
manager-role ClusterRole variantautoscalings/status get, patch, update
manager-role ClusterRole servicemonitors get, list, watch
metrics-auth-role ClusterRole tokenreviews create
metrics-auth-role ClusterRole subjectaccessreviews create
metrics-reader ClusterRole get
variantautoscaling-admin-role ClusterRole VariantAutoscalingss *
variantautoscaling-admin-role ClusterRole variantautoscalings/status get
variantautoscaling-editor-role ClusterRole variantautoscalings create, delete, get, list, patch, update, watch
variantautoscaling-editor-role ClusterRole VariantAutoscalingss/status get
leader-election-role Role configmaps get, list, watch, create, update, patch, delete
leader-election-role Role leases get, list, watch, create, update, patch, delete
leader-election-role Role events create, patch

Cluster Roles

Name Resources Verbs Source
VariantAutoscalings-viewer-role VariantAutoscalingss get, list, watch config/rbac/variantautoscaling_viewer_role.yaml
VariantAutoscalings-viewer-role VariantAutoscalingss/status get config/rbac/variantautoscaling_viewer_role.yaml
epp-metrics-reader-role get config/rbac/epp_metrics_reader_role.yaml
manager-role configmaps get, list, update, watch config/rbac/role.yaml
manager-role configmaps/status get config/rbac/role.yaml
manager-role events create, patch config/rbac/role.yaml
manager-role namespaces, pods, secrets, services get, list, watch config/rbac/role.yaml
manager-role nodes, nodes/status get, list, patch, update, watch config/rbac/role.yaml
manager-role deployments get, list, patch, update, watch config/rbac/role.yaml
manager-role deployments/scale get, update config/rbac/role.yaml
manager-role replicasets, statefulsets get, list, watch config/rbac/role.yaml
manager-role inferencepools get, list, watch config/rbac/role.yaml
manager-role leaderworkersets get, list, patch, update, watch config/rbac/role.yaml
manager-role leaderworkersets/scale get, update config/rbac/role.yaml
manager-role variantautoscalings create, delete, get, list, patch, update, watch config/rbac/role.yaml
manager-role variantautoscalings/finalizers update config/rbac/role.yaml
manager-role variantautoscalings/status get, patch, update config/rbac/role.yaml
manager-role servicemonitors get, list, watch config/rbac/role.yaml
metrics-auth-role tokenreviews create config/rbac/metrics_auth_role.yaml
metrics-auth-role subjectaccessreviews create config/rbac/metrics_auth_role.yaml
metrics-reader get config/rbac/metrics_reader_role.yaml
variantautoscaling-admin-role VariantAutoscalingss * config/rbac/variantautoscaling_admin_role.yaml
variantautoscaling-admin-role variantautoscalings/status get config/rbac/variantautoscaling_admin_role.yaml
variantautoscaling-editor-role variantautoscalings create, delete, get, list, patch, update, watch config/rbac/variantautoscaling_editor_role.yaml
variantautoscaling-editor-role VariantAutoscalingss/status get config/rbac/variantautoscaling_editor_role.yaml