GithubHelp home page GithubHelp logo

ferrybox's Introduction

ferrybox

Deno IoT endpoint for FerryBoxes operated by Akvaplan-niva.

Production

Production URL: https://ferrybox.deno.dev

Continuous integration / deployment (CI/CD)

The production service is integrated with a CI/CD pipeline on GitHub.

Code merged into main creates a new production deployment, provided all tests are green.

Notice: All git commits must be made to a feature branch and submitted via a pull request before they can be merged into main.

Features

  • Accepts FerryBox messages as (ND)JSON via HTTP POST
  • Validated messages are PUT put into cloud storage
  • Hashed passwords are protected and verified by strong cryptographic function scrypt (RFC)
  • Robust, scalable, low-latency operations via Deno Deploy's distributed edge computing network
  • Built in documentation

Use

import { createFerryBoxServer } from "./ferrybox.ts";

if (import.meta.main) {
  Deno.serve(createFerryBoxServer());
}

Configure

Configure using env variables

export ferrybox_endpoints='["ferrybox-dev1"]'
export ferrybox_cloud="azure"
export azure_account=""
export azure_key=""
export scrypt_basic_auth_users='[["username","scrypthash"]]'

Notice: The endpoint pathname is used as cloud storage bucket/container

Dev

deno task dev

Example curl POST

curl -vXPOST http://127.0.0.1:8000/ferrybox-dev1 --netrc-file .netrc -d'{}' -H "content-type: application/x-ndjson"

ferrybox's People

Contributors

cnrdh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.