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.
• 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:
-
Provisioning: Setting up bare-metal or cloud-based instances.
-
Configuration: Preparing instances with the required settings and dependencies.
-
K0s Installation: Installing K0s to create a Kubernetes cluster.
-
Initial Resources Deployment: Deploying essential Kubernetes resources like ArgoCD.
-
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
• Operating System: Linux, Mac OS
• Tools: git, docker(I reccoment Orbstack for mac os), just
brew install just git && brew install --cask orbstack
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.