{"id":44187338,"url":"https://github.com/nightshiftco/nightshift","last_synced_at":"2026-05-26T15:08:40.104Z","repository":{"id":335162663,"uuid":"1143917081","full_name":"nightshiftco/nightshift","owner":"nightshiftco","description":"Open Source Agent Platform","archived":false,"fork":false,"pushed_at":"2026-05-12T02:18:51.000Z","size":15000,"stargazers_count":30,"open_issues_count":11,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T02:35:59.883Z","etag":null,"topics":["agents","runtimes","systems"],"latest_commit_sha":null,"homepage":"https://nightshift.sh","language":"Go","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/nightshiftco.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":null,"dco":null,"cla":null}},"created_at":"2026-01-28T05:02:34.000Z","updated_at":"2026-05-11T10:22:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nightshiftco/nightshift","commit_stats":null,"previous_names":["nightshiftco/nightshift"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/nightshiftco/nightshift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightshiftco%2Fnightshift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightshiftco%2Fnightshift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightshiftco%2Fnightshift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightshiftco%2Fnightshift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nightshiftco","download_url":"https://codeload.github.com/nightshiftco/nightshift/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightshiftco%2Fnightshift/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32958607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["agents","runtimes","systems"],"created_at":"2026-02-09T16:16:26.271Z","updated_at":"2026-05-26T15:08:40.079Z","avatar_url":"https://github.com/nightshiftco.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/public/nightshift-text.png\" alt=\"Nightshift logo\" width=\"500\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n An Opinionated Specification for Running Agentic Workloads on Kubernetes\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://nightshift.sh\"\u003eWebsite\u003c/a\u003e \u0026middot;\n  \u003ca href=\"https://docs.nightshift.sh\"\u003eDocs\u003c/a\u003e \u0026middot;\n  \u003ca href=\"https://join.slack.com/t/nightshiftoss/shared_invite/zt-3p5dshiiq-hjB8558QvURDgqqCI7e8RQ\"\u003eSlack\u003c/a\u003e\n\u003c/p\u003e\n\n---\n# Nightshift\n\nAn open-source specification for running agents on Kubernetes, which includes the `nightshift-ui`, `nigthshift-api`, and various Agent workers.\n\nNightshift is a pluggable platform that that unifies every current AI capability into a single system reaching feature parity with Perplexity Computer, Claude, and ChatGPT.\n\nNightshift defines a small set of gRPC services. They include Storage, Config, Secrets, Workers, Scheduling, and Artifacts.  Together these services describe what it means to run and operate agents at scale. \n\nThe spec is protocol-buffer-driven, transport-agnostic (gRPC with grpc-gateway REST transcoding), and language-neutral: any implementation that\nspeaks the wire contracts and honors the semantic-contract docs is conformant. \n\n\u003e Note that this is a new project and in active development. The API is not yet stable.\n\u003e If you're looking to run Nigthshift in production, reach out to gianni@nightshift.sh. \n\u003e We can help you work through the rough edges.\n\n## Quick start\n\nKubernetes is the target runtime. The fastest way to get started\nlocally is [kind](https://kind.sigs.k8s.io/). Prereqs:\n\n- `kind`\n- `kubectl`\n- `helm`\n- `Docker`\n\nA convenience Makefile gates the workflow. If you don't have a cluster running, `make kind-up` creates one named `nightshift-dev`. \nIf you already have a cluster, set `KUBECONFIG` (`kubectl config use-context kind-nightshift-dev`) to point at it and skip straight to one of the `kind-deploy*` targets.\n\nThere are three install tiers, each a strict superset of the previous:\n\nFor new users, **`kind-quickstart` is the recommended starting point**, it spins up the full stack on a local `kind` cluster.\n\n### Set up the cluster  \n\n```bash\nmake kind-up                  # creates the kind cluster\n```\n\n### Deploy nightshift helm chart\n\n```bash\nmake kine-quickstart\n```\n\nThis will give you the full end-to-end nightshift stack. \n\nAfter running `make kind-quickstart` port-forward the UI and OpenBao:\n\nPort forward the UI:\n\n```bash\nkubectl -n nightshift port-forward svc/nightshift-nightshift-ui 13000:3000 \n```\n\nPort forward the OpenBao OIDC and secret management service:\n\n```bash\nkubectl -n nightshift port-forward svc/openbao 18200:8200 \n```\n\nGet the seeded admin password:\n\n```bash\nkubectl -n nightshift get secret openbao-admin-seed \\\n  -o jsonpath='{.data.password}' | base64 -d\n```\n\nOpen \u003chttp://localhost:13000/login\u003e, click **Sign in with OpenBao**, and authenticate with `admin` + the password and above. \n\n### Use the Claude worker \n\nThe default worker image `nightshift-worker` is a simulation that returns a canned reply. This is mainly used for getting started without needing an LLM provider api key.\nHowever, if you'd like to run real prompts, you'll need to swap in a worker that calls an LLM.\n\nSet your Anthropic API key as a secret in OpenBao.\n\nYou'll need the root token first:\n\n```bash\nexport VAULT_TOKEN=$(kubectl -n nightshift get secret openbao-seed -o jsonpath='{.data.root-token}' | base64 -d)\n```\n\n```\nkubectl -n nightshift exec openbao-0 -c openbao -- \\\n  env VAULT_TOKEN=$VAULT_TOKEN \\\n  bao kv put secret/nightshift/anthropic-api-key api-key=sk-ant-XXXX\n```\n\nFlip the worker image and enable the workerClaude env wiring\n\n```bash\nhelm -n nightshift upgrade nightshift deploy/charts/nightshift \\\n  --reuse-values \\\n  --set nightshift_api.worker.repository=nightshift-worker-claude \\\n  --set nightshift_api.workerClaude.enabled=true\n```\n\n### Add additional users for sharing\n\nThe share-dialog dropdown reads from OpenBao's `user` group. To populate it, sign in to the OpenBao UI at \u003chttp://localhost:18200/ui\u003e\n\n1. **Access → Authentication Methods → userpass/** → Create user.\n2. **Access → Entities** → Create entity → Aliases → Create alias\n   (name = the userpass username, mount = the userpass mount).\n3. **Access → Groups** → `user` → add the new entity ID.\n\nOnce the entity is in the `user` group, they show up in the share\nmodal's picker on the artifacts preview in the Nightshift UI. \n\n### MinIO UI\n\nTo access the MinIO UI, port forward the MinIO service:\n\n```bash\nkubectl -n nightshift port-forward svc/nightshift-minio 9001:9001\n```\n\nGet the MinIO admin password:\n\n```bash\nkubectl -n nightshift get secret nightshift-minio -o jsonpath='{.data.MINIO_ROOT_PASSWORD}' | base64 -d\n```\n\nThen navigate to \u003chttp://localhost:9001\u003e and log in with:\n- Username: `nightshift`\n- Password: the value retrieved from the command above\n\n### API-only \n\nTBD\n\n## Status\n\nUnder active development. Not stable yet. If you're looking to run Nigthshift in production by yourself, reach out to gianni@nightshift.sh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightshiftco%2Fnightshift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnightshiftco%2Fnightshift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightshiftco%2Fnightshift/lists"}