Skip to content

lab/W1.1: add Ollama + Open WebUI manifests, aggregate make targets#102

Closed
vpatelsj wants to merge 3 commits intomainfrom
vapa/lab
Closed

lab/W1.1: add Ollama + Open WebUI manifests, aggregate make targets#102
vpatelsj wants to merge 3 commits intomainfrom
vapa/lab

Conversation

@vpatelsj
Copy link
Copy Markdown
Contributor

  • lab/inference/ollama-qwen-moe/: StatefulSet pinned to a Region A Spark (label.unbounded.cloud/region=a, hardware-class=dgx-spark-gb10), basic-auth ingress on /ollama/ path prefix, local-path PVC, Qwen3 30B-A3B MoE.
  • lab/inference/openwebui/: Open WebUI Deployment on AKS amd64 system pool (kubernetes.azure.com/mode=system + arch=amd64), Azure Disk PVC, ingress at host root, talks to Ollama via cluster DNS.
  • Makefile: lab-w1.1-up aggregates ollama-up + openwebui-up; same for -down/-status. Per-component targets retained as lab-w1.1-{ollama,openwebui}-{up,down,status}.
  • Public hostnames in both bundles are operator-supplied via configMapGenerator. Defaults are placeholders (ollama.lab.example.com, chat.lab.example.com); set your real DNS via:
    kustomize edit set configmap ollama-host --from-literal=host=...
    kustomize edit set configmap open-webui-host --from-literal=host=...
  • secret.local.yaml in both bundles is generated locally and gitignored.

Note: Ollama API moved from / to /ollama/ to share a single DNS label with Open WebUI at /.

- lab/inference/ollama-qwen-moe/: StatefulSet pinned to a Region A Spark
  (label.unbounded.cloud/region=a, hardware-class=dgx-spark-gb10),
  basic-auth ingress on /ollama/ path prefix, local-path PVC,
  Qwen3 30B-A3B MoE.
- lab/inference/openwebui/: Open WebUI Deployment on AKS amd64 system pool
  (kubernetes.azure.com/mode=system + arch=amd64), Azure Disk PVC,
  ingress at host root, talks to Ollama via cluster DNS.
- Makefile: lab-w1.1-up aggregates ollama-up + openwebui-up; same for
  -down/-status. Per-component targets retained as
  lab-w1.1-{ollama,openwebui}-{up,down,status}.
- Public hostnames in both bundles are operator-supplied via
  configMapGenerator. Defaults are placeholders (ollama.lab.example.com,
  chat.lab.example.com); set your real DNS via:
    kustomize edit set configmap ollama-host    --from-literal=host=...
    kustomize edit set configmap open-webui-host --from-literal=host=...
- secret.local.yaml in both bundles is generated locally and gitignored.

Note: Ollama API moved from / to /ollama/ to share a single DNS label
with Open WebUI at /.
@vpatelsj vpatelsj requested a review from a team April 28, 2026 21:33
Make targets accept LAB_HOST=<fqdn> on the command line, e.g.

    make LAB_HOST=mychat.example.com lab-w1.1-up

Helper backs up each kustomization.yaml, runs
'kustomize edit set configmap <ollama-host|open-webui-host>
--from-literal=host=$LAB_HOST', applies, then restores the file (even
on Ctrl-C via trap). Without LAB_HOST, the targets warn and apply with
the placeholder defaults (ollama.lab.example.com / chat.lab.example.com)
which are fine for kustomize-render dry runs but produce no working
public endpoint.

READMEs updated: lab/README.md (top-level public-hostname section),
lab/inference/ollama-qwen-moe/README.md, lab/inference/openwebui/README.md.
Use sed to rewrite the 'host=' literal in kustomization.yaml instead of
'kustomize edit set configmap'. Kustomize CLI is not installed by
default and 'kubectl kustomize' has no edit subcommand. The trap-based
backup/restore is unchanged.
@vpatelsj vpatelsj closed this Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant