Skip to content

NanoBus is a lightweight framework for building secure and scalable software services.

License

Notifications You must be signed in to change notification settings

nanobus/nanobus

Repository files navigation

NanoBus Logo

NanoBus is a lightweight framework for building secure and scalable software services.

For detailed information see the overview and architecture pages.

Install

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 simple application

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.

Tutorials and examples

Getting started
Basic web service
WebAssembly-powered web service
Dapr integration
Blog
URL Shortener
NanoChat

Community support

For additional help, you can use one of these channels to ask a question:

  • GitHub - For bug reports and feature requests.
  • Twitter - Get the product updates easily.

Developer setup

Dependencies

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

Install from source

git clone https://github.com/nanobus/nanobus.git
cd nanobus
just install

Contributing

Please read CONTRIBUTING.md for details on the code of conduct and the process for submitting pull requests.

License

This project is licensed under the Mozilla Public License Version 2.0.