Skip to content

Latest commit

 

History

History
156 lines (70 loc) · 3.86 KB

README.md

File metadata and controls

156 lines (70 loc) · 3.86 KB

Nebulæ

enter image description here

Overview

Nebula is a universal tool designed for deploying and maintaining crypto nodes and auxiliary infrastructure. Inspired by the initial state of space where various planets begin to form, Nebula aims to provide a cohesive and scalable environment for setting up and managing blockchain networks and their supporting services.

Goals

Simplify Deployment: Streamline the process of deploying crypto nodes on bare-metal or cloud-based instances.

Automate Configuration: Automate the setup and configuration of instances with necessary dependencies.

Kubernetes Integration: Install and manage Kubernetes clusters using K0s.

Resource Management: Deploy initial Kubernetes resources seamlessly.

Modular Stacks: Allow for independent deployment of crypto stacks, monitoring, and automation tools.

Architecture

Nebula’s architecture is based on a series of fundamental steps:

  1. Provisioning: Setting up bare-metal or cloud-based instances.

  2. Configuration: Preparing instances with the required settings and dependencies.

  3. K0s Installation: Installing K0s to create a Kubernetes cluster.

  4. Initial Resources Deployment: Deploying essential Kubernetes resources like ArgoCD.

  5. Crypto Stacks Deployment: Deploying independent batches of crypto stacks, including monitoring and automation tools.

Repository Structure

nebular/
├── docs/
│   └── ...
├── scripts/
│   ├── provisioning/
│   ├── setup/
│   ├── k0s/
│   ├── resources/
│   └── crypto-stacks/
├── charts/
│   └── ...
├── examples/
│   └── ...
├── LICENSE
└── README.md

Used Tools and Scripts

Provisioning Tools: Qemu, IPXE, Terraform, Ansible

Kubernetes Distribution: K0s

Continuous Deployment: ArgoCD, Github Actions

Monitoring Tools: Prometheus, Grafana

Cloud Providers: WIP

How-to Examples

Prerequisites

Operating System: Linux, Mac OS

Tools: git, docker(I reccoment Orbstack for mac os), just

brew install just git && brew install --cask orbstack

Example: Deploying a Crypto Node

1. Clone the Repository

git clone https://github.com/yourusername/nebula.git

cd nebula

2. Provision Instances

TODO

3. Set Up Instances

TODO

4. Install K0s

Install K0s on the configured instances:

k0sctl apply

5. Deploy Initial Kubernetes Resources

Deploy ArgoCD and other initial resources:

TODO

6. Deploy Crypto Stacks

Deploy the desired crypto stacks:

TODO

TODO List

Multi-Cloud Support: Extend provisioning scripts to support more cloud providers.

CI/CD Integration: Implement continuous integration and deployment pipelines.

Enhanced Monitoring: Add more comprehensive monitoring tools and dashboards.

Documentation: Improve and expand documentation for all modules.

User Interface: Develop a GUI for easier interaction with Nebula.

Testing Framework: Implement automated testing for deployments.

Feel free to contribute to the project by submitting pull requests or opening issues for any bugs or feature requests.