This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new a74e821 Automatic Site Publish by Jenkins
a74e821 is described below
commit a74e821491ca9724038a9371dca7cf13d347e42b
Author: jenkins <[email protected]>
AuthorDate: Thu Nov 8 23:26:34 2018 +0000
Automatic Site Publish by Jenkins
---
community.html | 2 +-
css/main-v1.css | 2 +-
documentation.html | 2103 ++++++++++++++++++++++++++++------------------------
downloads.html | 2 +-
events.html | 2 +-
feed.xml | 2 +-
index.html | 2 +-
slack.html | 2 +-
8 files changed, 1149 insertions(+), 968 deletions(-)
diff --git a/community.html b/community.html
index 24d9847..f86eaaf 100644
--- a/community.html
+++ b/community.html
@@ -15,7 +15,7 @@
<link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png"
sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png"
sizes="16x16">
<link rel="manifest" href="/images/favicon/manifest.json">
- <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
color="#5bbad5">
+ <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
<meta name="msapplication-config"
content="/images/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
diff --git a/css/main-v1.css b/css/main-v1.css
index 0f6b6e5..c13532d 100644
--- a/css/main-v1.css
+++ b/css/main-v1.css
@@ -1 +1 @@
-html,body{margin:0;padding:0}input,button{outline:none}button{cursor:pointer}a{text-decoration:none}.clear{display:block;clear:both}*{box-sizing:border-box;background:none;border:0}body{font-family:"Roboto",sans-serif}h1,h2,h3,h4,h5,h6{font-weight:500;margin:0}h1{font-size:32px;line-height:normal}h2{font-size:28px;line-height:normal}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:28px}h5{font-size:16px;line-height:24px}h6{font-size:14px;font-style:italic;line-height:24px
[...]
+html,body{margin:0;padding:0}input,button{outline:none}button{cursor:pointer}a{text-decoration:none}.clear{display:block;clear:both}*{box-sizing:border-box;background:none;border:0}body{font-family:"Roboto",sans-serif}h1,h2,h3,h4,h5,h6{font-weight:500;margin:0}h1{font-size:32px;line-height:normal}h2{font-size:28px;line-height:normal}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:28px}h5{font-size:16px;line-height:24px}h6{font-size:14px;font-style:italic;line-height:24px
[...]
diff --git a/documentation.html b/documentation.html
index 5435553..e3ccef0 100644
--- a/documentation.html
+++ b/documentation.html
@@ -15,7 +15,7 @@
<link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png"
sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png"
sizes="16x16">
<link rel="manifest" href="/images/favicon/manifest.json">
- <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
color="#5bbad5">
+ <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
<meta name="msapplication-config"
content="/images/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
@@ -177,8 +177,8 @@ function addListenersToSections()
<li><a href="#openwhisk_architecture">OpenWhisk
Architecture</a></li>
<li class="index-menu-toggle"><a
href="#openwhisk_deployment">OpenWhisk Deployment</a></li>
<ul class="index-menuitems">
- <li><a href="#deploy_docker_compose">Docker
Compose</a></li>
<li><a href="#deploy_kubernetes">Kubernetes</a></li>
+ <li><a href="#deploy_docker_compose">Docker
Compose</a></li>
<li><a href="#deploy_mesos">Mesos</a></li>
<li><a href="#deploy_openshift">OpenShift</a></li>
<li><a href="#deploy_ansible">Ansible</a></li>
@@ -280,682 +280,863 @@ function addListenersToSections()
</div>
<section id="whiskNodes">
- <main class="doc">
- <div class="content">
- <a class="indexable" id="documentation"></a>
- <h2>Documentation</h2>
- <div>
- <p>There are many resources for learning about OpenWhisk;
this page attempts to organize, describe, index and link to the essential
information, wherever it resides, to help users in getting started. In
general, much of the best information is in the actual project repositories and
we encourage you to seek detailed and in-depth information there.</p>
- </div>
- </div>
- </main>
-
- <main class="doc">
- <div class="content">
- <a class="indexable" id="project-structure"></a>
- <h2>Project Structure</h2>
- <p>OpenWhisk is comprised of multiple repositories that can be
found in Apache GitHub (using a name query by repository):</p>
- <p><a
href="https://github.com/apache?q=openwhisk">https://github.com/apache?q=openwhisk</a></p>
- <p>For convenience, here is a listing of current Apache OpenWhisk
project repositories (by category).</p>
- <p><strong>Note:</strong> OpenWhisk repositories follow a naming
convention where all repo starts with <i>incubator</i>, for example,
<i>openwhisk-cli</i> GitHub repository is named
<i>incubator-openwhisk-cli</i>.</p>
- <div class="flow-columns">
- <div class="project-structure-repo theme-deeper-sea-green">
- <h4>Platform</h4>
- <p>Primary source code repositories including platform
code, run books, tests and more.</p>
- <p class="repo-title border-deeper-sea-green">
- <a
-
href="https://github.com/apache/incubator-openwhisk"
- title="Core OpenWhisk repository including
controller, invoker, run books, and more.">
- openwhisk
- </a>
- </p>
- <p class="repo-title border-deeper-sea-green">
- <a
-
href="https://github.com/apache/incubator-openwhisk-cli"
- title="Pluggable Command Line Interface (CLI) for
wsk command using the Cobra framework.">
- openwhisk-cli
- </a>
- </p>
- <p class="repo-title border-deeper-sea-green">
- <a
-
href="https://github.com/apache/incubator-openwhisk-apigateway"
- title="A performant API Gateway based on Openresty
and NGINX.">
- openwhisk-apigateway
- </a>
- </p>
- <p class="repo-title border-deeper-sea-green">
- <a
-
href="https://github.com/apache/incubator-openwhisk-catalog"
- title="Catalog of built-in system, utility, test
and sample Actions, Feeds and provider integration services and catalog
packaging tooling.">
- openwhisk-catalog
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-deeper-sky-blue">
- <h4>Runtimes</h4>
- <p>OpenWhisk supports several languages via Docker runtime
containers.</p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs"
- title="Apache openwhisk nodejs runtime">
- openwhisk-runtime-nodejs
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-docker"
- title="Apache openwhisk docker runtime">
- openwhisk-runtime-docker
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-python"
- title="Apache openwhisk python runtime">
- openwhisk-runtime-python
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-go"
- title="Apache openwhisk go runtime">
- openwhisk-runtime-go
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-swift"
- title="Apache openwhisk swift runtime">
- openwhisk-runtime-swift
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-php"
- title="Apache openwhisk php runtime">
- openwhisk-runtime-php
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-java"
- title="Apache openwhisk java runtime">
- openwhisk-runtime-java
- </a>
- </p>
- <p class="repo-title border-deeper-sky-blue">
- <a
-
href="https://github.com/apache/incubator-openwhisk-runtime-ruby"
- title="Apache openwhisk ruby runtime">
- openwhisk-runtime-ruby
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-darkgoldenrod">
- <h4>Deployments</h4>
- <p>OpenWhisk can be deployed and configured on variety of
platforms.</p>
- <p class="repo-title border-darkgoldenrod">
- <a
-
href="https://github.com/apache/incubator-openwhisk-deploy-kube"
- title="This project can be used to deploy Apache
OpenWhisk to a Kubernetes cluster">
- openwhisk-deploy-kube
- </a>
- </p>
- <p class="repo-title border-darkgoldenrod">
- <a
-
href="https://github.com/apache/incubator-openwhisk-devtools/blob/master/docker-compose/README.md"
- title="An easy way to try OpenWhisk locally is to
use Docker Compose.">
- openwhisk-devtools/docker-compose
- </a>
- </p>
- <p class="repo-title border-darkgoldenrod">
- <a
-
href="https://github.com/apache/incubator-openwhisk-deploy-mesos"
- title="Apache OpenWhisk deployment scripts and
configuration files for running under Apache Mesos.">
- openwhisk-deploy-mesos
- </a>
- </p>
- <p class="repo-title border-darkgoldenrod">
- <a
-
href="https://github.com/apache/incubator-openwhisk-deploy-openshift"
- title="This project can be used to deploy Apache
OpenWhisk to the OpenShift platform">
- openwhisk-deploy-openshift
- </a>
- </p>
- <p class="repo-title border-darkgoldenrod">
- <a
-
href="https://github.com/apache/incubator-openwhisk/blob/master/ansible/README.md#deploying-openwhisk-using-ansible"
- title="Deploy OpenWhisk locally using Ansible">
- openwhisk/ansible
- </a>
- </p>
- <p class="repo-title border-darkgoldenrod">
- <a
href="https://github.com/apache/incubator-openwhisk#vagrant-setup"
title="Deploy OpenWhisk locally using Vagrant">
- openwhisk/vagrant-setup
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-deeper-aquamarine">
- <h4>Tooling</h4>
- <p>OpenWhisk provides variety of tools around deployment
and development.</p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-wskdeploy"
- title="Utility to deploy all your OpenWhisk
Packages, Actions, Triggers, and Rules using a single command!">
- openwhisk-wskdeploy
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-devtools"
- title="This repository provides developer tools
that help with local development, testing and operation of OpenWhisk.">
- openwhisk-devtools
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-debugger"
- title="This repository provides wskdb, the
OpenWhisk debugger">
- openwhisk-debugger
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-playground"
- title="This library provides functionality of
executing a snippet of source code as OpenWhisk action for OpenWhisk Xcode
Source Editor Extension in order to test Swift OpenWhisk functions quickly.">
- openwhisk-playground
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-vscode"
- title="This is a prototype extension for Visual
Studio Code that enables complete round trip cycles for authoring OpenWhisk
actions inside the editor. ">
- openwhisk-vscode
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-xcode"
- title="This repository has three projects,
OpenWhisk Xcode Extension, WhiskBot - OpenWhisk Watson Conversation Chatbot,
and wskTools">
- openwhisk-xcode
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-darksalmon">
- <h4>Packages</h4>
- <p>Several common service integrations are made available
as packages. By default they are registered in the OpenWHisk catalog, under the
<em>/whisk.system/</em> namespace, and include:</p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-alarms"
- title="Apache OpenWhisk package that can be used
to create periodic, time-based alarms">
- openwhisk-package-alarms
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-cloudant"
- title="The /whisk.system/cloudant package enables
you to work with a Cloudant database">
- openwhisk-package-cloudant
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-kafka"
- title="Apache OpenWhisk package for communicating
with Kafka or Message Hub">
- openwhisk-package-kafka
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-deploy"
- title="The /whisk.system/deploy package offers a
convenient way for you to describe and deploy any part of the OpenWhisk
programming model using a Manifest file written in YAML.">
- openwhisk-package-deploy
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-pushnotifications"
- title="The /whisk.system/pushnotifications package
enables you to work with a push service.">
- openwhisk-package-pushnotifications
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-rss"
- title="This package allows users to subscribe to
RSS/ATOM feeds and receive events when a new feed item is available.">
- openwhisk-package-rss
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-jira"
- title="This package includes actions that interact
with JIRA software software development tool used for issue tracking, and
project management functions.">
- openwhisk-package-jira
- </a>
- </p>
- <p class="repo-title border-darksalmon">
- <a
-
href="https://github.com/apache/incubator-openwhisk-package-template"
- title="This package is a template for Openwhisk
Packages, it can be used to build, test and integrate new packages.">
- openwhisk-package-template
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-deeper-aquamarine">
- <h4>Clients and SDK</h4>
- <p>Here are the clients to access to OpenWhisk API:</p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-client-go"
- title="This project openwhisk-client-go is a Go
client library to access Openwhisk API">
- openwhisk-client-go
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-client-js"
- title="JavaScript client library for the OpenWhisk
platform">
- openwhisk-client-js
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-client-swift"
- title="Swift client SDK for OpenWhisk with support
for iOS, WatchOS2, and Darwin CLI apps">
- openwhisk-client-swift
- </a>
- </p>
- <p class="repo-title border-deeper-aquamarine">
- <a
-
href="https://github.com/apache/incubator-openwhisk-client-python"
- title="REST API of OpenWhisk can be used directly
from Python">
- openwhisk-client-python
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-darkorange">
- <h4>Samples</h4>
- <p>Few example applications to demonstrate OpenWhisk
features and functionalities:</p>
- <p class="repo-title border-darkorange">
- <a
-
href="https://github.com/apache/incubator-openwhisk-sample-slackbot"
- title="This repository contains
proof-of-concept-quality code to deploy a Slackbot with the capability to run
OpenWhisk actions.">
- openwhisk-sample-slackbot
- </a>
- </p>
- <p class="repo-title border-darkorange">
- <a
-
href="https://github.com/apache/incubator-openwhisk-slackinvite"
- title="Invite for Apache OpenWhisk Team on Slack">
- openwhisk-slackinvite
- </a>
- </p>
- <p class="repo-title border-darkorange">
- <a
-
href="https://github.com/apache/incubator-openwhisk-GitHubSlackBot"
- title="This bot is designed to post updates to
Slack when a GitHub pull request is ready to merge or a list of pull requests
are under review for certain days and haven't merged.">
- openwhisk-GitHubSlackBot
- </a>
- </p>
- <p class="repo-title border-darkorange">
- <a
-
href="https://github.com/apache/incubator-openwhisk-sample-matos"
- title="Sample application with Message Hub and
Object Store">
- openwhisk-sample-matos
- </a>
- </p>
- <p class="repo-title border-darkorange">
- <a
-
href="https://github.com/apache/incubator-openwhisk-tutorial"
- title="An interactive learning environment for the
Apache OpenWhisk command line">
- openwhisk-tutorial
- </a>
- </p>
- <p class="repo-title border-darkorange">
- <a
-
href="https://github.com/apache/incubator-openwhisk-workshop"
- title="OpenWhisk workshop to help developers learn
how to build serverless applications using the platform.">
- openwhisk-workshop
- </a>
- </p>
- </div>
- <div class="project-structure-repo theme-darkred">
- <h4>Others</h4>
- <p>Few other misc. but crucial repositories.</p>
- <p class="repo-title border-darkred">
- <a
-
href="https://github.com/apache/incubator-openwhisk-release"
- title="This repository provides Release Management
of all designated Apache OpenWhisk project repositories">
- openwhisk-release
- </a>
- </p>
- <p class="repo-title border-darkred">
- <a
-
href="https://github.com/apache/incubator-openwhisk-website"
- title="This repository contains source of this
website (openwhisk.incubator.apache.org) which is built using Jekyll">
- openwhisk-website
- </a>
- </p>
- <p class="repo-title border-darkred">
- <a
-
href="https://github.com/apache/incubator-openwhisk-external-resources"
- title="Curated list of awesome OpenWhisk things">
- openwhisk-external-resources
- </a>
- </p>
- </div>
- </div>
- </div>
- </main>
-
- <main class="doc">
- <div class="content">
- <h5>OpenWhisk documentation is organized by the following
roles:</h5>
- <ul>
- <li><a href="#operators">Operators</a>: users who deploy,
configure, and host the Apache OpenWhisk Function-as-a-Service platform
- for development, testing and/or production.</li>
- <li><a href="#developers">Developers</a>: end users
- developing functions/actions, creating packages, feeds, and
feed provider services using project APIs, clients and tooling.</li>
- <li><a href="#contributors">Contributors</a>: developers
designing and developing backend architectural components and tooling that
comprise the OpenWhisk platform and its project ecosystem.</li>
- </ul>
- </div>
- </main>
-
- <!-- Operators Section -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="operators"></a>
- <h2>Operators</h2>
- </div>
- </main>
-
- <!-- Deployment section under Operator -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="openwhisk_architecture"></a>
- <h3>OpenWhisk Architecture</h3>
- <img style="padding-top:20px;" width="400px"
src="https://raw.githubusercontent.com/apache/incubator-openwhisk/master/docs/images/OpenWhisk_flow_of_processing.png"
alt="OpenWhisk Architecture"/>
- <p>
- The above diagram depicts the high-level architecture of
OpenWhisk. From Nginx to Kafka to Docker,
- multiple technologies are powering Apache OpenWhisk - Open
Source Serverless Cloud Platform.
- You can read about the list of OpenWhisk components and its
internal flow of processing
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/about.md#the-internal-flow-of-processing">here</a>.
- </p>
- <a class="indexable" id="openwhisk_deployment"></a>
- <h3>OpenWhisk Deployment</h3>
- <p>
- OpenWhisk supports different installation methods for core
OpenWhisk platform components. You can choose one of the following deployment
methods based on your platform:
- </p>
- <a class="indexable" id="deploy_docker_compose"></a>
- <h4>Docker Compose</h4>
- <p>
- The easiest way to start deploying OpenWhisk is to get Docker
installed on Mac, Windows or Linux.
- This does not give you a production deployment but gives you
enough of the pieces to start writing functions and seeing them executing.
- </p>
- <div class="terminal">
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="documentation"></a>
+ <h2>Documentation</h2>
+ <div>
+ <p>There are many resources for learning about OpenWhisk;
this page attempts to organize, describe, index and link to the essential
information, wherever it resides, to help users in getting started. In
general, much of the best information is in the actual project repositories and
we encourage you to seek detailed and in-depth information there.</p>
+ </div>
+ </div>
+ </main>
+
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="project-structure"></a>
+ <h2>Project Structure</h2>
+ <p>OpenWhisk is comprised of multiple repositories that can be
found in Apache GitHub (using a name query by repository):</p>
+ <p><a
href="https://github.com/apache?q=openwhisk">https://github.com/apache?q=openwhisk</a></p>
+ <p>For convenience, here is a listing of current Apache
OpenWhisk project repositories (by category).</p>
+ <p><strong>Note:</strong> OpenWhisk repositories follow a naming
convention where all repo starts with <i>incubator</i>, for example,
<i>openwhisk-cli</i> GitHub repository is named
<i>incubator-openwhisk-cli</i>.</p>
+ <div class="flow-columns">
+ <div class="project-structure-repo theme-deeper-sea-green">
+ <h4>Platform</h4>
+ <p>Primary source code repositories including platform
code, run books, tests and more.</p>
+ <p class="repo-title border-deeper-sea-green">
+ <a
+
href="https://github.com/apache/incubator-openwhisk"
+ title="Core OpenWhisk repository including
controller, invoker, run books, and more.">
+ openwhisk
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sea-green">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-cli"
+ title="Pluggable Command Line Interface (CLI)
for wsk command using the Cobra framework.">
+ openwhisk-cli
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sea-green">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-apigateway"
+ title="A performant API Gateway based on
Openresty and NGINX.">
+ openwhisk-apigateway
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sea-green">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-catalog"
+ title="Catalog of built-in system, utility, test
and sample Actions, Feeds and provider integration services and catalog
packaging tooling.">
+ openwhisk-catalog
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-deeper-sky-blue">
+ <h4>Runtimes</h4>
+ <p>OpenWhisk supports several languages via Docker
runtime containers.</p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs"
+ title="Apache openwhisk nodejs runtime">
+ openwhisk-runtime-nodejs
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-docker"
+ title="Apache openwhisk docker runtime">
+ openwhisk-runtime-docker
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-python"
+ title="Apache openwhisk python runtime">
+ openwhisk-runtime-python
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-go"
+ title="Apache openwhisk go runtime">
+ openwhisk-runtime-go
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-swift"
+ title="Apache openwhisk swift runtime">
+ openwhisk-runtime-swift
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-php"
+ title="Apache openwhisk php runtime">
+ openwhisk-runtime-php
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-java"
+ title="Apache openwhisk java runtime">
+ openwhisk-runtime-java
+ </a>
+ </p>
+ <p class="repo-title border-deeper-sky-blue">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-runtime-ruby"
+ title="Apache openwhisk ruby runtime">
+ openwhisk-runtime-ruby
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-darkgoldenrod">
+ <h4>Deployments</h4>
+ <p>OpenWhisk can be deployed and configured on variety
of platforms.</p>
+ <p class="repo-title border-darkgoldenrod">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-deploy-kube"
+ title="This project can be used to deploy Apache
OpenWhisk to a Kubernetes cluster">
+ openwhisk-deploy-kube
+ </a>
+ </p>
+ <p class="repo-title border-darkgoldenrod">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-devtools/blob/master/docker-compose/README.md"
+ title="An easy way to try OpenWhisk locally is
to use Docker Compose.">
+ openwhisk-devtools/docker-compose
+ </a>
+ </p>
+ <p class="repo-title border-darkgoldenrod">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-deploy-mesos"
+ title="Apache OpenWhisk deployment scripts and
configuration files for running under Apache Mesos.">
+ openwhisk-deploy-mesos
+ </a>
+ </p>
+ <p class="repo-title border-darkgoldenrod">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-deploy-openshift"
+ title="This project can be used to deploy Apache
OpenWhisk to the OpenShift platform">
+ openwhisk-deploy-openshift
+ </a>
+ </p>
+ <p class="repo-title border-darkgoldenrod">
+ <a
+
href="https://github.com/apache/incubator-openwhisk/blob/master/ansible/README.md#deploying-openwhisk-using-ansible"
+ title="Deploy OpenWhisk locally using Ansible">
+ openwhisk/ansible
+ </a>
+ </p>
+ <p class="repo-title border-darkgoldenrod">
+ <a
href="https://github.com/apache/incubator-openwhisk#vagrant-setup"
title="Deploy OpenWhisk locally using Vagrant">
+ openwhisk/vagrant-setup
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-deeper-aquamarine">
+ <h4>Tooling</h4>
+ <p>OpenWhisk provides variety of tools around deployment
and development.</p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-wskdeploy"
+ title="Utility to deploy all your OpenWhisk
Packages, Actions, Triggers, and Rules using a single command!">
+ openwhisk-wskdeploy
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-devtools"
+ title="This repository provides developer tools
that help with local development, testing and operation of OpenWhisk.">
+ openwhisk-devtools
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-debugger"
+ title="This repository provides wskdb, the
OpenWhisk debugger">
+ openwhisk-debugger
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-playground"
+ title="This library provides functionality of
executing a snippet of source code as OpenWhisk action for OpenWhisk Xcode
Source Editor Extension in order to test Swift OpenWhisk functions quickly.">
+ openwhisk-playground
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-vscode"
+ title="This is a prototype extension for Visual
Studio Code that enables complete round trip cycles for authoring OpenWhisk
actions inside the editor. ">
+ openwhisk-vscode
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-xcode"
+ title="This repository has three projects,
OpenWhisk Xcode Extension, WhiskBot - OpenWhisk Watson Conversation Chatbot,
and wskTools">
+ openwhisk-xcode
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-darksalmon">
+ <h4>Packages</h4>
+ <p>Several common service integrations are made
available as packages. By default they are registered in the OpenWHisk catalog,
under the <em>/whisk.system/</em> namespace, and include:</p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-alarms"
+ title="Apache OpenWhisk package that can be used
to create periodic, time-based alarms">
+ openwhisk-package-alarms
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-cloudant"
+ title="The /whisk.system/cloudant package
enables you to work with a Cloudant database">
+ openwhisk-package-cloudant
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-kafka"
+ title="Apache OpenWhisk package for
communicating with Kafka or Message Hub">
+ openwhisk-package-kafka
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-deploy"
+ title="The /whisk.system/deploy package offers a
convenient way for you to describe and deploy any part of the OpenWhisk
programming model using a Manifest file written in YAML.">
+ openwhisk-package-deploy
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-pushnotifications"
+ title="The /whisk.system/pushnotifications
package enables you to work with a push service.">
+ openwhisk-package-pushnotifications
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-rss"
+ title="This package allows users to subscribe to
RSS/ATOM feeds and receive events when a new feed item is available.">
+ openwhisk-package-rss
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-jira"
+ title="This package includes actions that
interact with JIRA software software development tool used for issue tracking,
and project management functions.">
+ openwhisk-package-jira
+ </a>
+ </p>
+ <p class="repo-title border-darksalmon">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-package-template"
+ title="This package is a template for Openwhisk
Packages, it can be used to build, test and integrate new packages.">
+ openwhisk-package-template
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-deeper-aquamarine">
+ <h4>Clients and SDK</h4>
+ <p>Here are the clients to access to OpenWhisk API:</p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-client-go"
+ title="This project openwhisk-client-go is a Go
client library to access Openwhisk API">
+ openwhisk-client-go
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-client-js"
+ title="JavaScript client library for the
OpenWhisk platform">
+ openwhisk-client-js
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-client-swift"
+ title="Swift client SDK for OpenWhisk with
support for iOS, WatchOS2, and Darwin CLI apps">
+ openwhisk-client-swift
+ </a>
+ </p>
+ <p class="repo-title border-deeper-aquamarine">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-client-python"
+ title="REST API of OpenWhisk can be used
directly from Python">
+ openwhisk-client-python
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-darkorange">
+ <h4>Samples</h4>
+ <p>Few example applications to demonstrate OpenWhisk
features and functionalities:</p>
+ <p class="repo-title border-darkorange">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-sample-slackbot"
+ title="This repository contains
proof-of-concept-quality code to deploy a Slackbot with the capability to run
OpenWhisk actions.">
+ openwhisk-sample-slackbot
+ </a>
+ </p>
+ <p class="repo-title border-darkorange">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-slackinvite"
+ title="Invite for Apache OpenWhisk Team on
Slack">
+ openwhisk-slackinvite
+ </a>
+ </p>
+ <p class="repo-title border-darkorange">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-GitHubSlackBot"
+ title="This bot is designed to post updates to
Slack when a GitHub pull request is ready to merge or a list of pull requests
are under review for certain days and haven't merged.">
+ openwhisk-GitHubSlackBot
+ </a>
+ </p>
+ <p class="repo-title border-darkorange">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-sample-matos"
+ title="Sample application with Message Hub and
Object Store">
+ openwhisk-sample-matos
+ </a>
+ </p>
+ <p class="repo-title border-darkorange">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-tutorial"
+ title="An interactive learning environment for
the Apache OpenWhisk command line">
+ openwhisk-tutorial
+ </a>
+ </p>
+ <p class="repo-title border-darkorange">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-workshop"
+ title="OpenWhisk workshop to help developers
learn how to build serverless applications using the platform.">
+ openwhisk-workshop
+ </a>
+ </p>
+ </div>
+ <div class="project-structure-repo theme-darkred">
+ <h4>Others</h4>
+ <p>Few other misc. but crucial repositories.</p>
+ <p class="repo-title border-darkred">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-release"
+ title="This repository provides Release
Management of all designated Apache OpenWhisk project repositories">
+ openwhisk-release
+ </a>
+ </p>
+ <p class="repo-title border-darkred">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-website"
+ title="This repository contains source of this
website (openwhisk.incubator.apache.org) which is built using Jekyll">
+ openwhisk-website
+ </a>
+ </p>
+ <p class="repo-title border-darkred">
+ <a
+
href="https://github.com/apache/incubator-openwhisk-external-resources"
+ title="Curated list of awesome OpenWhisk things">
+ openwhisk-external-resources
+ </a>
+ </p>
+ </div>
+ </div>
+ </div>
+ </main>
+
+ <main class="doc">
+ <div class="content">
+ <h5>OpenWhisk documentation is organized by the following
roles:</h5>
+ <ul>
+ <li><a href="#operators">Operators</a>: users who deploy,
configure, and host the Apache OpenWhisk Function-as-a-Service platform
+ for development, testing and/or production.</li>
+ <li><a href="#developers">Developers</a>: end users
+ developing functions/actions, creating packages, feeds, and
feed provider services using project APIs, clients and tooling.</li>
+ <li><a href="#contributors">Contributors</a>: developers
designing and developing backend architectural components and tooling that
comprise the OpenWhisk platform and its project ecosystem.</li>
+ </ul>
+ </div>
+ </main>
+
+ <!-- Operators Section -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="operators"></a>
+ <h2>Operators</h2>
+ </div>
+ </main>
+
+ <!-- Deployment section under Operator -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="openwhisk_architecture"></a>
+ <h3>OpenWhisk Architecture</h3>
+ <img style="padding-top:20px; width: 400px;"
src="https://raw.githubusercontent.com/apache/incubator-openwhisk/master/docs/images/OpenWhisk_flow_of_processing.png"
alt="OpenWhisk Architecture"/>
+ <p>
+ The above diagram depicts the high-level architecture of
OpenWhisk. From Nginx to Kafka to Docker,
+ multiple technologies are powering Apache OpenWhisk - Open
Source Serverless Cloud Platform.
+ You can read about the list of OpenWhisk components and its
internal flow of processing
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/about.md#the-internal-flow-of-processing">here</a>.
+ </p>
+ <a class="indexable" id="openwhisk_deployment"></a>
+ <h3>OpenWhisk Deployment</h3>
+ <p>
+ OpenWhisk supports different installation methods for core
OpenWhisk platform components. You can choose one of the following deployment
methods based on your platform:
+ </p>
+ <a class="indexable" id="deploy_kubernetes"></a>
+ <h4>Kubernetes</h4>
+ <p>
+ OpenWhisk can be deployed using <a
href="https://helm.sh/">Helm</a> charts on
+ Kubernetes provisioned locally or from a public cloud
provider.
+ </p>
+ <p>Please refer to:
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md#kubernetes">Deploy
OpenWhisk to a Kubernetes Cluster</a>
+ for detailed deployment instructions which includes specific
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md#customize-the-deployment">customizations</a>
+ including Docker Desktop (Mac, Windows), Minikube, Google,
IBM Cloud, etc.).
+ </p>
+ <a class="indexable" id="deploy_docker_compose"></a>
+ <h4>Docker Compose</h4>
+ <p>
+ One of the easiest way to start deploying OpenWhisk is to get
+ Docker installed on Mac, Windows or Linux.
+ This does not give you a production deployment but gives you
+ enough of the pieces to start writing functions and seeing
them
+ executing.
+ However, if you like using Docker directly, we recommend
+ using one of our <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md#kubernetes">Kubernetes-Docker
options</a>.
+ </p>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>git clone
https://github.com/apache/incubator-openwhisk-devtools.git
<span class="gp">$ </span><span class="nb">cd
</span>incubator-openwhisk-devtools/docker-compose
<span class="gp">$ </span>make quick-start</code></pre></figure>
- </div>
- <p>
- For more detailed instructions, see the
- <a
href="https://github.com/apache/incubator-openwhisk-devtools/blob/master/docker-compose/README.md">OpenWhisk
with Docker Compose project</a>.
- </p>
- <a class="indexable" id="deploy_kubernetes"></a>
- <h4>Kubernetes</h4>
- <p>
- OpenWhisk can be installed on Minikube, or on a managed
Kubernetes cluster provisioned from a public cloud provider,
- or on a Kubernetes cluster you manage yourself. Please refer to
- <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md">Deploy
OpenWhisk to a Kubernetes Cluster</a>
- for detailed deployment instructions.
- </p>
- <a class="indexable" id="deploy_mesos"></a>
- <h4>Mesos</h4>
- <p>
- <a
href="https://github.com/apache/incubator-openwhisk-deploy-mesos/blob/master/README.md">Deploy
OpenWhisk to a Mesos Cluster</a>
- is under active development.
- </p>
- <a class="indexable" id="deploy_openshift"></a>
- <h4>OpenShift</h4>
- <p>
- <a
href="https://github.com/apache/incubator-openwhisk-deploy-openshift/blob/master/README.md">Here</a>
- are the instructions and details on how to deploy OpenWhisk on
OpenShift.
- </p>
- <a class="indexable" id="deploy_ansible"></a>
- <h4>Ansible</h4>
- <p>
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/ansible/README.md">Deploying
OpenWhisk using Ansible</a>
- is generally done for creating a development environment. Most
of the OpenWhisk tools follow this method of deployment in their
- CI/CD (Travis) pipeline. The OpenWhisk playbooks are
structured such that it allows cleaning, deploying, or re-deploying a single
- component as well as the entire OpenWhisk stack.
- </p>
- <a class="indexable" id="deploy_vagrant"></a>
- <h4>Vagrant</h4>
- <p>
- A Vagrant machine is also available to run OpenWhisk on Mac,
Windows PC or GNU/Linux.
- Downloading and install VirtualBox and Vagrant for your
operating system and architecture.
- You can follow the steps under
- <a
href="https://github.com/apache/incubator-openwhisk#vagrant-setup">Vagrant
Setup</a>
- to run your first OpenWhisk action using Vagrant.
- </p>
- <p>
- There are many different deployment methods available but we
recommend
- <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md">Deploy
OpenWhisk to a Kubernetes Cluster</a>
- as its the most easy and quickest way of getting OpenWhisk
deployed.
- </p>
- </div>
- </main>
-
- <!-- Operators Administrative Operations -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="deployment_admin"></a>
- <h3>Administrative Operations</h3>
- <p>
- This section contains a list of resources which can be
utilized to administer the running OpenWhisk instance.
- </p>
- <ul>
- <li><a
href="https://github.com/apache/incubator-openwhisk/tree/master/tools/admin">wskadmin</a></li>
- </ul>
- </div>
- </main>
-
- <!-- Operators resources -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="operators_resources"></a>
- <h3>Operator Resources</h3>
- <ul>
- <li><a
href="https://medium.com/openwhisk/five-minute-intro-to-open-source-serverless-development-with-openwhisk-328b0ebfa160">Five
minute intro to open source serverless development with OpenWhisk</a></li>
- <li><a
href="https://thenewstack.io/behind-scenes-apache-openwhisk-serverless-platform/">An
Architectural View of Apache OpenWhisk</a></li>
- <li><a
href="https://medium.com/@rabbah/the-state-of-openwhisk-ae8c129e8a48">The State
of OpenWhisk</a></li>
- <li><a
href="https://medium.com/openwhisk/starting-openwhisk-in-sixty-seconds-9288bfb4863d">Starting
OpenWhisk in Sixty Seconds</a></li>
- <li><a
href="https://medium.com/openwhisk/deploying-openwhisk-on-kubernetes-3f55f781fbab">Deploying
OpenWhisk on Kubernetes</a></li>
- <li><a
href="https://medium.com/openwhisk/uncovering-the-magic-how-serverless-platforms-really-work-3cb127b05f71">Uncovering
the magic: How serverless platforms really work!</a></li>
- </ul>
- </div>
- </main>
-
- <!-- Developers Section -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="developers"></a>
- <h2>Developers</h2>
- <p>
- The OpenWhisk project and programming model supports different
kinds of developers that may wish
- to user different runtimes and tooling. Here is the developer
relevant content to find the information you may need.
- </p>
- </div>
- </main>
-
- <!-- Developers Pre Requisites section -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="pre-requisites"></a>
- <h4>Pre-requisites</h4>
- <p>Please make sure you have access to working instance of
OpenWhisk. If not, refer to
- <a href="#openwhisk_deployment">OpenWhisk Deployment</a>
- for detailed instructions on how to install and configure
OpenWhisk.
- </p>
- </div>
- </main>
-
- <!-- Using OpenWhisk section -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="using-openwhisk"></a>
- <h4>Using OpenWhisk</h4>
- <p></p>
- <p>
- <a href="#openwhisk_deployment">OpenWhisk Deployment</a>
- has a guest account configured with the authentication key
available at
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/ansible/files/auth.guest">https://github.com/apache/incubator-openwhisk/blob/master/ansible/files/auth.guest</a>.
- Also, use the <strong>192.168.33.13</strong> address as the
whisk API host.
- </p>
-
- </div>
- </main>
-
- <main class="doc">
- <div class="content">
- <a class="indexable" id="wsk-cli"></a>
- <h4>OpenWhisk CLI (wsk)</h4>
- <p>
- OpenWhisk offers the <em>wsk</em> Command Line Interface (CLI)
to easily create, run, and manage OpenWhisk entities.
- </p>
-
- <a class="indexable" id="wsk-cli-install"></a>
- <h5>Installing</h5>
-
- <h6>Install the wsk with Homebrew (Mac & Linux)</h6>
- <p>To easily install the OpenWhisk CLI (wsk) you can use <a
href="https://brew.sh">Homebrew for Mac</a> or <a
href="http://linuxbrew.sh">Homebrew for Linux</a>.</p>
- <div class="terminal">
+ </div>
+ <p>
+ For more detailed instructions, see the
+ <a
href="https://github.com/apache/incubator-openwhisk-devtools/blob/master/docker-compose/README.md">OpenWhisk
with Docker Compose project</a>.
+ </p>
+ <a class="indexable" id="deploy_mesos"></a>
+ <h4>Mesos</h4>
+ <p>
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-mesos/blob/master/README.md">Deploy
OpenWhisk to a Mesos Cluster</a>
+ is under active development.
+ </p>
+ <a class="indexable" id="deploy_openshift"></a>
+ <h4>OpenShift</h4>
+ <p>
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-openshift/blob/master/README.md">Here</a>
+ are the instructions and details on how to deploy OpenWhisk
on OpenShift.
+ </p>
+ <a class="indexable" id="deploy_ansible"></a>
+ <h4>Ansible</h4>
+ <p>
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/ansible/README.md">Deploying
OpenWhisk using Ansible</a>
+ is generally done for creating a development environment.
Most of the OpenWhisk tools follow this method of deployment in their
+ CI/CD (Travis) pipeline. The OpenWhisk playbooks are
structured such that it allows cleaning, deploying, or re-deploying a single
+ component as well as the entire OpenWhisk stack.
+ </p>
+ <a class="indexable" id="deploy_vagrant"></a>
+ <h4>Vagrant</h4>
+ <p>
+ A Vagrant machine is also available to run OpenWhisk on Mac,
Windows PC or GNU/Linux.
+ Downloading and install VirtualBox and Vagrant for your
operating system and architecture.
+ You can follow the steps under
+ <a
href="https://github.com/apache/incubator-openwhisk#vagrant-setup">Vagrant
Setup</a>
+ to run your first OpenWhisk action using Vagrant.
+ </p>
+ <p>
+ There are many different deployment methods available but we
recommend
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md">Deploy
OpenWhisk to a Kubernetes Cluster</a>
+ as its the most easy and quickest way of getting OpenWhisk
deployed.
+ </p>
+ </div>
+ </main>
+
+ <!-- Operators Administrative Operations -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="deployment_admin"></a>
+ <h3>Administrative Operations</h3>
+ <p>
+ This section contains a list of resources which can be
utilized to administer the running OpenWhisk instance.
+ </p>
+ <ul>
+ <li><a
href="https://github.com/apache/incubator-openwhisk/tree/master/tools/admin">wskadmin</a></li>
+ </ul>
+ </div>
+ </main>
+
+ <!-- Operators resources -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="operators_resources"></a>
+ <h3>Operator Resources</h3>
+ <ul>
+ <li><a
href="https://medium.com/openwhisk/five-minute-intro-to-open-source-serverless-development-with-openwhisk-328b0ebfa160">Five
minute intro to open source serverless development with OpenWhisk</a></li>
+ <li><a
href="https://thenewstack.io/behind-scenes-apache-openwhisk-serverless-platform/">An
Architectural View of Apache OpenWhisk</a></li>
+ <li><a
href="https://medium.com/@rabbah/the-state-of-openwhisk-ae8c129e8a48">The State
of OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/starting-openwhisk-in-sixty-seconds-9288bfb4863d">Starting
OpenWhisk in Sixty Seconds</a></li>
+ <li><a
href="https://medium.com/openwhisk/deploying-openwhisk-on-kubernetes-3f55f781fbab">Deploying
OpenWhisk on Kubernetes</a></li>
+ <li><a
href="https://medium.com/openwhisk/uncovering-the-magic-how-serverless-platforms-really-work-3cb127b05f71">Uncovering
the magic: How serverless platforms really work!</a></li>
+ </ul>
+ </div>
+ </main>
+
+ <!-- Developers Section -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="developers"></a>
+ <h2>Developers</h2>
+ <p>
+ The OpenWhisk project and programming model supports
different kinds of developers that may wish
+ to user different runtimes and tooling. Here is the
developer relevant content to find the information you may need.
+ </p>
+ </div>
+ </main>
+
+ <!-- Developers Pre Requisites section -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="pre-requisites"></a>
+ <h4>Pre-requisites</h4>
+ <p>You will need to have access to running instance of the
+ OpenWhisk platform to develop against.
+ </p>
+ <h5>Running OpenWhisk locally</h5>
+ <p>Developers can select to install and configure their own
instance
+ from among any of the options listed here:
+ <a href="#openwhisk_deployment">OpenWhisk Deployment</a>.
+ </p>
+ <p>For local, "light weight" development, we recommend using
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md#kubernetes">Kubernetes</a>
+ enabled within Docker (i.e., Docker for Mac or Windows,
Minikube for Linux).
+ <ul><li>For setup instructions, see: <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md#prerequisites-kubernetes-and-helm">Simple
Docker-based options</a>.</li></ul>
+ <h5>Using OpenWhisk on a Cloud Provider</h5>
+ <p>Again, we encourage developers to leverage Cloud-based
Kubernetes
+ services to deploy OpenWhisk.<p>
+ <p>Another option would be to use Serverless provider that
already
+ hosts Apache OpenWhisk and supports its Command Line Interface
(CLI)
+ such as <a href="https://console.bluemix.net/openwhisk/">IBM
Cloud Functions.</a>
+ </p>
+ </div>
+ </main>
+
+ <!-- Using OpenWhisk section -->
+ <main class="doc">
+ <div class="content">
+
+ <a class="indexable" id="using-openwhisk"></a>
+ <h4>Using OpenWhisk</h4>
+ <p></p>
+ <h5>Guest account</h5>
+ <p>
+ <a href="#openwhisk_deployment">OpenWhisk Deployments</a>
+ create a guest account configured with the authentication key
+ available at:
+ </p>
+ <ul><li><a
href="https://github.com/apache/incubator-openwhisk/blob/master/ansible/files/auth.guest">https://github.com/apache/incubator-openwhisk/blob/master/ansible/files/auth.guest</a></li></ul>
+ <h5>API Host</h5>
+ <p>Deployments set the default API host endpoint, used with
+ the Command Line Interface (CLI) and the Whisk Deploy utility,
+ to:
+ </p>
+ <ul><li><strong>192.168.33.13</strong>.</li></ul>
+ <p>However, when running under a Kubernetes deployment installed
+ using Helm, the endpoint's address and port are set in your
+ "mycluster.yaml" deployment file.
+ See the <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md#deploy-with-helm">Deploy
With Helm</a>
+ instructions for details.
+ </p>
+
+ </div>
+ </main>
+
+ <!-- *************************************************************** -->
+ <!-- OpenWhisk CLI -->
+ <!-- *************************************************************** -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="wsk-cli"></a>
+ <h4>OpenWhisk CLI (wsk)</h4>
+ <p>OpenWhisk offers the <code>wsk</code> Command Line Interface
+ (CLI) to easily create, run, and manage OpenWhisk entities.
+ </p>
+ <p>For detailed information on setting up and configuring the
+ OpenWhisk CLI, go to the
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/cli.md#openwhisk-cli">OpenWhisk
CLI</a>
+ documentation page in GitHub.</p>
+
+ <!-- Install: download & installing -->
+ <a class="indexable" id="wsk-cli-install"></a>
+ <h5>Installing</h5>
+ <p>You have a couple of choices on how to install the Whisk CLI
+ depending on your target Operating System:</p>
+
+ <h6>Using Homebrew (Linux or Mac)</h6>
+ <div class="indented">
+ <p>To easily install the OpenWhisk CLI (wsk) you can
+ use <a href="https://brew.sh">Homebrew for Mac</a>
+ or <a href="http://linuxbrew.sh">Homebrew for Linux</a>.
+ </p>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>brew update
<span class="gp">$ </span>brew install wsk</code></pre></figure>
- </div>
- <p>Then you can invoke the OpenWhisk CLI by just typing
<code>wsk</code>.</p>
- <h6>Install the wsk CLI from a tar.gz (Mac & Linux):</h6>
- <p>If for any reason you can't or don't want to use one of the
previous installation method, you can still download the OpenWhisk CLI in a
standalone .tar.gz file with everything you need to get started.</p>
-
- <p>The latest files can be found on the Releases page at GitHub:
<a
href="https://github.com/apache/incubator-openwhisk-cli/releases">https://github.com/apache/incubator-openwhisk-cli/releases</a></p>
- <p>Download the file for your platform and uncompress it. Inside
it you will have a <code>wsk</code> executable.</p>
- <p>To make it simpler to use, you can move the binary into your
PATH:</p>
-
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>sudo mv <span class="o">[</span>full
path to downloaded wsk] /usr/local/bin/wsk</code></pre></figure>
-
- </div>
-
- <p>Then you can invoke the OpenWhisk CLI by just typing
<code>wsk</code>.</p>
+ </div>
+ <p>Then you can invoke the OpenWhisk CLI by just
+ typing <code>wsk</code> from the command line.</p>
+ </div>
- <h6>Install the wsk CLI from a tar.gz (Windows):</h6>
+ <h6>Download and install the wsk CLI from (Linux, Mac or
Windows):</h6>
+ <ul>
+ <li>
+ <p>Download the OpenWhisk CLI for your Operating System as
+ a standalone compressed TAR Archive file
(<code>.tgz</code>)
+ or ZIP file (<code>.zip</code>) from the project
+ <a
href="https://github.com/apache/incubator-openwhisk-cli/releases">Releases</a>
page
+ in GitHub:
+ <ul>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-cli/releases">https://github.com/apache/incubator-openwhisk-cli/releases</a></li>
+ </ul>
+ <p>where you may select to download the CLI from the
+ "latest" release or from one of the versioned releases.</p>
+ </li>
+ <li><p>Uncompress the <code>wsk</code> executable from
+ the <code>tar.gz</code> file.</p></li>
+ <li>
+ <div id="copy_to_path_instructions">
+ <p>Simplify access to the <code>wsk</code> executable by
+ moving or copying the binary file to a path listed
+ in your <code>PATH</code> environment variable.
+ This will enable you to invoke the OpenWhisk CLI by
+ just typing '<code>wsk</code>' on the command line
+ from anywhere.</p>
+ <p>For example:</p>
+ <ul>
+ <li><p><b>Linux</b>: Move the <code>wsk</code> executable
+ to your local <code>bin</code> directory:</p>
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>sudo mv <span class="o">[</span>full
path to downloaded wsk executable] /usr/local/bin/wsk</code></pre></figure>
+
+ </div>
+ </li>
+ <li><p><b>Windows</b>: Follow instructions as linked
here:</p>
+ <ul>
+ <li>
+ <a
href="https://www.computerhope.com/issues/ch000549.htm">How to set the path and
environment variables in Windows</a>.
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+
+ <!-- Install: Verify -->
+ <a class="indexable" id="wsk-cli-verify"></a>
+ <h5>Verify Installation</h5>
+ <p>You can verify your installation by invoking the Whisk CLI's
help command:</p>
+ <div class="indented">
+ <div class="terminal">
- <p>The latest files can be found on the Releases page at GitHub:
<a
href="https://github.com/apache/incubator-openwhisk-cli/releases">https://github.com/apache/incubator-openwhisk-cli/releases</a></p>
- <p>Download the file for your platform and uncompress it. Inside
it you will have a <code>wsk.exe</code> executable.</p>
- <p>To make it simpler to use, you should <a
href="https://www.computerhope.com/issues/ch000549.htm">add it to your
PATH</a>.</p>
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk --help</code></pre></figure>
- <p>Then you can invoke the OpenWhisk CLI by just typing
<code>wsk</code>.</p>
+ </div>
+ </div>
+
+ <!-- Install: Configuring -->
+ <a class="indexable" id="wsk-cli-configure"></a>
+ <h5>Configuring</h5>
+ <p>Before using the OpenWhisk CLI, you must first configure it
+ to point to the OpenWhisk platform you want the utility
+ to use (i.e., its API endpoint) and also provide it with your
+ associated authentication credentials.</p>
+ <h6 id="api_authentication">Setting the API Host and
+ Authentication Key</h6>
+ <div class="indented">
+ <p>You can configure wsk CLI to use your OpenWhisk
+ credentials in few different ways. See the
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/cli.md#openwhisk-cli">Setting
up the OpenWhisk CLI</a>
+ page for a full set of configuration options.
+ The instructions below walk you throguh the simplest
+ possible configuration using only an
+ <code>API_HOST</code> and <code>AUTH_KEY</code> CLI
+ properties using a default <code>guest</code>
+ namespace.</p>
+
+ <h6>wsk property setup</h6>
+ <p>Run the following command to set whisk API HOST and
+ authorization key to create the configuration file:</p>
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk property <span
class="nb">set</span> --apihost API_HOST --auth AUTH_KEY --namespace
guest</code></pre></figure>
- <a class="indexable" id="wsk-cli-verify"></a>
- <h5>Verifying</h5>
- <ul>
- <li>
- <strong>CLI Help:</strong>
- To get the CLI command help, execute the following command:
- <div class="terminal">
+ </div>
+ <p>The OpenWhisk CLI stores the properties set
+ in <code>~/.wskprops</code> by default.
+ The location of this file can be altered by setting the
+ <code>WSK_CONFIG_FILE</code> environment variable.
+ For example:
+ </p>
+ <div class="terminal">
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk --help</code></pre></figure>
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span><span class="nb">export </span><span
class="nv">WSK_CONFIG_FILE</span><span
class="o">=</span>your-config-file</code></pre></figure>
- </div>
- </li>
- </ul>
- <a class="indexable" id="wsk-cli-configure"></a>
- <h5>Configuring</h5>
- <ul>
- <li id="authentication">
- <strong>Authenticate wsk CLI</strong>
- <p>You can configure wsk CLI to use your OpenWhisk
credentials in few different ways:</p>
- <ul>
- <li>
- With wsk property setup
- <p>Run the following command to set whisk API HOST
and authorization key to create the configuration file:</p>
- <div class="terminal">
+ </div>
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk property <span
class="nb">set</span> --apihost <API_HOST> --auth <AUTH_KEY>
--namespace guest</code></pre></figure>
+ <h6>Verify properties</h6>
+ <p>Verify your properties were properly set by
+ using the <code>wsk property get</code> command:</p>
+ <div class="terminal">
- </div>
- <p>Credentials are stored in <i>~/.wskprops</i>,
which you can edit directly if needed.</p>
- </li>
- <li>
- Environment Variables Setup
- <p>Access credentials can be provided using
properties file as environment variable:</p>
- <div class="terminal">
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk property
get</code></pre></figure>
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span><span class="nb">export </span><span
class="nv">WSK_CONFIG_FILE</span><span
class="o">=</span><your-config-file>
-<span class="gp">$ </span>wsk list</code></pre></figure>
+ </div>
+ </div>
- </div>
- </li>
- </ul>
- </li>
- </ul>
+ <!-- Install: Test Configuration -->
+ <h5>Test configuration</h5>
+ <div class="indented">
+ <p>A simple "read" command will cause the CLI to authenticate
+ to the OpenWhisk your configured API host endpoint and
+ credentials.
+ is incorrect.</p>
+ <h6>Verify host connection</h6>
+ <p>Verify your host connection and credentials using
+ the <code>wsk list</code> command with the
+ <code>-v</code> (verbose) flag enabled.</p>
+ <div class="terminal">
- </div>
- </main>
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk list -v</code></pre></figure>
- <main class="doc">
- <div class="content">
+ </div>
+ <p>You should see the full HTTP request and response headers
+ the CLI sends/receives to/from the host along with the
+ response codes.</p>
+ </div>
+ </div>
+ </main>
+
+ <!-- *************************************************************** -->
+ <!-- Whisk Deploy -->
+ <!-- *************************************************************** -->
+ <main class="doc">
+ <div class="content">
<a class="indexable" id="wskdeploy"></a>
<h4>Whisk Deploy (wskdeploy)</h4>
<p>
- <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/README.md">Whisk
Deploy</a>
- is a utility, named <em>wskdeploy</em>, to help deploy and
manage all your OpenWhisk Packages, Actions, Triggers, Rules and APIs using a
single command.
+ <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/README.md">Whisk
Deploy</a>
+ is a utility, named <em>wskdeploy</em>, to help deploy and
+ manage all your OpenWhisk Packages, Actions, Triggers, Rules
+ and APIs using a single command using an application manifest.
</p>
- <ul>
+
+ <h5>Installing</h5>
+ <p>Download and Install the <code>wskdeploy</code> utility for
Linux, Mac
+ or Windows.</p>
+ <div class="indented">
+ <h6>Download the Whisk Deploy utility</h6>
+ <ul>
<li>
- Download the Whisk Deploy:
- Binaries of <i>wskdeploy</i> are available for download on
the project's GitHub release page:
- <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/releases">https://github.com/apache/incubator-openwhisk-wskdeploy/releases.</a>
+ <p> Download the Whisk Deploy utility for your Operating
System as
+ a standalone compressed TAR Archive file (<code>.tgz</code>)
+ or ZIP file (<code>.zip</code>) from the project
+ <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/releases">Releases</a>
page
+ in GitHub:
+ <ul>
+ <li>
+ <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/releases">https://github.com/apache/incubator-openwhisk-wskdeploy/releases</a>
+ </li>
+ </ul>
+ <p>where you may select to download the utility from the
+ "latest" release or from one of the versioned releases.</p>
</li>
<li>
- wskdeploy Help:
- Start by verifying the utility can display the command
line help:
- <div class="terminal">
+ <p>Uncompress the <code>wskdeploy</code> executable from
+ the <code>tar.gz</code> file.</p></li>
+ <li>
+ <p>Simplify access to the <code>wsk</code> executable by
+ moving or copying the binary file to a path listed
+ in your <code>PATH</code> environment variable.
+ This will enable you to invoke Whisk Deploy utility by
+ just typing '<code>wskdeploy</code>' on the command line
+ from anywhere.</p>
+ <p>Follow the <a
href="#copy_to_path_instructions">instructions</a>
+ as shown for the Whisk CLI to learn how to do this for your
+ development platform.
+ </p>
+ </li>
+ </ul>
+ </div>
+
+ <h5>Verify Installation</h5>
+ <div class="indented">
+ <p>Start by verifying the utility can display the command line
help:</p>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy
--help</code></pre></figure>
- </div>
- </li>
- <li>
- Create Package Manifest File <i>manifest.yaml</i>:
- Please refer to the
- <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/docs/programming_guide.md#wskdeploy-utility-by-example">Whisk
Deploy Programming Guide</a>
- for all manifest file grammar and syntax. This programming
guide has step-by-step instructions for deploying OpenWhisk applications
- using wskdeploy.
- </li>
- <li>
- Deploy your Application:
- <ul>
- <li><strong>Note:</strong> Before you proceed with the
deployment, please make sure you have the authentication setup as described
- <a href="#authentication">here</a>.</li>
- <li>
- Deploying an OpenWhisk Manifest file:
- <div class="terminal">
+ </div>
+ </div>
+
+ <h5>Configure</h5>
+ <div class="indented">
+ <p>Before you proceed with the deployment, please make sure you
have
+ setup the <code>API_HOST</code> and <code>AUTH_KEY</code> CLI
+ properties with a default namespace as described in the
+ <a href="#api_authentication">Whisk CLI configuration
section</a> above.
+ </p>
+ </div>
+
+ <h5>Test configuration</h5>
+ <ul>
+ <li>
+ <h6>Create and Deploy a simple OpenWhisk Manifest File</h6>
+ <p>Please refer to the
+ <a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/docs/programming_guide.md#wskdeploy-utility-by-example">Whisk
Deploy Programming Guide</a>
+ for all manifest file grammar and syntax. This programming
+ guide has step-by-step instructions for deploying OpenWhisk
+ applications using wskdeploy.
+ </p>
+ <p>Here is a simple YAML manifest example that has an in-line
+ function written in JavaScript that outputs "Hello
World":</p>
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="s">packages</span><span class="pi">:</span>
+ <span class="s">default</span><span class="pi">:</span>
+ <span class="s">actions</span><span class="pi">:</span>
+ <span class="s">helloJS</span><span class="pi">:</span>
+ <span class="s">code</span><span class="pi">:</span> <span
class="pi">|</span>
+ <span class="no">function main() {</span>
+ <span class="no">return {payload: 'Hello
world'};</span>
+ <span class="no">}</span>
+ <span class="s">runtime</span><span class="pi">:</span> <span
class="s">nodejs:6</span></code></pre></figure>
+
+ </div>
+ </li>
+ <li>Save the YAML scripts as an OpenWhisk Manifest file
+ called <code>manifest.yaml</code>
+ </li>
+ <li>
+ <p>Deploy the OpenWhisk Manifest file:</p>
+
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
- </div>
- </li>
- </ul>
- </li>
+ </div>
+ </li>
</ul>
- </div>
- </main>
+
+ </div>
+ </main>
<main class="doc">
<div class="content">
@@ -964,7 +1145,7 @@ function addListenersToSections()
<p>
After your OpenWhisk environment is enabled, you can use
OpenWhisk with your web apps or mobile apps with REST API calls.
For more details about the APIs for actions, activations,
packages, rules, and triggers, see the
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/rest_api.md">OpenWhisk
API</a>
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/rest_api.md#using-rest-apis-with-openwhisk">OpenWhisk
API</a>
documentation.
</p>
</div>
@@ -984,97 +1165,97 @@ function addListenersToSections()
</div>
</main>
- <!-- actions section -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="actions"></a>
- <h4>Actions</h4>
- <p>
- <strong>What is an OpenWhisk action?</strong>
- Actions are stateless functions (code snippets) that run
on the OpenWhisk platform.
- Actions encapsulates application logic to be executed in
response to events.
- You can find more details on specifics of an action in
main OpenWhisk GitHub repo at
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md">incubator-openwhisk</a>.
- </p>
- <p>
- <strong>Which programming language can I use to write an
OpenWhisk action?</strong>
- An action can be created from a function written using any
of the supported runtimes.
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#languages-and-runtimes">Here</a>
- is the list of runtimes supported by OpenWhisk:
- </p>
+ <!-- actions section -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="actions"></a>
+ <h4>Actions</h4>
+ <p>
+ <strong>What is an OpenWhisk action?</strong>
+ Actions are stateless functions (code snippets) that run on
the OpenWhisk platform.
+ Actions encapsulates application logic to be executed in
response to events.
+ You can find more details on specifics of an action in main
OpenWhisk GitHub repo at
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md">incubator-openwhisk</a>.
+ </p>
+ <p>
+ <strong>Which programming language can I use to write an
OpenWhisk action?</strong>
+ An action can be created from a function written using any of
the supported runtimes.
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#languages-and-runtimes">Here</a>
+ is the list of runtimes supported by OpenWhisk:
+ </p>
- <ul>
- <li><a href="#nodejs">JavaScript</a> - OpenWhisk runtime
for Node.js v6 and v8</li>
- <li><a
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md">Docker</a>
- OpenWhisk runtime for Docker Actions using SDK</li>
- <li><a href="#go">Go</a> - OpenWhisk runtime for Go
lang</li>
- <li><a href="#php">PHP</a> - OpenWhisk runtime for PHP 7.2
and 7.1</li>
- <li><a href="#python">Python</a> - OpenWhisk runtime for
Python 2.7 and 3</li>
- <li><a
href="https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/README.md">Swift</a>
- OpenWhisk runtime for Swift 3 and 4</li>
- <li><a href="#java">Java</a> - OpenWhisk runtime for Java
8</li>
- <li><a href="#ruby">Ruby</a> - OpenWhisk runtime for Ruby
2.5</li>
- </ul>
+ <ul>
+ <li><a href="#nodejs">JavaScript</a> - OpenWhisk runtime for
Node.js v6 and v8</li>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md">Docker</a>
- OpenWhisk runtime for Docker Actions using SDK</li>
+ <li><a href="#go">Go</a> - OpenWhisk runtime for Go lang</li>
+ <li><a href="#php">PHP</a> - OpenWhisk runtime for PHP 7.2 and
7.1</li>
+ <li><a href="#python">Python</a> - OpenWhisk runtime for
Python 2.7 and 3</li>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/README.md">Swift</a>
- OpenWhisk runtime for Swift 3 and 4</li>
+ <li><a href="#java">Java</a> - OpenWhisk runtime for Java
8</li>
+ <li><a href="#ruby">Ruby</a> - OpenWhisk runtime for Ruby
2.5</li>
+ </ul>
- <p>
- While the actual function code will be specific to a
language and runtime, the OpenWhisk operations to create,
- invoke and manage an action are the same regardless of the
implementation choice. OpenWhisk wsk CLI and Whisk Deploy
- specified in <a href="#using-openwhisk">Using
OpenWhisk</a> section supports action management on OpenWhisk platform.
- </p>
- <p>
- <strong>What if your preferred language/runtime is not
supported by OpenWhisk?</strong>
- If your favorite language is not listed above, you may
find the Docker action or native binary path more suitable.
- The OpenWhisk platform is extensible and you can add new
languages or runtimes (with custom packages and third-party dependencies)
- following the guide described
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-new.md">here</a>.
- Please reach out to other whiskers on dev mailing list at
- <a
href="mailto:[email protected]">[email protected]</a>.
- once you have followed the guide on creating a new
language/runtimes. Here are some examples of runtimes added by community:
- </p>
+ <p>
+ While the actual function code will be specific to a language
and runtime, the OpenWhisk operations to create,
+ invoke and manage an action are the same regardless of the
implementation choice. OpenWhisk wsk CLI and Whisk Deploy
+ specified in <a href="#using-openwhisk">Using OpenWhisk</a>
section supports action management on OpenWhisk platform.
+ </p>
+ <p>
+ <strong>What if your preferred language/runtime is not
supported by OpenWhisk?</strong>
+ If your favorite language is not listed above, you may find
the Docker action or native binary path more suitable.
+ The OpenWhisk platform is extensible and you can add new
languages or runtimes (with custom packages and third-party dependencies)
+ following the guide described
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-new.md">here</a>.
+ Please reach out to other whiskers on dev mailing list at
+ <a
href="mailto:[email protected]">[email protected]</a>.
+ once you have followed the guide on creating a new
language/runtimes. Here are some examples of runtimes added by community:
+ </p>
- <ul>
- <li><a
href="https://github.com/rainbyte/openwhisk-wrapper">Haskell based OpenWhisk
Services</a></li>
- <li><a
href="http://jamesthom.as/blog/2017/01/18/openwhisk-and-rust/">OpenWhisk and
Rust</a></li>
- <li><a
href="https://github.com/gekola/openwhisk_docker_samples">Run Clojure, Erlang,
Ruby, and Rust Actions on OpenWhisk using Docker</a></li>
- <li><a
href="https://github.com/imesh/openwhisk-runtime-ballerina#apache-openwhisk-runtime-for-ballerina">Ballerina</a></li>
- </ul>
+ <ul>
+ <li><a
href="https://github.com/rainbyte/openwhisk-wrapper">Haskell based OpenWhisk
Services</a></li>
+ <li><a
href="http://jamesthom.as/blog/2017/01/18/openwhisk-and-rust/">OpenWhisk and
Rust</a></li>
+ <li><a
href="https://github.com/gekola/openwhisk_docker_samples">Run Clojure, Erlang,
Ruby, and Rust Actions on OpenWhisk using Docker</a></li>
+ <li><a
href="https://github.com/imesh/openwhisk-runtime-ballerina#apache-openwhisk-runtime-for-ballerina">Ballerina</a></li>
+ </ul>
- <p>
- <strong>After you create an action, how can you invoke
that action?</strong>
- You can invoke actions manually using OpenWhisk CLI or
fire a trigger with which your action is associated with.
- If you are not faimiliar with triggers, we are looking
into triggers in next section.
- </p>
- <p>
- <strong>Can an application logic be divided into multiple
actions? </strong>
- Multiple actions from different languages may be composed
together to create a longer processing pipeline called a
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#creating-action-sequences">sequence</a>.
- Sequence can be treated as an action in terms of it
creation and invocation.
- </p>
- <p>Please read
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md">OpenWhisk
Actions</a>
- for further details.</p>
- </div>
- </main>
+ <p>
+ <strong>After you create an action, how can you invoke that
action?</strong>
+ You can invoke actions manually using OpenWhisk CLI or fire a
trigger with which your action is associated with.
+ If you are not faimiliar with triggers, we are looking into
triggers in next section.
+ </p>
+ <p>
+ <strong>Can an application logic be divided into multiple
actions? </strong>
+ Multiple actions from different languages may be composed
together to create a longer processing pipeline called a
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#creating-action-sequences">sequence</a>.
+ Sequence can be treated as an action in terms of it creation
and invocation.
+ </p>
+ <p>Please read
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md">OpenWhisk
Actions</a>
+ for further details.</p>
+ </div>
+ </main>
- <!-- Here we are starting with writing actions in NodeJS -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="nodejs"></a>
- <h4>NodeJs</h4>
- <p></p>
- <a class="indexable" id="nodejs-actions"></a>
- <h5>Creating and Invoking NodeJS actions</h5>
- <p>
- Let's look at how to write a sample hello world action in
NodeJS. You can visit
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-node.md#creating-and-invoking-javascript-actions">Creating
and Invoking NodeJS actions</a>
- page for further details.
- </p>
- <p>
- <strong>Note:</strong> We will be using <i>wsk</i> CLI in
this section. If you don't have it installed and configured,
- please refer to the section on <a
href="#wsk-cli">Configure the wsk CLI</a> to configure it.
- </p>
- <ol>
- <li style="list-style-type: decimal">
- Create a file named <i>hello.js</i>:
- <div class="terminal">
+ <!-- Here we are starting with writing actions in NodeJS -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="nodejs"></a>
+ <h4>NodeJs</h4>
+ <p></p>
+ <a class="indexable" id="nodejs-actions"></a>
+ <h5>Creating and Invoking NodeJS actions</h5>
+ <p>
+ Let's look at how to write a sample hello world action in
NodeJS. You can visit
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-node.md#creating-and-invoking-javascript-actions">Creating
and Invoking NodeJS actions</a>
+ page for further details.
+ </p>
+ <p>
+ <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
section. If you don't have it installed and configured,
+ please refer to the section on <a href="#wsk-cli">Configure
the wsk CLI</a> to configure it.
+ </p>
+ <ol>
+ <li style="list-style-type: decimal">
+ Create a file named <i>hello.js</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-javascript"
data-lang="javascript"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1
2
@@ -1083,48 +1264,48 @@ function addListenersToSections()
<span class="p">}</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- </li>
- <li style="list-style-type: decimal">
- Create an action called <i>helloJS</i> using
<i>hello.js</i>:
- <div class="terminal">
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Create an action called <i>helloJS</i> using
<i>hello.js</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action create helloJS
hello.js</code></pre></figure>
- </div>
- <div class="terminal">
- <pre>ok: created action helloJS</pre>
- </div>
- </li>
- <li style="list-style-type: decimal">
- Invoke the <i>helloJS</i> action as a blocking
activation:
- <div class="terminal">
+ </div>
+ <div class="terminal">
+ <pre>ok: created action helloJS</pre>
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Invoke the <i>helloJS</i> action as a blocking activation:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloJS
--blocking</code></pre></figure>
- </div>
- <div class="terminal">
+ </div>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
- <span class="s2">"</span><span class="s">result"</span><span
class="pi">:</span> <span class="pi">{</span>
- <span class="s2">"</span><span class="s">payload"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello</span><span
class="nv"> </span><span class="s">world"</span>
- <span class="pi">},</span>
- <span class="s2">"</span><span class="s">status"</span><span
class="pi">:</span> <span class="s2">"</span><span
class="s">success"</span><span class="pi">,</span>
- <span class="s2">"</span><span class="s">success"</span><span
class="pi">:</span> <span class="nv">true</span>
+<span class="s2">"</span><span class="s">result"</span><span
class="pi">:</span> <span class="pi">{</span>
+ <span class="s2">"</span><span class="s">payload"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello</span><span
class="nv"> </span><span class="s">world"</span>
+<span class="pi">},</span>
+<span class="s2">"</span><span class="s">status"</span><span
class="pi">:</span> <span class="s2">"</span><span
class="s">success"</span><span class="pi">,</span>
+<span class="s2">"</span><span class="s">success"</span><span
class="pi">:</span> <span class="nv">true</span>
<span class="pi">}</span></code></pre></figure>
- </div>
- </li>
- <li style="list-style-type: decimal">
- Deploy using <i>wskdeploy</i>:
- <p>
- <strong>Note:</strong> We will be using
<i>wskdeploy</i> in this section. If you don't have the binary,
- please refer to the section on <a
href="#wskdeploy">Whisk Deploy</a> to download it.
- </p>
- <ol>
- <li>
- Create <i>manifest.yaml</i> with the following
YAML content:
- <div class="terminal">
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Deploy using <i>wskdeploy</i>:
+ <p>
+ <strong>Note:</strong> We will be using
<i>wskdeploy</i> in this section. If you don't have the binary,
+ please refer to the section on <a
href="#wskdeploy">Whisk Deploy</a> to download it.
+ </p>
+ <ol>
+ <li>
+ Create <i>manifest.yaml</i> with the following
YAML content:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
2
@@ -1137,11 +1318,11 @@ function addListenersToSections()
<span class="s">function</span><span class="pi">:</span> <span
class="s">hello.js</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- Or
- <p></p>
- <div class="terminal">
-
+ </div>
+ Or
+ <p></p>
+ <div class="terminal">
+
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
2
3
@@ -1153,8 +1334,8 @@ function addListenersToSections()
9
10
11
-12</pre></td><td class="code"><pre> <span
class="s">packages</span><span class="pi">:</span>
-<span class="err"> </span><span class="s">default</span><span
class="pi">:</span>
+12</pre></td><td class="code"><pre> <span class="s">packages</span><span
class="pi">:</span>
+ <span class="s">default</span><span class="pi">:</span>
<span class="s">actions</span><span class="pi">:</span>
<span class="s">helloJS</span><span class="pi">:</span>
<span class="s">code</span><span class="pi">:</span> <span
class="pi">|</span>
@@ -1164,60 +1345,60 @@ function addListenersToSections()
<span class="s">runtime</span><span class="pi">:</span> <span
class="s">nodejs:6</span>
- <span class="w">
+ <span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- </li>
- <li>
- Run deployment with <i>wskdeploy</i>:
- <div class="terminal">
+ </div>
+ </li>
+ <li>
+ Run deployment with <i>wskdeploy</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
- </div>
- </li>
- </ol>
- </li>
- </ol>
- <a class="indexable" id="nodejs-runtime"></a>
- <h5>OpenWhisk Runtime for NodeJS</h5>
- <p>
- OpenWhisk supports <strong>Node.js 6</strong> and
<strong>Node.js 8</strong> runtimes where Node.js 6 being default pick by wsk
CLI and Whisk Deploy.
- If you wish to learn more about NodeJS runtime along with
- the libraries that are supported or "built-in" by default,
please visit
- <a
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/README.md">NodeJS
Runtime GitHub Repository</a>.
- </p>
- <a class="indexable" id="nodejs-additional-resources"></a>
- <h5>Additional Resources</h5>
- <ul>
- <li><a
href="https://medium.com/openwhisk/debugging-node-js-openwhisk-actions-3da3303e6741">Debugging
Node.js OpenWhisk Actions</li>
- <li><a
href="https://medium.com/openwhisk/updates-to-openwhisk-node-js-actions-ed5556cd5ae9">Updates
to OpenWhisk Node.js actions</a></li>
- <li><a
href="https://medium.com/openwhisk/integrating-openwhisk-with-your-node-application-d489b8a20102">Integrating
OpenWhisk with Your Node Applications</a></li>
- </ul>
- </div>
- </main>
+ </div>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ <a class="indexable" id="nodejs-runtime"></a>
+ <h5>OpenWhisk Runtime for NodeJS</h5>
+ <p>
+ OpenWhisk supports <strong>Node.js 6</strong> and
<strong>Node.js 8</strong> runtimes where Node.js 6 being default pick by wsk
CLI and Whisk Deploy.
+ If you wish to learn more about NodeJS runtime along with
+ the libraries that are supported or "built-in" by default,
please visit
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/README.md">NodeJS
Runtime GitHub Repository</a>.
+ </p>
+ <a class="indexable" id="nodejs-additional-resources"></a>
+ <h5>Additional Resources</h5>
+ <ul>
+ <li><a
href="https://medium.com/openwhisk/debugging-node-js-openwhisk-actions-3da3303e6741">Debugging
Node.js OpenWhisk Actions</a></li>
+ <li><a
href="https://medium.com/openwhisk/updates-to-openwhisk-node-js-actions-ed5556cd5ae9">Updates
to OpenWhisk Node.js actions</a></li>
+ <li><a
href="https://medium.com/openwhisk/integrating-openwhisk-with-your-node-application-d489b8a20102">Integrating
OpenWhisk with Your Node Applications</a></li>
+ </ul>
+ </div>
+ </main>
- <!-- Here we are starting with writing actions in python -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="python"></a>
- <h4>Python</h4>
- <p></p>
- <a class="indexable" id="python-actions"></a>
- <h5>Creating And Invoking Python actions</h5>
- <p>
- Let's look at how to write a sample hello world action in
Python. You can visit
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-node.md#creating-and-invoking-python-actions">Creating
and Invoking Python actions</a>
- page for further details.
- </p>
- <p>
- <strong>Note:</strong> We will be using <i>wsk</i> CLI in
this section. If you don't have it installed and configured,
- please refer to the section on <a
href="#wsk-cli">Configure the wsk CLI</a> to configure it.
- </p>
- <ol>
- <li style="list-style-type: decimal">Create a file named
<i>hello.py</i>:
- <div class="terminal">
+ <!-- Here we are starting with writing actions in python -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="python"></a>
+ <h4>Python</h4>
+ <p></p>
+ <a class="indexable" id="python-actions"></a>
+ <h5>Creating And Invoking Python actions</h5>
+ <p>
+ Let's look at how to write a sample hello world action in
Python. You can visit
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-node.md#creating-and-invoking-python-actions">Creating
and Invoking Python actions</a>
+ page for further details.
+ </p>
+ <p>
+ <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
section. If you don't have it installed and configured,
+ please refer to the section on <a href="#wsk-cli">Configure
the wsk CLI</a> to configure it.
+ </p>
+ <ol>
+ <li style="list-style-type: decimal">Create a file named
<i>hello.py</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-python"
data-lang="python"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1
2
@@ -1236,38 +1417,38 @@ function addListenersToSections()
<span class="k">return</span> <span class="p">{</span><span
class="s">"greeting"</span><span class="p">:</span> <span
class="n">greeting</span><span class="p">}</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- <li style="list-style-type: decimal">Create an action
called <i>helloPy</i> using <i>hello.py</i>:
- <div class="terminal">
+ </div>
+ <li style="list-style-type: decimal">Create an action
called <i>helloPy</i> using <i>hello.py</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action create helloPy
hello.py</code></pre></figure>
- </div>
- <div class="terminal">
-<pre>ok: created action helloPy</pre>
- </div>
- </li>
- <li style="list-style-type: decimal">Invoke the
<i>helloPy</i> action using command-line parameters:
+ </div>
<div class="terminal">
+<pre>ok: created action helloPy</pre>
+ </div>
+ </li>
+ <li style="list-style-type: decimal">Invoke the
<i>helloPy</i> action using command-line parameters:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloPy --blocking
--param name World</code></pre></figure>
- </div>
- <div class="terminal">
+ </div>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
- <span class="s2">"</span><span class="s">greeting"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello</span><span
class="nv"> </span><span class="s">World!"</span>
+<span class="s2">"</span><span class="s">greeting"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello</span><span
class="nv"> </span><span class="s">World!"</span>
<span class="pi">}</span></code></pre></figure>
- </div>
- <li style="list-style-type: decimal">Deploy using
<i>wskdeploy</i>:
- <p>
- <strong>Note:</strong> We will be using
<i>wskdeploy</i> in this section. If you don't have the binary,
- please refer to the section on <a
href="#wskdeploy">Whisk Deploy</a> to download it.
- </p>
- <ol>
- <li>Create <i>manifest.yaml</i> with the following
YAML content:
- <div class="terminal">
+ </div>
+ <li style="list-style-type: decimal">Deploy using
<i>wskdeploy</i>:
+ <p>
+ <strong>Note:</strong> We will be using
<i>wskdeploy</i> in this section. If you don't have the binary,
+ please refer to the section on <a
href="#wskdeploy">Whisk Deploy</a> to download it.
+ </p>
+ <ol>
+ <li>Create <i>manifest.yaml</i> with the following
YAML content:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
2
@@ -1280,10 +1461,10 @@ function addListenersToSections()
<span class="s">function</span><span class="pi">:</span> <span
class="s">hello.py</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- Or
- <p></p>
- <div class="terminal">
+ </div>
+ Or
+ <p></p>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
2
@@ -1316,58 +1497,58 @@ function addListenersToSections()
<span class="s">runtime</span><span class="pi">:</span> <span
class="s">python:2</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- </li>
- <li>
- Run deployment with <i>wskdeploy</i>:
- <div class="terminal">
+ </div>
+ </li>
+ <li>
+ Run deployment with <i>wskdeploy</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
- </div>
- </li>
- </ol>
- </li>
- </ol>
- <a class="indexable" id="python-runtime"></a>
- <h5>OpenWhisk Runtime for Python</h5>
- <p>
- OpenWhisk supports <strong>Python 2</strong> and
<strong>Python 3</strong> runtimes where Python 2 being default pick by wsk CLI
and Whisk Deploy.
- If you wish to learn more about Python runtime along with
- the libraries that are supported or "built-in" by default,
please visit
- <a
href="https://github.com/apache/incubator-openwhisk-runtime-python/blob/master/README.md">Python
Runtime GitHub Repository</a>.
- </p>
- <a class="indexable" id="python-additional-resources"></a>
- <h5>Additional Resources</h5>
- <ul>
- <li><a
href="http://jamesthom.as/blog/2017/04/27/python-packages-in-openwhisk/">Using
External Python Libraries in OpenWhisk</a></li>
- <li><a
href="https://www.slideshare.net/CodeOps/openwhisk-by-example-auto-retweeting-example-in-python">Auto
Retweeting Example in Python</a></li>
- </ul>
- </div>
- </main>
+ </div>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ <a class="indexable" id="python-runtime"></a>
+ <h5>OpenWhisk Runtime for Python</h5>
+ <p>
+ OpenWhisk supports <strong>Python 2</strong> and
<strong>Python 3</strong> runtimes where Python 2 being default pick by wsk CLI
and Whisk Deploy.
+ If you wish to learn more about Python runtime along with
+ the libraries that are supported or "built-in" by default,
please visit
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-python/blob/master/README.md">Python
Runtime GitHub Repository</a>.
+ </p>
+ <a class="indexable" id="python-additional-resources"></a>
+ <h5>Additional Resources</h5>
+ <ul>
+ <li><a
href="http://jamesthom.as/blog/2017/04/27/python-packages-in-openwhisk/">Using
External Python Libraries in OpenWhisk</a></li>
+ <li><a
href="https://www.slideshare.net/CodeOps/openwhisk-by-example-auto-retweeting-example-in-python">Auto
Retweeting Example in Python</a></li>
+ </ul>
+ </div>
+ </main>
- <!-- Here we are starting with writing actions in python -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="go"></a>
- <h4>Go</h4>
- <p></p>
- <a class="indexable" id="go-actions"></a>
- <h5>Creating And Invoking Go actions</h5>
- <p>
- Let's look at how to write a sample hello world action in
Go. You can visit
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-go.md#creating-and-invoking-go-actions">Creating
and Invoking Go actions</a>
- page for further details.
- </p>
- <p>
- <strong>Note:</strong> We will be using <i>wsk</i> CLI in
this section. If you don't have it installed and configured,
- please refer to the section on <a
href="#wsk-cli">Configure the wsk CLI</a> to configure it.
- </p>
- <ol>
- <li style="list-style-type: decimal">
- <a class="indexable" id="hello-go"></a>
- Create a file named <i>hello.go</i>:
- <div class="terminal">
+ <!-- Here we are starting with writing actions in python -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="go"></a>
+ <h4>Go</h4>
+ <p></p>
+ <a class="indexable" id="go-actions"></a>
+ <h5>Creating And Invoking Go actions</h5>
+ <p>
+ Let's look at how to write a sample hello world action in Go.
You can visit
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-go.md#creating-and-invoking-go-actions">Creating
and Invoking Go actions</a>
+ page for further details.
+ </p>
+ <p>
+ <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
section. If you don't have it installed and configured,
+ please refer to the section on <a href="#wsk-cli">Configure
the wsk CLI</a> to configure it.
+ </p>
+ <ol>
+ <li style="list-style-type: decimal">
+ <a class="indexable" id="hello-go"></a>
+ Create a file named <i>hello.go</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-go" data-lang="go"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
2
@@ -1416,11 +1597,11 @@ function addListenersToSections()
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloGo -r -p name
gopher</code></pre></figure>
- </div>
- <div class="terminal">
+ </div>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
- <span class="s2">"</span><span class="s">msg"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello,</span><span
class="nv"> </span><span class="s">gopher!"</span>
+<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span>
<span class="s2">"</span><span class="s">Hello,</span><span class="nv">
</span><span class="s">gopher!"</span>
<span class="pi">}</span></code></pre></figure>
</div>
@@ -1448,11 +1629,11 @@ function addListenersToSections()
<span class="s">function</span><span class="pi">:</span> <span
class="s">hello.go</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- </li>
- <li>
- Run deployment with <i>wskdeploy</i>:
- <div class="terminal">
+ </div>
+ </li>
+ <li>
+ Run deployment with <i>wskdeploy</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
@@ -1472,32 +1653,32 @@ function addListenersToSections()
<h5>Additional Resources</h5>
<ul>
<li><a
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-go-runtime">OpenWhisk
Go Runtime</a></li>
- <li><a
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-goswiftbinaries-runtime">ActionLoop,
Go and Swift</a></li>
+ <li><a
href="https://www.slideshare.net/MicheleSciabarr/openwhisk-goswiftbinaries-runtime">ActionLoop,
Go and Swift</a></li>
</ul>
</div>
</main>
- <!-- Here we are starting with writing actions in Java -->
- <main class="doc">
- <div class="content">
- <a class="indexable" id="java"></a>
- <h4>Java</h4>
- <p></p>
- <a class="indexable" id="java-actions"></a>
- <h5>Creating and Invoking Java actions</h5>
- <p>
- Let's look at how to write a sample hello world action in
Java. You can visit
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-java.md#creating-and-invoking-java-actions">Creating
and Invoking Java actions</a>
- page for further details.
- </p>
- <p>
- <strong>Note:</strong> We will be using <i>wsk</i> CLI in
this section. If you don't have it installed and configured,
- please refer to the section on <a
href="#wsk-cli">Configure the wsk CLI</a> to configure it.
- </p>
- <ol>
- <li style="list-style-type: decimal">
- Create a file named <i>Hello.java</i>:
- <div class="terminal">
+ <!-- Here we are starting with writing actions in Java -->
+ <main class="doc">
+ <div class="content">
+ <a class="indexable" id="java"></a>
+ <h4>Java</h4>
+ <p></p>
+ <a class="indexable" id="java-actions"></a>
+ <h5>Creating and Invoking Java actions</h5>
+ <p>
+ Let's look at how to write a sample hello world action in
Java. You can visit
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-java.md#creating-and-invoking-java-actions">Creating
and Invoking Java actions</a>
+ page for further details.
+ </p>
+ <p>
+ <strong>Note:</strong> We will be using <i>wsk</i> CLI in this
section. If you don't have it installed and configured,
+ please refer to the section on <a href="#wsk-cli">Configure
the wsk CLI</a> to configure it.
+ </p>
+ <ol>
+ <li style="list-style-type: decimal">
+ Create a file named <i>Hello.java</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-java"
data-lang="java"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
2
@@ -1538,61 +1719,61 @@ function addListenersToSections()
<span class="o">}</span><span class="w">
</span></pre></td></tr></tbody></table></code></pre></figure>
- </div>
- </li>
- <li style="list-style-type: decimal">
- Compile <i>Hello.Java</i> into a JAR file
<i>hello.jar</i> as follows
- <div class="terminal">
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Compile <i>Hello.Java</i> into a JAR file <i>hello.jar</i>
as follows
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>javac Hello.java
<span class="gp">$ </span>jar cvf hello.jar Hello.class</code></pre></figure>
- </div>
- </li>
- <li style="list-style-type: decimal">
- Create an action called <i>helloJava</i> using
<i>hello.jar</i>:
- <div class="terminal">
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Create an action called <i>helloJava</i> using
<i>hello.jar</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action create helloJava
hello.jar --main Hello</code></pre></figure>
- </div>
- <div class="terminal">
+ </div>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="s">ok</span><span class="pi">:</span> <span
class="s">created action helloJava</span></code></pre></figure>
- </div>
- </li>
- <li style="list-style-type: decimal">
- Invoke an action <i>helloJava</i>:
- <div class="terminal">
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Invoke an action <i>helloJava</i>:
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloJava
--blocking --result</code></pre></figure>
- </div>
- <div class="terminal">
+ </div>
+ <div class="terminal">
<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
- <span class="s2">"</span><span class="s">greeting"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello</span><span
class="nv"> </span><span class="s">stranger!"</span>
+<span class="s2">"</span><span class="s">greeting"</span><span
class="pi">:</span> <span class="s2">"</span><span class="s">Hello</span><span
class="nv"> </span><span class="s">stranger!"</span>
<span class="pi">}</span></code></pre></figure>
- </div>
- </li>
- </ol>
- <a class="indexable" id="java-runtime"></a>
- <h5>OpenWhisk Runtime for Java</h5>
- <p>
- OpenWhisk supports <strong>Java 8</strong> runtime.
- If you wish to learn more about NodeJS runtime along with
- the libraries that are supported or "built-in" by default,
please visit
- <a
href="https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/README.md">Java
Runtime GitHub Repository</a>.
- </p>
- <a class="indexable" id="java-additional-resources"></a>
- <h5>Additional Resources</h5>
- <ul>
- <li><a
href="https://www.ibm.com/blogs/bluemix/2017/02/building-openwhisk-actions-java-gradle/">Building
OpenWhisk actions with Java and Gradle</a></li>
- </ul>
- </div>
- </main>
+ </div>
+ </li>
+ </ol>
+ <a class="indexable" id="java-runtime"></a>
+ <h5>OpenWhisk Runtime for Java</h5>
+ <p>
+ OpenWhisk supports <strong>Java 8</strong> runtime.
+ If you wish to learn more about NodeJS runtime along with
+ the libraries that are supported or "built-in" by default,
please visit
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/README.md">Java
Runtime GitHub Repository</a>.
+ </p>
+ <a class="indexable" id="java-additional-resources"></a>
+ <h5>Additional Resources</h5>
+ <ul>
+ <li><a
href="https://www.ibm.com/blogs/bluemix/2017/02/building-openwhisk-actions-java-gradle/">Building
OpenWhisk actions with Java and Gradle</a></li>
+ </ul>
+ </div>
+ </main>
<!--main class="doc">
<div class="content">
@@ -2352,7 +2533,7 @@ abcd.... locationUpdate
<h4>Development Tools</h4>
<p></p>
<h5>The OpenWhisk Debugger</h5>
- <p style="padding-left: 2em;">
+ <p class="indented">
<a
href="https://github.com/apache/incubator-openwhisk-debugger/blob/master/client/README.md">incubator-openwhisk-debugger</a>
supports debugging OpenWhisk actions. The debugger will
arrange things so that the actions you wish to debug will be offloaded from the
main OpenWhisk servers
and instead run locally on your laptop. You can then, from
within the debugger, inspect and modify values.
@@ -2376,8 +2557,8 @@ abcd.... locationUpdate
official Contributor:</p>
<ul>
- <li><a
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-how-to-contribute">How
to contribute?</li>
- <li><a
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-becoming-a-contributor">How
do I become a Contributor or Committer?</li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-how-to-contribute">How
to contribute?</a></li>
+ <li><a
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-becoming-a-contributor">How
do I become a Contributor or Committer?</a></li>
</ul>
<a class="indexable" id="contributor-resources"></a>
diff --git a/downloads.html b/downloads.html
index 9fd7a19..256f8da 100644
--- a/downloads.html
+++ b/downloads.html
@@ -15,7 +15,7 @@
<link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png"
sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png"
sizes="16x16">
<link rel="manifest" href="/images/favicon/manifest.json">
- <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
color="#5bbad5">
+ <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
<meta name="msapplication-config"
content="/images/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
diff --git a/events.html b/events.html
index 0b758b3..1d81ea3 100644
--- a/events.html
+++ b/events.html
@@ -15,7 +15,7 @@
<link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png"
sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png"
sizes="16x16">
<link rel="manifest" href="/images/favicon/manifest.json">
- <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
color="#5bbad5">
+ <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
<meta name="msapplication-config"
content="/images/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
diff --git a/feed.xml b/feed.xml
index 22891a2..a6f3648 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="3.3.0">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2018-11-07T21:35:53+00:00</updated><id>/feed.xml</id><title
type="html">Apache OpenWhisk is a serverless, open source cloud
platform</title><subtitle>An open source platform for serverless, event-driven
code at any [...]
+<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="3.3.0">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2018-11-08T23:26:30+00:00</updated><id>/feed.xml</id><title
type="html">Apache OpenWhisk is a serverless, open source cloud
platform</title><subtitle>An open source platform for serverless, event-driven
code at any [...]
</subtitle></feed>
\ No newline at end of file
diff --git a/index.html b/index.html
index f244e18..02a49f3 100644
--- a/index.html
+++ b/index.html
@@ -15,7 +15,7 @@
<link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png"
sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png"
sizes="16x16">
<link rel="manifest" href="/images/favicon/manifest.json">
- <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
color="#5bbad5">
+ <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
<meta name="msapplication-config"
content="/images/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
diff --git a/slack.html b/slack.html
index aa71d8a..fe92bcf 100644
--- a/slack.html
+++ b/slack.html
@@ -15,7 +15,7 @@
<link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png"
sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png"
sizes="16x16">
<link rel="manifest" href="/images/favicon/manifest.json">
- <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
color="#5bbad5">
+ <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
<meta name="msapplication-config"
content="/images/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">