Skip to content

llama-stack-k8s-operator: Dataflow

Controller Watches

Kubernetes resources this controller monitors for changes. Each watch triggers reconciliation when the watched resource is created, updated, or deleted.

Type GVK Source
For api/v1beta1/OGXServer controllers/ogxserver_controller.go:620
Owns /v1/ConfigMap controllers/ogxserver_controller.go:627
Owns /v1/PersistentVolumeClaim controllers/ogxserver_controller.go:635
Owns /v1/Service controllers/ogxserver_controller.go:626
Owns apps/v1/Deployment controllers/ogxserver_controller.go:623
Owns autoscaling/v2/HorizontalPodAutoscaler controllers/ogxserver_controller.go:625
Owns networking.k8s.io/v1/Ingress controllers/ogxserver_controller.go:634
Owns networking.k8s.io/v1/NetworkPolicy controllers/ogxserver_controller.go:633
Owns policy/v1/PodDisruptionBudget controllers/ogxserver_controller.go:624

Programmatic Resource Operations

Verb Kind Group Condition
delete ConfigMap
create ConfigMap
patch ConfigMap

Reconciliation Flow

How the controller interacts with the Kubernetes API during reconciliation.

sequenceDiagram
    %% Static dataflow for llama-stack-k8s-operator

    participant KubernetesAPI as Kubernetes API
    participant deployment as deployment
    participant ogx_k8s_operator_controller_manager as ogx-k8s-operator-controller-manager

    KubernetesAPI->>+deployment: Watch OGXServer (reconcile)
    deployment->>KubernetesAPI: Create/Update ConfigMap
    deployment->>KubernetesAPI: Create/Update PersistentVolumeClaim
    deployment->>KubernetesAPI: Create/Update Service
    deployment->>KubernetesAPI: Create/Update Deployment
    deployment->>KubernetesAPI: Create/Update HorizontalPodAutoscaler
    deployment->>KubernetesAPI: Create/Update Ingress
    deployment->>KubernetesAPI: Create/Update NetworkPolicy
    deployment->>KubernetesAPI: Create/Update PodDisruptionBudget

    Note over deployment: Exposed Services
    Note right of deployment: ogx-k8s-operator-controller-manager-metrics-service:8443/TCP [https]
    Note right of deployment: ogx-k8s-operator-webhook-service:443/TCP []

    Note over KubernetesAPI: Defined CRDs
    Note right of KubernetesAPI: LlamaStackDistribution (llamastack.io/v1alpha1)
    Note right of KubernetesAPI: OGXServer (ogx.io/v1beta1)

Webhooks

Name Type Path Failure Policy Service Overlays Enable Condition Sources
vogxserver.kb.io validating /validate-ogx-io-v1beta1-ogxserver Fail opendatahub/ogx-k8s-operator-webhook-service config/overlays/odh config/webhook/manifests.yaml, kustomize:config/overlays/odh (ogx-k8s-operator-validating-webhook-configuration)

HTTP Endpoints

Method Path Source
* / .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:130
* / .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/webdav/litmus_test_server.go:83
* / .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:188
* / .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:130
* / .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:188
* / .gomod-cache/golang.org/x/net@v0.41.0/webdav/litmus_test_server.go:83
* /args .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:136
* /args .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:136
* /bar .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/doc.go:67
* /bar .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/doc.go:67
* /block .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:210
* /block .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:210
* /chan .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:134
* /chan .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:134
* /counter .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:129
* /counter .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:129
* /date .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:138
* /date .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:138
* /debug/pprof/ .gomod-cache/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:316
* /debug/pprof/ .gopath-loader/pkg/mod/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:316
* /debug/pprof/cmdline .gopath-loader/pkg/mod/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:317
* /debug/pprof/cmdline .gomod-cache/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:317
* /debug/pprof/profile .gomod-cache/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:318
* /debug/pprof/profile .gopath-loader/pkg/mod/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:318
* /debug/pprof/symbol .gopath-loader/pkg/mod/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:319
* /debug/pprof/symbol .gomod-cache/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:319
* /debug/pprof/trace .gomod-cache/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:320
* /debug/pprof/trace .gopath-loader/pkg/mod/sigs.k8s.io/controller-runtime@v0.22.4/pkg/manager/internal.go:320
* /debug/vars .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/expvar/expvar.go:382
* /debug/vars .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/expvar/expvar.go:382
* /flags .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:135
* /flags .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:135
* /foo .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/doc.go:65
* /foo .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/doc.go:65
* /go/ .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:132
* /go/ .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:132
* /go/hello .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:137
* /go/hello .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/net/http/triv.go:137
* /goroutine .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:203
* /goroutine .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:203
* /goroutines .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:202
* /goroutines .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:202
* /io .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:209
* /io .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:209
* /jsontrace .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:198
* /jsontrace .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:198
* /mmu .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:206
* /mmu .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:206
* /regionblock .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:216
* /regionblock .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:216
* /regionio .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:215
* /regionio .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:215
* /regionsched .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:218
* /regionsched .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:218
* /regionsyscall .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:217
* /regionsyscall .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:217
* /sched .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:212
* /sched .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:212
* /static/ .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:199
* /static/ .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:199
* /syscall .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:211
* /syscall .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:211
* /trace .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:197
* /trace .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:197
* /userregion .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:222
* /userregion .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:222
* /userregions .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:221
* /userregions .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:221
* /usertask .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:226
* /usertask .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:226
* /usertasks .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:225
* /usertasks .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/cmd/trace/main.go:225
GET /{user-id} .gomod-cache/github.com/emicklei/go-restful/v3@v3.12.2/doc.go:83
GET /{user-id} .gopath-loader/pkg/mod/github.com/emicklei/go-restful/v3@v3.12.2/doc.go:83
GET /{user-id} .gopath-loader/pkg/mod/github.com/emicklei/go-restful/v3@v3.12.2/doc.go:19
GET /{user-id} .gomod-cache/github.com/emicklei/go-restful/v3@v3.12.2/doc.go:19
* G .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:97
* G .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:225
* G .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:203
* G .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:109
* G .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:97
* G .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:225
* G .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:109
* G .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/testing/slogtest/slogtest.go:203
* GET /debug/vars .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/expvar/expvar.go:384
* GET /debug/vars .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/expvar/expvar.go:384
* header .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:267
* header .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:211
* header .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:187
* header .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:165
* header .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:267
* header .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:165
* header .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:211
* header .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:187
* raw .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:193
* raw .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:172
* raw .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:217
* raw .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:172
* raw .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:193
* raw .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:217
* request .gopath-loader/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/log/slog/doc.go:137
* request .gomod-cache/golang.org/toolchain@v0.0.1-go1.25.8.linux-amd64/src/log/slog/doc.go:137
* vantage_point .gopath-loader/pkg/mod/golang.org/x/net@v0.41.0/quic/qlog.go:96
* vantage_point .gomod-cache/golang.org/x/net@v0.41.0/quic/qlog.go:96

Configuration

ConfigMaps and Helm values that control this component's runtime behavior.