NanoBus is a lightweight framework for building secure and scalable software services.
For detailed information see the overview and architecture pages.
Linux - Install from Terminal to /usr/local/bin
:
wget -q https://nanobus.io/install.sh -O - | /bin/bash
MacOS - Install from Terminal to /usr/local/bin
:
curl -fsSL https://nanobus.io/install.sh | /bin/bash
Windows - Install from Command Prompt:
powershell -Command "iwr -useb https://nanobus.io/install.ps1 | iex"
Note: Updates to PATH might not be visible until you restart your terminal application.
Manually - Select your architecture from releases.
Create a file called bus.yaml
with the following contents:
id: hello-world
version: 0.0.1
interfaces:
Greeter:
sayHello:
steps:
- name: Return greeting message
# expr will evaluate a value and assign it
# to the output of this pipeline.
uses: expr
with:
# $ or pipe represent the input data
# for this step.
value: '"Hello, " + $.name'
Then run this command from your terminal:
echo '{"name": "World!"}' | nanobus invoke bus.yaml Greeter::sayHello
This should return Hello, World!
as a JSON string. The JSON data returned by NanoBus applications can be piped to other utilities such as jq.
Getting started
Basic web service
WebAssembly-powered web service
Dapr integration
Blog
URL Shortener
NanoChat
For additional help, you can use one of these channels to ask a question:
- Discord - Discussions with the community and the team.
- GitHub - For bug reports and feature requests.
- Twitter - Get the product updates easily.
To setup a local development environment
Dependency | Check | Description |
---|---|---|
go | $ go version | Go compiler. Ensure $HOME/go/bin is in PATH. |
just | $ just --version | Like Makefile just runs the needed commands |
git clone https://github.com/nanobus/nanobus.git
cd nanobus
just install
Please read CONTRIBUTING.md for details on the code of conduct and the process for submitting pull requests.
This project is licensed under the Mozilla Public License Version 2.0.