Skip to content

Latest commit

 

History

History
126 lines (99 loc) · 5.61 KB

File metadata and controls

126 lines (99 loc) · 5.61 KB

Configuration Profiles

This repository uses tracked configuration profiles plus a generated runtime overlay. Keep their responsibilities separate to avoid drift:

For local NVIDIA k3s deployments, all GPU profiles assume k3s-nvidia-edge has already prepared the cluster GPU substrate. See k3s-nvidia-edge dependency.

  1. values.yaml
    • Generic, git-tracked chart defaults.
    • Safe for CI, docs, and cross-machine review.
  2. values.local-k3s.example.yaml
    • Sanitized local k3s example profile.
    • Shows the intended workstation overrides without storing live secrets.
  3. values.enterprise-pilot-k3s.yaml
    • Verified local k3s/NVIDIA workstation profile used for the current end-to-end deployment.
    • Keeps the Ollama PVC at 5Gi to match the existing local-path claim and avoid unsupported resize attempts.
  4. values.geforce-940m-k3s.yaml
    • Verified low-memory GeForce 940M profile layered on top of k3s-nvidia-edge.
    • Enables Ollama, Open WebUI, Open WebUI Redis, and OpenTelemetry Collector.
    • Keeps GPU Operator, NVIDIA device plugin, and DCGM exporter disabled in this chart.
  5. values.cpu-k3s.yaml
    • CPU fallback profile for clusters that do not advertise nvidia.com/gpu.
    • Keeps the same local GGUF model path pattern but clears NVIDIA runtime, node selectors, DCGM, and GPU resource requests.
  6. .generated/values.runtime-detected.yaml
    • Generated by hack/detect-runtime-profile.sh.
    • Gitignored runtime overlay used by hack/bootstrap-enterprise-pilot-k3s.sh.
  7. values.local-k3s.yaml
    • Your real machine-specific override file.
    • Gitignored and expected to contain local paths, secret references, or direct secret values.

Source of Truth

  • Treat values.yaml as the baseline behavior of the chart.
  • Treat values.enterprise-pilot-k3s.yaml as the verified local single-node k3s/NVIDIA profile for this repository.
  • Treat values.geforce-940m-k3s.yaml as the minimal local GeForce profile that must run on top of k3s-nvidia-edge.
  • Treat values.cpu-k3s.yaml as the CPU fallback profile.
  • Treat values.local-k3s.example.yaml as a sanitized example for creating private local overrides.
  • Treat values.local-k3s.yaml as private runtime state that may legitimately differ from the example.
  • Treat .generated/values.runtime-detected.yaml as disposable runtime output.

At-a-Glance Differences

Area values.yaml values.local-k3s.example.yaml values.enterprise-pilot-k3s.yaml values.geforce-940m-k3s.yaml values.cpu-k3s.yaml
GPU resource nvidia.com/gpu nvidia.com/gpu nvidia.com/gpu nvidia.com/gpu disabled
Requires k3s-nvidia-edge for local NVIDIA use for local NVIDIA use yes yes no
GGUF host path Placeholder path Example host path under /media/.../models Local verified host path under /media/.../models Local verified host path under /media/.../models Local verified host path under /media/.../models
Ollama PVC size 20Gi 5Gi 5Gi 5Gi 5Gi
Service exposure ClusterIP ClusterIP ClusterIP ClusterIP ClusterIP
OpenTelemetry tracing enabled enabled enabled collector enabled enabled
Open WebUI secret key Empty string placeholder placeholder, chart-managed secret chart-managed secret placeholder, chart-managed secret
edgeToolbox.enabled true true true false true
otelTraceSeeder.enabled false false false false false
etcd.enabled false false false false false

Recommended Workflow

Create a local file from the example:

cp values.local-k3s.example.yaml values.local-k3s.yaml

Then edit only the machine-specific fields in values.local-k3s.yaml:

  • model host paths
  • direct secret values or existing secret references
  • local service exposure preferences
  • any temporary troubleshooting toggles

Verify Effective Runtime Values

See the fully merged release values:

helm get values llm-observability-stack -n llm-observability -a

Render with the example profile:

helm template llm-observability-stack . -f values.local-k3s.example.yaml >/tmp/rendered-local-example.yaml

Render with the verified local full-stack profile:

helm template llm-observability-stack . \
  -n llm-observability \
  -f values.enterprise-pilot-k3s.yaml \
  --set kube-prometheus-stack.crds.enabled=false \
  >/tmp/rendered-enterprise-pilot.yaml

Detect the current Kubernetes runtime and render with the generated overlay:

./hack/detect-runtime-profile.sh
helm template llm-observability-stack . \
  -n llm-observability \
  -f values.enterprise-pilot-k3s.yaml \
  -f .generated/values.runtime-detected.yaml \
  --set kube-prometheus-stack.crds.enabled=false \
  >/tmp/rendered-runtime-detected.yaml

Render the CPU fallback profile directly:

helm template llm-observability-stack . \
  -n llm-observability \
  -f values.cpu-k3s.yaml \
  --set kube-prometheus-stack.crds.enabled=false \
  >/tmp/rendered-cpu.yaml

Render with your private local profile:

helm template llm-observability-stack . -f values.local-k3s.yaml >/tmp/rendered-local-private.yaml

Rules for Contributors

  • Do not place live secrets in values.yaml or values.local-k3s.example.yaml.
  • Keep values.yaml portable and workstation-agnostic.
  • When the local example changes, update this file and any quick-start docs that reference the profile.