This repo is public. The pod's git-clone initContainer (k8s/deployment.yaml) runs git clone --depth 1 https://github.com/boettiger-lab/bosl-high-seas.git on each pod start and copies index.html, layers-input.json, and system-prompt.md into the nginx html dir. Pod content tracks main. The k8s/configmap.yaml ConfigMap holds only the LLM model list and the nginx reverse-proxy template — not website content.
| Repo | Purpose |
|---|---|
geo-agent |
Core library (map, chat, agent, tools). Source of truth for all functionality. |
bosl-high-seas |
Application repo. Configure layers-input.json, system-prompt.md, and k8s/ for this dataset. |
Full docs: boettiger-lab.github.io/geo-agent/docs
You configure: layers-input.json, system-prompt.md, index.html, and k8s/ manifests.
You do not write JavaScript. Core modules are loaded from the CDN.
If you lack credentials or permissions to run
kubectlorgit push, do not attempt to discover or work around credentials. Instead, provide the user with the exact commands to run.
# 1. Edit source files (index.html, layers-input.json, system-prompt.md)
# 2. Commit and push to main — the initContainer clones from GitHub
git add <source-files> && git commit -m "<message>" && git push
# 3. Restart the deployment so a new pod re-clones the latest main
kubectl rollout restart deployment/bosl-high-seas -n biodiversity
kubectl rollout status deployment/bosl-high-seas -n biodiversityThe git push does not update running pods — step 3 does.
If you change k8s/configmap.yaml (LLM model list or nginx template), apply it before the rollout: kubectl apply -f k8s/configmap.yaml -n biodiversity. Routine content edits don't need this.
index.html pins the geo-agent library version. Verify jsDelivr serves a new tag before deploying:
curl -sI https://cdn.jsdelivr.net/gh/boettiger-lab/geo-agent@vX.Y.Z/app/style.css | grep HTTP
# Must return HTTP/2 200 — a 404 means jsDelivr hasn't indexed the tag yetFor private data modules (rclone sidecar, oauth2-proxy, private parquet credentials): docs/guide/private-deployment
For full layers-input.json schema, troubleshooting, and configuration reference see the geo-agent-template AGENTS.md or the docs.