A simple cloud provider using gRPC
The n0stack is a simple cloud provider using gRPC.
The n0stack is...
Cloud providers have various forms depending on users. This problem has been solved with many options and add-ons (e.g. OpenStack configuration file is very long.) It is difficult to adapt to the application with options, therefore it is necessary to read or rewrite long abstracted code. I think it is better to code it yourself from the beginning.
There are some problems to develop cloud providers from scratch: no libraries, software quality, man-hours, and deployment. The n0stack wants to solve these problems.
wget https://raw.githubusercontent.com/n0stack/n0stack/master/deploy/docker-compose.yml
docker-compose up -d
docker run -it --rm -v $PWD:/dst n0stack/n0stack cp /usr/local/bin/n0core /dst
./n0core install agent -a "--node-api-endpoint=localhost:20180 --location=////1"
User documentations and specifications is readthedocs.
Golang library documentations is GoDoc.
The final goal of n0stack is to represent the state of all clusters with n0proto.
Implementations such as n0core manipulates the cluster according to the information specified by n0proto.
The implementation of n0proto is left to each developer.
This repository is just a reference implementation.
However, please share actively usable libraries such as n0core/pkg/driver
.
Protobuf definitions for all of n0stack services.
CLI for n0stack API.
Web UI for n0stack API.
BFF(Backends for Frontend) of n0stack API. This provide features: API gateway, authentication, authorization and so on.
The example for implementations about n0stack API.
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)make build-builder # once
make up