Skip to content

vishwanathdvgmm/beaconlink

Repository files navigation

BeaconLink

A modern, secure, distributed application deployment and infrastructure management platform.

Go React TypeScript License


Overview

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.


Vision

BeaconLink aims to provide:

  • Secure infrastructure management
  • Declarative application deployments
  • Runtime abstraction
  • Distributed communication
  • High observability
  • Production-ready operations
  • Extensible architecture
  • Excellent developer experience

Core Components

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

Architecture

                   Users
                     │
                     ▼
               Beacon Console
                     │
                     ▼
                API Server
                     │
                     ▼
                  Relay
                     │
        ┌────────────┴────────────┐
        ▼                         ▼
      Agent                     Agent
        │                         │
        ▼                         ▼
   Runtime Layer             Runtime Layer
        │                         │
        ▼                         ▼
    Workloads                 Workloads

Key Features

Infrastructure

  • Distributed architecture
  • Secure communication
  • Runtime abstraction
  • Declarative deployments
  • Health monitoring
  • Event-driven design

Security

  • Mutual TLS
  • JWT authentication
  • RBAC
  • Certificate management
  • Audit logging
  • Secure defaults

Observability

  • Structured logging
  • Prometheus metrics
  • OpenTelemetry
  • Health endpoints
  • Build metadata

Developer Experience

  • Go monorepo
  • Documentation-first workflow
  • CI/CD
  • Strong testing practices
  • Semantic versioning

Technology Stack

Backend

  • Go
  • Chi
  • PostgreSQL
  • Redis
  • sqlc
  • Cobra
  • slog
  • OpenTelemetry
  • Prometheus

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Zustand
  • TanStack Query

Runtime

  • Docker
  • Podman
  • Native Processes

Tooling

  • GitHub Actions
  • GoReleaser
  • golangci-lint
  • Go Testing

Repository Structure

.
├── 📁 .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

Documentation

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

Current Roadmap

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/

Getting Started

Requirements

  • Go 1.24+
  • Git
  • Node.js (for Console)
  • Docker or Podman (optional)

Clone

git clone https://github.com/<your-username>/beaconlink.git

cd beaconlink

Build

go build ./...

Test

go test ./...

Run

go run ./cmd/beacon version

Development

BeaconLink follows a documentation-first workflow.

The general development process is:

  1. Architecture
  2. ADR (if required)
  3. RFC (if required)
  4. Documentation
  5. Implementation
  6. Testing
  7. Review
  8. Merge

No feature should be implemented without corresponding documentation.


Coding Standards

The project follows:

  • Go formatting (go fmt)
  • go vet
  • Static analysis
  • Unit testing
  • Code review
  • Semantic Versioning
  • Conventional Git workflow

Testing

Testing includes:

  • Unit tests
  • Integration tests
  • API tests
  • Runtime tests
  • Protocol tests
  • End-to-end tests
  • Benchmarks

Contributing

Contributions are welcome.

Before submitting changes:

  1. Read CONTRIBUTING.md
  2. Review the architecture documentation
  3. Follow the development workflow
  4. Ensure all tests pass
  5. Update documentation where applicable

Security

Please report security vulnerabilities responsibly.

See:

SECURITY.md

Do not disclose security issues publicly before they have been reviewed.


License

BeaconLink is licensed under the Apache License 2.0.

See:

LICENSE

Project Status

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.


Design Principles

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

Acknowledgements

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.

About

A runtime-independent platform for secure application deployment, orchestration, and distributed infrastructure management.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages