A modern, secure, distributed application deployment and infrastructure management platform.
BeaconLink is an open-source distributed platform for securely deploying, managing, and monitoring workloads across multiple machines.
It provides a unified control plane for infrastructure management while abstracting the underlying execution runtime. BeaconLink is designed around modular components, secure communication, declarative deployments, and operational simplicity.
The platform is built using Go for backend services and React for the web console, following a documentation-first engineering process and modern cloud-native design principles.
BeaconLink aims to provide:
- Secure infrastructure management
- Declarative application deployments
- Runtime abstraction
- Distributed communication
- High observability
- Production-ready operations
- Extensible architecture
- Excellent developer experience
BeaconLink consists of several independent services.
| Component | Description |
|---|---|
| Beacon CLI | Command-line management tool |
| API Server | REST and WebSocket management API |
| Relay | Distributed communication hub |
| Agent | Host-side execution service |
| Deployment Engine | Declarative orchestration engine |
| Runtime Layer | Runtime abstraction (Docker, Podman, Native) |
| Beacon Console | Web-based administration interface |
Users
│
▼
Beacon Console
│
▼
API Server
│
▼
Relay
│
┌────────────┴────────────┐
▼ ▼
Agent Agent
│ │
▼ ▼
Runtime Layer Runtime Layer
│ │
▼ ▼
Workloads Workloads
- Distributed architecture
- Secure communication
- Runtime abstraction
- Declarative deployments
- Health monitoring
- Event-driven design
- Mutual TLS
- JWT authentication
- RBAC
- Certificate management
- Audit logging
- Secure defaults
- Structured logging
- Prometheus metrics
- OpenTelemetry
- Health endpoints
- Build metadata
- Go monorepo
- Documentation-first workflow
- CI/CD
- Strong testing practices
- Semantic versioning
- Go
- Chi
- PostgreSQL
- Redis
- sqlc
- Cobra
- slog
- OpenTelemetry
- Prometheus
- React
- TypeScript
- Vite
- Tailwind CSS
- Zustand
- TanStack Query
- Docker
- Podman
- Native Processes
- GitHub Actions
- GoReleaser
- golangci-lint
- Go Testing
.
├── 📁 .github
├── 📁 api
├── 📁 build
├── 📁 cmd
│ ├── 📁 agent
│ ├── 📁 api
│ ├── 📁 beacon
│ └── 📁 relay
├── 📁 configs
├── 📁 deployments
│ ├── 📁 compose
│ ├── 📁 docker
│ ├── 📁 kubernetes
│ └── 📁 systemd
├── 📁 docs
├── 📁 examples
├── 📁 internal
│ ├── 📁 agent
│ ├── 📁 api
│ ├── 📁 auth
│ ├── 📁 config
│ ├── 📁 deployment
│ ├── 📁 generated
│ ├── 📁 logging
│ ├── 📁 metrics
│ ├── 📁 protocol
│ ├── 📁 relay
│ ├── 📁 runtime
│ ├── 📁 security
│ ├── 📁 storage
│ ├── 📁 telemetry
│ └── 📁 version
├── 📁 migrations
├── 📁 pkg
│ ├── 📁 blp
│ └── 📁 sdk
├── 📁 scripts
├── 📁 sdk
├── 📁 tools
├── 📁 test
│ ├── 📁 certificates
│ ├── 📁 configs
│ ├── 📁 fixtures
│ └── 📁 golden
├── 📁 web
│ ├── 📁 public
│ ├── 📁 src
│ ├── ⚙️ package.json
│ └── 📄 vite.config.ts
├── ⚙️ .editorconfig
├── ⚙️ .gitattributes
├── ⚙️ .gitignore
├── 📄 CODEOWNERS
├── 📝 CODE_OF_CONDUCT.md
├── 📝 CONTRIBUTING.md
├── 📄 LICENSE
├── 📄 Makefile
├── 📄 NOTICE
├── 📝 README.md
├── 📝 SECURITY.md
└── 📄 go.mod
The project documentation is organized into dedicated sections.
├── 📁 docs
│ ├── 📁 00-foundation
│ ├── 📁 01-architecture
│ ├── 📁 02-networking
│ ├── 📁 03-protocol
│ ├── 📁 04-security
│ ├── 📁 05-agent
│ ├── 📁 06-relay
│ ├── 📁 07-console
│ ├── 📁 08-deployment
│ ├── 📁 09-api
│ ├── 📁 10-data
│ ├── 📁 11-quality
│ ├── 📁 12-development
│ ├── 📁 13-roadmap
│ ├── 📁 14-engineering
│ ├── 📁 ADR
│ ├── 📁 RFC
│ ├── 📁 diagrams
│ │ ├── 📁 architecture
│ │ ├── 📁 database
│ │ ├── 📁 deployment
│ │ ├── 📁 networking
│ │ ├── 📁 security
│ │ ├── 📁 sequence
│ │ ├── 📁 state
│ │ ├── 📁 ui
│ │ └── 📝 README.md
│ ├── 📝 BEACONLINK_MANIFESTO.md
│ ├── 📝 GLOSSARY.md
│ ├── 📝 INDEX.md
│ └── 📝 README.md
| Version | Status |
|---|---|
| v0.0.1 | Foundation |
| v0.1.0 | BeaconLink Protocol |
| v0.2.0 | Relay |
| v0.3.0 | Agent |
| v0.4.0 | API Server |
| v0.5.0 | Beacon Console |
| v0.6.0 | Deployment Engine |
| v0.7.0 | Runtime Abstraction |
| v0.8.0 | Security & Identity |
| v0.9.0 | Production Readiness |
| v1.0.0 | Stable Release |
Detailed planning is available in:
docs/13-roadmap/
- Go 1.24+
- Git
- Node.js (for Console)
- Docker or Podman (optional)
git clone https://github.com/<your-username>/beaconlink.git
cd beaconlinkgo build ./...go test ./...go run ./cmd/beacon versionBeaconLink follows a documentation-first workflow.
The general development process is:
- Architecture
- ADR (if required)
- RFC (if required)
- Documentation
- Implementation
- Testing
- Review
- Merge
No feature should be implemented without corresponding documentation.
The project follows:
- Go formatting (
go fmt) go vet- Static analysis
- Unit testing
- Code review
- Semantic Versioning
- Conventional Git workflow
Testing includes:
- Unit tests
- Integration tests
- API tests
- Runtime tests
- Protocol tests
- End-to-end tests
- Benchmarks
Contributions are welcome.
Before submitting changes:
- Read
CONTRIBUTING.md - Review the architecture documentation
- Follow the development workflow
- Ensure all tests pass
- Update documentation where applicable
Please report security vulnerabilities responsibly.
See:
SECURITY.md
Do not disclose security issues publicly before they have been reviewed.
BeaconLink is licensed under the Apache License 2.0.
See:
LICENSE
BeaconLink is currently under active development.
The implementation roadmap is documented in:
docs/13-roadmap/
Until the first stable release, APIs, protocols, and internal packages may evolve as implementation progresses.
BeaconLink is built around several engineering principles:
- Simplicity over complexity
- Security by default
- Documentation first
- Stable interfaces
- Modular architecture
- Explicit dependencies
- Operational visibility
- Testability
- Maintainability
- Extensibility
BeaconLink is inspired by modern distributed systems, cloud-native engineering practices, and the open-source infrastructure ecosystem. While influenced by established architectural patterns, it is designed as an independent platform with its own implementation, protocol, and operational model.