Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

This package has been deprecated

Author message:

Binaris functions are being replaced with our new scripting platform for business workflows & integration. Thanks!

binaris

7.0.0 • Public • Published

Binaris

Binaris is a fast, low-latency FaaS (Function as a Service) platform. With our performance and scale, you can run real production workloads on Node.js.

Getting up and running in seconds

  1. Install using npm
npm install -g binaris
  1. Setup Binaris credentials

    • If you already have an account it's as simple as exporting your existing credentials
    • Otherwise head over to Binaris to sign up
  2. Generate a Binaris template function

# generates simple NodeJS template function 
bn create node8 hellofunc
  1. Deploy a function
# makes the function available via Binaris cloud 
bn deploy hellofunc
  1. Invoke a function
# calls the function endpoint via https 
bn invoke hellofunc
  1. Make changes to a function
git diff
--- a/function.js
+++ b/function.js
 
-    console.log('Hello World');
+    console.log('Hello Binaris');
 
# redeploy the function 
bn deploy hellofunc
  1. Get logs for a function
bn logs hellofunc

It's as simple as that.

Running without Node & NPM

There's a docker version of the Binaris CLI, published on Dockerhub as binaris/bn.

Usage

To run in the current directory:

 
docker run --rm -v $(pwd):/src binaris/bn --help
 

You'll want to forward your API key. So add -e BINARIS_API_KEY like so:

 
docker run --rm -e BINARIS_API_KEY -v $(pwd):/src binaris/bn
 

For convenience, you can create an alias for this in bash:

 
alias bn='docker run --rm -e BINARIS_API_KEY -v $(pwd):/src binaris/bn'
bn create node8 hello
bn deploy hello
bn invoke hello
 

Storing secrets and other configuration parameters

You can pass configuration parameters to functions as part of the deploy command. These parameters will be available to the function during runtime as environment variables. All parameters are encrypted at rest and in-transit, which makes them the preferred way to store API keys, passwords, etc.

To pass parameters into a function, add an env: section to binaris.yml, like so:

functions:
  hello:
    file: function.js
    entrypoint: handler
    runtime: node8
    env:
      SOME_API_KEY: XXXXXXXXXXX

If a parameter is sensitive and you don't want to commit it to SCM, you can leave out the value in binaris.yml:

functions:
  hello:
    file: function.js
    entrypoint: handler
    runtime: node8
    env:
      SOME_API_KEY:

And pass it as an environment variable to the deploy command:

You can then access these parameters as environment variables:

function.js

exports.handler = () => {
  const apiKey = process.env.SOME_API_KEY;
  // ...
}

Or in Python:

import os
 
def handler(body, req):
    apiKey = os.environ['SOME_API_KEY']
    # ... 

Only string values are supported in the env: section.

SOME_API_KEY=XXXXXXX bn deploy hello

Learn more about the Binaris platform at the developer resources page.

This project is licensed under the terms of the MIT license

Keywords

none

Install

npm i binaris

DownloadsWeekly Downloads

100

Version

7.0.0

License

MIT

Unpacked Size

153 kB

Total Files

59

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar