Skip to content

brightsidedeveloper/bsd-genesis

Repository files navigation

Genesis - The Foundation of the Brightside Universe

Genesis is the core framework for managing and deploying services in the Brightside Universe. It provides a structured and scalable way to define, generate, and manage APIs, infrastructure, and deployments. Whether you’re building a small service or orchestrating a federation of Kubernetes clusters, Genesis ensures clarity, maintainability, and automation at every step.

🌌 Overview

Genesis is designed to be the Terraform for Go-based services, making it easy to define applications, APIs, and deployments with a declarative, JSON-based approach. It eliminates the friction of manually writing repetitive API clients, backend handlers, and infrastructure configurations by auto-generating everything from a single source of truth.

Genesis is the backbone of Apex (Application Exchange)—a client-first API management system that lets you define, generate, and deploy APIs seamlessly.

🚀 Key Features

1️⃣ APEX - Declarative API Management

Define APIs in a structured JSON format and generate: ✅ Go backend handlers ✅ Frontend API clients ✅ TanStack Query hooks for seamless data fetching ✅ TypeScript interfaces for type safety

APEX is structured into three core components: • Schemas: Define objects and data structures in a reusable way. • Endpoints: Specify routes, methods, and security rules. • Operations: Combine schemas and endpoints into fully functioning API interactions.

Genesis eliminates the need for OpenAPI/Swagger and provides a cleaner, more structured API definition format.

2️⃣ Infrastructure & Federation

Genesis simplifies infrastructure management by allowing you to define clusters and services in a declarative JSON format. ✅ Multi-cluster federation (Built for Kubernetes) ✅ Automatic deployment of Go-based services ✅ Service discovery & gRPC-based communication

3️⃣ Modular & Scalable

Genesis supports an opinionated yet flexible structure: • Galaxies 🌌 → Kubernetes clusters • Solar Systems ☀️ → Go-based services running inside containers • Planets 🪐 → Client applications (Web, Mobile, Desktop) • Wormholes 🌀 → Secure gRPC communication channels

🛠 Usage & Workflow 1. Define your application • Create a project.json file to describe your project. • Add an apex.json file to define APIs, endpoints, and schemas. 2. Generate API clients & backend handlers • Genesis will automatically generate Go handlers, TypeScript clients, and TanStack Query hooks based on your APEX definitions. 3. Deploy services • Define a Galaxy (Kubernetes cluster) and deploy your Solar Systems (Go services). 4. Manage and iterate • Modify your APEX definitions, and Genesis will keep everything in sync.

📂 File Structure

/super-cluster # Federation of Kubernetes clusters
/galaxy-one # A Kubernetes cluster
/solar-system-one # A Go-based service
├── Dockerfile
├── main.go
├── apex.json # API definitions
├── project.json # Service metadata
/galaxy-two

🌍 The Future of Brightside Universe

Genesis is just the beginning. Future features will include: 🔹 Query execution within APEX for direct database interactions 🔹 Dynamic service discovery & load balancing 🔹 Advanced authentication strategies 🔹 Custom Terraform-like deployment definitions

Genesis is the foundation of the Brightside Universe—built for automation, scalability, and developer happiness.

📜 License

TBD

🤝 Contributing

Genesis is still evolving. Contributions, ideas, and feedback are welcome! Stay tuned for more updates.

Genesis: Build. Automate. Scale. 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published