Skip to content

mateo-moon/nebula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published