Skip to content

spark-operator

Architecture snapshot: 2026-05-20 (2026-05-20)

Repository: kubeflow/spark-operator
Analyzer: arch-analyzer 0.2.0
Extracted: 2026-05-20T04:08:31Z

Summary

Metric Count
CRDs 3
Deployments 13
Services 3
Secrets 1
Cluster Roles 5
Controller Watches 10

Component Architecture

CRDs, controllers, and owned Kubernetes resources.

graph LR
    %% Component architecture for spark-operator

    classDef crd fill:#e74c3c,stroke:#c0392b,color:#fff
    classDef controller fill:#3498db,stroke:#2980b9,color:#fff
    classDef owned fill:#2ecc71,stroke:#27ae60,color:#fff
    classDef external fill:#95a5a6,stroke:#7f8c8d,color:#fff
    classDef dep fill:#f39c12,stroke:#e67e22,color:#fff

    subgraph controller["spark-operator Controller"]
        dep_1["controller-manager"]
        class dep_1 controller
        dep_2["controller-manager"]
        class dep_2 controller
        dep_3["controller-manager"]
        class dep_3 controller
        dep_4["controller-manager"]
        class dep_4 controller
        dep_5["controller-manager"]
        class dep_5 controller
        dep_6["controller-manager"]
        class dep_6 controller
        dep_7["controller-manager"]
        class dep_7 controller
        dep_8["peaks"]
        class dep_8 controller
        dep_9["peaks"]
        class dep_9 controller
        dep_10["spark-operator-controller"]
        class dep_10 controller
        dep_11["spark-operator-webhook"]
        class dep_11 controller
        dep_12["the-deployment"]
        class dep_12 controller
        dep_13["the-deployment"]
        class dep_13 controller
    end

    crd_SparkConnect{{"SparkConnect\nsparkoperator.k8s.io/v1alpha1"}}
    class crd_SparkConnect crd
    crd_SparkConnect -->|"For (reconciles)"| controller
    crd_ScheduledSparkApplication{{"ScheduledSparkApplication\nsparkoperator.k8s.io/v1beta2"}}
    class crd_ScheduledSparkApplication crd
    crd_SparkApplication{{"SparkApplication\nsparkoperator.k8s.io/v1beta2"}}
    class crd_SparkApplication crd
    watch_14["Pod"] -->|"Watches"| controller
    class watch_14 external

CRDs

Group Version Kind Scope Fields Validation Rules Discovery Source
sparkoperator.k8s.io v1alpha1 SparkConnect Namespaced 95 0 YAML config/crd/bases/sparkoperator.k8s.io_sparkconnects.yaml
sparkoperator.k8s.io v1beta2 ScheduledSparkApplication Namespaced 1676 0 YAML config/crd/bases/sparkoperator.k8s.io_scheduledsparkapplications.yaml
sparkoperator.k8s.io v1beta2 SparkApplication Namespaced 1679 0 YAML config/crd/bases/sparkoperator.k8s.io_sparkapplications.yaml

Dependencies

Key External Dependencies

Module Version
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.1
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.3.0
github.com/go-logr/logr v1.4.3
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.3
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.3.0
github.com/go-logr/logr v1.4.1
github.com/go-logr/logr v1.4.3
github.com/go-logr/logr v1.4.2
github.com/go-logr/logr v1.4.2
github.com/go-logr/stdr v1.2.2
github.com/go-logr/stdr v1.2.2
github.com/go-logr/zapr v1.3.0
github.com/go-logr/zapr v1.3.0
github.com/go-logr/zapr v1.3.0
github.com/go-logr/zapr v1.3.0
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_golang v1.23.2
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_golang v1.16.0
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_golang v1.16.0
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_model v0.6.1
github.com/prometheus/client_model v0.6.1
github.com/prometheus/client_model v0.6.2
github.com/prometheus/client_model v0.6.1
github.com/prometheus/client_model v0.6.2
github.com/prometheus/client_model v0.6.1
github.com/prometheus/client_model v0.6.2
github.com/prometheus/client_model v0.6.2
github.com/prometheus/common v0.55.0
github.com/prometheus/common v0.66.1
github.com/prometheus/common v0.66.1
github.com/prometheus/common v0.55.0
github.com/prometheus/procfs v0.15.1
github.com/prometheus/procfs v0.16.1
github.com/prometheus/procfs v0.15.1
github.com/prometheus/procfs v0.16.1
google.golang.org/grpc v1.59.0
google.golang.org/grpc v1.65.0
google.golang.org/grpc v1.65.0
google.golang.org/grpc v1.65.0
google.golang.org/grpc v1.65.0
google.golang.org/grpc v1.59.0
k8s.io/api v0.32.5
k8s.io/api v0.32.1
k8s.io/api v0.26.2
k8s.io/api v0.32.5
k8s.io/api v0.32.5
k8s.io/api v0.32.7
k8s.io/api v0.26.2
k8s.io/api v0.32.7
k8s.io/api v0.32.5
k8s.io/api v0.32.5
k8s.io/api v0.32.5
k8s.io/api v0.32.1
k8s.io/api v0.32.5
k8s.io/api v0.32.5
k8s.io/api v0.32.5
k8s.io/api v0.30.1
k8s.io/api v0.33.3
k8s.io/api v0.32.5
k8s.io/api v0.32.5
k8s.io/api v0.30.1
k8s.io/api v0.33.3
k8s.io/apiextensions-apiserver v0.32.1
k8s.io/apiextensions-apiserver v0.33.3
k8s.io/apiextensions-apiserver v0.33.3
k8s.io/apiextensions-apiserver v0.32.5
k8s.io/apiextensions-apiserver v0.32.1
k8s.io/apimachinery v0.30.1
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.27.4
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.27.4
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.33.3
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.1
k8s.io/apimachinery v0.30.1
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.7
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.33.3
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.7
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/apimachinery v0.32.1
k8s.io/apiserver v0.26.2
k8s.io/apiserver v0.32.5
k8s.io/apiserver v0.33.3
k8s.io/apiserver v0.32.5
k8s.io/apiserver v0.32.7
k8s.io/apiserver v0.30.1
k8s.io/apiserver v0.32.7
k8s.io/apiserver v0.32.1
k8s.io/apiserver v0.30.1
k8s.io/apiserver v0.33.3
k8s.io/apiserver v0.32.5
k8s.io/apiserver v0.32.1
k8s.io/apiserver v0.26.2
k8s.io/client-go v0.32.5
k8s.io/client-go v0.33.3
k8s.io/client-go v0.30.1
k8s.io/client-go v0.32.7
k8s.io/client-go v0.26.2
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.7
k8s.io/client-go v0.30.1
k8s.io/client-go v0.26.2
k8s.io/client-go v0.32.5
k8s.io/client-go v0.33.3
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.1
k8s.io/client-go v0.32.1
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.5
k8s.io/client-go v0.32.5
sigs.k8s.io/controller-runtime v0.20.4
sigs.k8s.io/controller-runtime v0.20.4
sigs.k8s.io/controller-runtime v0.20.4