This is an automated email from the ASF dual-hosted git repository. pdesai pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git
The following commit(s) were added to refs/heads/master by this push: new f95c856 Improve instructs. for config. of CLI and Whisk Deploy (#347) f95c856 is described below commit f95c856a859e665891198a19de4c45ed3ece91c5 Author: Matt Rutkowski <mrutk...@us.ibm.com> AuthorDate: Thu Nov 8 17:23:56 2018 -0600 Improve instructs. for config. of CLI and Whisk Deploy (#347) * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * Update contributor section to ref. how to add runtimes * fix paragraph errors * fix paragraph errors * fix paragraph errors * fix paragraph errors * fix paragraph errors * fix paragraph errors * Simplify and clarify CLI instructions * Simplify and clarify CLI instructions * Simplify and clarify CLI instructions * Simplify and clarify CLI instructions * Simplify and clarify CLI instructions * Simplify and clarify Whisk Deploy instructions * Simplify and clarify Whisk Deploy instructions * Simplify and clarify Whisk Deploy instructions * Simplify and clarify Whisk Deploy instructions --- _includes/head/favicon.html | 2 +- _layouts/documentation.html | 2061 +++++++++++++++++++++++-------------------- _scss/_base.scss | 4 + _scss/_variables.scss | 5 +- 4 files changed, 1124 insertions(+), 948 deletions(-) diff --git a/_includes/head/favicon.html b/_includes/head/favicon.html index 5ca3271..4f4018d 100644 --- a/_includes/head/favicon.html +++ b/_includes/head/favicon.html @@ -3,7 +3,7 @@ <link rel="icon" type="image/png" href="{{ site.github.url }}/images/favicon/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="{{ site.github.url }}/images/favicon/favicon-16x16.png" sizes="16x16"> <link rel="manifest" href="{{ site.github.url }}/images/favicon/manifest.json"> - <link rel="mask-icon" href="{{ site.github.url }}/images/favicon/safari-pinned-tab.svg" color="#5bbad5"> + <link rel="mask-icon" href="{{ site.github.url }}/images/favicon/safari-pinned-tab.svg"> <link rel="shortcut icon" href="{{ site.github.url }}/images/favicon/favicon.ico"> <meta name="msapplication-config" content="{{ site.github.url }}/images/favicon/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 2afc5e7..1bb67fc 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -19,8 +19,8 @@ layout: default <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> @@ -122,674 +122,847 @@ layout: default </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="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"> + <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> + <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> + <!-- 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"> + <!-- 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"> {% highlight bash %} $ git clone https://github.com/apache/incubator-openwhisk-devtools.git $ cd incubator-openwhisk-devtools/docker-compose $ make quick-start {% endhighlight %} - </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> + </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 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> + <!-- 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 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> + <!-- 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> - <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> + <!-- Using OpenWhisk section --> + <main class="doc"> + <div class="content"> - </div> - </main> + <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> - <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> + </div> + </main> - <a class="indexable" id="wsk-cli-install"></a> - <h5>Installing</h5> + <!-- *************************************************************** --> + <!-- 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> - <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"> + <!-- 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"> {% highlight bash %} $ brew update $ brew install wsk {% endhighlight %} - </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"> - {% highlight bash %}$ sudo mv [full path to downloaded wsk] /usr/local/bin/wsk{% endhighlight %} - </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 (Windows):</h6> - - <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> - - <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> - <a class="indexable" id="wsk-cli-verify"></a> - <h5>Verifying</h5> - <ul> + <h6>Download and install the wsk CLI from (Linux, Mac or Windows):</h6> + <ul> <li> - <strong>CLI Help:</strong> - To get the CLI command help, execute the following command: - <div class="terminal"> -{% highlight bash %}$ wsk --help{% endhighlight %} - </div> + <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> - </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> + <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> - 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"> + <li><p><b>Linux</b>: Move the <code>wsk</code> executable + to your local <code>bin</code> directory:</p> + <div class="terminal"> + {% highlight bash %}$ sudo mv [full path to downloaded wsk executable] /usr/local/bin/wsk{% endhighlight %} + </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"> +{% highlight bash %}$ wsk --help{% endhighlight %} + </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"> {% highlight bash %} -$ wsk property set --apihost <API_HOST> --auth <AUTH_KEY> --namespace guest +$ wsk property set --apihost API_HOST --auth AUTH_KEY --namespace guest {% endhighlight %} - </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"> + </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"> {% highlight bash %} -$ export WSK_CONFIG_FILE=<your-config-file> -$ wsk list +$ export WSK_CONFIG_FILE=your-config-file {% endhighlight %} - </div> - </li> - </ul> - </li> - </ul> + </div> - </div> - </main> + <h6>Verify properties</h6> + <p>Verify your properties were properly set by + using the <code>wsk property get</code> command:</p> + <div class="terminal"> +{% highlight bash %} +$ wsk property get +{% endhighlight %} + </div> + </div> - <main class="doc"> - <div class="content"> + <!-- 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"> +{% highlight bash %} +$ wsk list -v +{% endhighlight %} + </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"> -{% highlight bash %}$ wskdeploy --help{% endhighlight %} - </div> - </li> + <p>Uncompress the <code>wskdeploy</code> executable from + the <code>tar.gz</code> file.</p></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. + <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> - <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"> + </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"> +{% highlight bash %}$ wskdeploy --help{% endhighlight %} + </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"> +{% highlight yaml %} +{% include code/manifest-for-helloJS-2.yaml %} +{% endhighlight %} + </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"> {% highlight bash %}$ wskdeploy -m manifest.yaml{% endhighlight %} - </div> - </li> - </ul> - </li> + </div> + </li> </ul> - </div> - </main> + + </div> + </main> <main class="doc"> <div class="content"> @@ -798,7 +971,7 @@ $ wsk list <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> @@ -818,287 +991,287 @@ $ wsk list </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:d...@openwhisk.incubator.apache.org">d...@openwhisk.incubator.apache.org</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:d...@openwhisk.incubator.apache.org">d...@openwhisk.incubator.apache.org</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"> {% highlight javascript linenos %} {% include code/hello.js %} {% endhighlight %} - </div> - </li> - <li style="list-style-type: decimal"> - Create an action called <i>helloJS</i> using <i>hello.js</i>: - <div class="terminal"> -{% highlight bash %}$ wsk action create helloJS hello.js{% endhighlight %} - </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> + </li> + <li style="list-style-type: decimal"> + Create an action called <i>helloJS</i> using <i>hello.js</i>: + <div class="terminal"> +{% highlight bash %}$ wsk action create helloJS hello.js{% endhighlight %} + </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"> {% highlight bash %}$ wsk action invoke helloJS --blocking{% endhighlight %} - </div> - <div class="terminal"> + </div> + <div class="terminal"> {% highlight yaml %} { - "result": { - "payload": "Hello world" - }, - "status": "success", - "success": true +"result": { + "payload": "Hello world" +}, +"status": "success", +"success": true }{% endhighlight %} - </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"> {% highlight yaml linenos %} {% include code/manifest-for-helloJS-1.yaml %} {% endhighlight %} - </div> - Or - <p></p> - <div class="terminal"> - {% highlight yaml linenos %} - {% include code/manifest-for-helloJS-2.yaml %} - {% endhighlight %} - </div> - </li> - <li> - Run deployment with <i>wskdeploy</i>: - <div class="terminal"> -{% highlight bash %}$ wskdeploy -m manifest.yaml{% endhighlight %} - </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> - - <!-- 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"> -{% highlight python linenos %} -{% include code/hello.py %} -{% endhighlight %} - </div> - <li style="list-style-type: decimal">Create an action called <i>helloPy</i> using <i>hello.py</i>: + </div> + Or + <p></p> <div class="terminal"> -{% highlight bash %}$ wsk action create helloPy hello.py{% endhighlight %} + {% highlight yaml linenos %} + {% include code/manifest-for-helloJS-2.yaml %} + {% endhighlight %} </div> + </li> + <li> + Run deployment with <i>wskdeploy</i>: <div class="terminal"> -<pre>ok: created action helloPy</pre> +{% highlight bash %}$ wskdeploy -m manifest.yaml{% endhighlight %} </div> </li> - <li style="list-style-type: decimal">Invoke the <i>helloPy</i> action using command-line parameters: + </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"> +{% highlight python linenos %} +{% include code/hello.py %} +{% endhighlight %} + </div> + <li style="list-style-type: decimal">Create an action called <i>helloPy</i> using <i>hello.py</i>: <div class="terminal"> -{% highlight bash %}$ wsk action invoke helloPy --blocking --param name World{% endhighlight %} +{% highlight bash %}$ wsk action create helloPy hello.py{% endhighlight %} </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"> +{% highlight bash %}$ wsk action invoke helloPy --blocking --param name World{% endhighlight %} + </div> + <div class="terminal"> {% highlight yaml %} { - "greeting": "Hello World!" +"greeting": "Hello World!" } {% endhighlight %} - </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"> {% highlight yaml linenos %} {% include code/manifest-for-helloPy-1.yaml %} {% endhighlight %} - </div> - Or - <p></p> - <div class="terminal"> + </div> + Or + <p></p> + <div class="terminal"> {% highlight yaml linenos %} {% include code/manifest-for-helloPy-2.yaml %} {% endhighlight %} - </div> - </li> - <li> - Run deployment with <i>wskdeploy</i>: - <div class="terminal"> + </div> + </li> + <li> + Run deployment with <i>wskdeploy</i>: + <div class="terminal"> {% highlight bash %}$ wskdeploy -m manifest.yaml{% endhighlight %} - </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"> {% highlight go linenos %} {% include code/hello.go %} {% endhighlight %} @@ -1114,11 +1287,11 @@ $ wsk list Invoke an action <i>helloGo</i>: <div class="terminal"> {% highlight bash %}$ wsk action invoke helloGo -r -p name gopher{% endhighlight %} - </div> - <div class="terminal"> + </div> + <div class="terminal"> {% highlight yaml %} { - "msg": "Hello, gopher!" +"msg": "Hello, gopher!" } {% endhighlight %} </div> @@ -1137,11 +1310,11 @@ $ wsk list {% highlight yaml linenos %} {% include code/manifest-for-helloGo.yaml %} {% endhighlight %} - </div> - </li> - <li> - Run deployment with <i>wskdeploy</i>: - <div class="terminal"> + </div> + </li> + <li> + Run deployment with <i>wskdeploy</i>: + <div class="terminal"> {% highlight bash %}$ wskdeploy -m manifest.yaml{% endhighlight %} </div> </li> @@ -1159,84 +1332,84 @@ $ wsk list <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"> {% highlight java linenos %} {% include code/Hello.java %} {% endhighlight %} - </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"> {% highlight bash %} $ javac Hello.java $ jar cvf hello.jar Hello.class {% endhighlight %} - </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"> {% highlight bash %}$ wsk action create helloJava hello.jar --main Hello{% endhighlight %} - </div> - <div class="terminal"> + </div> + <div class="terminal"> {% highlight yaml %}ok: created action helloJava{% endhighlight %} - </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"> {% highlight bash %}$ wsk action invoke helloJava --blocking --result{% endhighlight %} - </div> - <div class="terminal"> + </div> + <div class="terminal"> {% highlight yaml %} { - "greeting": "Hello stranger!" +"greeting": "Hello stranger!" } {% endhighlight %} - </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"> @@ -1846,7 +2019,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. @@ -1870,8 +2043,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/_scss/_base.scss b/_scss/_base.scss index 8abd4e2..2cec9b1 100644 --- a/_scss/_base.scss +++ b/_scss/_base.scss @@ -181,6 +181,10 @@ footer { text-align: left; } +.indented { + padding-left: $p-left-indent; +} + /* * Supporter logos */ diff --git a/_scss/_variables.scss b/_scss/_variables.scss index 28d3d80..5eb1a96 100644 --- a/_scss/_variables.scss +++ b/_scss/_variables.scss @@ -159,9 +159,6 @@ $h4-line-height: 28px; $h5-font-size: 16px; $h5-line-height: 24px; -$h6-font-size: 14px; -$h6-line-height: 22px; - $h6-font-size: $font-size-default; $h6-line-height: 24px; @@ -169,6 +166,8 @@ $p-font-size: $font-size-default; $p-font-weight: $font-weight-default; $p-line-height: $line-height-default; +$p-left-indent: 2em; + /* * Header */