{"id":18954679,"url":"https://github.com/hellblazer/a-demo","last_synced_at":"2026-01-18T16:05:42.228Z","repository":{"id":209550689,"uuid":"724366943","full_name":"Hellblazer/a-demo","owner":"Hellblazer","description":"Delos Large Scale Demo","archived":false,"fork":false,"pushed_at":"2026-01-10T22:54:15.000Z","size":670,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-11T01:04:23.090Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hellblazer.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}},"created_at":"2023-11-27T23:46:56.000Z","updated_at":"2026-01-10T22:54:19.000Z","dependencies_parsed_at":"2024-03-24T02:28:49.994Z","dependency_job_id":"282c57d9-f276-4e96-9822-52a87be309d2","html_url":"https://github.com/Hellblazer/a-demo","commit_stats":null,"previous_names":["hellblazer/a-demo"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Hellblazer/a-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hellblazer%2Fa-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hellblazer%2Fa-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hellblazer%2Fa-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hellblazer%2Fa-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hellblazer","download_url":"https://codeload.github.com/Hellblazer/a-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hellblazer%2Fa-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28541068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T14:59:57.589Z","status":"ssl_error","status_checked_at":"2026-01-18T14:59:46.540Z","response_time":98,"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":[],"created_at":"2024-11-08T13:45:46.921Z","updated_at":"2026-01-18T16:05:42.222Z","avatar_url":"https://github.com/Hellblazer.png","language":"Java","readme":"# Sky Application\n\n![Build Status](https://github.com/Hellblazer/a-demo/actions/workflows/maven.yml/badge.svg)\n\n**Sky** is a fantasy proof-of-concept (POC) for a self-bootstrapping, Byzantine fault-tolerant identity and secrets management cluster built on the [Delos distributed systems platform](https://github.com/Hellblazer/Delos).\n\n\u003e **Note**: This is a demonstration POC designed for understanding Delos capabilities through short-lived demo sessions. This is not production-ready code. See [KNOWN_LIMITATIONS.md](KNOWN_LIMITATIONS.md) for POC constraints.\n\n## What is Sky?\n\nSky demonstrates a minimal viable Byzantine fault-tolerant (BFT) system that:\n\n- **Self-bootstraps** using Shamir secret sharing for cluster initialization\n- **Manages identities** via KERL (Key Event Receipt Log) protocol\n- **Handles secrets** with cryptographic enclave operations\n- **Provides MTLS** mutual authentication for inter-node communication\n- **Achieves consensus** using the CHOAM protocol from Delos\n\nThe system showcases how Delos components (Fireflies membership, CHOAM consensus, Stereotomy identity, Gorgoneion crypto) work together in a distributed application.\n\n## Quick Start\n\n### Prerequisites\n\n- Java 22+\n- Maven 3.8.1+\n- Docker (for end-to-end testing)\n\n### Build\n\n```bash\n# Full build\n./mvnw clean install\n\n# Build with Docker-based end-to-end tests\n./mvnw -P e2e clean install\n\n# Build without tests (faster)\n./mvnw clean install -DskipTests\n```\n\n### Run Local Demo\n\nSee the [local-demo](local-demo) directory for Docker Compose configurations that run a multi-node Sky cluster locally:\n\n1. **Start bootstrap node**: `cd local-demo/bootstrap \u0026\u0026 docker-compose up`\n2. **Start kernel nodes**: Wait for bootstrap, then `cd local-demo/kernel \u0026\u0026 docker-compose up`\n3. **Add more nodes**: After kernel generates Genesis block, `cd local-demo/nodes \u0026\u0026 docker-compose up --scale node=3`\n\nFor detailed walkthrough, see [DEMO_GUIDE.md](DEMO_GUIDE.md).\n\n## Architecture\n\nSky uses a multi-module Maven structure with clear separation of concerns:\n\n### Core Modules\n\n- **[nut](nut/)** - Core runtime container managing bootstrapping, provisioning, and node orchestration\n  - Cluster initialization via Shamir secret sharing\n  - Configuration and provisioning services\n  - API servers and client communications\n  - Entry point: `com.hellblazer.nut.Launcher`\n\n- **[sky](sky/)** - Main application module that shades (bundles) nut runtime into a single executable JAR\n\n- **[sanctum](sanctum/)** - Identity and cryptographic operations wrapper for enclave signing/verification\n\n- **[sanctum-sanctorum](sanctum-sanctorum/)** - Server implementation for enclave operations, managing tokens and KERL protocols\n\n- **[grpc](grpc/)** - Protocol buffer definitions and gRPC service interfaces for inter-node communication\n\n- **[constants](constants/)** - Shared constants across modules\n\n### Supporting Modules\n\n- **[sky-image](sky-image/)** - Docker container image builder with environment variable configuration\n\n- **[local-demo](local-demo/)** - End-to-end test suite using Docker Compose for local cluster testing\n\nFor detailed architecture documentation, see [ARCHITECTURE.md](ARCHITECTURE.md).\n\n## Key Technologies\n\n- **[Delos Platform](https://github.com/Hellblazer/Delos)** - Distributed systems framework\n  - **Fireflies** - Byzantine fault-tolerant membership protocol\n  - **CHOAM** - Byzantine fault-tolerant consensus\n  - **Stereotomy** - Decentralized identifier (DID) and KERL protocol\n  - **Gorgoneion** - Cryptographic infrastructure\n- **gRPC** - Inter-node communication\n- **Protocol Buffers** - Service and message definitions\n- **H2 Database** - In-memory and persistent storage\n- **Shamir Secret Sharing** - Cryptographic bootstrap mechanism\n- **TestContainers** - Docker-based integration testing\n\n## Documentation\n\n- **[ARCHITECTURE.md](ARCHITECTURE.md)** - System architecture and module details\n- **[DEMO_GUIDE.md](DEMO_GUIDE.md)** - Step-by-step demo walkthrough\n- **[KNOWN_LIMITATIONS.md](KNOWN_LIMITATIONS.md)** - POC constraints and boundaries\n- **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - Common issues and solutions\n- **[CLAUDE.md](CLAUDE.md)** - Development guidance for Claude Code\n\n## Development\n\n### Build Commands\n\n```bash\n# Compile only\n./mvnw clean compile\n\n# Run tests for specific module\n./mvnw test -pl nut\n\n# Run single test\n./mvnw test -pl nut -Dtest=LauncherTest\n\n# Run end-to-end smoke tests\n./mvnw -P e2e test -pl local-demo\n```\n\n### Maven Profiles\n\n- **e2e** - Runs end-to-end smoke tests using TestContainers and Docker Compose\n- **native** - Includes native image compilation (requires GraalVM)\n- **native-agent** - Generates native-image configuration\n\n### Memory Requirements\n\nTests require significant heap allocation for distributed system testing:\n- Default: `-Xmx10G -Xms4G`\n- See [test memory documentation](docs/test-memory.md) for details\n\n## Testing\n\n- **Unit tests**: `src/test/java` in each module\n- **Integration tests**: End-to-end tests in `local-demo` module\n- **Smoke test**: `local-demo/src/test/java/com/hellblazer/sky/demo/SmokeTest.java`\n\nRun all tests: `./mvnw clean test`\n\nRun e2e tests: `./mvnw -P e2e clean test`\n\n## POC Limitations\n\nThis is a **fantasy POC** for demonstration purposes. Known limitations include:\n\n- No session key rotation (short-lived demo sessions)\n- Token logging at INFO level (debugging aid)\n- No certificate revocation mechanism\n- Hardcoded bootstrap host address (172.17.0.2)\n- Hardcoded shared secret (for demo convenience)\n\nSee [KNOWN_LIMITATIONS.md](KNOWN_LIMITATIONS.md) for complete list and production considerations.\n\n## Contributing\n\nThis is a demonstration POC. For production use cases or contributions to the underlying Delos platform, see the [Delos repository](https://github.com/Hellblazer/Delos).\n\n## License\n\nSee [LICENSE](LICENSE) file for details.\n\n## Related Projects\n\n- **[Delos](https://github.com/Hellblazer/Delos)** - Distributed systems platform\n- **[Fireflies](https://github.com/Hellblazer/Delos/tree/main/fireflies)** - BFT membership\n- **[CHOAM](https://github.com/Hellblazer/Delos/tree/main/choam)** - BFT consensus\n- **[Stereotomy](https://github.com/Hellblazer/Delos/tree/main/stereotomy)** - DID and KERL\n- **[Gorgoneion](https://github.com/Hellblazer/Delos/tree/main/gorgoneion)** - Cryptographic infrastructure\n\n## Support\n\nFor questions or issues:\n- Review [TROUBLESHOOTING.md](TROUBLESHOOTING.md)\n- Check existing [GitHub issues](https://github.com/Hellblazer/a-demo/issues)\n- Create a new issue with the \"POC constraint\" label if reporting expected POC limitations\n\n---\n\n**Sky Application** - A fantasy POC demonstrating Byzantine fault-tolerant identity and secrets management on Delos.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellblazer%2Fa-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellblazer%2Fa-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellblazer%2Fa-demo/lists"}