This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 9a1a200 Automatic Site Publish by Jenkins
9a1a200 is described below
commit 9a1a20070eab03d5aadd906a4aa194be29fff34c
Author: jenkins <[email protected]>
AuthorDate: Fri Nov 30 21:57:20 2018 +0000
Automatic Site Publish by Jenkins
---
community.html | 51 +++--
css/main-v1.css | 2 +-
documentation.html | 605 +++++++++++++++++++++++++++++++++--------------------
downloads.html | 39 ++--
events.html | 15 +-
feed.xml | 2 +-
index.html | 106 +++++++---
slack.html | 15 +-
8 files changed, 520 insertions(+), 315 deletions(-)
diff --git a/community.html b/community.html
index 03ee823..680148c 100644
--- a/community.html
+++ b/community.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
console.log( "toggleReferencedSection(): parentId=" + parentId + " expand="
+ expand);
if (parentId !== ""){
sectionName = parentId.replace("index", "section");
- console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+ //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
sectionHeader = document.getElementById(sectionName);
section = sectionHeader.nextElementSibling;
if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
if(sibling!==null){
coll[i].style.listStyleImage =
"url('../images/elements/arrow-right-12px.png')";
- // (top right bottom left)
- // make room on left for image/icon
+ // make room on left for image/icon (top right bottom left)
sibling.style.padding = "0px 0px 0px 20px";
if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
coll[i].style.backgroundImage =
"url('../images/elements/circle-plus.png')";
sibling.style.display = "none";
} else {
- console.log( "addListenersToSections(): No Toggle style foun; default
to open");
+ //console.log( "addListenersToSections(): No Toggle style foun;
default to open");
coll[i].style.backgroundImage =
"url('../images/elements/circle-minus.png')";
sibling.style.display = "block";
}
@@ -125,18 +124,18 @@ function addListenersToSections()
var sibling = this.nextElementSibling;
// toggle menu open/close states
if(sibling!==null){
- console.log("sibling.style.display: ["+sibling.style.display+"]");
+ //console.log("sibling.style.display: ["+sibling.style.display+"]");
if (sibling.style.display !== "none") {
- console.log("collapsing");
+ //console.log("collapsing");
sibling.style.display = "none";
this.style.backgroundImage =
"url('../images/elements/circle-plus.png')";
} else {
- console.log("expanding");
+ //console.log("expanding");
sibling.style.display = "block";
this.style.backgroundImage =
"url('../images/elements/circle-minus.png')";
}
}
-
+
});
}
}
@@ -248,7 +247,7 @@ function addListenersToSections()
<main class="doc">
<div class="content">
<a class="indexable" id="social"></a>
- <h4>Media</h4>
+ <h3>Media</h3>
<p>The Apache OpenWhisk project is active on several content
sharing and social media channels which aim to make it easier for users to get
started, ask questions, stay informed and to interact with our community.</p>
<p>Icons that link to each of the following channels are located
in the header of our website and include:</p>
<ul>
@@ -273,25 +272,37 @@ function addListenersToSections()
<main class="doc">
<div class="content">
<a class="indexable" id="mailing-lists"></a>
- <h4>Mailing Lists</h4>
- <br>
- <h5>How to join the Apache OpenWhisk mailing list<h5>
- <p>The Dev Mailing List is where we discuss the development of
Apache OpenWhisk. It is <b><i>not</i></b> a place for technical support; if
you're looking for help on the project, please try our <a
style="font-weight:400;" href="/documentation.html">Documentation</a> page and
engage with us on one of the Social Media channels listed above.</p>
- <p>To subscribe, unsubscribe or post our developer list, send an
email message to one of the following addresses:</p>
+ <h3>Mailing Lists</h3>
+ <p>The developer or "dev" mailing list is where we discuss the
design and
+ development of Apache OpenWhisk project code.
+ It is <b><i>not</i></b> a place for technical support;
+ if you're looking for help on the project, please try our
+ <a style="font-weight:400;"
href="/documentation.html">Documentation</a>
+ page and engage with us on one of the Social Media channels
+ listed above.
+ </p>
+ <question>How do I join the Apache OpenWhisk project
+ developer mailing list?</question>
+ <p>To subscribe, unsubscribe or post our developer list, send
+ an email message to one of the following addresses:</p>
<ul>
<li><b>Subscribe</b>: <a
href="mailto:[email protected]">[email protected]</a></li>
<li><b>Unsubscribe</b>: <a
href="mailto:[email protected]">[email protected]</a></li>
<li><b>Post</b> (new topic): <a
href="mailto:[email protected]">[email protected]</a></li>
</ul>
- <p>To comment on a thread, simply reply to the message with the
same subject text.</p>
- <p><b>NOTE:</b> Make sure you add a subject line to the
subscribe/unsubscribe messages. Empty emails are ignored.</p>
- <p>To see existing messages, <a
href="https://lists.apache.org/[email protected]">https://lists.apache.org/[email protected]</a>.</p>
+ <p>To comment on a thread, simply reply to the message with
+ the same subject text.
+ </p>
+ <p><b>NOTE:</b> Make sure you add a subject line to the
+ subscribe/unsubscribe messages. Empty emails are ignored.</p>
+ <p>To see existing messages, use:
+ <a
href="https://lists.apache.org/[email protected]">https://lists.apache.org/[email protected]</a>.</p>
</div>
</main>
<main class="doc">
<div class="content">
<a class="indexable" id="wiki"></a>
- <h4>Project Wiki</h4>
+ <h3>Project Wiki</h3>
<p>The project maintains a <a
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki">Confluence
Wiki</a> site that provides the community a place to share their thoughts
about and collaborate around any aspect of the project; whether it's about the
platform architecture, an existing or planned feature or about its use cases
and integrations. Examples include:</p>
<ul>
<li><a
href="https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-how-to-contribute">How
to contribute?</li>
@@ -309,7 +320,7 @@ function addListenersToSections()
<main class="doc">
<div class="content">
<a class="indexable" id="events"></a>
- <h4>Events</h4>
+ <h3>Events</h3>
<h5 style="margin-top:20px;">Apache OpenWhisk events</h5>
<p>
Please reach out to community at <a
href="mailto:[email protected]">[email protected]</a>
to promote any OpenWhisk event.
@@ -331,7 +342,7 @@ function addListenersToSections()
<main class="doc">
<div class="content">
<a class="indexable" id="supporters"></a>
- <h4>Supporters</h4>
+ <h3>Supporters</h3>
<p>The following companies and organizations have acknowledged
support of the Apache OpenWhisk project as contributors or users of the
technology.</p>
<div class="flow-columns">
<div class="flow-item-container">
diff --git a/css/main-v1.css b/css/main-v1.css
index a038bca..b62e1d1 100644
--- a/css/main-v1.css
+++ b/css/main-v1.css
@@ -1 +1 @@
-html,body{margin:0;padding:0}input,button{outline:none}button{cursor:pointer}a{text-decoration:none}.clear{display:block;clear:both}*{box-sizing:border-box;background:none;border:0}body{font-family:"Roboto",sans-serif}h1,h2,h3,h4,h5,h6{font-weight:500;margin:0}h1{font-size:32px;line-height:normal}h2{font-size:28px;line-height:normal}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:28px}h5{font-size:16px;line-height:24px}h6{font-size:14px;font-style:italic;line-height:24px
[...]
+html,body{margin:0;padding:0}input,button{outline:none}button{cursor:pointer}a{text-decoration:none}.clear{display:block;clear:both}*{box-sizing:border-box;background:none;border:0}body{font-family:"Roboto",sans-serif}h1,h2,h3,h4,h5,h6{font-weight:500;margin:0}h1{font-size:32px;line-height:normal}h2{font-size:28px;line-height:normal}h3{font-size:24px;line-height:32px}h4{font-size:22px;line-height:30px}h5{font-size:16px;line-height:24px}h6{font-size:14px;font-style:italic;line-height:24px
[...]
diff --git a/documentation.html b/documentation.html
index a1c81e9..94c5931 100644
--- a/documentation.html
+++ b/documentation.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
console.log( "toggleReferencedSection(): parentId=" + parentId + " expand="
+ expand);
if (parentId !== ""){
sectionName = parentId.replace("index", "section");
- console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+ //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
sectionHeader = document.getElementById(sectionName);
section = sectionHeader.nextElementSibling;
if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
if(sibling!==null){
coll[i].style.listStyleImage =
"url('../images/elements/arrow-right-12px.png')";
- // (top right bottom left)
- // make room on left for image/icon
+ // make room on left for image/icon (top right bottom left)
sibling.style.padding = "0px 0px 0px 20px";
if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
coll[i].style.backgroundImage =
"url('../images/elements/circle-plus.png')";
sibling.style.display = "none";
} else {
- console.log( "addListenersToSections(): No Toggle style foun; default
to open");
+ //console.log( "addListenersToSections(): No Toggle style foun;
default to open");
coll[i].style.backgroundImage =
"url('../images/elements/circle-minus.png')";
sibling.style.display = "block";
}
@@ -125,18 +124,18 @@ function addListenersToSections()
var sibling = this.nextElementSibling;
// toggle menu open/close states
if(sibling!==null){
- console.log("sibling.style.display: ["+sibling.style.display+"]");
+ //console.log("sibling.style.display: ["+sibling.style.display+"]");
if (sibling.style.display !== "none") {
- console.log("collapsing");
+ //console.log("collapsing");
sibling.style.display = "none";
this.style.backgroundImage =
"url('../images/elements/circle-plus.png')";
} else {
- console.log("expanding");
+ //console.log("expanding");
sibling.style.display = "block";
this.style.backgroundImage =
"url('../images/elements/circle-minus.png')";
}
}
-
+
});
}
}
@@ -238,12 +237,6 @@ function addListenersToSections()
<li><a href="#nodejs-runtime">NodeJS Runtime</a></li>
<li><a href="#nodejs-additional-resources">Additional
Resources</a></li>
</ul>
- <li id="index-python" class="index-menu-toggle"><a
href="#python">using Python</a></li>
- <ul class="index-menuitems">
- <li><a href="#actions-python">Creating and Invoking Sample
Action</a></li>
- <li><a href="#python-runtime">Python Runtime</a></li>
- <li><a href="#python-additional-resources">Additional
Resources</a></li>
- </ul>
<li id="index-go" class="index-menu-toggle"><a href="#go">using
Go</a></li>
<ul class="index-menuitems">
<li><a href="#actions-go">Creating and Invoking Action</a></li>
@@ -262,18 +255,24 @@ function addListenersToSections()
<li><a href="#php-runtime">PHP Runtime</a></li>
<li><a href="#php-additional-resources">Additional
Resources</a></li>
</ul>
+ <li id="index-python" class="index-menu-toggle"><a
href="#python">using Python</a></li>
+ <ul class="index-menuitems">
+ <li><a href="#actions-python">Creating and Invoking Sample
Action</a></li>
+ <li><a href="#python-runtime">Python Runtime</a></li>
+ <li><a href="#python-additional-resources">Additional
Resources</a></li>
+ </ul>
<li id="index-ruby" class="index-menu-toggle"><a
href="#ruby">using Ruby</a></li>
<ul class="index-menuitems">
<li><a href="#actions-ruby">Creating and Invoking
Action</a></li>
<li><a href="#ruby-runtime">Ruby Runtime</a></li>
<li><a href="#ruby-additional-resources">Additional
Resources</a></li>
</ul>
- <!--li id="index-swift" class="index-menu-toggle"><a
href="#swift">Swift</a></li>
+ <li id="index-swift" class="index-menu-toggle"><a
href="#swift">using Swift</a></li>
<ul class="index-menuitems">
- <li><a href="#swift-actions">Creating and Invoking
Action</a></li>
+ <li><a href="#actions-swift">Creating and Invoking
Action</a></li>
<li><a href="#swift-runtime">Swift Runtime</a></li>
<li><a href="#swift-additional-resources">Additional
Resources</a></li>
- </ul-->
+ </ul>
<!--li id="index-docker" ><a href="#docker">Docker</a></li>
<ul>
<li>Zip Action</li>
@@ -364,14 +363,14 @@ function addListenersToSections()
<main class="doc">
<div class="content">
<a class="indexable" id="programming-model"></a>
- <h2>OpenWhisk Programming Model</h2>
+ <h3>OpenWhisk Programming Model</h3>
<p>
<img style="display:block; width:80%; margin: auto"
src="/images/illustrations/OW-Programming-Model-Horz.png"
alt="OpenWhisk Programming Model">
</p>
- <p>The OpenWhisk programming model is...</p>
- <h5>Event-Driven</h5>
+ <p>The OpenWhisk programming model...</p>
+ <h5>Is Event-driven</h5>
<p>In the OpenWhisk programming model, Events drive the
Serverless execution of functional code called Actions.
Events can come from any Event Source or Feed service
@@ -421,7 +420,7 @@ function addListenersToSections()
src="/images/illustrations/OW-Programming-Model-Horz-Action.png"
alt="OpenWhisk Programming Model: Actions">
<p>
- <strong>What is an Action?</strong>
+ <question>What is an Action?</question>
Actions are stateless functions (code snippets) that run on
the OpenWhisk platform. Actions encapsulate application logic
to be executed in response to events. Actions can be invoked
@@ -430,15 +429,15 @@ function addListenersToSections()
which we will discuss later.
</p>
<p>
- <strong>Does the function's language matter?</strong>
+ <question>Does the function's language matter?</question>
No, OpenWhisk is agnostic to a function's implementation language.
This means that OpenWhisk operations used to create, invoke and
manage Actions are the same regardless of implementation choice.
You decide what languages are best for you!
</p>
<p>
- <strong>What if your preferred language/runtime is not supported
- by OpenWhisk?</strong>
+ <question>What if your preferred language/runtime is not supported
+ by OpenWhisk?</question>
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
@@ -505,18 +504,18 @@ function addListenersToSections()
alt="OpenWhisk Programming Model: Actions">
<p>
- <strong>What is a trigger?</strong>
+ <question>What is a trigger?</question>
Triggers are named channels for classes or kinds of events
sent from Event Sources.
</p>
<p>
- <strong>What is a Rule?</strong>
+ <question>What is a Rule?</question>
Rules are used to associate one trigger with one action.
After this kind of association is created, each time
a trigger event is fired, the action is invoked.
</p>
<p>
- <strong>What are Event Sources?</strong>
+ <question>What are Event Sources?</question>
These are services that generate events that often indicate
changes in data or carry data themselves. Some examples of
common Event Sources include:
@@ -531,8 +530,8 @@ function addListenersToSections()
<li>etc.</li>
</ul>
<p>
- <strong>Why do I need to connect actions to event
- sources?</strong>
+ <question>Why do I need to connect actions to event
+ sources?</question>
OpenWhisk is based on an event-driven architecture where most
Actions are executed as events happen.
The Trigger itself is "fired" with a dictionary of
@@ -953,6 +952,21 @@ function addListenersToSections()
</div>
</li>
</ul>
+ <a class="indexable" id="additional-resources-wskdeploy"></a>
+ <h5>Additional Resources</h5>
+ <ul>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/tree/master/specification#openwhisk-packaging-specification">OpenWhisk
Packaging Specification</a></li>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/docs/programming_guide.md#wskdeploy-utility-by-example">Programming
Guide - "<code>wskdeploy</code> utility by example"</a></li>
+ </ul>
+ <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/wskdeploy">wskdeploy</a>)</span></h6>
+ <ul>
+ <li><a
href="https://medium.com/openwhisk/whisk-deploy-slack-package-f6690a1387e4">Whisk
Deploy - Slack Package</a></li>
+ <li><a
href="https://medium.com/openwhisk/whisk-deploy-github-dependency-b31799394e79">Whisk
Deploy - GitHub Dependency</a></li>
+ <li><a
href="https://medium.com/openwhisk/whisk-deploy-zip-actions-abcc8c01ac4">Whisk
Deploy - Zip Actions</a></li>
+ <li><a
href="https://medium.com/openwhisk/whisk-deploy-zip-actions-with-include-exclude-30ba6d96ad8b">Whisk
Deploy - Zip Actions with file Include & Exclude</a></li>
+ <li><a
href="https://medium.com/openwhisk/whisk-deploy-api-gateway-action-to-rest-api-cc52002c9d2c">Whisk
Deploy - API Gateway (Action to REST API)</a></li>
+ <li><a
href="https://medium.com/openwhisk/whisk-deploy-how-to-sync-openwhisk-projects-between-client-and-server-c7939f0642a1">Whisk
Deploy - How to Sync OpenWhisk Projects between Client and Server?</a></li>
+ </ul>
<!-- ********************************************************** -->
<!-- OpenWhisk REST API -->
@@ -1008,14 +1022,6 @@ function addListenersToSections()
<p>Select from the language example you would like to follow from the
list below.
</p>
- <!-- <ul>
- <li><a href="#section-nodejs">JavaScript (NodeJS)</a></li>
- <li><a href="#section-go">Go</a></li>
- <li><a href="#section-java">Java</a></li>
- <li><a href="#section-php">PHP</a></li>
- <li><a href="#section-python">Python</a></li>
- <li><a href="#section-ruby">Ruby</a></li>
- </ul> -->
<!-- ************************************** -->
<!-- Actions - JavaScript (NodeJS) -->
@@ -1154,13 +1160,168 @@ function addListenersToSections()
<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>
+ <li><a
href="https://medium.com/openwhisk/migrating-from-a-node-app-to-serverless-d76f744b22c9">Migrating
from a Node App to Serverless</a></li>
+ <li><a
href="https://medium.com/openwhisk/debugging-node-js-openwhisk-actions-3da3303e6741">Debugging
Node.js OpenWhisk Actions</a></li>
+ </ul>
+ <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/nodejs">nodejs</a>)</span></h6>
+ <ul>
+ <li><a
href="https://medium.com/openwhisk/creating-zipped-actions-in-openwhisk-ccfcda553a30">Creating
Zipped Actions in OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/an-example-of-an-openwhisk-sequence-417d653c5952">An
Example of an OpenWhisk Sequence</a></li>
+ <li><a
href="https://medium.com/openwhisk/working-with-openwhisk-triggers-734fa9624ae5">Working
with OpenWhisk Triggers</a></li>
+ <li><a
href="https://medium.com/openwhisk/another-openwhisk-cron-example-the-blog-nag-dd0074821d2d">Another
OpenWhisk Cron Example</a></li>
+ <li><a
href="https://medium.com/openwhisk/building-a-serverless-api-proxy-with-openwhisk-16e5fd16f44f">Building
a Serverless API Proxy with OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/building-a-form-handler-service-in-openwhisk-55f15fb133a3">Building
a Form Handler Service in OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/deploying-express-js-apps-to-openwhisk-part-1-9133ba5f262c">Deploying
Express.js apps to OpenWhisk (Part 1)</a></li>
+ <li><a
href="https://medium.com/openwhisk/designing-an-openwhisk-action-for-web-action-support-4f0299481e74">Designing
an OpenWhisk Action for Web Action Support</a></li>
</ul>
</div>
<!-- ************************************** -->
+ <!-- Actions - GoLang -->
+ <!-- ************************************** -->
+ <a class="indexable" id="go"></a>
+ <h6 id="section-go" class="section-toggle">using Go</h6>
+ <div class="section-toggleable section-toggle-start-closed">
+ <p></p>
+ <a class="indexable" id="actions-go"></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
+ <a href="#wsk-cli">OpenWhisk CLI (wsk)</a>.
+ </p>
+ <ol>
+ <li style="list-style-type: decimal">
+ <a class="indexable" id="hello-go"></a>
+ Create a file named <i>hello.go</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-go" data-lang="go"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15</pre></td><td class="code"><pre><span class="k">package</span><span
class="x"> </span><span class="n">main</span><span class="x">
+
+</span><span class="k">import</span><span class="x"> </span><span
class="s">"fmt"</span><span class="x">
+
+</span><span class="c">// Main function for the action</span><span class="x">
+</span><span class="k">func</span><span class="x"> </span><span
class="n">Main</span><span class="p">(</span><span class="n">obj</span><span
class="x"> </span><span class="k">map</span><span class="p">[</span><span
class="kt">string</span><span class="p">]</span><span
class="k">interface</span><span class="p">{})</span><span class="x">
</span><span class="k">map</span><span class="p">[</span><span
class="kt">string</span><span class="p">]</span><span
class="k">interface</span><span class [...]
+ </span><span class="n">name</span><span class="p">,</span><span
class="x"> </span><span class="n">ok</span><span class="x"> </span><span
class="o">:=</span><span class="x"> </span><span class="n">obj</span><span
class="p">[</span><span class="s">"name"</span><span class="p">]</span><span
class="o">.</span><span class="p">(</span><span class="kt">string</span><span
class="p">)</span><span class="x">
+ </span><span class="k">if</span><span class="x"> </span><span
class="o">!</span><span class="n">ok</span><span class="x"> </span><span
class="p">{</span><span class="x">
+ </span><span class="n">name</span><span class="x"> </span><span
class="o">=</span><span class="x"> </span><span
class="s">"stranger"</span><span class="x">
+ </span><span class="p">}</span><span class="x">
+ </span><span class="n">fmt</span><span class="o">.</span><span
class="n">Printf</span><span class="p">(</span><span
class="s">"name=%s</span><span class="se">\n</span><span
class="s">"</span><span class="p">,</span><span class="x"> </span><span
class="n">name</span><span class="p">)</span><span class="x">
+ </span><span class="n">msg</span><span class="x"> </span><span
class="o">:=</span><span class="x"> </span><span class="nb">make</span><span
class="p">(</span><span class="k">map</span><span class="p">[</span><span
class="kt">string</span><span class="p">]</span><span
class="k">interface</span><span class="p">{})</span><span class="x">
+ </span><span class="n">msg</span><span class="p">[</span><span
class="s">"msg"</span><span class="p">]</span><span class="x"> </span><span
class="o">=</span><span class="x"> </span><span class="s">"Hello, "</span><span
class="x"> </span><span class="o">+</span><span class="x"> </span><span
class="n">name</span><span class="x"> </span><span class="o">+</span><span
class="x"> </span><span class="s">"!"</span><span class="x">
+ </span><span class="k">return</span><span class="x"> </span><span
class="n">msg</span><span class="x">
+</span><span class="p">}</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Create an action <i>helloGo</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action create helloGo
hello.go</code></pre></figure>
+
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Invoke an action <i>helloGo</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloGo -r -p name
gopher</code></pre></figure>
+
+ </div>
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
+<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span>
<span class="s2">"</span><span class="s">Hello,</span><span class="nv">
</span><span class="s">gopher!"</span>
+<span class="pi">}</span></code></pre></figure>
+
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Deploy using <i>wskdeploy</i>:
+ <p>
+ <strong>Note:</strong> We will be using <i>wskdeploy</i> in
+ this section. If you don't have the binary,
+ please refer to the section
+ on <a href="#wskdeploy">Whisk Deploy</a> to download it.
+ </p>
+ <ol>
+ <li>Create a directory called <i>actions</i> with
+ <i>hello.go</i> from step 1 <a href="#hello-go">above</a>.
+ </li>
+ <li>
+ Create <i>manifest.yaml</i> with the following YAML content:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
+2
+3
+4
+5</pre></td><td class="code"><pre><span class="s">packages</span><span
class="pi">:</span>
+ <span class="s">default</span><span class="pi">:</span>
+ <span class="s">actions</span><span class="pi">:</span>
+ <span class="s">helloGo</span><span class="pi">:</span>
+ <span class="s">function</span><span class="pi">:</span> <span
class="s">hello.go</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+ </div>
+ </li>
+ <li>
+ Run deployment with <i>wskdeploy</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
+
+ </div>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ <a class="indexable" id="go-runtime"></a>
+ <h5>OpenWhisk Runtime for Go</h5>
+ <p>
+ If you wish to learn more about Go runtime along with
+ the libraries that are supported or "built-in" by
+ default, please visit
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-go/blob/master/README.md">Go
Runtime GitHub Repository</a>.
+ </p>
+ <a class="indexable" id="go-additional-resources"></a>
+ <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>
+ </ul>
+ <!-- <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/golang">golang</a>)</span></h6>
+ <ul>
+ <li><a href=""></a></li>
+ <li><a href=""></a></li>
+ <li><a href=""></a></li>
+ </ul> -->
+ </div>
+
+ <!-- ************************************** -->
<!-- Actions - Python -->
<!-- ************************************** -->
<a class="indexable" id="python"></a>
@@ -1311,144 +1472,11 @@ function addListenersToSections()
<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>
-
- <!-- ************************************** -->
- <!-- Actions - GoLang -->
- <!-- ************************************** -->
- <a class="indexable" id="go"></a>
- <h6 id="section-go" class="section-toggle">using Go</h6>
- <div class="section-toggleable section-toggle-start-closed">
- <p></p>
- <a class="indexable" id="actions-go"></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
- <a href="#wsk-cli">OpenWhisk CLI (wsk)</a>.
- </p>
- <ol>
- <li style="list-style-type: decimal">
- <a class="indexable" id="hello-go"></a>
- Create a file named <i>hello.go</i>:
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-go" data-lang="go"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15</pre></td><td class="code"><pre><span class="k">package</span><span
class="x"> </span><span class="n">main</span><span class="x">
-
-</span><span class="k">import</span><span class="x"> </span><span
class="s">"fmt"</span><span class="x">
-
-</span><span class="c">// Main function for the action</span><span class="x">
-</span><span class="k">func</span><span class="x"> </span><span
class="n">Main</span><span class="p">(</span><span class="n">obj</span><span
class="x"> </span><span class="k">map</span><span class="p">[</span><span
class="kt">string</span><span class="p">]</span><span
class="k">interface</span><span class="p">{})</span><span class="x">
</span><span class="k">map</span><span class="p">[</span><span
class="kt">string</span><span class="p">]</span><span
class="k">interface</span><span class [...]
- </span><span class="n">name</span><span class="p">,</span><span
class="x"> </span><span class="n">ok</span><span class="x"> </span><span
class="o">:=</span><span class="x"> </span><span class="n">obj</span><span
class="p">[</span><span class="s">"name"</span><span class="p">]</span><span
class="o">.</span><span class="p">(</span><span class="kt">string</span><span
class="p">)</span><span class="x">
- </span><span class="k">if</span><span class="x"> </span><span
class="o">!</span><span class="n">ok</span><span class="x"> </span><span
class="p">{</span><span class="x">
- </span><span class="n">name</span><span class="x"> </span><span
class="o">=</span><span class="x"> </span><span
class="s">"stranger"</span><span class="x">
- </span><span class="p">}</span><span class="x">
- </span><span class="n">fmt</span><span class="o">.</span><span
class="n">Printf</span><span class="p">(</span><span
class="s">"name=%s</span><span class="se">\n</span><span
class="s">"</span><span class="p">,</span><span class="x"> </span><span
class="n">name</span><span class="p">)</span><span class="x">
- </span><span class="n">msg</span><span class="x"> </span><span
class="o">:=</span><span class="x"> </span><span class="nb">make</span><span
class="p">(</span><span class="k">map</span><span class="p">[</span><span
class="kt">string</span><span class="p">]</span><span
class="k">interface</span><span class="p">{})</span><span class="x">
- </span><span class="n">msg</span><span class="p">[</span><span
class="s">"msg"</span><span class="p">]</span><span class="x"> </span><span
class="o">=</span><span class="x"> </span><span class="s">"Hello, "</span><span
class="x"> </span><span class="o">+</span><span class="x"> </span><span
class="n">name</span><span class="x"> </span><span class="o">+</span><span
class="x"> </span><span class="s">"!"</span><span class="x">
- </span><span class="k">return</span><span class="x"> </span><span
class="n">msg</span><span class="x">
-</span><span class="p">}</span><span class="w">
-</span></pre></td></tr></tbody></table></code></pre></figure>
-
- </div>
- </li>
- <li style="list-style-type: decimal">
- Create an action <i>helloGo</i>:
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action create helloGo
hello.go</code></pre></figure>
-
- </div>
- </li>
- <li style="list-style-type: decimal">
- Invoke an action <i>helloGo</i>:
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloGo -r -p name
gopher</code></pre></figure>
-
- </div>
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
-<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span>
<span class="s2">"</span><span class="s">Hello,</span><span class="nv">
</span><span class="s">gopher!"</span>
-<span class="pi">}</span></code></pre></figure>
-
- </div>
- </li>
- <li style="list-style-type: decimal">
- Deploy using <i>wskdeploy</i>:
- <p>
- <strong>Note:</strong> We will be using <i>wskdeploy</i> in
- this section. If you don't have the binary,
- please refer to the section
- on <a href="#wskdeploy">Whisk Deploy</a> to download it.
- </p>
- <ol>
- <li>Create a directory called <i>actions</i> with
- <i>hello.go</i> from step 1 <a href="#hello-go">above</a>.
- </li>
- <li>
- Create <i>manifest.yaml</i> with the following YAML content:
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5</pre></td><td class="code"><pre><span class="s">packages</span><span
class="pi">:</span>
- <span class="s">default</span><span class="pi">:</span>
- <span class="s">actions</span><span class="pi">:</span>
- <span class="s">helloGo</span><span class="pi">:</span>
- <span class="s">function</span><span class="pi">:</span> <span
class="s">hello.go</span><span class="w">
-</span></pre></td></tr></tbody></table></code></pre></figure>
-
- </div>
- </li>
- <li>
- Run deployment with <i>wskdeploy</i>:
- <div class="terminal">
-
-<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
-
- </div>
- </li>
- </ol>
- </li>
- </ol>
- <a class="indexable" id="go-runtime"></a>
- <h5>OpenWhisk Runtime for Go</h5>
- <p>
- If you wish to learn more about Go runtime along with
- the libraries that are supported or "built-in" by
- default, please visit
- <a
href="https://github.com/apache/incubator-openwhisk-runtime-go/blob/master/README.md">Go
Runtime GitHub Repository</a>.
- </p>
- <a class="indexable" id="go-additional-resources"></a>
- <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>
- </ul>
+ <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/python">python</a>)</span></h6>
+ <!-- <ul>
+ <li><a
href="https://medium.com/openwhisk/python-packages-in-openwhisk-8d10dcd91257">Python
Packages in OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/large-applications-on-openwhisk-bcf15bff94ec">Large
Applications on OpenWhisk</a></li>
+ </ul> -->
</div>
<!-- ************************************** -->
@@ -1573,6 +1601,13 @@ function addListenersToSections()
<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>
+ <!-- TODO: Java blogs are outdated / need update -->
+ <!-- <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/java">java</a>)</span></h6>
+ <ul>
+ <li><a
href="https://www.ibm.com/blogs/bluemix/2017/02/building-openwhisk-actions-java-gradle/">OpenWhisk
actions with Java and Gradle</a></li>
+ <li><a href=""></a></li>
+ <li><a href=""></a></li>
+ </ul> -->
</div>
<!-- ************************************** -->
@@ -1735,6 +1770,11 @@ function addListenersToSections()
<li><a
href="https://akrabat.com/getting-started-with-serverless-php/">Getting Started
with Serverless PHP</a></li>
<li><a
href="https://lornajane.net/posts/2018/handle-webhooks-with-serverless-php">Handle
Webhooks with Serverless PHP on OpenWhisk</a></li>
</ul>
+ <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/php">php</a>)</span></h6>
+ <ul>
+ <li><a
href="https://medium.com/openwhisk/using-serverless-framework-with-apache-openwhisk-and-php-76472727e9d8">Using
Serverless Framework with OpenWhisk PHP</a></li>
+ <li><a
href="https://medium.com/openwhisk/serverless-php-how-to-implement-serverless-functions-in-php-using-openwhisk-9943dc06f544">Serverless
PHP: How to implement serverless functions in PHP using OpenWhisk</a></li>
+ </ul>
</div>
<!-- ************************************** -->
@@ -1876,32 +1916,141 @@ function addListenersToSections()
</p>
<a class="indexable" id="ruby-additional-resources"></a>
<h5>Additional Resources</h5>
+ <p></p>
+ <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/ruby">ruby</a>)</span></h6>
<ul>
- <li>Coming soon...</li>
+ <li><a
href="https://medium.com/openwhisk/ruby-goes-serverless-apache-openwhisk-adds-native-support-for-ruby-7134faee14e">Ruby
goes Serverless! - Apache OpenWhisk adds native support for Ruby</a></li>
</ul>
</div>
<!-- ************************************** -->
- <!-- TODO: Actions - Swift -->
+ <!-- Actions - Swift -->
<!-- ************************************** -->
-
- <!-- <a class="indexable" id="swift"></a>
- <h4 id="section-swift" >using Swift</h4>
- <p></p>
- <a class="indexable" id="swift-actions"></a>
- <h5>Creating and Invoking Swift actions</h5>
- <p>
+ <a class="indexable" id="swift"></a>
+ <h6 id="section-swift" class="section-toggle">using Swift</h6>
+ <div class="section-toggleable section-toggle-start-closed">
+ <p></p>
+ <a class="indexable" id="actions-swift"></a>
+ <h5>Creating And Invoking Swift Actions</h5>
+ <p>
Let's look at how to write a sample hello world action in Swift.
- </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>
- <a class="indexable" id="swift-runtime"></a>
- <h5>OpenWhisk Runtime for Swift</h5>
- <p></p>
- <a class="indexable" id="swift-additional-resources"></a>
- <h5>Additional Resources</h5> -->
+ You can visit
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-swift#quick-swift-action">Quick
Swift Action</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
+ <a href="#wsk-cli">OpenWhisk CLI (wsk)</a>.
+ </p>
+ <ol>
+ <li style="list-style-type: decimal">
+ <a class="indexable" id="hello-swift"></a>
+ Create a file named <i>hello.swift</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-java"
data-lang="java"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
+2
+3
+4
+5
+6
+7</pre></td><td class="code"><pre><span class="n">func</span> <span
class="nf">main</span><span class="o">(</span><span class="nl">args:</span>
<span class="o">[</span><span class="nl">String:</span><span
class="n">Any</span><span class="o">])</span> <span class="o">-></span>
<span class="o">[</span><span class="nl">String:</span><span
class="n">Any</span><span class="o">]</span> <span class="o">{</span>
+ <span class="k">if</span> <span class="n">let</span> <span
class="n">name</span> <span class="o">=</span> <span class="n">args</span><span
class="o">[</span><span class="s">"name"</span><span class="o">]</span> <span
class="n">as</span><span class="o">?</span> <span class="n">String</span> <span
class="o">{</span>
+ <span class="k">return</span> <span class="o">[</span> <span
class="s">"greeting"</span> <span class="o">:</span> <span class="s">"Hello
\(name)!"</span> <span class="o">]</span>
+ <span class="o">}</span> <span class="k">else</span> <span
class="o">{</span>
+ <span class="k">return</span> <span class="o">[</span> <span
class="s">"greeting"</span> <span class="o">:</span> <span class="s">"Hello
swif4!"</span> <span class="o">]</span>
+ <span class="o">}</span>
+<span class="o">}</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Create an action <i>helloSwift</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action create helloSwift
hello.swift</code></pre></figure>
+
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Invoke an action <i>helloSwift</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wsk action invoke helloSwift -r -p
name Carlos</code></pre></figure>
+
+ </div>
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><span class="pi">{</span>
+<span class="s2">"</span><span class="s">msg"</span><span class="pi">:</span>
<span class="s2">"</span><span class="s">Hello</span><span class="nv">
</span><span class="s">Carlos!"</span>
+<span class="pi">}</span></code></pre></figure>
+
+ </div>
+ </li>
+ <li style="list-style-type: decimal">
+ Deploy using <i>wskdeploy</i>:
+ <p>
+ <strong>Note:</strong> We will be using <i>wskdeploy</i> in
+ this section. If you don't have the binary,
+ please refer to the section
+ on <a href="#wskdeploy">Whisk Deploy</a> to download it.
+ </p>
+ <ol>
+ <li>Create a directory called <i>actions</i> with
+ <i>hello.swift</i> from step 1 <a
href="#hello-swift">above</a>.
+ </li>
+ <li>
+ Create <i>manifest.yaml</i> with the following YAML content:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-yaml"
data-lang="yaml"><table style="border-spacing: 0"><tbody><tr><td class="gutter
gl" style="text-align: right"><pre class="lineno">1
+2
+3
+4
+5</pre></td><td class="code"><pre><span class="s">packages</span><span
class="pi">:</span>
+ <span class="s">default</span><span class="pi">:</span>
+ <span class="s">actions</span><span class="pi">:</span>
+ <span class="s">helloSwift</span><span class="pi">:</span>
+ <span class="s">function</span><span class="pi">:</span> <span
class="s">hello.swift</span><span class="w">
+</span></pre></td></tr></tbody></table></code></pre></figure>
+
+ </div>
+ </li>
+ <li>
+ Run deployment with <i>wskdeploy</i>:
+ <div class="terminal">
+
+<figure class="highlight"><pre><code class="language-bash"
data-lang="bash"><span class="gp">$ </span>wskdeploy -m
manifest.yaml</code></pre></figure>
+
+ </div>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ <a class="indexable" id="swift-runtime"></a>
+ <h5>OpenWhisk Runtime for Swift</h5>
+ <p>
+ If you wish to learn more about Swift runtime along with
+ the libraries that are supported or "built-in" by
+ default, please visit the project REAMDE
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-swift#apache-openwhisk-runtimes-for-swift">Apache
OpenWhisk runtimes for Swift</a>.
+ </p>
+ <a class="indexable" id="swift-additional-resources"></a>
+ <h5>Additional Resources</h5>
+ <ul>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-runtime-swift#swift-4x-support">Swift
4.x Codeable style example</a></li>
+ <li><a
href="https://github.com/apache/incubator-openwhisk-runtime-swift#packaging-an-action-as-a-swift-executable-using-swift-4">Packaging
an action as a Swift executable using Swift 4</a></li>
+ </ul>
+ <h6>Medium Blogs <span style="font-weight:normal;">(tagged <a
href="https://medium.com/openwhisk/tagged/swift">swift</a>)</span></h6>
+ <ul>
+ <li><a
href="https://medium.com/openwhisk/serverless-swift-with-openwhisk-4f84129e6839">Serverless
Swift With OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/creating-swift-binaries-for-openwhisk-487526d0d576">Creating
Swift Binaries for OpenWhisk</a></li>
+ <li><a
href="https://medium.com/openwhisk/creating-an-openwhisk-alexa-skill-583824bf58cb">Creating
an OpenWhisk Alexa skill</a> using Swift</li>
+ </ul>
+ </div>
<!-- ************************************** -->
<!-- TODO: Actions - Docker -->
@@ -1932,27 +2081,25 @@ function addListenersToSections()
</main> <!-- creating and invoking actions -->
<!-- *************************************************************** -->
- <!-- Packages -->
+ <!-- Packages Managing Actions -->
<!-- *************************************************************** -->
-
- <!-- Managing Actions with OpenWhisk Packages -->
<main class="doc">
<div class="content">
<a class="indexable" id="managing_actions_with_openwhisk_packages"></a>
- <h4>Managing Actions with OpenWhisk Packages</h4>
+ <h3>Managing Actions with OpenWhisk Packages</h3>
<p>
- <strong>What is a package?</strong> In OpenWhisk, you can use
packages to bundle together a set of related actions, and share them with
others.
+ <question>What is a package?</question> In OpenWhisk, you can use
packages to bundle together a set of related actions, and share them with
others.
OpenWhisk comes with a list of packages
You can get more details on OpenWhisk packages
<a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md#using-and-creating-openwhisk-packages">here</a>.
</p>
<p>
- <strong>Does OpenWhisk comes with any pre-installed
packages?</strong>
+ <question>Does OpenWhisk comes with any pre-installed
packages?</question>
OpenWhisk comes with a list of pre-installed public packages which
can be used by anyone.
OpenWhisk has created a dedicated shared namespace
<strong>/whisk.system</strong> for all the public packages.
</p>
<p>
- <strong>Which all packages are available under
/whisk.system?</strong>
+ <question>Which all packages are available under
/whisk.system?</question>
You can get a list of packages available in shared namespace by
using wsk CLI:
</p>
<ul>
@@ -1974,7 +2121,7 @@ function addListenersToSections()
</li>
</ul>
<p>
- <strong>How do I invoke an action from a public package?</strong>
+ <question>How do I invoke an action from a public package?</question>
There are two way to invoke an action from a package,
(1) Invoking an action directly from a package
(2) Creating a package binding and then invoking an action in the
binding.
@@ -2062,7 +2209,7 @@ function addListenersToSections()
</li>
</ul>
<p>
- <strong>Where do I get more information on packages?</strong>
+ <question>Where do I get more information on packages?</question>
Please read
<a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md#using-and-creating-openwhisk-packages">OpenWhisk
Packages</a>
for further details.
@@ -2073,7 +2220,7 @@ function addListenersToSections()
<main class="doc">
<div class="content">
<a class="indexable" id="automating_actions_from_event_sources"></a>
- <h4>Automating Actions from Event Sources</h4>
+ <h3>Automating Actions from Event Sources</h3>
<p>In this section, we will show how to automate Actions in response
to events coming from Event Sources.
Specifically, we will show how to create, fire
@@ -2220,7 +2367,7 @@ abcd.... locationUpdate
<main class="doc">
<div class="content">
<a class="indexable" id="using_openwhisk_enabled_services"></a>
- <h4>Using OpenWhisk Enabled Services</h4>
+ <h3>Using OpenWhisk Enabled Services</h3>
<p></p>
<p>
OpenWhisk offers a catalog of packages which gives you can easy
@@ -2301,7 +2448,7 @@ abcd.... locationUpdate
<main class="doc">
<div class="content">
<a class="indexable" id="sample_openwhisk_applications"></a>
- <h4>Sample OpenWhisk Applications</h4>
+ <h3>Sample OpenWhisk Applications</h3>
<p></p>
<h5>GitHub Slack Bot</h5>
<p style="padding-left: 2em;">
@@ -2336,7 +2483,7 @@ abcd.... locationUpdate
<main class="doc">
<div class="content">
<a class="indexable" id="tutorial_and_workshop"></a>
- <h4>Tutorial and Workshop</h4>
+ <h3>Tutorial and Workshop</h3>
<p></p>
<h5>OpenWhisk Tutorial</h5>
<p style="padding-left: 2em;">
@@ -2356,7 +2503,7 @@ abcd.... locationUpdate
<main class="doc">
<div class="content">
<a class="indexable" id="development_tools"></a>
- <h4>Development Tools</h4>
+ <h3>Development Tools</h3>
<p></p>
<h5>The OpenWhisk Debugger</h5>
<p class="indented">
@@ -2385,7 +2532,7 @@ abcd.... locationUpdate
others' Pull Requests (PRs).
</p>
<p>
- The following Wiki pages describe the How Tos of becoming an
+ The following Wiki pages describe the "How Tos" of becoming an
official Contributor:
</p>
<ul>
@@ -2397,16 +2544,18 @@ abcd.... locationUpdate
<!-- Contributors - project Structure -->
<!-- ******************************************************* -->
<a class="indexable" id="project-structure"></a>
- <h4>Project Structure</h4>
+ <h3>Project Structure</h3>
<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>
+ <ul>
+ <li><a
href="https://github.com/apache?q=openwhisk">https://github.com/apache?q=openwhisk</a></li>
+ </ul>
<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>
+ <h5>Platform</h5>
<p>Primary source code repositories including platform code,
run books, tests and more.</p>
<p class="repo-title border-deeper-sea-green">
@@ -2436,7 +2585,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-deeper-sky-blue">
- <h4>Runtimes</h4>
+ <h5>Runtimes</h5>
<p>OpenWhisk supports several languages via Docker runtime
containers.</p>
<p class="repo-title border-deeper-sky-blue">
@@ -2481,7 +2630,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-darkgoldenrod">
- <h4>Deployments</h4>
+ <h5>Deployments</h5>
<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"
@@ -2525,7 +2674,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-deeper-aquamarine">
- <h4>Tooling</h4>
+ <h5>Tooling</h5>
<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"
@@ -2577,7 +2726,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-darksalmon">
- <h4>Packages</h4>
+ <h5>Packages</h5>
<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,
@@ -2644,7 +2793,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-deeper-aquamarine">
- <h4>Clients and SDK</h4>
+ <h5>Clients and SDK</h5>
<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"
@@ -2673,7 +2822,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-darkorange">
- <h4>Samples</h4>
+ <h5>Samples</h5>
<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"
@@ -2714,7 +2863,7 @@ abcd.... locationUpdate
</p>
</div>
<div class="project-structure-repo theme-darkred">
- <h4>Others</h4>
+ <h5>Others</h5>
<p>Few other misc. but crucial repositories.</p>
<p class="repo-title border-darkred">
<a href="https://github.com/apache/incubator-openwhisk-release"
@@ -2782,7 +2931,7 @@ abcd.... locationUpdate
<!-- ***************************************************** -->
<a class="indexable" id="openwhisk_architecture"></a>
- <h4>OpenWhisk Architecture</h4>
+ <h3>OpenWhisk Architecture</h3>
<p>
The diagram below depicts the high-level architecture of
OpenWhisk. From Nginx to Kafka to Docker, multiple
@@ -2806,7 +2955,7 @@ abcd.... locationUpdate
<!-- Operators - Deployment Options -->
<!-- ***************************************************** -->
<a class="indexable" id="openwhisk_deployment"></a>
- <h4>Deployment Options</h4>
+ <h3>Deployment Options</h3>
<p>
OpenWhisk offers different deployment options
for installing and configuring the OpenWhisk platform components.
@@ -2830,7 +2979,7 @@ abcd.... locationUpdate
Google, IBM Cloud, etc.).
</p>
- <h4>Alternative options</h4>
+ <h3>Alternative options</h3>
<p>Here are some alternate choices for deploying the OpenWhisk
platform:
</p>
@@ -2915,7 +3064,7 @@ abcd.... locationUpdate
<!-- Operators - Admin -->
<!-- ******************************************************* -->
<a class="indexable" id="deployment_admin"></a>
- <h4>Administrative Operations</h4>
+ <h3>Administrative Operations</h3>
<p>
This section contains a list of resources which can be utilized
to administer the running OpenWhisk instance.
@@ -2928,7 +3077,7 @@ abcd.... locationUpdate
<!-- Operators - Resources -->
<!-- ******************************************************* -->
<a class="indexable" id="operators_resources"></a>
- <h4>Operator Resources</h4>
+ <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>
@@ -2944,7 +3093,7 @@ abcd.... locationUpdate
<main class="doc">
<div class="content">
<a class="indexable" id="other-resources"></a>
- <h2>Other Resources</h2>
+ <h3>Other Resources</h3>
<ul>
<li><a href="events.html">Events</a> - list of past OpenWhisk
events</li>
@@ -2959,7 +3108,7 @@ abcd.... locationUpdate
<main class="doc">
<div class="content">
<a class="indexable" id="faq"></a>
- <h2>Frequently Asked Questions</h2>
+ <h3>Frequently Asked Questions</h3>
<ul>
<li>
<a class="indexable" id="get-involved"></a>
diff --git a/downloads.html b/downloads.html
index 98ab5dd..fc2ca06 100644
--- a/downloads.html
+++ b/downloads.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
console.log( "toggleReferencedSection(): parentId=" + parentId + " expand="
+ expand);
if (parentId !== ""){
sectionName = parentId.replace("index", "section");
- console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+ //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
sectionHeader = document.getElementById(sectionName);
section = sectionHeader.nextElementSibling;
if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
if(sibling!==null){
coll[i].style.listStyleImage =
"url('../images/elements/arrow-right-12px.png')";
- // (top right bottom left)
- // make room on left for image/icon
+ // make room on left for image/icon (top right bottom left)
sibling.style.padding = "0px 0px 0px 20px";
if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
coll[i].style.backgroundImage =
"url('../images/elements/circle-plus.png')";
sibling.style.display = "none";
} else {
- console.log( "addListenersToSections(): No Toggle style foun; default
to open");
+ //console.log( "addListenersToSections(): No Toggle style foun;
default to open");
coll[i].style.backgroundImage =
"url('../images/elements/circle-minus.png')";
sibling.style.display = "block";
}
@@ -125,18 +124,18 @@ function addListenersToSections()
var sibling = this.nextElementSibling;
// toggle menu open/close states
if(sibling!==null){
- console.log("sibling.style.display: ["+sibling.style.display+"]");
+ //console.log("sibling.style.display: ["+sibling.style.display+"]");
if (sibling.style.display !== "none") {
- console.log("collapsing");
+ //console.log("collapsing");
sibling.style.display = "none";
this.style.backgroundImage =
"url('../images/elements/circle-plus.png')";
} else {
- console.log("expanding");
+ //console.log("expanding");
sibling.style.display = "block";
this.style.backgroundImage =
"url('../images/elements/circle-minus.png')";
}
}
-
+
});
}
}
@@ -272,7 +271,7 @@ function addListenersToSections()
<div class="content">
<div class="flow-columns">
<div class="project-structure-repo
theme-deeper-sea-green">
- <h4>OpenWhisk Runtime Node.js</h4>
+ <h5>OpenWhisk Runtime Node.js</h5>
<p class="repo-title border-deeper-sea-green">
<a
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-nodejs-1.12.0-incubating-sources.tar.gz&action=download">
@@ -294,7 +293,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo
theme-deeper-sky-blue">
- <h4>OpenWhisk Runtime Java</h4>
+ <h5>OpenWhisk Runtime Java</h5>
<p class="repo-title border-deeper-sky-blue">
<a
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-java-1.12.0-incubating-sources.tar.gz&action=download">
@@ -316,7 +315,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo theme-darkgoldenrod">
- <h4>OpenWhisk Runtime Docker</h4>
+ <h5>OpenWhisk Runtime Docker</h5>
<p class="repo-title border-darkgoldenrod">
<a
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-docker-1.12.0-incubating-sources.tar.gz&action=download">
@@ -338,7 +337,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo
theme-deeper-aquamarine">
- <h4>OpenWhisk Runtime Python</h4>
+ <h5>OpenWhisk Runtime Python</h5>
<p class="repo-title border-deeper-aquamarine">
<a
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-python-1.12.0-incubating-sources.tar.gz&action=download">
@@ -360,7 +359,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo theme-darksalmon">
- <h4>OpenWhisk Runtime PHP</h4>
+ <h5>OpenWhisk Runtime PHP</h5>
<p class="repo-title border-darksalmon">
<a
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-php-1.12.0-incubating-sources.tar.gz&action=download">
@@ -382,7 +381,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo theme-darkorange">
- <h4>OpenWhisk Runtime Swift</h4>
+ <h5>OpenWhisk Runtime Swift</h5>
<p class="repo-title border-darkorange">
<a
href="https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-swift-1.12.0-incubating-sources.tar.gz&action=download">
@@ -411,7 +410,7 @@ function addListenersToSections()
<div class="content">
<div class="flow-columns">
<div class="project-structure-repo
theme-deeper-sea-green">
- <h4>OpenWhisk</h4>
+ <h5>OpenWhisk</h5>
<p>Core service of OpenWhisk.</p>
<p class="repo-title border-deeper-sea-green">
<a
@@ -434,7 +433,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo
theme-deeper-sky-blue">
- <h4>OpenWhisk CLI</h4>
+ <h5>OpenWhisk CLI</h5>
<p>OpenWhisk command-line interface.</p>
<p class="repo-title border-deeper-sky-blue">
<a
@@ -457,7 +456,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo theme-darkgoldenrod">
- <h4>OpenWhisk Client Go</h4>
+ <h5>OpenWhisk Client Go</h5>
<p>OpenWhisk client library in Go.</p>
<p class="repo-title border-darkgoldenrod">
<a
@@ -480,7 +479,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo
theme-deeper-aquamarine">
- <h4>OpenWhisk Wskdeploy</h4>
+ <h5>OpenWhisk Wskdeploy</h5>
<p>OpenWhisk utility to configure OpenWhisk entities
with a Manifest file written in YAML, and deploy them in a single command.</p>
<p class="repo-title border-deeper-aquamarine">
<a
@@ -503,7 +502,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo theme-darksalmon">
- <h4>OpenWhisk Catalog</h4>
+ <h5>OpenWhisk Catalog</h5>
<p>Package catalogs of OpenWhisk, which provides an
easy way to enhance your application with useful capabilities, and to access
external services in the ecosystem.</p>
<p class="repo-title border-darksalmon">
<a
@@ -526,7 +525,7 @@ function addListenersToSections()
</div>
<div class="project-structure-repo theme-darkorange">
- <h4>OpenWhisk Apigateway</h4>
+ <h5>OpenWhisk Apigateway</h5>
<p>A performant API Gateway based on Openresty and
NGINX.</p>
<p class="repo-title border-darkorange">
<a
diff --git a/events.html b/events.html
index 1a85cff..c06cb85 100644
--- a/events.html
+++ b/events.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
console.log( "toggleReferencedSection(): parentId=" + parentId + " expand="
+ expand);
if (parentId !== ""){
sectionName = parentId.replace("index", "section");
- console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+ //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
sectionHeader = document.getElementById(sectionName);
section = sectionHeader.nextElementSibling;
if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
if(sibling!==null){
coll[i].style.listStyleImage =
"url('../images/elements/arrow-right-12px.png')";
- // (top right bottom left)
- // make room on left for image/icon
+ // make room on left for image/icon (top right bottom left)
sibling.style.padding = "0px 0px 0px 20px";
if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
coll[i].style.backgroundImage =
"url('../images/elements/circle-plus.png')";
sibling.style.display = "none";
} else {
- console.log( "addListenersToSections(): No Toggle style foun; default
to open");
+ //console.log( "addListenersToSections(): No Toggle style foun;
default to open");
coll[i].style.backgroundImage =
"url('../images/elements/circle-minus.png')";
sibling.style.display = "block";
}
@@ -125,18 +124,18 @@ function addListenersToSections()
var sibling = this.nextElementSibling;
// toggle menu open/close states
if(sibling!==null){
- console.log("sibling.style.display: ["+sibling.style.display+"]");
+ //console.log("sibling.style.display: ["+sibling.style.display+"]");
if (sibling.style.display !== "none") {
- console.log("collapsing");
+ //console.log("collapsing");
sibling.style.display = "none";
this.style.backgroundImage =
"url('../images/elements/circle-plus.png')";
} else {
- console.log("expanding");
+ //console.log("expanding");
sibling.style.display = "block";
this.style.backgroundImage =
"url('../images/elements/circle-minus.png')";
}
}
-
+
});
}
}
diff --git a/feed.xml b/feed.xml
index 4354dbe..078d0ab 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="3.3.0">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2018-11-27T19:00:28+00:00</updated><id>/feed.xml</id><title
type="html">Apache OpenWhisk is a serverless, open source cloud
platform</title><subtitle>An open source platform for serverless, event-driven
code at any [...]
+<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="3.3.0">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2018-11-30T21:57:16+00:00</updated><id>/feed.xml</id><title
type="html">Apache OpenWhisk is a serverless, open source cloud
platform</title><subtitle>An open source platform for serverless, event-driven
code at any [...]
</subtitle></feed>
\ No newline at end of file
diff --git a/index.html b/index.html
index 15ee999..388d0bc 100644
--- a/index.html
+++ b/index.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
console.log( "toggleReferencedSection(): parentId=" + parentId + " expand="
+ expand);
if (parentId !== ""){
sectionName = parentId.replace("index", "section");
- console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+ //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
sectionHeader = document.getElementById(sectionName);
section = sectionHeader.nextElementSibling;
if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
if(sibling!==null){
coll[i].style.listStyleImage =
"url('../images/elements/arrow-right-12px.png')";
- // (top right bottom left)
- // make room on left for image/icon
+ // make room on left for image/icon (top right bottom left)
sibling.style.padding = "0px 0px 0px 20px";
if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
coll[i].style.backgroundImage =
"url('../images/elements/circle-plus.png')";
sibling.style.display = "none";
} else {
- console.log( "addListenersToSections(): No Toggle style foun; default
to open");
+ //console.log( "addListenersToSections(): No Toggle style foun;
default to open");
coll[i].style.backgroundImage =
"url('../images/elements/circle-minus.png')";
sibling.style.display = "block";
}
@@ -125,18 +124,18 @@ function addListenersToSections()
var sibling = this.nextElementSibling;
// toggle menu open/close states
if(sibling!==null){
- console.log("sibling.style.display: ["+sibling.style.display+"]");
+ //console.log("sibling.style.display: ["+sibling.style.display+"]");
if (sibling.style.display !== "none") {
- console.log("collapsing");
+ //console.log("collapsing");
sibling.style.display = "none";
this.style.backgroundImage =
"url('../images/elements/circle-plus.png')";
} else {
- console.log("expanding");
+ //console.log("expanding");
sibling.style.display = "block";
this.style.backgroundImage =
"url('../images/elements/circle-minus.png')";
}
}
-
+
});
}
}
@@ -216,10 +215,28 @@ function addListenersToSections()
<div class="content">
<h4>What is Apache OpenWhisk?</h4>
<p>
- Apache OpenWhisk (Incubating) is an open source, distributed
<a href="https://en.wikipedia.org/wiki/Serverless_computing"
style="font-weight:bold">Serverless</a> platform that executes functions (<span
style="font-family:Times New Roman,Georgia,Serif">fx</span>) in response to
events at any scale. OpenWhisk manages the infrastructure, servers and scaling
using Docker containers so you can focus on building amazing and efficient
applications.
+ Apache OpenWhisk (Incubating) is an open source, distributed
+ <a
href="https://en.wikipedia.org/wiki/Serverless_computing">Serverless</a>
+ platform that executes functions
+ (<span style="font-family:Times New
Roman,Georgia,Serif">fx</span>)
+ in response to events at any scale. OpenWhisk manages the
+ infrastructure, servers and scaling using Docker containers
+ so you can focus on building amazing and efficient
+ applications.
</p>
<p>
- The OpenWhisk platform supports a programming model in which
developers write functional logic (called <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md"><span
style="font-weight:bold">Actions</span></a>), in any supported programming
language, that can be dynamically scheduled and run in response to associated
events (via <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md"><span
style="font-weight:bo [...]
+ The OpenWhisk platform supports a programming model in which
+ developers write functional logic (called
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#openwhisk-actions">Actions</a>),
+ in any supported programming language, that can be dynamically
+ scheduled and run in response to associated events (via
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md#creating-triggers-and-rules">Triggers</a>)
+ from external sources (
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/feeds.md#implementing-feeds">Feeds</a>)
+ or from HTTP requests. The project includes a REST API-based
+ Command Line Interface (CLI) along with other tooling to
+ support packaging, catalog services and many popular container
+ deployment options.
</p>
<a class="button"
href="/documentation.html#openwhisk_deployment">Create Your Local Playground</a>
</div>
@@ -236,7 +253,20 @@ function addListenersToSections()
<div class="content">
<h4>Deploys anywhere</h4>
<p>
- Since Apache OpenWhisk builds its components using containers
it easily supports many deployment options both locally and within Cloud
infrastructures. Options include many of today's popular Container frameworks
such as <a style="font-weight:bold"
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md">Kubernetes</a>,
<a style="font-weight:bold"
href="https://github.com/apache/incubator-openwhisk-deploy-mesos/blob/master/README.md">Mesos</a
[...]
+ Since Apache OpenWhisk builds its components using containers
+ it easily supports many deployment options both locally and
+ within Cloud infrastructures. Options include many of today's
+ popular Container frameworks such as
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/README.md">Kubernetes</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-mesos/blob/master/README.md">Mesos</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-openshift/blob/master/README.md">OpenShift</a>
and
+ <a
href="https://github.com/apache/incubator-openwhisk-devtools/blob/master/docker-compose/README.md">Compose</a>.
+ In general, the community endorses deployment on Kubernetes
+ using
+ <a href="https://helm.sh/Helm">Helm</a>
+ charts since it provides many easy and convenient
+ implementations for both Devlopers and Operators alike such as
+ <a
href="https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/docs/minikube.md">Minikube</a>.
</p>
</div>
</main>
@@ -247,18 +277,30 @@ function addListenersToSections()
<h4>Write functions in any language</h4>
<!-- Possible text addition: "bundle larger or complex
dependencies, and tailor the runtime environment to suite your needs."" -->
<p>
- Work with what you know and love. OpenWhisk supports a growing
list of your favorite languages such as
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs">NodeJS</a></b>,
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-swift">Swift</a></b>,
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-java">Java</a></b>,
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-go">Go</a></b>,
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-java">Scala</a></b>,
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-python">Python</a></b>,
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-php">PHP</a></b> and
- <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-ruby">Ruby</a></b>.
+ Work with what you know and love. OpenWhisk supports a
+ growing list of your favorite languages such as
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-nodejs">NodeJS</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-swift">Swift</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-java">Java</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-go">Go</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-java">Scala</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-python">Python</a>,
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-php">PHP</a> and
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-ruby">Ruby</a>.
</p>
<p>
- If you need languages or libraries the current
"out-of-the-box" runtimes do not support, you can create and customize your own
executables as Zip Actions which run on the <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md">Docker</a></b>
runtime by using the <b><a
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/sdk/docker/README.md">Docker
SDK</a></b>. Some examples of how to support other languag [...]
+ If you need languages or libraries the current
+ "out-of-the-box" runtimes do not support, you can create
+ and customize your own executables as Zip Actions which
+ run on the
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md">Docker</a>
+ runtime by using the
+ <a
href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/sdk/docker/README.md">Docker
SDK</a>.
+ Some examples of how to support other languages using
+ Docker Actions include
+ <a
href="https://medium.com/openwhisk/openwhisk-and-rust-lang-24025734a834">Rust</a>,
+ and
+ <a
href="https://github.com/rainbyte/openwhisk-wrapper">Haskell</a>.
</p>
<p>
Once you have your function written, use the
@@ -282,26 +324,32 @@ function addListenersToSections()
<p>
OpenWhisk makes it simple for developers to integrate their
Actions with many popular services using
- <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md"><span
style="font-weight:bold">Packages</span></a>
+ <a
href="https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md">Packages</a>
that are provided either as independently developed
projects under the OpenWhisk family or as part of
our default
- <a
href="https://github.com/apache/incubator-openwhisk-catalog">catalog</a>.
+ <a
href="https://github.com/apache/incubator-openwhisk-catalog">Catalog</a>.
</p>
<p>
Packages offer integrations with general services such as
- <a
href="https://github.com/apache/incubator-openwhisk-package-kafka">Kafka</a>
message queues,
+ <a
href="https://github.com/apache/incubator-openwhisk-package-kafka">Kafka</a>
+ message queues,
databases including <a
href="https://github.com/apache/incubator-openwhisk-package-cloudant">Cloudant</a>,
- <a
href="https://github.com/apache/incubator-openwhisk-package-pushnotifications">Push
Notifications</a> from mobile applications,
- <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/slack">Slack</a>
messaging,
- and <a
href="https://github.com/apache/incubator-openwhisk-package-rss">RSS</a> feeds.
+ <a
href="https://github.com/apache/incubator-openwhisk-package-pushnotifications">Push
Notifications</a>
+ from mobile applications,
+ <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/slack">Slack</a>
+ messaging,
+ and <a
href="https://github.com/apache/incubator-openwhisk-package-rss">RSS</a>
+ feeds.
Development pipelines can take advantage of integrations with
<a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/github">GitHub</a>,
<a
href="https://github.com/apache/incubator-openwhisk-package-jira">JIRA</a>,
or easily connect with custom data services from
IBM Watson for <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/watson-translator">Translation</a>
- or <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/watson-speechToText">Speech-to-Text</a>,
as well as the
- <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/weather">Weather</a>
company.
+ or <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/watson-speechToText">Speech-to-Text</a>,
+ as well as the
+ <a
href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/packages/weather">Weather</a>
+ company.
</p>
<p>
You can even use the <a
href="https://github.com/apache/incubator-openwhisk-package-alarms">Alarms</a>
diff --git a/slack.html b/slack.html
index 68e059a..003becd 100644
--- a/slack.html
+++ b/slack.html
@@ -36,7 +36,7 @@ function toggleReferencedSection( parentId, expand )
console.log( "toggleReferencedSection(): parentId=" + parentId + " expand="
+ expand);
if (parentId !== ""){
sectionName = parentId.replace("index", "section");
- console.log( "toggleReferencedSection(): sectionName=" + sectionName);
+ //console.log( "toggleReferencedSection(): sectionName=" + sectionName);
sectionHeader = document.getElementById(sectionName);
section = sectionHeader.nextElementSibling;
if(expand){
@@ -61,8 +61,7 @@ function addListenersToIndex()
if(sibling!==null){
coll[i].style.listStyleImage =
"url('../images/elements/arrow-right-12px.png')";
- // (top right bottom left)
- // make room on left for image/icon
+ // make room on left for image/icon (top right bottom left)
sibling.style.padding = "0px 0px 0px 20px";
if(sibling.classList.contains('index-menu-start-open')){
@@ -114,7 +113,7 @@ function addListenersToSections()
coll[i].style.backgroundImage =
"url('../images/elements/circle-plus.png')";
sibling.style.display = "none";
} else {
- console.log( "addListenersToSections(): No Toggle style foun; default
to open");
+ //console.log( "addListenersToSections(): No Toggle style foun;
default to open");
coll[i].style.backgroundImage =
"url('../images/elements/circle-minus.png')";
sibling.style.display = "block";
}
@@ -125,18 +124,18 @@ function addListenersToSections()
var sibling = this.nextElementSibling;
// toggle menu open/close states
if(sibling!==null){
- console.log("sibling.style.display: ["+sibling.style.display+"]");
+ //console.log("sibling.style.display: ["+sibling.style.display+"]");
if (sibling.style.display !== "none") {
- console.log("collapsing");
+ //console.log("collapsing");
sibling.style.display = "none";
this.style.backgroundImage =
"url('../images/elements/circle-plus.png')";
} else {
- console.log("expanding");
+ //console.log("expanding");
sibling.style.display = "block";
this.style.backgroundImage =
"url('../images/elements/circle-minus.png')";
}
}
-
+
});
}
}