{"id":43954938,"url":"https://github.com/miciav/nanofaas","last_synced_at":"2026-02-07T04:32:39.293Z","repository":{"id":334547583,"uuid":"1141798325","full_name":"miciav/nanofaas","owner":"miciav","description":"Minimal, high-performance FaaS platform for Kubernetes with GraalVM native image support","archived":false,"fork":false,"pushed_at":"2026-02-02T22:25:08.000Z","size":475,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-03T11:37:33.002Z","etag":null,"topics":["cloud-native","faas","functions-as-a-service","graalvm","java","kubernetes","serverless","spring-boot"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miciav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2026-01-25T13:00:45.000Z","updated_at":"2026-02-02T22:25:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/miciav/nanofaas","commit_stats":null,"previous_names":["miciav/mcfaas","miciav/nanofaas"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/miciav/nanofaas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miciav%2Fnanofaas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miciav%2Fnanofaas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miciav%2Fnanofaas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miciav%2Fnanofaas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miciav","download_url":"https://codeload.github.com/miciav/nanofaas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miciav%2Fnanofaas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29186738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T03:35:06.566Z","status":"ssl_error","status_checked_at":"2026-02-07T03:34:57.604Z","response_time":63,"last_error":"SSL_read: 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":["cloud-native","faas","functions-as-a-service","graalvm","java","kubernetes","serverless","spring-boot"],"created_at":"2026-02-07T04:32:38.672Z","updated_at":"2026-02-07T04:32:39.281Z","avatar_url":"https://github.com/miciav.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nanofaas\n\nMinimal, high-performance FaaS control plane and Java function runtime designed for Kubernetes, with a focus on low latency and fast startup (GraalVM-ready).\n\n## Modules\n\n- `control-plane/` API gateway, in-memory queueing, scheduler thread, and Kubernetes dispatch\n- `function-runtime/` HTTP runtime for Java function handlers\n- `python-runtime/` HTTP runtime for Python function handlers\n- `common/` shared DTOs and runtime contracts\n- `k8s/` Kubernetes manifests and templates\n- `docs/` architecture and operational docs\n- `openapi.yaml` public API specification\n\n## Requirements\n\n- Java 21 (SDKMAN recommended)\n- Docker-compatible container runtime (Docker Desktop or equivalent)\n- For Kubernetes E2E: `kubectl`, `kind`, and a reachable cluster\n\n## Quickstart (local)\n\n```bash\n./gradlew :control-plane:bootRun\n./gradlew :function-runtime:bootRun\n```\n\n## Build images (buildpacks)\n\n```bash\n./gradlew :control-plane:bootBuildImage :function-runtime:bootBuildImage\n```\n\n## Native build (GraalVM)\n\n```bash\n./scripts/native-build.sh\n```\n\n## Tests\n\n```bash\n./gradlew test\n```\n\nE2E (local):\n```bash\n./scripts/e2e.sh\n```\n\nE2E (buildpacks):\n```bash\n./scripts/e2e-buildpack.sh\n```\n\nE2E (Kubernetes via Multipass + kind):\n```bash\n./scripts/setup-multipass-kind.sh\nexport KUBECONFIG=~/.kube/nanofaas-kind.yaml\n./scripts/kind-build-load.sh\n./gradlew :control-plane:test --tests com.nanofaas.controlplane.e2e.K8sE2eTest\n```\n\n## Observability\n\n- Prometheus metrics are exposed via Spring Actuator (`/actuator/prometheus` on the management port).\n\n## API\n\n- See `openapi.yaml` for request/response contracts and examples.\n\n## Docs\n\n- `docs/architecture.md` and `docs/quickstart.md` provide a full overview and operational notes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiciav%2Fnanofaas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiciav%2Fnanofaas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiciav%2Fnanofaas/lists"}