Skip to content
This repository has been archived by the owner on Dec 9, 2024. It is now read-only.

Latest commit

 

History

History
70 lines (51 loc) · 3.22 KB

README.md

File metadata and controls

70 lines (51 loc) · 3.22 KB

Serverless Multicloud Library

Build Status npm (scoped)

The Serverless @multicloud library provides an easy way to build Serverless handlers in NodeJS using a cloud agnostic library that can then be deployed to supported cloud providers.

In addition to a normalized API the @multicloud library supports reusable middleware pipeline similar to the Express framework

Supported Cloud Providers

The following is a list of the currently support cloud providers:

Microsoft Azure (@multicloud/sls-azure)

Build Status

The Azure package contains Azure specific implementations of core components. See Azure readme for additional information

Amazon Web Services (@multicloud/sls-aws)

Build Status

The AWS package contains AWS specific implementations of core components. See AWS readme for additional information

Installation

Serverless @multicloud library for Node can be installed via NPM

# Installs core components as as well as run-time dependencies for Azure & AWS
npm install @multicloud/sls-core @multicloud/sls-azure @multicloud/sls-aws --save

Example

const { App } = require("@multicloud/sls-core");
const { AzureModule } = require("@multicloud/sls-azure");
const { AwsModule } = require("@multicloud/sls-aws");
const app = new App(new AzureModule(), new AwsModule());

module.exports.handler = app.use([], async (context) => {
  const { req } = context;
  const name = req.query.get("name");

  if (name) {
    context.send(`Hello ${name}`, 200);
  }
  else {
    context.send("Please pass a name on the query string or in the request body", 400);
  }
});

Contributing

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

Welcome, and thanks in advance for your help! Please follow these simple guidelines 👍

Licensing

Serverless is licensed under the MIT License.

All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.