All Projects → apache → Openwhisk Runtime Nodejs

apache / Openwhisk Runtime Nodejs

Licence: apache-2.0
Apache OpenWhisk Runtime NodeJS supports Apache OpenWhisk functions written in JavaScript for NodeJS

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Openwhisk Runtime Nodejs

Openwhisk Deploy Kube
The Apache OpenWhisk Kubernetes Deployment repository supports deploying the Apache OpenWhisk system on Kubernetes and OpenShift clusters.
Stars: ✭ 231 (+437.21%)
Mutual labels:  serverless, cloud, faas, functions, serverless-functions, functions-as-a-service, serverless-architectures, apache
Openwhisk
Apache OpenWhisk is an open source serverless cloud platform
Stars: ✭ 5,499 (+12688.37%)
Mutual labels:  serverless, cloud, faas, functions, serverless-functions, functions-as-a-service, serverless-architectures, apache
Openwhisk Runtime Php
Apache OpenWhisk Runtime PHP supports Apache OpenWhisk functions written in PHP
Stars: ✭ 26 (-39.53%)
Mutual labels:  serverless, cloud, faas, functions, serverless-functions, functions-as-a-service, serverless-architectures, apache
Openwhisk Apigateway
Apache OpenWhisk API Gateway service for exposing actions as REST interfaces.
Stars: ✭ 56 (+30.23%)
Mutual labels:  serverless, cloud, faas, serverless-functions, functions-as-a-service, serverless-architectures, apache
openwhisk-runtime-go
Apache OpenWhisk Runtime Go supports Apache OpenWhisk functions written in Go
Stars: ✭ 31 (-27.91%)
Mutual labels:  functions, apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
openwhisk-runtime-dotnet
Apache OpenWhisk Runtime .Net supports Apache OpenWhisk functions written in .Net languages
Stars: ✭ 23 (-46.51%)
Mutual labels:  functions, apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
Openwhisk Devtools
Development tools for building and deploying Apache OpenWhisk
Stars: ✭ 141 (+227.91%)
Mutual labels:  serverless, faas, functions, serverless-functions, functions-as-a-service, apache
openwhisk-runtime-docker
Apache OpenWhisk SDK for building Docker "blackbox" runtimes
Stars: ✭ 23 (-46.51%)
Mutual labels:  functions, apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
Openwhisk Cli
Apache OpenWhisk Command Line Interface (CLI)
Stars: ✭ 73 (+69.77%)
Mutual labels:  serverless, faas, functions, serverless-functions, functions-as-a-service, apache
openwhisk-runtime-python
Apache OpenWhisk Runtime Python supports Apache OpenWhisk functions written in Python
Stars: ✭ 39 (-9.3%)
Mutual labels:  functions, apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
openwhisk-runtime-java
Apache OpenWhisk Runtime Java supports Apache OpenWhisk functions written in Java and other JVM-hosted languages
Stars: ✭ 43 (+0%)
Mutual labels:  functions, apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
openwhisk-catalog
Curated catalog of Apache OpenWhisk packages to interface with event producers and consumers
Stars: ✭ 30 (-30.23%)
Mutual labels:  apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
Faas
OpenFaaS - Serverless Functions Made Simple
Stars: ✭ 20,820 (+48318.6%)
Mutual labels:  serverless, faas, functions, serverless-functions, functions-as-a-service
openwhisk-package-kafka
Apache OpenWhisk package for communicating with Kafka or Message Hub
Stars: ✭ 35 (-18.6%)
Mutual labels:  apache, faas, serverless-functions, serverless-architectures, functions-as-a-service
Fission
Fast and Simple Serverless Functions for Kubernetes
Stars: ✭ 6,646 (+15355.81%)
Mutual labels:  serverless, faas, serverless-functions, functions, functions-as-a-service
Gofn
Function process via docker provider (serverless minimalist)
Stars: ✭ 134 (+211.63%)
Mutual labels:  serverless, faas, functions, functions-as-a-service
Jazz
Platform to develop and manage serverless applications at an enterprise scale!
Stars: ✭ 254 (+490.7%)
Mutual labels:  serverless, faas, functions-as-a-service, serverless-architectures
Kubeless
Kubernetes Native Serverless Framework
Stars: ✭ 6,849 (+15827.91%)
Mutual labels:  serverless, faas, serverless-architectures
Riff
riff is for functions
Stars: ✭ 801 (+1762.79%)
Mutual labels:  serverless, faas, serverless-functions
openfaas-rstats-templates
OpenFaaS templates for R
Stars: ✭ 17 (-60.47%)
Mutual labels:  functions, faas, functions-as-a-service

Apache OpenWhisk runtimes for Node.js

License Build Status

This repository contains sources files needed to build the Node.js runtimes for Apache OpenWhisk. The build system will produce a series of docker images for each runtime version. These images are used in the platform to execute Node.js actions.

The following Node.js runtime versions (with kind & image labels) are generated by the build system:

  • Node.js 10.23.0 (nodejs:10 & openwhisk/action-nodejs-v10)
  • Node.js 12.19.1 (nodejs:12 & openwhisk/action-nodejs-v12)
  • Node.js 14.15.1 (nodejs:14 & openwhisk/action-nodejs-v14)

This README documents the build, customisation and testing of these runtime images.

Do you want to learn more about using Node.js actions to build serverless applications? Please see the main project documentation here for that information.

Usage

If the deployment of Apache OpenWhisk includes these images in the runtime manifest, use the --kind parameter to select the Node.js runtime version.

Node.js v10

wsk action update myAction myAction.js --kind nodejs:10

Node.js v12

wsk action update myAction myAction.js --kind nodejs:12

Node.js v14

wsk action update myAction myAction.js --kind nodejs:14

Images

All the runtime images are published by the project to Docker Hub @ https://hub.docker.com/u/openwhisk

These images can be used to execute Node.js actions on any deployment of Apache OpenWhisk, even those without those images defined the in runtime manifest, using the --docker action parameter.

wsk action update myAction myAction.js --docker openwhisk/action-nodejs-v12

If you build a custom version of the images, pushing those an external Docker Hub repository will allow you to use those on the Apache OpenWhisk deployment.

Runtimes Manifest

Available runtimes in Apache OpenWhisk are defined using the runtimes manifest in this file: runtimes.json

Modify the manifest and re-deploy the platform to pick up local images changes.

Development

Dockerfiles for runtime images are defined in the core directory. Each runtime version folder has a custom Dockerfile and package.json. If you need to add extra dependencies to a runtime version - modify these files.

The core/nodejsActionBase folder contains the Node.js app server used to implement the action interface, used by the platform to inject action code into the runtime and fire invocation requests. This common code is used in all runtime versions.

Build

  • Run the distDocker command to generate local Docker images for the different runtime versions.
./gradlew core:nodejs10Action:distDocker
./gradlew core:nodejs12Action:distDocker
./gradlew core:nodejs14Action:distDocker

This will return the following runtime images with the following names: action-nodejs-v10, action-nodejs-v12 and action-nodejs-v14.

Testing

  • Install project dependencies from the top-level Apache OpenWhisk project, which ensures correct versions of dependent libraries are available in the Maven cache.
./gradlew install

This command MUST BE run from the directory containing the main Apache OpenWhisk repository, not this repository's directory.

  • Build the local Docker images for the runtime versions (see the instructions above).
  • Build the custom Docker images used in local testing.
./gradlew tests:dat:docker:nodejs10docker:distDocker
./gradlew tests:dat:docker:nodejs12docker:distDocker
./gradlew tests:dat:docker:nodejs14docker:distDocker
  • Run the project tests.
./gradlew :tests:test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].