{"id":50797107,"url":"https://github.com/nebari-dev/nebari-chat-pack","last_synced_at":"2026-06-12T15:30:36.982Z","repository":{"id":357925708,"uuid":"1064118476","full_name":"nebari-dev/nebari-chat-pack","owner":"nebari-dev","description":"A drop-in chat application for Nebari with a React frontend and a Ravnar/AG-UI backend, packaged as a Helm chart wired into Keycloak SSO.","archived":false,"fork":false,"pushed_at":"2026-06-05T18:12:32.000Z","size":1645,"stargazers_count":0,"open_issues_count":11,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T20:08:18.491Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nebari-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-09-25T15:07:17.000Z","updated_at":"2026-06-05T18:12:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nebari-dev/nebari-chat-pack","commit_stats":null,"previous_names":["nebari-dev/nebari-chat-pack"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/nebari-dev/nebari-chat-pack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebari-dev%2Fnebari-chat-pack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebari-dev%2Fnebari-chat-pack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebari-dev%2Fnebari-chat-pack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebari-dev%2Fnebari-chat-pack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nebari-dev","download_url":"https://codeload.github.com/nebari-dev/nebari-chat-pack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebari-dev%2Fnebari-chat-pack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34251773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-12T15:30:31.214Z","updated_at":"2026-06-12T15:30:32.004Z","avatar_url":"https://github.com/nebari-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nebari Chat Pack\n\nA drop-in chat application for [Nebari](https://www.nebari.dev/), with a React frontend and a [Ravnar](https://github.com/nebari-dev/ravnar)-based backend that speaks the [AG-UI](https://docs.ag-ui.com/introduction) protocol.\n\nThe pack ships as a Helm chart that deploys both services and wires them into Nebari's Keycloak for SSO.\n\n## Architecture\n\n| Component | Description | Image |\n| --- | --- | --- |\n| `frontend/` | React + Vite chat UI, authenticates via Keycloak. | `quay.io/nebari/nebari-chat-frontend` |\n| `backend/`  | Ravnar agent server with a Keycloak bearer-token authenticator. | `quay.io/nebari/nebari-chat-backend` |\n| `helm/nebari-chat/` | Umbrella chart that deploys the frontend and pulls in the [`ravnar`](https://github.com/nebari-dev/ravnar) chart for the backend. | `oci://quay.io/nebari/charts/nebari-chat` |\n\nThe backend is a thin extension of Ravnar — bring your own agents by adding them to the image or mounting them as plugins under `RAVNARPATH`. See [`backend/README.md`](backend/README.md) for the Python package and [`frontend/README.md`](frontend/README.md) for the UI.\n\n## Quick start (Helm)\n\nRequires a Kubernetes cluster with [Nebari](https://www.nebari.dev/) (or a compatible Keycloak + ingress setup).\n\n```sh\nhelm install chat oci://quay.io/nebari/charts/nebari-chat \\\n  --set keycloak.url=https://keycloak.example.com \\\n  --set frontend.nebariapp.hostname=chat.example.com \\\n  --set backend.nebariapp.hostname=chat-api.example.com\n```\n\nSee [`helm/nebari-chat/values.yaml`](helm/nebari-chat/values.yaml) for the full set of values.\n\n## Configuration\n\nThe chart's top-level values:\n\n| Key | Purpose |\n| --- | --- |\n| `keycloak.url` / `keycloak.realm` | Keycloak server and realm used by both frontend and backend. |\n| `frontend.nebariapp.hostname` | Public hostname for the chat UI. |\n| `backend.nebariapp.hostname` | Public hostname for the Ravnar API. |\n| `frontend.enabled` | Set `false` to deploy only the backend. |\n| `config.inline` | Inline Ravnar config merged into the backend's `config.yml`. |\n| `ravnar.image.tag` / `frontend.image.tag` | Override image tags (default: chart `appVersion`). |\n\n## Local development\n\nFor running the services outside Kubernetes, see:\n\n- [`frontend/README.md`](frontend/README.md) — `npm run dev`, env vars, Keycloak config.\n- [`backend/README.md`](backend/README.md) — the `ravnar-nebari-chat` Python package.\n\n## Release process\n\nDocker images for the frontend and backend are published by pushing a `v$SEMVER` tag (e.g. `v1.2.3`). The Helm chart is published by pushing a `chart/v$SEMVER` tag (e.g. `chart/v1.2.3`).\n\n\u003e [!IMPORTANT]\n\u003e Do not push the app and chart tags at the same time. Each tag triggers the release workflow independently, and if the chart tag arrives first, the chart may reference the previous app version instead of the newly tagged one.\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnebari-dev%2Fnebari-chat-pack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnebari-dev%2Fnebari-chat-pack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnebari-dev%2Fnebari-chat-pack/lists"}