[openwhisk-wskdeploy] branch master updated: Documentation cleanup, post-gogradle build changes (#1120)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new af80c22 Documentation cleanup, post-gogradle build changes (#1120) af80c22 is described below commit af80c22f0fb3158f43c9f08a2423d135579dc07b Author: Matt Rutkowski AuthorDate: Tue Feb 23 17:26:41 2021 -0600 Documentation cleanup, post-gogradle build changes (#1120) * Documentation cleanup, post-gogradle build changes * Documentation cleanup, post-gogradle build changes * Documentation cleanup, post-gogradle build changes * Documentation cleanup, post-gogradle build changes * Update cross compile instructions for gradfle tasks --- README.md | 50 +++ build.gradle | 2 +- parsers/manifest_parser_test.go| 4 +- specification/html/spec_actions.md | 5 +- specification/html/spec_apis.md| 1 + .../html/spec_entity_naming_and_namespacing.md | 18 +++--- specification/html/spec_intro.md | 10 +-- specification/html/spec_maps.md| 1 + specification/html/spec_normative_refs.md | 49 ++- specification/html/spec_package_processing.md | 7 +-- specification/html/spec_parameter_types.md | 6 +- specification/html/spec_parameters.md | 73 +++--- specification/html/spec_rule.md| 2 + specification/html/spec_schema.md | 2 +- specification/html/spec_sequences.md | 2 + specification/html/spec_shared_entity_schema.md| 5 +- specification/html/spec_trigger.md | 4 ++ .../dat/deployment_validate_package_inputs_1.yaml | 2 - tests/dat/manifest_validate_params.yaml| 4 +- 19 files changed, 168 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 9c4e8b9..392a737 100644 --- a/README.md +++ b/README.md @@ -154,29 +154,57 @@ After compiling, a suitable wskdeploy binary that works for your OS platform wil 1. Verify your installed Gradle version is `5.5.1` (or higher) -- If you use Windows OS, type ```gradlew.bat -version ```. -- For Unix/Linux/Mac, please type ```./gradlew -version```. +- On Windows OS, type ```gradlew.bat -version ```. +- On Unix/Linux/Mac, please type ```./gradlew -version```. > **Note** Gradle v6 is not yet supported. -1. For Windows type ```gradlew.bat distDocker```. For Linux/Unix/Mac, please type ```./gradlew distDocker```. These -commands will start the wskdeploy cross compile for your specific OS platform inside a Docker container. +1. Cross-compile binaries for all supported Operating Systems and Architectures: -1. After build success, you should find a correct binary under current /bin dir of you openwhisk-deploy clone dir. +- On Windows, type ```gradlew.bat goBuild``` +- On Linux/Unix/Mac, please type ```./gradlew goBuild```. -If you would like to build the binaries available for all the operating systems and architectures, run the following command: +1. Upon a successful build, all binaries can be found within the `./build` directory of your project: -```sh -$ ./gradlew distDocker -PcrossCompileWSKDEPLOY=true -``` +```sh +$ ls build +darwin-amd64 linux-amd64 linux-arm64 linux-s390x windows-amd64 +linux-386 linux-arm linux-ppc64le windows-386 +``` -Then, you will find the binaries and their compressed packages generated under the folder ```bin///``` for each supported Operating System and CPU Architecture pair. + Compiling for a single OS/ARCH + +1. View gradle build tasks for supported Operating Systems and Architectures: + +```sh +./gradlew tasks +``` -### Building for Internationalization +you will see build tasks for supported OS/ARCH combinations: + +```sh +Gogradle tasks +-- +buildDarwinAmd64 - Custom go task. +buildLinux386 - Custom go task. +buildLinuxAmd64 - Custom go task. +buildLinuxArm - Custom go task. +buildLinuxArm64 - Custom go task. +buildLinuxPpc64le - Custom go task. +buildLinuxS390x - Custom go task. +buildWindows386 - Custom go task. +buildWindowsAmd64 - Custom go task. +``` + +> Note: The `buildWindows386` option is only supported on Golang versions less than 1.15. + + Building for Internationalization Please follow this process for building any changes to translatable strings: - [How to generate the file i18n_resources.go for internationalization](https://github.com/apache/openwhisk-wskdeploy/blob/master/wski18n/README.md) +--- + ### Running as a Go program Since ```wskdeploy``` is a GoLang program, y
[openwhisk-wskdeploy] branch master updated: Add Rust extension to list of known runtimes (#1117)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new ee2db4c Add Rust extension to list of known runtimes (#1117) ee2db4c is described below commit ee2db4cac436c0e61c60a0e26a22b78da65968ea Author: Matt Rutkowski AuthorDate: Thu Feb 18 00:23:51 2021 -0600 Add Rust extension to list of known runtimes (#1117) --- runtimes/runtimes.go | 6 ++ 1 file changed, 6 insertions(+) diff --git a/runtimes/runtimes.go b/runtimes/runtimes.go index 30e1bc0..76e083e 100644 --- a/runtimes/runtimes.go +++ b/runtimes/runtimes.go @@ -43,6 +43,7 @@ const ( PHP_FILE_EXTENSION = "php" ZIP_FILE_EXTENSION = "zip" RUBY_FILE_EXTENSION = "rb" + RUST_FILE_EXTENSION = "rs" GO_FILE_EXTENSION = "go" NODEJS_RUNTIME = "nodejs" SWIFT_RUNTIME = SWIFT_FILE_EXTENSION @@ -51,6 +52,7 @@ const ( DOTNET_RUNTIME = ZIP_FILE_EXTENSION PHP_RUNTIME = PHP_FILE_EXTENSION RUBY_RUNTIME= "ruby" + RUST_RUNTIME= "rust" GO_RUNTIME = GO_FILE_EXTENSION HTTP_CONTENT_TYPE_KEY = "Content-Type" HTTP_CONTENT_TYPE_VALUE = "application/json; charset=UTF-8" @@ -205,6 +207,8 @@ func FileExtensionRuntimes(op OpenWhiskInfo) (ext map[string]string) { ext[JAR_FILE_EXTENSION] = k } else if strings.Contains(k, RUBY_RUNTIME) { ext[RUBY_FILE_EXTENSION] = k + } else if strings.Contains(k, RUST_RUNTIME) { + ext[RUST_FILE_EXTENSION] = k } else if strings.Contains(k, GO_RUNTIME) { ext[GO_FILE_EXTENSION] = k } else if strings.Contains(k, DOTNET_RUNTIME) { @@ -233,6 +237,8 @@ func FileRuntimeExtensions(op OpenWhiskInfo) (rte map[string]string) { rte[v[i].Kind] = JAVA_FILE_EXTENSION } else if strings.Contains(k, RUBY_RUNTIME) { rte[v[i].Kind] = RUBY_FILE_EXTENSION + } else if strings.Contains(k, RUST_RUNTIME) { + rte[v[i].Kind] = RUST_FILE_EXTENSION } else if strings.Contains(k, GO_RUNTIME) { rte[v[i].Kind] = GO_FILE_EXTENSION } else if strings.Contains(k, DOTNET_RUNTIME) {
[openwhisk-wskdeploy] branch master updated: Remove unused Godeps files; update README for Go Modules (#1114)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 7126d6c Remove unused Godeps files; update README for Go Modules (#1114) 7126d6c is described below commit 7126d6ccb50a63b11ce23a9f4166edb76bb9bfa1 Author: Matt Rutkowski AuthorDate: Wed Feb 17 17:03:33 2021 -0600 Remove unused Godeps files; update README for Go Modules (#1114) * Remove unused Godeps files; update README for Go Modules * Remove unused Godeps files; update README for Go Modules * Remove unused Godeps files; update README for Go Modules * Remove unused Godeps files; update README for Go Modules * Remove unused Godeps files; update README for Go Modules * Update README to include dependency mgmt using go get * Clean up Dockerfile from godeps commands * Remove godep from travis config --- .travis.yml | 1 - Dockerfile | 10 +- Godeps/Godeps.json | 176 Godeps/Readme| 5 - Makefile | 6 +- README.md| 244 +-- build.gradle | 1 - docs/creating_tagged_releases.md | 11 +- 8 files changed, 165 insertions(+), 289 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3444ab7..79555d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,6 @@ install: - export DEPLOY_BUILD_READY=false - go get -u golang.org/x/lint/golint - go get -u github.com/stretchr/testify - - go get -u github.com/tools/godep before_script: - GO_FILES=$(find . -iname '*.go' -type f -not -path "./wski18n/i18n_resources.go") - export BAD_GO=$(gofmt -s -l $(echo $GO_FILES)) diff --git a/Dockerfile b/Dockerfile index 34fe6e4..f3dd5c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ # limitations under the License. # -FROM golang:1.9 +FROM golang:1.15 # Install zip RUN apt-get -y update && \ @@ -23,16 +23,8 @@ RUN apt-get -y update && \ ENV GOPATH=/ -# Download and install tools -RUN echo "Installing the godep tool" -RUN go get github.com/tools/godep - ADD . /src/github.com/apache/openwhisk-wskdeploy -# Load all of the dependencies from the previously generated/saved godep generated godeps.json file -RUN echo "Restoring Go dependencies" -RUN cd /src/github.com/apache/openwhisk-wskdeploy && /bin/godep restore -v - # All of the Go CLI binaries will be placed under a build folder RUN rm -rf /src/github.com/apache/openwhisk-wskdeploy/build RUN mkdir /src/github.com/apache/openwhisk-wskdeploy/build diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json deleted file mode 100644 index 28eb422..000 --- a/Godeps/Godeps.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "ImportPath": "github.com/apache/openwhisk-wskdeploy", - "GoVersion": "go1.9", - "GodepVersion": "v62", - "Deps": [ - { - "ImportPath": "github.com/cloudfoundry/jibber_jabber", - "Rev": "bcc4c8345a21301bf47c032ff42dd1aae2fe3027" - }, - { - "ImportPath": "github.com/fatih/color", - "Comment": "v1.5.0", - "Rev": "570b54cabe6b8eb0bc2dfce68d964677d63b5260" - }, - { - "ImportPath": "github.com/fsnotify/fsnotify", - "Comment": "v1.4.2-2-gfd9ec7d", - "Rev": "fd9ec7deca8bf46ecd2a795baaacf2b3a9be1197" - }, - { - "ImportPath": "github.com/google/go-querystring/query", - "Rev": "9235644dd9e52eeae6fa48efd539fdc351a0af53" - }, - { - "ImportPath": "github.com/hashicorp/hcl", - "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4" - }, - { - "ImportPath": "github.com/hashicorp/hcl/hcl/ast", - "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4" - }, - { - "ImportPath": "github.com/hashicorp/hcl/hcl/parser", - "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4" - }, - { -
[openwhisk-wskdeploy] branch master updated: Remove unsupported Darwin-386 (23-bit) from GoLang 1.15 build matrix (#1115)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 7093f6c Remove unsupported Darwin-386 (23-bit) from GoLang 1.15 build matrix (#1115) 7093f6c is described below commit 7093f6c6a3b6e652128cdbc69abda702035ced06 Author: Matt Rutkowski AuthorDate: Fri Feb 12 16:55:32 2021 -0600 Remove unsupported Darwin-386 (23-bit) from GoLang 1.15 build matrix (#1115) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a6f115b..07fbe7c 100644 --- a/build.gradle +++ b/build.gradle @@ -213,7 +213,7 @@ if (rootProject.hasProperty('buildPlatforms')) { rootProject.ext.platforms = [ 'linux-386', 'linux-amd64', 'linux-s390x', 'linux-ppc64le', 'linux-arm', 'linux-arm64', -'darwin-386', 'darwin-amd64', +'darwin-amd64', 'windows-386', 'windows-amd64' ].collect { new OpenWhiskPlatform(it) } } else {
[openwhisk-website] branch master updated: Update README with recommended versions for website build dependencies (#438)
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/openwhisk-website.git The following commit(s) were added to refs/heads/master by this push: new 39a225a Update README with recommended versions for website build dependencies (#438) 39a225a is described below commit 39a225a103195dab472dc2ebdb29bd9ea98b333f Author: Matt Rutkowski AuthorDate: Wed Jul 8 09:40:18 2020 -0500 Update README with recommended versions for website build dependencies (#438) * Update README with recommended versions for website build dependencies) * missing end parens --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5725f65..d0d8990 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,9 @@ Apache OpenWhisk is a cloud-first distributed event-based programming service. I ### Install Prerequisites -- Download and install Node.js: see [https://nodejs.org/](https://nodejs.org/) -- Download and install Ruby: see [https://www.ruby-lang.org/en/documentation/installation/](https://www.ruby-lang.org/en/documentation/installation/) +- Download and install Node.js (recommend v10 LTS): see [https://nodejs.org/](https://nodejs.org/) +- Download and install NPM (recommend v6.14 latest): see [https://www.npmjs.com/package/npm](https://www.npmjs.com/package/npm) +- Download and install Ruby (recommend v2.7 stable): see [https://www.ruby-lang.org/en/documentation/installation/](https://www.ruby-lang.org/en/documentation/installation/) ```sh # Verify Node and Node Package Manager are installed
[openwhisk-website] branch master updated: Update Java hello world example with updated instructions (#437)
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/openwhisk-website.git The following commit(s) were added to refs/heads/master by this push: new a2c96d2 Update Java hello world example with updated instructions (#437) a2c96d2 is described below commit a2c96d2954537c44aa3e4ed6b780af7f4f1dc4f4 Author: Matt Rutkowski AuthorDate: Mon Jul 6 22:38:30 2020 -0500 Update Java hello world example with updated instructions (#437) * Update Java hello world example with updated instructions * Update Java hello world example with updated instructions * Update Java hello world example with updated instructions --- _includes/code/Hello.java | 2 -- _layouts/documentation.html | 49 +--- images/runtimes/icon-rust-mono.png | Bin 0 -> 17729 bytes images/runtimes/logo-scala-notext-color.png | Bin 0 -> 47880 bytes 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/_includes/code/Hello.java b/_includes/code/Hello.java index 9801e88..a76cba0 100644 --- a/_includes/code/Hello.java +++ b/_includes/code/Hello.java @@ -1,5 +1,3 @@ -package hello; - import com.google.gson.JsonObject; public class Hello { diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 6b02d58..848a6b1 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -489,7 +489,7 @@ layout: default -OpenWhisk CLI (wsk) +OpenWhisk CLI (wsk) OpenWhisk offers the wsk Command Line Interface (CLI) to easily create, run, and manage OpenWhisk entities. @@ -661,19 +661,18 @@ $ wsk list -v -Whisk Deploy (wskdeploy) +Whisk Deploy (wskdeploy) https://github.com/apache/openwhisk-wskdeploy/blob/master/README.md;>Whisk Deploy is a utility, named wskdeploy, to help deploy and manage all your OpenWhisk Packages, Actions, Triggers, Rules - and APIs using a single command using an application manifest. + and APIs from a single command using an application manifest. +Whisk deploy in the wsk CLI + - The functionality of wskdeploy is also embedded as a subcommand - of wsk in the CLI. You can use the wsk deploy - subcommand or follow the instructions below on installing the - wskdeploy utility. + The functionality of wskdeploy is also embedded as the deploy subcommand within the wsk CLI. The functionality is identical and supports all the same parameters and flags. This means that you can use the wsk deploy subcommand if you already have the CLI installed or follow the instructions below on installing the wskdeploy utility for standalone use. Installing @@ -1180,6 +1179,11 @@ $ wsk list -v + + Assure that you have downloaded the JAR file for the imported `com.google.gson.JsonObject` library (i.e., https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.5;>google-gson-2.8.5.jar from Maven) to your Java `CLASSPATH`. + + + Compile Hello.Java into a JAR file hello.jar as follows @@ -1188,9 +1192,16 @@ $ javac Hello.java $ jar cvf hello.jar Hello.class {% endhighlight %} + Please note that the current default JVM for OpenWhisk is Java 8. If you are using a newer version, you must specify that release version when you compile: + + +{% highlight bash %} +$ javac --release 8 Hello.java +{% endhighlight %} + - Create an action called helloJava using hello.jar: + Create an action called helloJava using hello.jar specifying the Java class where the `main` entry point you wish to invoke: {% highlight bash %}$ wsk action create helloJava hello.jar --main Hello{% endhighlight %} @@ -2548,9 +2559,9 @@ abcd locationUpdate Quick Start -The easiest way to start using OpenWhisk is to install the "Standalone" -OpenWhisk stack. This is a full-featured OpenWhisk stack running as a Java process -for convenience. Serverless functions run within Docker containers. +The easiest way to start using OpenWhisk is to install the "Standalone" +OpenWhisk stack. This is a full-featured OpenWhisk stack running as a Java process +for convenience. Serverless functions run within Docker containers. You will need https://docs.docker.com/installDocker;>Docker,
[openwhisk-test] branch master updated: Add a simple python app for testing (#12)
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/openwhisk-test.git The following commit(s) were added to refs/heads/master by this push: new e7bcc41 Add a simple python app for testing (#12) e7bcc41 is described below commit e7bcc41eea4a09c99420a6c7058710ffda20629a Author: Will Plusnick AuthorDate: Thu Apr 30 00:11:23 2020 -0500 Add a simple python app for testing (#12) --- packages/helloMorse/__main__.py | 22 ++ packages/helloMorse/requirements.txt | 1 + 2 files changed, 23 insertions(+) diff --git a/packages/helloMorse/__main__.py b/packages/helloMorse/__main__.py new file mode 100644 index 000..25c7d46 --- /dev/null +++ b/packages/helloMorse/__main__.py @@ -0,0 +1,22 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +from morse3 import Morse + +def main(params): +hello = "Hello, World!" +return {'morseGreeting': Morse(hello).stringToMorse()} diff --git a/packages/helloMorse/requirements.txt b/packages/helloMorse/requirements.txt new file mode 100644 index 000..79d5e46 --- /dev/null +++ b/packages/helloMorse/requirements.txt @@ -0,0 +1 @@ +morse3
[openwhisk-wskdeploy] branch master updated: Fix max int. comparison for 386 archs (#1090)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 33ba29b Fix max int. comparison for 386 archs (#1090) 33ba29b is described below commit 33ba29b278bc5f7693303b3cb4b89a568321e668 Author: Matt Rutkowski AuthorDate: Fri Feb 28 12:36:26 2020 -0600 Fix max int. comparison for 386 archs (#1090) --- webaction/webaction.go | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webaction/webaction.go b/webaction/webaction.go index e69c073..b4f2f9f 100644 --- a/webaction/webaction.go +++ b/webaction/webaction.go @@ -213,7 +213,10 @@ func ValidateRequireWhiskAuthAnnotationValue(actionName string, value interface{ // However, in JS, the bitwise operators and shift operators operate on 32-bit ints, // so in that case, the max safe integer is 231-1, or 2147483647 // We also disallow negative integers - if secureValue < MAX_JS_INT && secureValue > 0 { + // NOTE: when building for 386 archs. we need to assure comparison with MAX_JS_INT does not + // "blow up" and must allow the compiler to compare an untyped int (secureValue) to effectively + // an int64... so for the comparison we MUST force a type conversion to avoid "int" size mismatch + if int64(secureValue) < MAX_JS_INT && secureValue > 0 { isValid = true enabled = wski18n.FEATURE_ENABLED }
[openwhisk-wskdeploy] branch master updated: Enable Web Secure token for sequences on API create (#1087)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new db5e34e Enable Web Secure token for sequences on API create (#1087) db5e34e is described below commit db5e34e35825900c52017b545e56935c5bea5578 Author: Matt Rutkowski AuthorDate: Fri Jan 31 18:14:23 2020 -0600 Enable Web Secure token for sequences on API create (#1087) * Enable Web Secure token for sequences on API create * Enable Web Secure token for sequences on API create * Fix non-working code that attempted to add web annotations * refine procedural logic for reuse * refine procedural logic for reuse * refine procedural logic for reuse * refine procedural logic for reuse * refine procedural logic for reuse --- deployers/manifestreader.go| 2 +- deployers/servicedeployer.go | 11 +++-- parsers/manifest_parser.go | 57 +- parsers/manifest_parser_test.go| 2 +- specification/html/spec_sequences.md | 7 +++ ...ng_web_annotation_on_api_action_or_sequence.yml | 53 ...manifest_require_whisk_auth_sequence_valid.yaml | 41 tests/src/integration/webaction/src/hello.js | 24 + .../webaction/src/hello_http_validate.js | 36 ++ .../integration/webaction/src/hello_http_wrap.js | 28 +++ utils/misc.go | 11 + webaction/webaction.go | 52 +--- wskderrors/wskdeployerror.go | 32 wski18n/i18n_ids.go| 5 ++ wski18n/i18n_resources.go | 4 +- wski18n/resources/en_US.all.json | 12 - 16 files changed, 326 insertions(+), 51 deletions(-) diff --git a/deployers/manifestreader.go b/deployers/manifestreader.go index b039a30..63fe49d 100644 --- a/deployers/manifestreader.go +++ b/deployers/manifestreader.go @@ -108,7 +108,7 @@ func (reader *ManifestReader) HandleYaml(manifestParser *parsers.YAMLParser, man return wskderrors.NewYAMLFileFormatError(manifestName, err) } - apis, responses, err := manifestParser.ComposeApiRecordsFromAllPackages(reader.serviceDeployer.ClientConfig, manifest) + apis, responses, err := manifestParser.ComposeApiRecordsFromAllPackages(reader.serviceDeployer.ClientConfig, manifest, actions, sequences) if err != nil { return wskderrors.NewYAMLFileFormatError(manifestName, err) } diff --git a/deployers/servicedeployer.go b/deployers/servicedeployer.go index 47f6036..1bba645 100644 --- a/deployers/servicedeployer.go +++ b/deployers/servicedeployer.go @@ -1012,15 +1012,18 @@ func (deployer *ServiceDeployer) createAction(pkgname string, action *whisk.Acti return nil } -func (deployer *ServiceDeployer) getAnnotationsFromPackageAction(packageActionName string) *whisk.KeyValueArr { +func (deployer *ServiceDeployer) getAnnotationsFromPackageActionOrSequence(packageActionName string) *whisk.KeyValueArr { if len(packageActionName)!=0 { // Split the package name and action name being searched for - aActionName := strings.Split(packageActionName,"/") + aActionName := strings.Split(packageActionName, parsers.PATH_SEPARATOR) + // Attempt to locate the named action (or sequence) to return its annotations if pkg, found := deployer.Deployment.Packages[aActionName[0]]; found { if atemp, found := pkg.Actions[aActionName[1]]; found { return &(atemp.Action.Annotations) + } else if atemp, found := pkg.Sequences[aActionName[1]]; found { + return &(atemp.Action.Annotations) } } } @@ -1041,9 +1044,11 @@ func (deployer *ServiceDeployer) createApi(api *whisk.ApiCreateRequest) error { // Retrieve annotations on the action we are attempting to create an API for var actionAnnotations *whisk.KeyValueArr - actionAnnotations = deployer.getAnnotationsFromPackageAction(api.ApiDoc.Action.Name) + actionAnnotations = deployer.getAnnotationsFromPackageActionOrSequence(api.ApiDoc.Action.Name) // Process any special annotations (e.g., "require-whisk-auth") on the associated Action + // NOTE: we do not throw an error if annotations are NOT found (nil) since this is already done in + // the parsing phase and would be redundant. if actionAnnotations != nil { wskp
[openwhisk-wskdeploy] branch master updated: Enable setting user-supplied auth tokens on API create via require-whisk-auth annotation (#1083)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 0a6491c Enable setting user-supplied auth tokens on API create via require-whisk-auth annotation (#1083) 0a6491c is described below commit 0a6491cde1d9ef7275db997652e89fc663854c6f Author: Matt Rutkowski AuthorDate: Fri Jan 24 17:44:27 2020 -0600 Enable setting user-supplied auth tokens on API create via require-whisk-auth annotation (#1083) * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * Fix schema for web-secure and support auth annotations * support require-whisk-auth not web-secure * add secureKey to API create request * Add invalid key tests and error output * Additional error logic/info msgs * Move validation/error logic to parser phase * Move validation/error logic to parser phase * Move validation/error logic to parser phase * Move validation/error logic to parser phase * Account for boolean values * rewrite require-auth validation logic to be more type aware and efficient * Add unit test for diff data types of require-whisk-auth values * Add unique int. tests for require whisk auth * Add unique int. tests for require whisk auth * Add unique int. tests for require whisk auth * Add unique int. tests for require whisk auth * clean up TODOs and valid auth int. testcase * clean up TODOs and valid auth int. testcase * clean up TODOs and valid auth int. testcase * Add integration tests for invalid values * Update docs and comments in code * Update docs and comments in code * Update docs and comments in code * Update docs and comments in code * remove timing error prone managed deplyment tests * Clean up functional tests and actually create APIs for valid tests * Update supported runtimes table; add image links --- deployers/manifestreader.go| 6 - deployers/servicedeployer.go | 34 +- parsers/manifest_parser.go | 43 ++-- parsers/yamlparser.go | 10 +- specification/html/spec_actions.md | 117 tests/src/integration/common/wskdeploy.go | 4 + .../managed-deployment/managed-deployment_test.go | 122 ++--- tests/src/integration/webaction/manifest.yml | 8 +- ...anifest_require_whisk_auth_invalid_int_big.yaml | 28 + ...anifest_require_whisk_auth_invalid_int_neg.yaml | 28 + ...ifest_require_whisk_auth_invalid_str_empty.yaml | 27 + ...anifest_require_whisk_auth_invalid_str_nil.yaml | 27 + .../manifest_require_whisk_auth_valid.yaml | 50 + .../webaction_require_whisk_auth_invalid_test.go | 55 ++ ... => webaction_require_whisk_auth_valid_test.go} | 21 ++-- tests/src/integration/webaction/webaction_test.go | 8 +- utils/conversion.go| 1 - utils/{format.go => debug.go} | 25 ++--- utils/format.go| 17 +-- utils/misc.go | 10 -- utils/misc_test.go | 2 +- webaction/webaction.go | 82 -- wskderrors/wskdeployerror.go | 16 +++ wski18n/i18n_ids.go| 55 +- wski18n/i18n_resources.go | 4 +- wski18n/resources/en_US.all.json | 8 ++ wskprint/console.go| 12 +- 27 files c
[openwhisk-wskdeploy] branch master updated: Add the ability to specify api via swagger in manifest (#1078)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new a3a2bcb Add the ability to specify api via swagger in manifest (#1078) a3a2bcb is described below commit a3a2bcb69a2797d3ed3056ef8958606fd1921797 Author: Will Plusnick AuthorDate: Fri Jan 10 16:27:34 2020 -0600 Add the ability to specify api via swagger in manifest (#1078) * Add the ability to specify api via swagger in manifest Adds the ability for swagger file specifying the api to be referenced in the manifest under project.config. The config name was chosen to be consistent with whisk-cli -c/--config option. * Fix bug in undeploy with no swagger and update godeps * Fix nil pointer error when no swagger present in undeploy * update godeps * Add documentation and examples for new open api spec support * Fix Godeps * Remove trailing whitespace from open api spec doc * Reword documentation * Add error check * Give a more descriptive title for documentation --- Godeps/Godeps.json | 12 +- deployers/manifestreader.go| 20 +++ deployers/servicedeployer.go | 95 ++- ...ifest_hello_world_apigateway_open_api_spec.yaml | 28 docs/examples/open_api_spec.json | 60 +++ docs/wskdeploy_apigateway_open_api_spec.md | 177 + parsers/manifest_parser.go | 110 + parsers/yamlparser.go | 1 + 8 files changed, 492 insertions(+), 11 deletions(-) diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 1b463cb..28eb422 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -164,9 +164,13 @@ "ImportPath": "gopkg.in/yaml.v2", "Rev": "eb3733d160e74a9c7e442f435eb3bea458e1d19f" }, -{ -"ImportPath": "github.com/palantir/stacktrace", -"Rev": "78658fd2d1772b755720ed8c44367d11ee5380d6" -} +{ + "ImportPath": "github.com/palantir/stacktrace", + "Rev": "78658fd2d1772b755720ed8c44367d11ee5380d6" +}, +{ + "ImportPath": "github.com/ghodss/yaml", + "Rev": "25d852aebe32c875e9c044af3eef9c7dc6bc777f" +} ] } diff --git a/deployers/manifestreader.go b/deployers/manifestreader.go index 4fa3308..8ef9638 100644 --- a/deployers/manifestreader.go +++ b/deployers/manifestreader.go @@ -113,6 +113,11 @@ func (reader *ManifestReader) HandleYaml(manifestParser *parsers.YAMLParser, man return wskderrors.NewYAMLFileFormatError(manifestName, err) } + api, response, err := manifestParser.ComposeApiRecordsFromSwagger(reader.serviceDeployer.ClientConfig, manifest) + if err != nil { + return wskderrors.NewYAMLFileFormatError(manifestName, err) + } + err = reader.SetDependencies(deps) if err != nil { return wskderrors.NewYAMLFileFormatError(manifestName, err) @@ -143,6 +148,11 @@ func (reader *ManifestReader) HandleYaml(manifestParser *parsers.YAMLParser, man return wskderrors.NewYAMLFileFormatError(manifestName, err) } + err = reader.SetSwaggerApi(api, response) + if err != nil { + return wskderrors.NewYAMLFileFormatError(manifestName, err) + } + return nil } @@ -322,6 +332,16 @@ func (reader *ManifestReader) SetApis(ar []*whisk.ApiCreateRequest, responses ma return nil } +func (reader *ManifestReader) SetSwaggerApi(api *whisk.ApiCreateRequest, response *whisk.ApiCreateRequestOptions) error { + dep := reader.serviceDeployer + + dep.mt.Lock() + defer dep.mt.Unlock() + dep.Deployment.SwaggerApi = api + dep.Deployment.SwaggerApiOptions = response + return nil +} + // Check action record before deploying it // action record is created by reading and composing action elements from manifest file // Action.kind is mandatory which is set to diff --git a/deployers/servicedeployer.go b/deployers/servicedeployer.go index 770ee6c..e59b47d 100644 --- a/deployers/servicedeployer.go +++ b/deployers/servicedeployer.go @@ -45,11 +45,13 @@ const ( ) type DeploymentProject struct { - Packages map[string]*DeploymentPackage - Triggers map[string]*whisk.Trigger - Rules map[string]*whisk.Rule - Apis map[string]*whisk.ApiCreateRequest - ApiOptions map[string]*whisk.ApiCreateRequestOptions + Packages map[str
[openwhisk-wskdeploy] branch master updated: Deprecate nodejs:6 and update runtime metadata (#1085)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 8e4a799 Deprecate nodejs:6 and update runtime metadata (#1085) 8e4a799 is described below commit 8e4a79926039612c5242f06942c3382919acc021 Author: Will Plusnick AuthorDate: Fri Jan 10 12:17:06 2020 -0600 Deprecate nodejs:6 and update runtime metadata (#1085) --- deployers/manifestreader_test.go | 2 +- docs/export.md | 18 ++--- docs/sync_projects_between_client_and_server.md| 24 - docs/wskdeploy_inputs.md | 18 ++--- docs/wskdeploy_interpolation.md| 4 +-- gradle/wrapper/gradle-wrapper.jar | Bin 53556 -> 53557 bytes parsers/manifest_parser_test.go| 30 ++--- runtimes/runtimes.go | 6 ++--- .../OW-Programming-Model-Slides-Slide1.jpg | Bin 102157 -> 102158 bytes .../OW-Programming-Model-Slides-Slide2.jpg | Bin 131026 -> 131027 bytes .../diagrams/OW-Programming-Model-Slides.pptx | Bin 328908 -> 328909 bytes .../images/conceptual_manifest_file_creation.png | Bin 224377 -> 224378 bytes .../images/conceptual_manifest_file_deployment.png | Bin 368694 -> 368695 bytes .../html/images/conceptual_programming_model.png | Bin 45986 -> 45987 bytes specification/html/spec_actions.md | 2 +- tests/apps/owbp-cloudant-trigger/manifest-bp.json | 2 +- ...ose_actions_for_function_with_env_variable.yaml | 4 +-- tests/dat/manifest_data_unmarshal_packages.yaml| 2 +- tests/dat/manifest_hello_nodejs.yaml | 2 +- tests/dat/manifest_hello_nodejs_with_params.yaml | 2 +- .../dat/manifest_invalid_packages_key_missing.yaml | 2 +- tests/dat/manifest_validate_action_all.yaml| 2 +- .../dat/manifest_validate_action_annotations.yaml | 6 ++--- tests/dat/manifest_validate_credentials.yaml | 2 +- tests/dat/manifest_validate_deployment_reader.yaml | 2 +- tests/dat/manifest_validate_inputs.yaml| 2 +- tests/dat/manifest_validate_json_params.yaml | 2 +- tests/dat/manifest_validate_multiline_params.yaml | 2 +- tests/dat/manifest_validate_package_inputs.yaml| 2 +- tests/dat/manifest_validate_package_inputs_1.yaml | 2 +- tests/dat/manifest_validate_package_inputs_2.yaml | 2 +- tests/dat/manifest_validate_package_inputs_3.yaml | 2 +- tests/dat/manifest_validate_package_inputs_4.yaml | 2 +- tests/dat/manifest_validate_package_inputs_5.yaml | 6 ++--- ...te_package_inputs_periodic_slack_reminders.yaml | 2 +- tests/dat/manifest_validate_sequences_bogus.yaml | 6 ++--- tests/dat/manifest_validate_singleline_params.yaml | 2 +- tests/src/integration/alarmtrigger/manifest.yaml | 4 +-- tests/src/integration/apigateway/manifest.yml | 2 +- tests/src/integration/conductor/manifest.yaml | 8 +++--- .../defaultpackage/manifest-with-project.yaml | 8 +++--- tests/src/integration/defaultpackage/manifest.yaml | 8 +++--- tests/src/integration/docker/actions/exec.zip | Bin 334 -> 335 bytes tests/src/integration/docker/actions/go/exec | Bin 2229083 -> 2229084 bytes tests/src/integration/export/manifest_2pack.yaml | 8 +++--- tests/src/integration/export/manifest_apiexp.yaml | 2 +- tests/src/integration/export/manifest_feed.yaml| 2 +- .../integration/export/manifest_helloworld.yaml| 4 +-- tests/src/integration/export/manifest_lib1.yaml| 6 ++--- tests/src/integration/export/manifest_lib2.yaml| 6 ++--- tests/src/integration/flagstests/manifest.yaml | 2 +- tests/src/integration/flagstests/manifest.yml | 2 +- tests/src/integration/helloworld/actions/hello.jar | Bin 1053 -> 1054 bytes tests/src/integration/helloworld/actions/hello.zip | Bin 404 -> 405 bytes tests/src/integration/helloworld/manifest.yaml | 4 +-- tests/src/integration/jaraction/src/hello.jar | Bin 966 -> 967 bytes .../00-manifest-minus-second-package.yaml | 6 ++--- .../01-manifest-minus-sequence-2.yaml | 6 ++--- .../02-manifest-minus-action-3.yaml| 4 +-- .../03-manifest-minus-trigger.yaml | 4 +-- .../managed-deployment/05-manifest-headless.yaml | 2 +- .../integration/managed-deployment/manifest.yaml | 8 +++--- tests/src/integration/message-hub/manifest.yaml| 4 +-- tests/src/integration/runtimetests/manifest.yaml | 8 +++--- tests/src/integration/runtimetests/src/hello.jar | Bin 966 -> 967 bytes .../runtimetests/src/helloDotNet.src.zip | Bin 776 -> 777 bytes .../integration/runtimetests/src/hell
[openwhisk-wskdeploy] branch master updated: add .asf.yaml to configure github metadata (#1079)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 1993f4b add .asf.yaml to configure github metadata (#1079) 1993f4b is described below commit 1993f4bb4e51e2392f82219c89a3d3619c8c028a Author: Matt Rutkowski AuthorDate: Mon Nov 11 16:02:44 2019 -0600 add .asf.yaml to configure github metadata (#1079) * add .asf.yaml to configure github metadata * add .asf.yaml to configure github metadata --- .asf.yaml | 31 +++ 1 file changed, 31 insertions(+) diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 000..96c95f7 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,31 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +github: + description: "Apache OpenWhisk utility for deploying and managing OpenWhisk projects and packages" + homepage: https://openwhisk.apache.org/ + labels: + - apache + - continuous-delivery + - continuous-deployment + - deployment + - faas + - functions + - functions-as-a-service + - openwhisk + - serverless + - serverless-functions
[openwhisk-wskdeploy] branch master updated: Support alt. namespace resource uuid as tenant id to API gatway service (#1076)
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/openwhisk-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new fb12a16 Support alt. namespace resource uuid as tenant id to API gatway service (#1076) fb12a16 is described below commit fb12a167b4f0b0f4a917a6758b3feb7672781a6b Author: Matt Rutkowski AuthorDate: Thu Oct 24 19:51:22 2019 +0200 Support alt. namespace resource uuid as tenant id to API gatway service (#1076) * Support alt. namespace resource uuid as tenant id to API gatway service * gofmt * gofmt * wskclient update and remove some trace output * Attempt to figure out Travis failure * Attempt to figure out Travis failure * Attempt to figure out Travis failure * Attempt to figure out Travis failure * Update GoDeps to use the latest openwhisk-client-go commit level * Attempt to figure out Travis failure * Update GoDeps to use the latest openwhisk-client-go commit level --- .travis.yml| 19 +++ Godeps/Godeps.json | 4 +-- build.gradle | 4 +-- deployers/manifestreader_test.go | 4 +-- deployers/servicedeployer.go | 10 +- deployers/whiskclient.go | 39 +- docs/sync_projects_between_client_and_server.md| 6 ++-- docs/wskdeploy_interpolation.md| 2 +- parsers/manifest_parser_test.go| 38 ++--- parsers/yamlparser.go | 2 +- tests/dat/manifest_validate_dependencies.yaml | 14 .../dat/manifest_validate_dependencies_bogus.yaml | 14 tests/src/integration/dependency/manifest.yaml | 2 +- .../06-manifest-with-single-dependency.yaml| 2 +- .../07-manifest-with-dependency.yaml | 4 +-- .../validate-packages-in-manifest/manifest.yaml| 8 ++--- tests/usecases/dependency/README.md| 8 ++--- tests/usecases/dependency/manifest.yaml| 4 +-- utils/conversion.go| 1 + utils/flags.go | 14 utils/format.go| 39 ++ utils/misc.go | 1 + wski18n/i18n_ids.go| 22 +++- wski18n/i18n_resources.go | 22 ++-- wski18n/resources/en_US.all.json | 6 +++- wskprint/console.go| 1 - 26 files changed, 189 insertions(+), 101 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3ee1845..593c0f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,10 +17,15 @@ sudo: required language: go -go: -- 1.9 -services: -- docker + +matrix: + include: +- os: linux + sudo: required + go: "1.9.3" + services: docker + dist: xenial + git: depth: 3 @@ -41,8 +46,10 @@ install: before_script: - GO_FILES=$(find . -iname '*.go' -type f -not -path "./wski18n/i18n_resources.go") - export BAD_GO=$(gofmt -s -l $(echo $GO_FILES)) -- echo $BAD_GO -- test -z "$BAD_GO" +- echo "["$BAD_GO"]" +#- test -z "$BAD_GO" +#- test -z "$(gofmt -s -l $(echo $GO_FILES))" + script: - echo $TRAVIS - echo $TRAVIS_PULL_REQUEST diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index debe7a2..1b463cb 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -105,11 +105,11 @@ }, { "ImportPath": "github.com/apache/openwhisk-client-go/whisk", - "Rev": "d8ccb1442651beee6a9245913e3ca0cb182888b1" + "Rev": "ee5b8709787cd37201c42e38040e9709f6d1e9c8" }, { "ImportPath": "github.com/apache/openwhisk-client-go/wski18n", - "Rev": "d8ccb1442651beee6a9245913e3ca0cb182888b1" + "Rev": "ee5b8709787cd37201c42e38040e9709f6d1e9c8" }, { "ImportPath": "github.com/pelletier/go-buffruneio", diff --git a/build.gradle b/build.gradle index bc5c8d0..a6f115b 100644 --- a/build.gradle +++ b/build.gradle @@ -62,8 +62,8 @@ dependencies { build(['name':'github.com/nicksnyder/go-i18n/i18n/bundle', 'version':'991e81cc94f6c54209edb3192cb98e3995ad71c1', 'transitive':false]) build(['name':'github.com/nicksnyder/go-i18n/i18n/language', 'version':'
[openwhisk-devtools] branch master updated: Adding task copy dependencies (#296)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new 629404f Adding task copy dependencies (#296) 629404f is described below commit 629404fc0789f93607f36bb24546281697120b13 Author: Will Plusnick AuthorDate: Wed Oct 9 16:36:43 2019 -0500 Adding task copy dependencies (#296) Adding the profile into the runtime. --- knative-build/runtimes/java/core/java8/Dockerfile | 1 + .../runtimes/java/core/java8/proxy/build.gradle| 35 -- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/knative-build/runtimes/java/core/java8/Dockerfile b/knative-build/runtimes/java/core/java8/Dockerfile index be41f27..4af4e11 100644 --- a/knative-build/runtimes/java/core/java8/Dockerfile +++ b/knative-build/runtimes/java/core/java8/Dockerfile @@ -36,6 +36,7 @@ RUN cd /javaAction \ && rm -rf .classpath .gitignore .gradle .project .settings Dockerfile build \ && ./gradlew oneJar \ && rm -rf /javaAction/src \ + && ./gradlew copyDependencies \ && ./compileClassCache.sh CMD ["java", "-Dfile.encoding=UTF-8", "-Xshareclasses:cacheDir=/javaSharedCache,readonly", "-Xquickstart", "-jar", "/javaAction/build/libs/javaAction-all.jar"] diff --git a/knative-build/runtimes/java/core/java8/proxy/build.gradle b/knative-build/runtimes/java/core/java8/proxy/build.gradle index eb28a7c..7d718dc 100644 --- a/knative-build/runtimes/java/core/java8/proxy/build.gradle +++ b/knative-build/runtimes/java/core/java8/proxy/build.gradle @@ -15,14 +15,22 @@ * limitations under the License. */ +import groovy.io.FileType + apply plugin: 'java' +ext { +profile = "base" +} + repositories { mavenCentral() } dependencies { -compile 'com.google.code.gson:gson:2.6.2' +//compile 'com.google.code.gson:gson:2.6.2' +compile 'com.google.code.gson:gson:2.8.5' +compile 'org.json:json:20190722' } jar { @@ -31,11 +39,34 @@ jar { } } +task copyDependencies(type: Copy) { + println "Task: copyDependencies" + def target = "profiles/$profile/libs" + + from configurations.compile + into target + + doLast { +dumpDir(".") +dumpDir(target) + } +} + +def dumpDir(dir) { + println "dumpDir('"+ dir + "'):" + new File(dir).listFiles().sort{ it.name }.reverse().each { def f -> +println ">> " + f.name +} +} + task oneJar(type: Jar) { +outputs.upToDateWhen { false } manifest.from jar.manifest classifier = 'all' from { -configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } +configurations.runtime.collect { +it.isDirectory() ? it : zipTree(it) +} } { exclude "META-INF/*.SF" exclude "META-INF/*.DSA"
[openwhisk-devtools] branch master updated: Automate the JVM pre-caching of classes for a given profile (#290)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new 37ab38b Automate the JVM pre-caching of classes for a given profile (#290) 37ab38b is described below commit 37ab38b9017f0aef7c41b278c38aacc9a6e4193f Author: Matt Rutkowski AuthorDate: Tue Sep 17 16:21:19 2019 -0500 Automate the JVM pre-caching of classes for a given profile (#290) * Automate the JVM pre-caching of classes for a given profile * Execute pre-cache and accunt for Linux base64 enc. diffs. * Execute pre-cache and accunt for Linux base64 enc. diffs. * Remove files with typos --- .../java/core/java8/proxy/buildProfileClasses.sh | 9 - .../java/core/java8/proxy/compileClassCache.sh | 9 - .../java8/proxy/profiles/base/tests/build_all.sh | 8 +++- .../java8/proxy/profiles/base/tests/clean_all.sh | 2 +- .../java8/proxy/profiles/base/tests/exec_tests.sh| 8 ++-- .../base/tests/helloworld/native-data-init-run.json | 18 -- .../helloworldwithparams/native-data-init-run.json | 20 .../native-data-init-run.json| 20 .../proxy/profiles/base/tests/update_payloads.sh | 2 +- 9 files changed, 27 insertions(+), 69 deletions(-) diff --git a/knative-build/runtimes/java/core/java8/proxy/buildProfileClasses.sh b/knative-build/runtimes/java/core/java8/proxy/buildProfileClasses.sh index a251888..e8b1976 100755 --- a/knative-build/runtimes/java/core/java8/proxy/buildProfileClasses.sh +++ b/knative-build/runtimes/java/core/java8/proxy/buildProfileClasses.sh @@ -21,7 +21,14 @@ cd profiles/base/tests # Clean out previous build artifacts ./clean_all.sh - # Create new build artifacts + # Create new build artifacts (e.g., JAR, ZIP, and their base64 encodings) ./build_all.sh + # Update the HTTP (body) payloads for OW and Knative (with base64 encoded archives) +./update_payloads.sh + +# execute the functions that will cause the JVM cache to be populated for the profile +# (e.g., invoke the /init and /run methods for each profile's "test" functions). +./exec_tests.sh + cd ../../.. diff --git a/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh b/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh index 5ecc9b0..581375e 100755 --- a/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh +++ b/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh @@ -15,7 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -set -x +set +x # Standard Options: # @@ -38,6 +38,7 @@ JAVA_STANDARD_OPTIONS="-Dfile.encoding=UTF-8" # Construct Class Cache with HTTP Server classes by starting the server JAVA_EXTENDED_OPTIONS="-Xshareclasses:cacheDir=/javaSharedCache/ -Xquickstart" JAVA_VERBOSE_OPTIONS="-verbose:class -verbose:sizes" +#JAVA_VERBOSE_OPTIONS="" JAVA_JVM_KILL_DELAY=5s export OW_ALLOW_MULTIPLE_INIT=true @@ -45,7 +46,13 @@ export OW_ALLOW_MULTIPLE_INIT=true echo "Creating shared class cache with Proxy and 'base' profile libraries..." java $JAVA_VERBOSE_OPTIONS $JAVA_STANDARD_OPTIONS $JAVA_EXTENDED_OPTIONS "-jar" "/javaAction/build/libs/javaAction-all.jar" & HTTP_PID=$! + +echo "Building pre-cache functions and executing..." +./buildProfileClasses.sh + echo "Sleeping (${JAVA_JVM_KILL_DELAY}) allowing cache to be populated before killing JVM process (${HTTP_PID})..." sleep $JAVA_JVM_KILL_DELAY echo "Killing JVM process (${HTTP_PID})..." kill $HTTP_PID + +unset OW_ALLOW_MULTIPLE_INIT diff --git a/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/build_all.sh b/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/build_all.sh index ba2cdd5..667f92c 100755 --- a/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/build_all.sh +++ b/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/build_all.sh @@ -28,7 +28,13 @@ for f in *; do echo "Creating JAR..." jar cvf hello.jar *.class echo "Base64 encoding JAR..." -base64 hello.jar > hello.jar.base64 +unameOut="$(uname -s)" +case "${unameOut}" in +Linux*) B64_WRAP="-w0";; +Darwin*) B64_WRAP="";; +esac +#base64 -w0 hello.jar > hello.jar.base64 +base64 $B64_WRAP hello.jar > hello.jar.base64 cd .. fi done diff --git a/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/clean_all.sh b/knative-build/runtimes/java/co
[openwhisk-devtools] branch master updated: Allow multiple inits of java runtime to enable cache priming (#289)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new b37cd0f Allow multiple inits of java runtime to enable cache priming (#289) b37cd0f is described below commit b37cd0f5ffaaf6e4d386c82244a7c402b705e915 Author: Matt Rutkowski AuthorDate: Fri Sep 13 16:12:41 2019 -0500 Allow multiple inits of java runtime to enable cache priming (#289) --- knative-build/runtimes/java/WhiskSim/.classpath| 2 +- .../java/core/java8/proxy/compileClassCache.sh | 2 ++ .../java8/proxy/profiles/base/tests/exec_tests.sh | 33 ++ .../tests/helloworld/native-data-init-run.json | 18 ++ .../helloworldwithparams/native-data-init-run.json | 20 +++ .../native-data-init-run.json | 20 +++ .../proxy/profiles/base/tests/test-list-all.txt| 3 -- .../openwhisk/runtime/java/action/Debug.java | 15 ++--- .../openwhisk/runtime/java/action/JarLoader.java | 22 ++-- .../openwhisk/runtime/java/action/Proxy.java | 39 ++ 10 files changed, 157 insertions(+), 17 deletions(-) diff --git a/knative-build/runtimes/java/WhiskSim/.classpath b/knative-build/runtimes/java/WhiskSim/.classpath index f0257c5..71f5fef 100644 --- a/knative-build/runtimes/java/WhiskSim/.classpath +++ b/knative-build/runtimes/java/WhiskSim/.classpath @@ -13,7 +13,7 @@ - + diff --git a/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh b/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh index 503adfc..5ecc9b0 100755 --- a/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh +++ b/knative-build/runtimes/java/core/java8/proxy/compileClassCache.sh @@ -40,6 +40,8 @@ JAVA_EXTENDED_OPTIONS="-Xshareclasses:cacheDir=/javaSharedCache/ -Xquickstart" JAVA_VERBOSE_OPTIONS="-verbose:class -verbose:sizes" JAVA_JVM_KILL_DELAY=5s +export OW_ALLOW_MULTIPLE_INIT=true + echo "Creating shared class cache with Proxy and 'base' profile libraries..." java $JAVA_VERBOSE_OPTIONS $JAVA_STANDARD_OPTIONS $JAVA_EXTENDED_OPTIONS "-jar" "/javaAction/build/libs/javaAction-all.jar" & HTTP_PID=$! diff --git a/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/exec_tests.sh b/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/exec_tests.sh new file mode 100755 index 000..5db373a --- /dev/null +++ b/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/exec_tests.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +set +x + +for f in *; do +# if the file is a directory +if [ -d ${f} ]; then +echo "Updating 'code' payload with base64 encoded archive data: ${f}" +cd $f +sed "s#BASE64_ENCODED_JAR#$(cat hello.jar.base64)#" openwhisk-data-init.json.tmpl > openwhisk-data-init.json +sed "s#BASE64_ENCODED_JAR#$(cat hello.jar.base64)#" knative-data-init.json.tmpl > knative-data-init.json +sed "s#BASE64_ENCODED_JAR#$(cat hello.jar.base64)#" knative-data-init-run.json.tmpl > native-data-init-run.json +sed "s#BASE64_ENCODED_JAR#$(cat hello.jar.base64)#" payload-knative-init.http.tmpl > payload-knative-init.http +sed "s#BASE64_ENCODED_JAR#$(cat hello.jar.base64)#" payload-knative-init-run.http.tmpl > payload-knative-init-run.http +sed "s#BASE64_ENCODED_JAR#$(cat hello.jar.base64)#" payload-openwhisk-init.http.tmpl > payload-openwhisk-init.http +cd .. +fi +done diff --git a/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/helloworld/native-data-init-run.json b/knative-build/runtimes/java/core/java8/proxy/profiles/base/tests/helloworld/native-data-init-run.json new file mode 100644 index 000..30282d3 ---
[openwhisk-devtools] branch master updated: Pre-cache typical init-run classes in JVM shared class cache (#288)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new 7a0d987 Pre-cache typical init-run classes in JVM shared class cache (#288) 7a0d987 is described below commit 7a0d9873eae09c777c797b0b3207e5151b001bf5 Author: Matt Rutkowski AuthorDate: Thu Sep 12 19:27:20 2019 -0500 Pre-cache typical init-run classes in JVM shared class cache (#288) * Pre-cache typical init-run classes in JVM shared class cache * Pre-cache typical init-run classes in JVM shared class cache * Pre-cache typical init-run classes in JVM shared class cache --- knative-build/runtimes/java/WhiskSim/.classpath| 44 +++ .../runtimes/java/WhiskSim/{ => bin}/pom.xml | 0 knative-build/runtimes/java/WhiskSim/pom.xml | 19 ++- .../src/main/java/org/apache/openwhisk/App.java| 128 +++-- .../test/payload/init-test-1.json} | 0 .../java/core/java8/proxy/compileClassCache.sh | 6 +- .../base/tests/{clean_all.sh => README.md} | 39 --- .../java8/proxy/profiles/base/tests/build_all.sh | 21 +--- .../java8/proxy/profiles/base/tests/clean_all.sh | 6 + .../tests/helloworld/knative-data-init-run.json| 18 --- .../helloworld/knative-data-init-run.json.tmpl | 18 +++ .../base/tests/helloworld/knative-data-init.json | 8 -- .../tests/helloworld/knative-data-init.json.tmpl | 8 ++ .../tests/helloworld/openwhisk-data-init.json.tmpl | 8 ++ .../tests/helloworld/payload-knative-init-run.http | 25 .../helloworld/payload-knative-init-run.http.tmpl | 25 .../tests/helloworld/payload-knative-init.http | 13 --- .../helloworld/payload-knative-init.http.tmpl | 13 +++ .../tests/helloworld/payload-openwhisk-init.http | 13 --- .../helloworld/payload-openwhisk-init.http.tmpl| 13 +++ .../knative-data-init-run.json | 20 .../knative-data-init-run.json.tmpl| 20 .../helloworldwithparams/knative-data-init.json| 8 -- .../knative-data-init.json.tmpl| 8 ++ .../helloworldwithparams/openwhisk-data-init.json | 8 -- .../openwhisk-data-init.json.tmpl | 8 ++ .../payload-knative-init-run.http | 25 .../payload-knative-init-run.http.tmpl | 25 .../helloworldwithparams/payload-knative-init.http | 13 --- .../payload-knative-init.http.tmpl | 13 +++ .../payload-openwhisk-init.http| 13 --- .../payload-openwhisk-init.http.tmpl | 13 +++ .../knative-data-init-run.json | 20 .../knative-data-init-run.json.tmpl| 20 .../knative-data-init.json | 9 -- .../knative-data-init.json.tmpl| 9 ++ .../openwhisk-data-init.json | 8 -- .../openwhisk-data-init.json.tmpl | 8 ++ .../payload-knative-init-run.http | 25 .../payload-knative-init-run.http.tmpl | 25 .../payload-knative-init.http.tmpl | 13 +++ .../payload-openwhisk-init.http| 13 --- .../payload-openwhisk-init.http.tmpl | 13 +++ .../tests/{clean_all.sh => update_payloads.sh} | 11 +- 44 files changed, 438 insertions(+), 335 deletions(-) diff --git a/knative-build/runtimes/java/WhiskSim/.classpath b/knative-build/runtimes/java/WhiskSim/.classpath new file mode 100644 index 000..f0257c5 --- /dev/null +++ b/knative-build/runtimes/java/WhiskSim/.classpath @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/knative-build/runtimes/java/WhiskSim/pom.xml b/knative-build/runtimes/java/WhiskSim/bin/pom.xml similarity index 100% copy from knative-build/runtimes/java/WhiskSim/pom.xml copy to knative-build/runtimes/java/WhiskSim/bin/pom.xml diff --git a/knative-build/runtimes/java/WhiskSim/pom.xml b/knative-build/runtimes/java/WhiskSim/pom.xml index 79bf570..a2033b8 100644 --- a/knative-build/runtimes/java/WhiskSim/pom.xml +++ b/knat
[openwhisk-wskdeploy] branch master updated (538a248 -> 3dad398)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/openwhisk-wskdeploy.git. from 538a248 Update version of whisk modules (#1067) add 3dad398 Adjust top-level test for runtime kind support (#1070) No new revisions were added by this update. Summary of changes: runtimes/runtimes_test.go | 25 ++--- 1 file changed, 14 insertions(+), 11 deletions(-)
[openwhisk-devtools] branch master updated: Display JVM options and shareclasses cache info (#286)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new d1baca7 Display JVM options and shareclasses cache info (#286) d1baca7 is described below commit d1baca71e4bbd0cb2413ce80cb648e9a7f1654fd Author: Matt Rutkowski AuthorDate: Mon Sep 9 12:16:15 2019 -0500 Display JVM options and shareclasses cache info (#286) * Display JVM options and shareclasses cache info * Display JVM options and shareclasses cache info * Add WhiskSim skeleton and build files * add license headers to new files * tweak JAR file name output by Maven plugins * tweak JAR file name output by Maven plugins * automate build and cleanup of base tests --- .gitignore | 2 +- knative-build/runtimes/java/WhiskSim/pom.xml | 119 + .../src/main/java/org/apache/openwhisk/App.java| 100 + knative-build/runtimes/java/core/java8/Dockerfile | 7 +- ...compileClassCache.sh => buildProfileClasses.sh} | 15 ++- .../java/core/java8/proxy/compileClassCache.sh | 25 - .../java8/proxy/profiles/base/libs/gson-2.8.5.jar | Bin 0 -> 241622 bytes .../java8/proxy/profiles/base/profile.properties | 18 .../base/tests/build_all.sh} | 35 +- .../base/tests/clean_all.sh} | 18 +++- .../profiles/base/tests}/helloworld/Hello.java | 0 .../profiles/base/tests}/helloworld/README.md | 0 .../tests}/helloworld/build-without-code.yaml.tmpl | 0 .../base/tests}/helloworld/build.yaml.tmpl | 0 .../tests}/helloworld/knative-data-init-run.json | 0 .../base/tests}/helloworld/knative-data-init.json | 0 .../base/tests}/helloworld/knative-data-run.json | 0 .../tests}/helloworld/openwhisk-data-init.json | 0 .../base/tests}/helloworld/openwhisk-data-run.json | 0 .../helloworld/payload-knative-init-run.http | 0 .../tests}/helloworld/payload-knative-init.http| 0 .../tests}/helloworld/payload-knative-run.http | 0 .../tests}/helloworld/payload-openwhisk-init.http | 0 .../tests}/helloworld/payload-openwhisk-run.http | 0 .../base/tests}/helloworld/service.yaml.tmpl | 0 .../base/tests}/helloworldwithparams/Hello.java| 1 + .../base/tests}/helloworldwithparams/README.md | 0 .../build-without-code.yaml.tmpl | 0 .../tests}/helloworldwithparams/build.yaml.tmpl| 0 .../knative-data-init-run.json | 0 .../helloworldwithparams/knative-data-init.json| 0 .../helloworldwithparams/knative-data-run.json | 0 .../helloworldwithparams/openwhisk-data-init.json | 0 .../helloworldwithparams/openwhisk-data-run.json | 0 .../payload-knative-init-run.http | 0 .../helloworldwithparams/payload-knative-init.http | 0 .../helloworldwithparams/payload-knative-run.http | 0 .../payload-openwhisk-init.http| 0 .../payload-openwhisk-run.http | 0 .../tests}/helloworldwithparams/service.yaml.tmpl | 0 .../tests}/helloworldwithparamsfromenv/Hello.java | 0 .../tests}/helloworldwithparamsfromenv/README.md | 0 .../build-without-code.yaml.tmpl | 0 .../helloworldwithparamsfromenv/build.yaml.tmpl| 0 .../knative-data-init-run.json | 0 .../knative-data-init.json | 0 .../knative-data-run.json | 0 .../openwhisk-data-init.json | 0 .../openwhisk-data-run.json| 0 .../payload-knative-init-run.http | 0 .../payload-openwhisk-init.http| 0 .../payload-openwhisk-run.http | 0 .../helloworldwithparamsfromenv/service.yaml.tmpl | 0 .../proxy/profiles/base/tests/test-list-all.txt| 3 + .../java/tests/knative/helloworld/hello.jar| Bin 966 -> 0 bytes .../java/tests/knative/helloworld/hello.jar.base64 | 1 - .../tests/knative/helloworldwithparams/hello.jar | Bin 1107 -> 0 bytes .../knative/helloworldwithparamsfromenv/hello.jar | Bin 1069 -> 0 bytes 58 files changed, 305 insertions(+), 39 deletions(-) diff --git a/.gitignore b/.gitignore index 17015e6..8d73a87 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,7 @@ package-lock.json *.class *.base64 out/ -wsksim/ +target/ # Swift Packages/ diff --git a/knative-build/runtimes/java/WhiskSim/pom.xml b/knative-build/runtimes/java/WhiskSim/pom.xml new file mode 100644 index 000..79bf570 --- /dev/null +++ b/knative-build/runtimes/java/WhiskSim/pom.xml @@ -0,0 +1,119 @@ + + + +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w
[openwhisk-devtools] branch master updated: Fix gradle build for Java runtime (#285)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new 0e0141d Fix gradle build for Java runtime (#285) 0e0141d is described below commit 0e0141d503a9a23b717fe7fc88c79e30895d99b7 Author: Matt Rutkowski AuthorDate: Thu Aug 29 12:47:07 2019 -0500 Fix gradle build for Java runtime (#285) * Fix gradle build for Java runtime * Fix gradle build for Java runtime --- .../java8/proxy/profiles/base/profile.properties} | 28 +- .../proxy/profiles/spring/profile.properties} | 21 +- knative-build/runtimes/java/gradlew| 18 +- knative-build/runtimes/java/gradlew.bat| 84 - knative-build/runtimes/java/settings.gradle| 2 +- .../java/tests/src/test/resources/application.conf | 22 -- .../JavaActionContainerTests.scala | 417 - 7 files changed, 20 insertions(+), 572 deletions(-) diff --git a/knative-build/runtimes/java/tests/build.gradle b/knative-build/runtimes/java/core/java8/proxy/profiles/base/profile.properties similarity index 51% rename from knative-build/runtimes/java/tests/build.gradle rename to knative-build/runtimes/java/core/java8/proxy/profiles/base/profile.properties index 1ae5a4b..b7a7e77 100644 --- a/knative-build/runtimes/java/tests/build.gradle +++ b/knative-build/runtimes/java/core/java8/proxy/profiles/base/profile.properties @@ -15,30 +15,4 @@ * limitations under the License. */ -apply plugin: 'scala' -apply plugin: 'eclipse' -compileTestScala.options.encoding = 'UTF-8' - -repositories { -mavenCentral() -mavenLocal() -} - -tasks.withType(Test) { -testLogging { -events "passed", "skipped", "failed" -showStandardStreams = true -exceptionFormat = 'full' -} -outputs.upToDateWhen { false } // force tests to run every time -} - -dependencies { -compile "org.scala-lang:scala-library:${gradle.scala.version}" -compile "org.apache.openwhisk:openwhisk-tests:${gradle.openwhisk.version}:tests" -compile "org.apache.openwhisk:openwhisk-tests:${gradle.openwhisk.version}:test-sources" -} - -tasks.withType(ScalaCompile) { -scalaCompileOptions.additionalParameters = gradle.scala.compileFlags -} +compile.gson=com.google.code.gson:gson:2.6.2 diff --git a/knative-build/runtimes/java/settings.gradle b/knative-build/runtimes/java/core/java8/proxy/profiles/spring/profile.properties similarity index 65% copy from knative-build/runtimes/java/settings.gradle copy to knative-build/runtimes/java/core/java8/proxy/profiles/spring/profile.properties index 464ae37..b7a7e77 100644 --- a/knative-build/runtimes/java/settings.gradle +++ b/knative-build/runtimes/java/core/java8/proxy/profiles/spring/profile.properties @@ -15,23 +15,4 @@ * limitations under the License. */ -include 'tests' - -include 'core:java8' -include 'core:java8:proxy' - -rootProject.name = 'runtime-java' - -gradle.ext.openwhisk = [ -version: '1.0.0-SNAPSHOT' -] - -gradle.ext.scala = [ -version: '2.12.7', -compileFlags: ['-feature', '-unchecked', '-deprecation', '-Xfatal-warnings', '-Ywarn-unused-import'] -] - -gradle.ext.scalafmt = [ -version: '1.5.0', -config: new File(rootProject.projectDir, '.scalafmt.conf') -] +compile.gson=com.google.code.gson:gson:2.6.2 diff --git a/knative-build/runtimes/java/gradlew b/knative-build/runtimes/java/gradlew index cccdd3d..d4ee78f 100755 --- a/knative-build/runtimes/java/gradlew +++ b/knative-build/runtimes/java/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/knative-build/runtimes/java/gradlew.bat b/knative-build/runtimes/java
[openwhisk-runtime-java] branch master updated: Improve README build instructions & add troubleshooting (#97)
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/openwhisk-runtime-java.git The following commit(s) were added to refs/heads/master by this push: new ce7d864 Improve README build instructions & add troubleshooting (#97) ce7d864 is described below commit ce7d864e0d01dc0bf4629989c04180658b071e81 Author: Matt Rutkowski AuthorDate: Tue Aug 20 17:48:15 2019 -0500 Improve README build instructions & add troubleshooting (#97) * Improve README build instructions & add troubleshooting * Improve README build instructions & add troubleshooting * remove trailing whitespace XCode did not trim --- .travis.yml | 6 ++--- README.md | 57 ++--- core/java8actionloop/Dockerfile | 2 +- tools/travis/build.sh | 2 +- tools/travis/setup.sh | 4 +-- 5 files changed, 60 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0614a19..be71df4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,17 +45,17 @@ deploy: on: tags: true all_branches: true - repo: apache/incubator-openwhisk-runtime-java + repo: apache/openwhisk-runtime-java - provider: script script: "./tools/travis/publish.sh openwhisk 8 nightly" on: branch: master - repo: apache/incubator-openwhisk-runtime-java + repo: apache/openwhisk-runtime-java - provider: script script: "./tools/travis/publish.sh openwhisk 8a nightly" on: branch: master - repo: apache/incubator-openwhisk-runtime-java + repo: apache/openwhisk-runtime-java env: global: - secure: D4kU9O6bs63Myb4jaEgw1O2Kuy6aTAUKEX1qZ0eYMDouLnPOPnZaFWmpISKTrJyz7hJH7yY8Cj7xl5qwsLB6JZZMtqT6yj5J/jkUJjyLKdQH81PrYy22rH99xS2t5A1dsC0A/Bf39R/qNc5tx1wCMVDF4O2rFsUtn+8vE+rn0nXsiPeWhhZagk/Hrq8YbwzDJHOGHfWe1nZIcU8MORzTriX7J2VAF0AcirPandMxff4FgzNLk432DN2GvgZIlNtZGT1DWLtJV/Sp3unD9abXr5xqNDIW+fHrMq8j/JdHC6+PFtZRFrl0Vr6X8c61PkB/ELGF2MyzNgBTnEaJixl1pianr91WK4y0oLUwpSJCz4yoQGVimAAtqMgNXjEyFMcpLClzS5TjMXKaUfi9mBn9GMCwLi3VAuVtMtH2IRW03PxIPyxkbj1j8Nrd0jh408MuMpuzyECgb+E5ffbd+0YD5XUNlTkYLFi4 [...] diff --git a/README.md b/README.md index b5323c5..65750d9 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ # Apache OpenWhisk runtimes for java -[![Build Status](https://travis-ci.org/apache/incubator-openwhisk-runtime-java.svg?branch=master)](https://travis-ci.org/apache/incubator-openwhisk-runtime-java) +[![Build Status](https://travis-ci.org/apache/openwhisk-runtime-java.svg?branch=master)](https://travis-ci.org/apache/openwhisk-runtime-java) ## Changelogs - [Java 8 CHANGELOG.md](core/java8/CHANGELOG.md) @@ -94,19 +94,40 @@ wsk action invoke --result helloJava --param name World ``` ## Local development + +### Pre-requisites +- Gradle +- Docker Desktop (local builds) + +### Build and Push image to a local Docker registry + +1. Start Docker Desktop (i.e., Docker daemon) + +2. Build the Docker runtime image locally using Gradle: ``` ./gradlew core:java8:distDocker ``` -This will produce the image `whisk/java8action` +This will produce the image `whisk/java8action` and push it to the local Docker Desktop registry with the `latest` tag. + +3. Verify the image was registered: +``` +$ docker images whisk/* +REPOSITORY TAG IMAGE IDCREATED SIZE +whisk/java8actionlatest 35f90453905a7 minutes ago 521MB +``` + +### Build and Push image to a remote Docker registry -Build and Push image +Build the Docker runtime image locally using Gradle supplying the image Prefix and Registry domain (default port): ``` docker login ./gradlew core:java8:distDocker -PdockerImagePrefix=$prefix-user -PdockerRegistry=docker.io ``` +## Deploying the Java runtime image to OpenWhisk + Deploy OpenWhisk using ansible environment that contains the kind `java:8` -Assuming you have OpenWhisk already deploy locally and `OPENWHISK_HOME` pointing to root directory of OpenWhisk core repository. +Assuming you have OpenWhisk already deployed locally and `OPENWHISK_HOME` pointing to root directory of OpenWhisk core repository. Set `ROOTDIR` to the root directory of this repository. @@ -159,7 +180,35 @@ wsk action update helloJava hello.jar --main Hello --docker $user_prefix/java8ac ``` The `$user_prefix` is usually your dockerhub user id. +--- + +# Troubleshooting + +### Gradle build fails with "Too many files open" + +This may occur on MacOS as the default maximum # of file handles per session is `256`. The gradle build requires many more and is unable to open more files (e.g., `java.io.FileNotFoundException`). For example, you may see something like: + +``` +> java.io.FileNotFoundException: /Users/XXX/.gradle/caches/4.6/scripts-remapped/build_4m
[openwhisk-devtools] branch master updated: sync knative java with udpates made to openwhisk-runtime-java (#281)
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/openwhisk-devtools.git The following commit(s) were added to refs/heads/master by this push: new 0af8b11 sync knative java with udpates made to openwhisk-runtime-java (#281) 0af8b11 is described below commit 0af8b110def06586f55566a57f37d4e12870ae46 Author: Matt Rutkowski AuthorDate: Tue Aug 13 14:43:13 2019 -0500 sync knative java with udpates made to openwhisk-runtime-java (#281) * sync knative java with udpates made to openwhisk-runtime-java * Update all subprojects to use full ASF header --- .gitignore | 1 + .travis.yml| 18 +++- actionloop-starter-kit/.scalafmt.conf | 18 +++- actionloop-starter-kit/.travis.yml | 18 +++- .../gradle/wrapper/gradle-wrapper.properties | 18 +++- docker-compose/.travis/build.sh| 18 +++- docker-compose/.travis/setup.sh| 18 +++- docker-compose/docker-compose-lean.yml | 18 +++- docker-compose/docker-compose.packages.yml | 18 +++- docker-compose/docker-compose.yml | 18 +++- java-action-archetype/.travis/build.sh | 18 +++- java-action-archetype/.travis/setup.sh | 18 +++- .../resources/projects/basic/archetype.properties | 18 +++- .../gradle/wrapper/gradle-wrapper.properties | 18 +++- knative-build/runtimes/java/buildtemplate.yaml | 18 +++- .../runtimes/java/core/java8/CHANGELOG.md | 3 + .../proxy/gradle/wrapper/gradle-wrapper.properties | 18 +++- .../runtimes/java/core/java8/proxy/gradlew | 18 +--- .../runtimes/java/core/java8/proxy/gradlew.bat | 18 +--- .../openwhisk/runtime/java/action/Debug.java | 109 + .../openwhisk/runtime/java/action/Proxy.java | 12 ++- .../java/gradle/wrapper/gradle-wrapper.properties | 18 +++- knative-build/runtimes/java/gradlew| 18 +--- knative-build/runtimes/java/gradlew.bat| 18 +--- .../java/tests/src/test/resources/application.conf | 18 +++- .../runtimes/javascript/buildtemplate.yaml | 18 +++- knative-build/service-account.yaml | 18 +++- maven-java/.mvn/wrapper/maven-wrapper.properties | 18 +++- node-local/runtest.sh | 18 +++- node-local/test.js | 18 +++- tools/travis/scancode.sh | 18 +++- tools/travis/setupscan.sh | 18 +++- 32 files changed, 511 insertions(+), 118 deletions(-) diff --git a/.gitignore b/.gitignore index 8f36644..17015e6 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ package-lock.json *.class *.base64 out/ +wsksim/ # Swift Packages/ diff --git a/.travis.yml b/.travis.yml index 301289e..54231dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,19 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more contributor -# license agreements; and to You under the Apache License, Version 2.0. +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# sudo: required diff --git a/actionloop-starter-kit/.scalafmt.conf b/actionloop-starter-kit/.scalafmt.conf index 7084efe..cc0159a 100644 --- a/actionloop-starter-kit/.scalafmt.conf +++ b/actionloop-starter-kit/.scalafmt.conf @@ -1,5 +1,19 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more contributor -# license agreements; and to You under the Apache License, Version 2.0. +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or
[incubator-openwhisk-wskdeploy] branch master updated: Adopt full ASF headers for all test files regardless of size (#1063)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 8a8931e Adopt full ASF headers for all test files regardless of size (#1063) 8a8931e is described below commit 8a8931eae33a2f2450f534d3d47e284a278ffac9 Author: Matt Rutkowski AuthorDate: Wed Jul 24 17:11:57 2019 -0500 Adopt full ASF headers for all test files regardless of size (#1063) --- tests/dat/actions/dump_params.js | 18 -- tests/dat/actions/hello.js | 18 -- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/tests/dat/actions/dump_params.js b/tests/dat/actions/dump_params.js index c7179d1..20c62a2 100644 --- a/tests/dat/actions/dump_params.js +++ b/tests/dat/actions/dump_params.js @@ -1,5 +1,19 @@ -// Licensed to the Apache Software Foundation (ASF) under one or more contributor -// license agreements; and to You under the Apache License, Version 2.0. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ function main(params) { parms = "params: " + JSON.stringify(params, null, 4); diff --git a/tests/dat/actions/hello.js b/tests/dat/actions/hello.js index 18d420a..b1357b3 100644 --- a/tests/dat/actions/hello.js +++ b/tests/dat/actions/hello.js @@ -1,5 +1,19 @@ -// Licensed to the Apache Software Foundation (ASF) under one or more contributor -// license agreements; and to You under the Apache License, Version 2.0. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ /* * Return a simple greeting message for the whole world.
[incubator-openwhisk-test] branch master updated: adding left-pad action (#9)
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-test.git The following commit(s) were added to refs/heads/master by this push: new a379d14 adding left-pad action (#9) a379d14 is described below commit a379d14478ede243cba8d498e642cd6b910eefb4 Author: Priti Desai AuthorDate: Fri May 31 14:44:50 2019 -0700 adding left-pad action (#9) * adding left-pad action * adding left-pad action * adding left-pad action * adding license --- .travis.yml| 3 +++ README.md | 19 +++ packages/hellowhisk/README.md | 19 +++ packages/hellowhisk/manifest.yaml | 3 +++ packages/helloworlds/README.md | 19 +++ packages/helloworlds/manifest.yaml | 3 +++ packages/left-pad/index.js | 10 ++ packages/left-pad/package.json | 7 +++ tools/travis/scancode.sh | 2 ++ tools/travis/setupscan.sh | 2 ++ 10 files changed, 87 insertions(+) diff --git a/.travis.yml b/.travis.yml index 2370221..f659501 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + # https://docs.travis-ci.com/user/languages/python/ language: python diff --git a/README.md b/README.md index dbe3e39..30d7d42 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,22 @@ + + # incubator-openwhisk-test [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) diff --git a/packages/hellowhisk/README.md b/packages/hellowhisk/README.md index 8314a23..97c81b4 100644 --- a/packages/hellowhisk/README.md +++ b/packages/hellowhisk/README.md @@ -1,3 +1,22 @@ + + [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) # hellowhisk diff --git a/packages/hellowhisk/manifest.yaml b/packages/hellowhisk/manifest.yaml index c2f0459..2f72914 100644 --- a/packages/hellowhisk/manifest.yaml +++ b/packages/hellowhisk/manifest.yaml @@ -1,3 +1,6 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + # Test manifest for incubator-openwhisk-wskdeploy utility # See https://github.com/apache/incubator-openwhisk-wskdeploy/tree/master/tests/src/integration/dependency project: diff --git a/packages/helloworlds/README.md b/packages/helloworlds/README.md index 9fa782f..9da6c00 100644 --- a/packages/helloworlds/README.md +++ b/packages/helloworlds/README.md @@ -1,3 +1,22 @@ + + [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) # helloworlds diff --git a/packages/helloworlds/manifest.yaml b/packages/helloworlds/manifest.yaml index 141be7a..431e653 100644 --- a/packages/helloworlds/manifest.yaml +++ b/packages/helloworlds/manifest.yaml @@ -1,3 +1,6 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + project: name: HelloWorlds packages: diff --git a/packages/left-pad/index.js b/packages/left-pad/index.js new file mode 100644 index 000..387cad8 --- /dev/null +++ b/packages/left-pad/index.js @@ -0,0 +1,10 @@ +// Licensed to the Apache Software Foundation (ASF) under one or more contributor +// license agreements; and to You under the Apache License, Version 2.0. + +function leftPadAction(args) { +const leftPad = require("left-pad") +const lines = args.lines || []; +return { padded: lines.map(l => leftPad(l, 30, ".")) } +} + +exports.main = leftPadAction; diff --git a/packages/left-pad/package.json b/packages/left-pad/package.json new file mode 100644 index 000..e0db633 --- /dev/null +++ b/packages/left-pad/package.json @@ -0,0 +1,7 @@ +{ + "name": "left-pad-action", + "main": "index.js", + "dependencies": { +"left-pad": "1.1.3" + } +} diff --git a/tools/travis/scancode.sh b/tools/travis/scancode.sh index ebfa361..44bf2c2 100755 --- a/tools/travis/scancode.sh +++ b/tools/travis/scancode.sh @@ -1,4 +1,6 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. set -e # Build script for Travis-CI. diff --git a/tools/travis/setupscan.sh b/tools/travis/setupscan.sh index 35f070f..b80f6ef 100755 --- a/tools/travis/setupscan.sh +++ b/tools/travis/setupscan.sh @@ -1,4 +1,6 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more contribut
[incubator-openwhisk-website] branch master updated: Add query parm on master CSS import link to force client refresh (#383)
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 b303717 Add query parm on master CSS import link to force client refresh (#383) b303717 is described below commit b30371716092bf56c8d363e2194ffbc1ff87ed56 Author: Matt Rutkowski AuthorDate: Tue May 14 13:14:41 2019 -0500 Add query parm on master CSS import link to force client refresh (#383) * Add query parm on master CSS import link to force client refresh * Add query parm on master CSS import link to force client refresh * Add query parm on master CSS import link to force client refresh * Add query parm on master CSS import link to force client refresh --- README.md | 14 ++ _layouts/default.html | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 15ca970..0661916 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,20 @@ bundle exec jekyll build This will build static files to a directory called `_site/` in the project root. This can be used for manual deployment to a static server or with build tools like Jenkins. +## Updating CSS files + +Some browsers will continue to use cached copies of ".css" files even though the styles/content in the files has changed significantly. If you make any changes that affect layout, you SHOULD increment the (artificial) version number on the query parameter on the `` within [default.html](_layouts/default.html) which will cause (force) some clients to pull down a new ```main.css``` file (and all the cascading CSS imports as well): + +```html + +``` + +for example, update "?v1.12" to "?v1.13". + +```html + +``` + ## Troubleshooting If you get an error 'bundle: command not found' attempting to build the site, you may need to manually install the 'bundler' package: diff --git a/_layouts/default.html b/_layouts/default.html index ef63f70..374d0f3 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -19,7 +19,7 @@ {% include head/favicon.html %} {{ page_title }} https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i; rel="stylesheet"> - +
[incubator-openwhisk-website] branch master updated (90c8f73 -> 302c61a)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git. from 90c8f73 Provide context and links to ActionLoop runtime creation (#380) add 302c61a Provide more details on release artifacts on download page (#382) No new revisions were added by this update. Summary of changes: _layouts/documentation.html | 1 + _layouts/downloads.html | 501 +++- _scss/_base.scss| 92 ++-- 3 files changed, 300 insertions(+), 294 deletions(-)
[incubator-openwhisk-devtools] branch master updated: Add updated test jars and test http payloads (#258)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 1f27b3b Add updated test jars and test http payloads (#258) 1f27b3b is described below commit 1f27b3b2c5ad5dec49591ed0d4edebfeb53653d4 Author: Matt Rutkowski AuthorDate: Wed May 8 12:04:56 2019 -0500 Add updated test jars and test http payloads (#258) * Update tests for java8 dockerfile * Update tests for java8 dockerfile --- .gitignore | 1 + .../java/tests/knative/helloworld/README.md| 51 .../tests/knative/helloworldwithparams/Hello.java | 30 .../tests/knative/helloworldwithparams/README.md | 52 .../tests/knative/helloworldwithparams/hello.jar | Bin 0 -> 1107 bytes .../knative-data-init-run.json | 2 +- .../helloworldwithparams/knative-data-init.json| 2 +- .../helloworldwithparams/openwhisk-data-init.json | 2 +- .../payload-knative-init-run.http | 2 +- .../helloworldwithparams/payload-knative-init.http | 2 +- .../payload-openwhisk-init.http| 2 +- .../knative/helloworldwithparamsfromenv/Hello.java | 27 +++ .../knative/helloworldwithparamsfromenv/README.md | 53 + .../knative/helloworldwithparamsfromenv/hello.jar | Bin 0 -> 1069 bytes .../knative-data-init-run.json | 2 +- .../knative-data-init.json | 2 +- .../openwhisk-data-init.json | 2 +- .../payload-knative-init-run.http | 2 +- .../payload-openwhisk-init.http| 2 +- 19 files changed, 225 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 309bf07..8f36644 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ package-lock.json # Java *.class +*.base64 out/ # Swift diff --git a/knative-build/runtimes/java/tests/knative/helloworld/README.md b/knative-build/runtimes/java/tests/knative/helloworld/README.md index 812edf6..8b83ab5 100644 --- a/knative-build/runtimes/java/tests/knative/helloworld/README.md +++ b/knative-build/runtimes/java/tests/knative/helloworld/README.md @@ -72,3 +72,54 @@ curl -H "Host: java-helloworld.default.example.com" -d "@openwhisk-data-run.json {"payload":"Hello World!"} ``` + +## Updating the testcase + +### Create the jar file + +``` +$ jar cf hello.jar Hello.java +``` + +### Base64 encode the jar file +``` +$ base64 hello.jar > hello.jar.base64 +``` + +hello.jar.base64 then contains: + +``` +UEsDBBQACAgIACZ+p04JAAQATUVUQS1JTkYv/soAAAMAUEsHCAACAFBLAwQUAAgICAAmfqdOFE1FVEEtSU5GL01BTklGRVNULk1G803My0xLLS7RDUstKs7Mz7NSMNQz4OVyLkpNLElN0XWqBAlY6BnEGxkYKWi4JudkFhSnKvgXpOZ5WWrycvFyAQBQSwcIMFMkp0EAAABBUEsDBBQACAgIAAl+p04KSGVsbG8uamF2YX1TTW+bQBC98yumnHDi4qrHRjnQJFZoIxwFp1GOaxhgW9ilu0uIVeW/d4aPBKlRORjv7Myb994MmxMPTuBGZqgs5uA0uAohakVGr1QXrhcGYas7lQsntYIgSrcroCMa0ApBG2i0QUbJtHJGHjpHsXpEBFEaxAaVsyFAijjAJ7t9fHEFhawRcmnH [...] +``` + +### Update value for "code" key in test file + +Any file that contains an "init" payload will need to be updated. For example, using ```payload-knative-init-run.http``` as an example: + +``` +POST http://localhost:8080/ HTTP/1.1 +content-type: application/json + +{ + "init": { +"name": "java-helloworld", +"main": "Hello", +"binary": true, +"code" : "UEsDBBQACAgIABljwUoJAAQATUVUQS1JTkYv/soAAAMAUEsHCAACAFBLAwQUAAgICAAZY8FKFE1FVEEtSU5GL01BTklGRVNULk1G803My0xLLS7RDUstKs7Mz7NSMNQz4OVyLkpNLElN0XWqBAlY6BnEmxkoaPgXJSbnpCo45xcV5BcllgCVa/Jy8XIBAFBLBwhiwEEKQwAAAEQAAABQSwMEFAAICAgACmPBSgsAAABIZWxsby5jbGFzc31T227TQBA9k5tdx6HBtCkUUhpuTdK0Bkq5NFUlioQQSqFSUCV428Qr4+JL5DgVfAp/AS+pRCU+gG9CiFmLgFTSWvLM7J6Zc2Zn7R+/vn0H8ABtAxaqOpZ0XDegYVmZmoEbuKnhlloweFvDHQOGCleUr+toKN9U+KqGlo [...] + }, + "activation": { +"namespace": "default", +"action_name": "java-helloworld", +"api_host": "", +"api_key": "", +"activation_id": "", +"deadline": "410249880" + }, + "value": { +"name": "Joe", +"place": "TX" + } +} + +### +``` diff --git a/knative-build/runtimes/java/tests/knative/helloworldwithparams/Hello.java b/knative-build/runtimes/java/tests/knative/helloworldwithparams/Hello.java new file mode 100644 index 000..e10a8f8 --- /dev/null +++ b/knative-build
[incubator-openwhisk-devtools] branch master updated: Seed Java runtime for knative test files and cleanup (#256)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new e7b5245 Seed Java runtime for knative test files and cleanup (#256) e7b5245 is described below commit e7b524586e59ff4d63768a0aaaf8a63c5c3bd50a Author: Matt Rutkowski AuthorDate: Tue May 7 15:44:54 2019 -0500 Seed Java runtime for knative test files and cleanup (#256) * Get Java runtime running under knative * remove IDE files from git * Update tests for java8 dockerfile * Update tests for java8 dockerfile * Update tests for java8 dockerfile --- .gitignore | 8 +- knative-build/runtimes/java/buildtemplate.yaml | 2 +- knative-build/runtimes/java/tests/build.gradle | 44 +++ .../java/tests/knative/helloworld/Hello.java | 28 ++ .../java/tests/knative/helloworld/README.md| 74 .../helloworld/build-without-code.yaml.tmpl| 19 + .../java/tests/knative/helloworld/build.yaml.tmpl | 27 ++ .../java/tests/knative/helloworld/hello.jar| Bin 0 -> 966 bytes .../java/tests/knative/helloworld/hello.jar.base64 | 1 + .../knative/helloworld/knative-data-init-run.json | 18 + .../knative/helloworld/knative-data-init.json | 8 + .../tests/knative/helloworld/knative-data-run.json | 12 + .../knative/helloworld/openwhisk-data-init.json| 8 + .../knative/helloworld/openwhisk-data-run.json | 11 + .../helloworld/payload-knative-init-run.http | 25 ++ .../knative/helloworld/payload-knative-init.http | 13 + .../knative/helloworld/payload-knative-run.http| 17 + .../knative/helloworld/payload-openwhisk-init.http | 13 + .../knative/helloworld/payload-openwhisk-run.http | 15 + .../tests/knative/helloworld/service.yaml.tmpl | 12 + .../tests/knative/helloworldwithparams/README.md | 74 .../build-without-code.yaml.tmpl | 19 + .../knative/helloworldwithparams/build.yaml.tmpl | 27 ++ .../knative-data-init-run.json | 20 + .../helloworldwithparams/knative-data-init.json| 8 + .../helloworldwithparams/knative-data-run.json | 14 + .../helloworldwithparams/openwhisk-data-init.json | 8 + .../helloworldwithparams/openwhisk-data-run.json | 12 + .../payload-knative-init-run.http} | 13 +- .../payload-knative-init.http} | 8 +- .../helloworldwithparams/payload-knative-run.http | 19 + .../payload-openwhisk-init.http} | 6 +- .../payload-openwhisk-run.http | 17 + .../knative/helloworldwithparams/service.yaml.tmpl | 12 + .../knative/helloworldwithparamsfromenv/README.md | 74 .../build-without-code.yaml.tmpl | 19 + .../helloworldwithparamsfromenv/build.yaml.tmpl| 23 ++ .../knative-data-init-run.json | 20 + .../knative-data-init.json | 9 + .../knative-data-run.json | 15 + .../openwhisk-data-init.json | 8 + .../openwhisk-data-run.json| 12 + .../payload-knative-init-run.http} | 13 +- .../payload-openwhisk-init.http} | 6 +- .../payload-openwhisk-run.http | 16 + .../helloworldwithparamsfromenv/service.yaml.tmpl | 17 + .../java/tests/src/test/resources/application.conf | 8 + .../JavaActionContainerTests.scala | 417 + ...-agnostic-bad-run-http-method-unsupported.http} | 4 +- ...=> payload-agnostic-bad-run-invalid-route.http} | 2 + ... => payload-kn-bad-http-body-data-missing.http} | 0 ...dy.http => payload-kn-bad-http-body-empty.http} | 0 ...ty.http => payload-kn-bad-init-code-empty.http} | 4 +- ... payload-kn-bad-init-json-payload-invalid.http} | 4 +- ...n-bad-initrun-activation-action-name-empy.http} | 0 ...ad-initrun-activation-action-name-missing.http} | 0 ...ty.http => payload-ow-bad-init-code-empty.http} | 2 +- http => payload-ow-bad-init-code-missing.http} | 2 +- 58 files changed, 1256 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 99782a2..309bf07 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ # IDE +.gradle .idea -*.iml .project +.pydevproject .settings .vscode +*.iml *.code-workspace **/.sts4-cache @@ -31,6 +33,10 @@ service.yaml node_modules/ package-lock.json +# Java +*.class +out/ + # Swift Packages/ diff --git a/knative-build/runtimes/java/buildtemplate.yaml b/knative-build/runtimes/java/buildtemplate.yaml index d083310..0af4194 100644 --- a/knative-build/runtimes/java/buildtemplate.yaml +++ b/knative-build/runtimes/java/buildtemplate.yaml @@ -3,
[incubator-openwhisk-wskdeploy] branch master updated: Skip export Trigger feed test for now (#1053)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 2d58c6a Skip export Trigger feed test for now (#1053) 2d58c6a is described below commit 2d58c6a23ee6246926b6b072aa3ad170c58a12e8 Author: Pavel Kravchenko AuthorDate: Thu May 2 22:50:48 2019 +0300 Skip export Trigger feed test for now (#1053) --- tests/src/integration/export/export_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/integration/export/export_test.go b/tests/src/integration/export/export_test.go index 650ee81..73c1d0a 100644 --- a/tests/src/integration/export/export_test.go +++ b/tests/src/integration/export/export_test.go @@ -175,7 +175,7 @@ func TestExportApi(t *testing.T) { os.RemoveAll(targetManifestFolder) } -func TestExportTriggerFeed(t *testing.T) { +func SkipTestExportTriggerFeed(t *testing.T) { projectName := "FeedExp" wskprops := common.GetWskpropsFromEnvVars(common.BLUEMIX_APIHOST, common.BLUEMIX_NAMESPACE, common.BLUEMIX_AUTH)
[incubator-openwhisk-wskdeploy] branch master updated: Fix some typos (#1051)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 40d1bd8 Fix some typos (#1051) 40d1bd8 is described below commit 40d1bd89f9db66b5abc4a827bf6a5bc642a16f62 Author: Junyoung, Sung AuthorDate: Thu May 2 04:59:39 2019 +0900 Fix some typos (#1051) --- specification/html/spec_parameter_types.md | 2 +- tests/usecases/api-gateway/simple_api_manifest.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/html/spec_parameter_types.md b/specification/html/spec_parameter_types.md index 68df2b7..ff725de 100644 --- a/specification/html/spec_parameter_types.md +++ b/specification/html/spec_parameter_types.md @@ -138,7 +138,7 @@ inputs: Object type example The Object type allows for complex objects to be declared as parameters -with an optional validateable schema. +with an optional validatable schema. ```yaml inputs: diff --git a/tests/usecases/api-gateway/simple_api_manifest.yaml b/tests/usecases/api-gateway/simple_api_manifest.yaml index 8e98c9b..827f5ba 100644 --- a/tests/usecases/api-gateway/simple_api_manifest.yaml +++ b/tests/usecases/api-gateway/simple_api_manifest.yaml @@ -9,6 +9,6 @@ packages: fire: function: actions/fire/index.js inputs: - triggerName: trgger1 + triggerName: trigger1 type: string exposedUrl: post/whiskbot/slack-event/
[incubator-openwhisk-wskdeploy] branch master updated: Fixes export project with feed bug (#1052)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new f310a24 Fixes export project with feed bug (#1052) f310a24 is described below commit f310a2400875174b3de2d5cbd0b40176def2feb1 Author: Pavel Kravchenko AuthorDate: Wed May 1 00:57:22 2019 +0300 Fixes export project with feed bug (#1052) Added test validating export trigger with feed action --- cmd/export.go | 23 ++--- tests/src/integration/common/wskdeploy.go | 10 tests/src/integration/export/export_test.go | 62 + tests/src/integration/export/manifest_feed.yaml | 15 ++ 4 files changed, 94 insertions(+), 16 deletions(-) diff --git a/cmd/export.go b/cmd/export.go index 5e5db05..a91d77d 100644 --- a/cmd/export.go +++ b/cmd/export.go @@ -216,12 +216,19 @@ func exportProject(projectName string, targetManifest string) error { // export trigger to manifest if feedname, isFeed := utils.IsFeedAction(); isFeed { - // export feed input parameters - feedAction, _, _ := client.Actions.Get(feedname, true) - if err != nil { - return err + // check if feed name starts with namespace and workaround it + // the current problem is that client has user namespace and when feed specified with different namespace it will fail to invoke the feed action + // we need to transform the path from e.g. + // /api/v1/namespaces/kpa...@il.ibm.com_uspace/actions//whisk.system/alarms/interval?blocking=true + // in to + // /api/v1/namespaces/kpa...@il.ibm.com_uspace/actions/../../whisk.system/actions/alarms/interval?blocking=true + if strings.HasPrefix(feedname, "/") { + // /whisk.system/alarms/interval -> ../../whisk.system/actions/alarms/interval + prts := strings.SplitN(feedname, "/", 3) + feedname = "../../" + prts[1] + "/actions/" + prts[2] } + // export feed input parameters params := make(map[string]interface{}) params["authKey"] = client.Config.AuthToken params["lifecycleEvent"] = "READ" @@ -231,10 +238,12 @@ func exportProject(projectName string, targetManifest string) error { return err } feedConfig := res["config"] - for key, val := range feedConfig.(map[string]interface{}) { - if i := feedAction.Parameters.FindKeyValue(key); i >= 0 { - trg.Parameters = trg.Parameters.AddOrReplace({Key: key, Value: val}) + if feedConfig != nil { + for key, val := range feedConfig.(map[string]interface{}) { + if key != "startDate" { + trg.Parameters = trg.Parameters.AddOrReplace({Key: key, Value: val}) + } } } } diff --git a/tests/src/integration/common/wskdeploy.go b/tests/src/integration/common/wskdeploy.go index 5dddf56..b072a52 100644 --- a/tests/src/i
[incubator-openwhisk-website] branch master updated: Fix java helloworld example (#379)
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 fc57da1 Fix java helloworld example (#379) fc57da1 is described below commit fc57da19077a31e3fe0c2dbd1c51b5a1c68ca6c5 Author: Matt Rutkowski AuthorDate: Mon Apr 29 16:03:21 2019 -0500 Fix java helloworld example (#379) * Fix missing brace in Java helloworld example * Fix missing brace in Java helloworld example * Fix missing brace in Java helloworld example --- _includes/code/Hello.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/code/Hello.java b/_includes/code/Hello.java index 516c1d0..9801e88 100644 --- a/_includes/code/Hello.java +++ b/_includes/code/Hello.java @@ -3,7 +3,7 @@ package hello; import com.google.gson.JsonObject; public class Hello { -public static JsonObject main(JsonObject args) +public static JsonObject main(JsonObject args){ String name; try {
[incubator-openwhisk-devtools] branch master updated: Fix Knative dedicated function request pre-processing logic (#253)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new ddbbdc2 Fix Knative dedicated function request pre-processing logic (#253) ddbbdc2 is described below commit ddbbdc25af80ba38b91c8f17f26e0ec7aa009b33 Author: Matt Rutkowski AuthorDate: Thu Apr 25 13:29:14 2019 -0500 Fix Knative dedicated function request pre-processing logic (#253) * cleanup README to be more clear and handoff properly to language runtime READMEs * cleanup README to be more clear and handoff properly to language runtime READMEs * cleanup README to be more clear and handoff properly to language runtime READMEs * cleanup README to be more clear and handoff properly to language runtime READMEs * javascript README fix to path * Fix Knative dedicated pre-procssing logic path * Fix Knative dedicated pre-procssing logic path * Fix Knative dedicated pre-procssing logic path --- knative-build/README.md| 14 ++- knative-build/runtimes/javascript/README.md| 20 ++-- .../runtimes/javascript/platform/knative.js| 108 +++-- .../tests/helloworld/payload-knative-init.http | 13 +++ .../tests/helloworld/payload-knative-run.http | 17 .../payload-knative-init-run.http | 2 +- 6 files changed, 111 insertions(+), 63 deletions(-) diff --git a/knative-build/README.md b/knative-build/README.md index a0b94dc..22739fd 100644 --- a/knative-build/README.md +++ b/knative-build/README.md @@ -152,7 +152,6 @@ status: phase: Active ``` - **Note**: If you do not see the **istio-injection** label, verify you issued the 'kubectl' command to set this label to the default namespace. See [Troubleshooting](#troubleshooting) section for more information. # Building and Serving OpenWhisk Runtime Build Templates @@ -163,7 +162,7 @@ All OpenWhisk Runtime Build Templates require a valid Kubernetes **Service Accou ```bash $ git clone https://github.com/apache/incubator-openwhisk-devtools.git -$ cd knative-build +$ cd incubator-openwhisk-devtools/knative-build ``` ## Register Secrets for Docker Hub @@ -181,7 +180,7 @@ $ export DOCKERHUB_PASSWORD_BASE64_ENCODED=`echo -n "${DOCKERHUB_PASSWORD_PLAIN_ # make sure that DOCKERHUB_PASSWORD_BASE64_ENCODED is set to something similar to t80szzToPshrpDr3sdMn== ``` -On your local system, copy the file [docker-secret.yaml.tmpl](docker-secret.yaml.tmpl) to `docker-secrets.yaml` and replace the **username** and **password** values with the base64 encoded versions of your Docker Hub username and password using following `sed` command: +Use the following `sed` command which will generate a `docker-secrets.yaml` file from the file [docker-secret.yaml.tmpl](docker-secret.yaml.tmpl) and replace the **username** and **password** values with the base64 encoded versions of your Docker Hub username and password from the environment variables you exported above: ``` sed -e 's/${DOCKERHUB_USERNAME_BASE64_ENCODED}/'"$DOCKERHUB_USERNAME_BASE64_ENCODED"'/' -e 's/${DOCKERHUB_PASSWORD_BASE64_ENCODED}/'"$DOCKERHUB_PASSWORD_BASE64_ENCODED"'/' docker-secret.yaml.tmpl > docker-secret.yaml @@ -219,6 +218,13 @@ NAMESECRETS AGE openwhisk-runtime-builder 2 3m46s ``` +## Building Knative runtimes and executing functions + +At this point, you have completed all the pre-reqs to build and run OpenWhisk runtimes on Knative. In order to actually build and run them, you will need to continue following the instructions on the READMEs for the respective language runtimes listed below: +- [NodeJS Runtime](./runtimes/javascript/#OpenWhisk-NodeJS-Runtime-for-Knative) + +--- + ## Troubleshooting ### Knative and Istio Install @@ -268,7 +274,7 @@ statefulset "prometheus-system" created PROBLEM: Knative build fails initializing at `Init:1/4` -Check the GitHub revision is set to right branch: +Check the GitHub revision is set to right branch within your ```build.yaml``` file: ``` source: diff --git a/knative-build/runtimes/javascript/README.md b/knative-build/runtimes/javascript/README.md index 413f571..2592646 100644 --- a/knative-build/runtimes/javascript/README.md +++ b/knative-build/runtimes/javascript/README.md @@ -169,7 +169,7 @@ metadata: We will use the simple "helloworld" test case to demonstrate how to use Knative to Build your function into container image and then deploy it as a Service. The testcase resides within this repo. at: -- [/runtimes/javascript/tests/helloworld/](/runtimes/javascript/tests/helloworld/) +- [tests/helloworld/](tests/helloworld/#Hello-World-Test-for-OpenWhisk-NodeJS-Runtime-using-Knative)
[incubator-openwhisk-runtime-nodejs] branch master updated: An ability to run on Knative along with OpenWhisk (#119)
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-runtime-nodejs.git The following commit(s) were added to refs/heads/master by this push: new 33928f5 An ability to run on Knative along with OpenWhisk (#119) 33928f5 is described below commit 33928f5bd5cfc4785e73a5f76fba6aeaa59f7e5e Author: Priti Desai AuthorDate: Wed Apr 17 13:30:36 2019 -0700 An ability to run on Knative along with OpenWhisk (#119) * changes to app.js to support knative and openwhisk runtimes * changes to service.js * adding debug and utitilies * adding platform files * adding build template * updating nodejs 10 runtime to include platform * updating nodejs 10 runtime to include platform * updating nodejs 10 runtime to include platform * adding docker secret and service account yaml * adding knative README * adding presentation deck and demo gif * combining READMEs * adding tests * fixing link to gif * fixing links to build and service yaml * updating git repo * commenting log in app.js * adding platform to nodejs 8 * init once and run multiple times * fixing init once and run many * updating README * dropping tests/doc additions, will create a seperate PR * dropping debug utility * dropping duplicate functions * addressing rr's comments - dropping cfg, console errors * adding console errors which was deleted * addressing dragos's suggestion, avoid using else block --- core/nodejs10Action/build.gradle | 26 ++ core/nodejs8Action/build.gradle| 26 ++ core/nodejsActionBase/app.js | 96 ++-- core/nodejsActionBase/buildtemplate.yaml | 60 +++ core/nodejsActionBase/docker-secret.yaml.tmpl | 12 + core/nodejsActionBase/platform/knative.js | 487 + .../platform/openwhisk.js} | 40 +- core/nodejsActionBase/platform/platform.js | 144 ++ core/nodejsActionBase/service-account.yaml | 9 + core/nodejsActionBase/src/service.js | 25 +- 10 files changed, 840 insertions(+), 85 deletions(-) diff --git a/core/nodejs10Action/build.gradle b/core/nodejs10Action/build.gradle index 3d9314a..c1b302b 100644 --- a/core/nodejs10Action/build.gradle +++ b/core/nodejs10Action/build.gradle @@ -29,6 +29,10 @@ apply from: '../../gradle/docker.gradle' distDocker.dependsOn 'copyProxy' distDocker.dependsOn 'copyRunner' distDocker.dependsOn 'copyService' +distDocker.dependsOn 'copyPlatform' +distDocker.dependsOn 'copyOpenWhisk' +distDocker.dependsOn 'copyKnative' +distDocker.dependsOn 'copyBuildTemplate' distDocker.finalizedBy('cleanup') task copyProxy(type: Copy) { @@ -46,8 +50,30 @@ task copyService(type: Copy) { into './src' } +task copyPlatform(type: Copy) { +from '../nodejsActionBase/platform/platform.js' +into './platform' +} + +task copyOpenWhisk(type: Copy) { +from '../nodejsActionBase/platform/openwhisk.js' +into './platform' +} + +task copyKnative(type: Copy) { +from '../nodejsActionBase/platform/knative.js' +into './platform' +} + +task copyBuildTemplate(type: Copy) { +from '../nodejsActionBase/buildtemplate.yaml' +into '.' +} + task cleanup(type: Delete) { delete 'app.js' delete 'runner.js' delete 'src' +delete 'platform' +delete 'buildtemplate.yaml' } diff --git a/core/nodejs8Action/build.gradle b/core/nodejs8Action/build.gradle index b37befe..a671ef8 100644 --- a/core/nodejs8Action/build.gradle +++ b/core/nodejs8Action/build.gradle @@ -29,6 +29,10 @@ apply from: '../../gradle/docker.gradle' distDocker.dependsOn 'copyProxy' distDocker.dependsOn 'copyRunner' distDocker.dependsOn 'copyService' +distDocker.dependsOn 'copyPlatform' +distDocker.dependsOn 'copyOpenWhisk' +distDocker.dependsOn 'copyKnative' +distDocker.dependsOn 'copyBuildTemplate' distDocker.finalizedBy('cleanup') task copyProxy(type: Copy) { @@ -46,8 +50,30 @@ task copyService(type: Copy) { into './src' } +task copyPlatform(type: Copy) { +from '../nodejsActionBase/platform/platform.js' +into './platform' +} + +task copyOpenWhisk(type: Copy) { +from '../nodejsActionBase/platform/openwhisk.js' +into './platform' +} + +task copyKnative(type: Copy) { +from '../nodejsActionBase/platform/knative.js' +into './platform' +} + +task copyBuildTemplate(type: Copy) { +from '../nodejsActionBase/buildtemplate.yaml' +into '.' +} + task cleanup(type: Delete) { delete 'app.js' delete 'runner.js' delete 'src' +delete 'platform' +delete 'buildtemplate.yaml' } diff --git a/core/nodejsActionBase/app.js b/core/nodejsActionBase
[incubator-openwhisk-devtools] branch master updated: Make knative init/run logic more efficient based upon type of request (body) data (#248)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new f9f66e2 Make knative init/run logic more efficient based upon type of request (body) data (#248) f9f66e2 is described below commit f9f66e251d4e80e6629bb3463f43126b6d32c999 Author: Matt Rutkowski AuthorDate: Tue Apr 16 15:52:53 2019 -0500 Make knative init/run logic more efficient based upon type of request (body) data (#248) * Make knative init/run logic more efficient based upon type of request data * Make knative init/run logic more efficient based upon type of request data --- knative-build/runtimes/javascript/app.js | 6 +- .../runtimes/javascript/platform/knative.js| 92 -- ...ta-init-run.json => knative-data-init-run.json} | 0 .../{data-init.json => knative-data-init.json} | 5 +- .../{data-run.json => knative-data-run.json} | 10 ++- .../{data-init.json => openwhisk-data-init.json} | 0 .../{data-run.json => openwhisk-data-run.json} | 0 .../tests/webactionraw/payload-knative-init.http | 14 .../{data-run.json => payload-knative-run.http}| 15 +++- 9 files changed, 86 insertions(+), 56 deletions(-) diff --git a/knative-build/runtimes/javascript/app.js b/knative-build/runtimes/javascript/app.js index b4714d3..7658fe5 100644 --- a/knative-build/runtimes/javascript/app.js +++ b/knative-build/runtimes/javascript/app.js @@ -50,13 +50,13 @@ app.use(bodyParser.json({ limit: config.requestBodyLimit })); // identify the target Serverless platform const platformFactory = require('./platform/platform.js'); const factory = new platformFactory(app, config, service); -var targetPlatform = process.env.__OW_RUNTIME_PLATFORM; +const targetPlatform = process.env.__OW_RUNTIME_PLATFORM; // default to "openwhisk" platform initialization if not defined // TODO export isvalid() from platform, if undefined this is OK to default, but if not valid value then error out if(typeof targetPlatform === "undefined") { targetPlatform = platformFactory.PLATFORM_OPENWHISK; -console.log("__OW_RUNTIME_PLATFORM is undefined; defaulting to 'openwhisk' ..."); +// console.log("__OW_RUNTIME_PLATFORM is undefined; defaulting to 'openwhisk' ..."); } if(!platformFactory.isSupportedPlatform(targetPlatform)){ @@ -70,7 +70,7 @@ if(!platformFactory.isSupportedPlatform(targetPlatform)){ * to move data where the platform and function author expects it to be. */ -var platformImpl = factory.createPlatformImpl(targetPlatform); +const platformImpl = factory.createPlatformImpl(targetPlatform); if(typeof platformImpl !== "undefined"){ diff --git a/knative-build/runtimes/javascript/platform/knative.js b/knative-build/runtimes/javascript/platform/knative.js index 6cf8620..1fe3d2c 100644 --- a/knative-build/runtimes/javascript/platform/knative.js +++ b/knative-build/runtimes/javascript/platform/knative.js @@ -152,33 +152,7 @@ function preProcessInitData(env, initdata, valuedata, activationdata) { } catch(e){ console.error(e); DEBUG.functionEndError(e.message); -throw("Unable to initialize the runtime: " + e.message); -} -DEBUG.functionEnd(); -} - -/** - * Pre-process the incoming http request data, moving it to where the - * route handlers expect it to be for an openwhisk runtime. - */ -function preProcessActivationData(env, activationdata) { -DEBUG.functionStart(); -try { -// Note: we move the values here so that the "run()" handler does not have -// to move them again. -Object.keys(activationdata).forEach( -function (k) { -if (typeof activationdata[k] === 'string') { -var envVariable = OW_ENV_PREFIX + k.toUpperCase(); -process.env[envVariable] = activationdata[k]; -DEBUG.dumpObject(process.env[envVariable], envVariable, "preProcessActivationData"); -} -} -); -} catch(e){ -console.error(e); -DEBUG.functionEndError(e.message); -throw("Unable to initialize the runtime: " + e.message); +throw("Unable to process Initialization data: " + e.message); } DEBUG.functionEnd(); } @@ -218,6 +192,7 @@ function preProcessHTTPContext(req, valueData) { // make value data available as __ow_body const tmpBody = Object.assign({}, req.body.value); // delete main, binary, raw, and code from the body before sending it as an action argument +removeInitData(tmpBody); delete tmpBody.main; delete tmpBody.code;
[incubator-openwhisk-devtools] branch master updated: Seed java runtime source/build files for Knative enablement (#242)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 9262859 Seed java runtime source/build files for Knative enablement (#242) 9262859 is described below commit 9262859dcd5e00fff58ea588b3dee2db2939 Author: Matt Rutkowski AuthorDate: Tue Apr 9 13:25:19 2019 -0500 Seed java runtime source/build files for Knative enablement (#242) * Seed java runtime source/build files for Knative enablement * Seed java runtime source/build files for Knative enablement --- knative-build/runtimes/java/build.gradle | 30 knative-build/runtimes/java/buildtemplate.yaml | 60 +++ .../runtimes/java/core/java8/CHANGELOG.md | 42 + knative-build/runtimes/java/core/java8/Dockerfile | 40 + .../runtimes/java/core/java8/build.gradle | 19 +++ .../runtimes/java/core/java8/delete-build-run.sh | 31 .../runtimes/java/core/java8/proxy/build.gradle| 45 + .../java/core/java8/proxy/compileClassCache.sh | 22 +++ .../java8/proxy/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../proxy/gradle/wrapper/gradle-wrapper.properties | 8 + .../runtimes/java/core/java8/proxy/gradlew | 172 +++ .../runtimes/java/core/java8/proxy/gradlew.bat | 84 + .../openwhisk/runtime/java/action/JarLoader.java | 94 +++ .../openwhisk/runtime/java/action/Proxy.java | 188 + .../runtime/java/action/WhiskSecurityManager.java | 44 + knative-build/runtimes/java/gradle/README.md | 64 +++ knative-build/runtimes/java/gradle/docker.gradle | 116 + .../java/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../java/gradle/wrapper/gradle-wrapper.properties | 8 + knative-build/runtimes/java/gradlew| 172 +++ knative-build/runtimes/java/gradlew.bat| 84 + knative-build/runtimes/java/settings.gradle| 37 22 files changed, 1360 insertions(+) diff --git a/knative-build/runtimes/java/build.gradle b/knative-build/runtimes/java/build.gradle new file mode 100644 index 000..4ebd4b8 --- /dev/null +++ b/knative-build/runtimes/java/build.gradle @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +buildscript { +repositories { +jcenter() +} +dependencies { +classpath "cz.alenkacz:gradle-scalafmt:${gradle.scalafmt.version}" +} +} + +subprojects { +apply plugin: 'scalafmt' +scalafmt.configFilePath = gradle.scalafmt.config +} diff --git a/knative-build/runtimes/java/buildtemplate.yaml b/knative-build/runtimes/java/buildtemplate.yaml new file mode 100644 index 000..d083310 --- /dev/null +++ b/knative-build/runtimes/java/buildtemplate.yaml @@ -0,0 +1,60 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. +apiVersion: build.knative.dev/v1alpha1 +kind: BuildTemplate +metadata: + name: openwhisk-nodejs-runtime +spec: + parameters: + - name: TARGET_IMAGE_NAME +description: name of the image to be tagged and pushed + - name: TARGET_IMAGE_TAG +description: tag the image before pushing +default: "latest" + - name: DOCKERFILE +description: name of the dockerfile + - name: OW_RUNTIME_DEBUG +description: flag to indicate debug mode should be on/off +default: "false" + - name: OW_RUNTIME_PLATFORM +description: flag to indicate the platform, one of ["openwhisk", "knative", ... ] +default: "knative" + - name: OW_ACTION_NAME +description: name of the action +default: "" + - name: OW_ACTION_CODE +description: Java source code to be evaluated +default: "" + - name: OW_ACTION_MAIN +description: name of the function in the "__OW_ACTION_CODE" to call as the action handl
[incubator-openwhisk-devtools] branch master updated: Add ASF license to gradle files that broke Travis build (#241)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 0cf322b Add ASF license to gradle files that broke Travis build (#241) 0cf322b is described below commit 0cf322b65dd9fcac8a80442d94c915f7091a30ed Author: Matt Rutkowski AuthorDate: Tue Apr 9 11:43:29 2019 -0500 Add ASF license to gradle files that broke Travis build (#241) --- java-local/build.gradle| 18 +- java-local/settings.gradle | 17 - 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/java-local/build.gradle b/java-local/build.gradle index adb351c..37fd847 100644 --- a/java-local/build.gradle +++ b/java-local/build.gradle @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + apply plugin: 'java' repositories { @@ -22,4 +39,3 @@ jar { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } - diff --git a/java-local/settings.gradle b/java-local/settings.gradle index 4ba1597..a523167 100644 --- a/java-local/settings.gradle +++ b/java-local/settings.gradle @@ -1,11 +1,18 @@ /* - * This settings file was generated by the Gradle 'init' task. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * - * The settings file is used to specify which projects to include in your build. - * In a single project build this file can be empty or even removed. + * http://www.apache.org/licenses/LICENSE-2.0 * - * Detailed information about configuring a multi-project build in Gradle can be found - * in the user guide at https://docs.gradle.org/4.3.1/userguide/multi_project_builds.html + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ /*
[incubator-openwhisk-wskdeploy] branch master updated: Account for variability in Account Limits from various provider impls. (#1048)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new fa006fc Account for variability in Account Limits from various provider impls. (#1048) fa006fc is described below commit fa006fc368fbb272944339c303e69d0d166ef026 Author: Matt Rutkowski AuthorDate: Fri Apr 5 12:13:40 2019 -0500 Account for variability in Account Limits from various provider impls. (#1048) * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. * Account for variability in Account Limits from various provider impls. --- parsers/manifest_parser_test.go| 5 +- specification/html/spec_actions.md | 104 +++-- .../manifest_data_compose_actions_for_limits.yaml | 1 + utils/validation.go| 18 +++- wski18n/i18n_resources.go | 56 +-- wski18n/resources/en_US.all.json | 8 +- 6 files changed, 104 insertions(+), 88 deletions(-) diff --git a/parsers/manifest_parser_test.go b/parsers/manifest_parser_test.go index e7358f8..bc89472 100644 --- a/parsers/manifest_parser_test.go +++ b/parsers/manifest_parser_test.go @@ -994,9 +994,10 @@ func TestComposeActionsForLimits(t *testing.T) { for i := 0; i < len(actions); i++ { if actions[i].Action.Name == "hello1" { - assert.Nil(t, actions[i].Action.Limits, "Expected limit section to be empty but got %s", actions[i].Action.Limits) + assert.NotNil(t, actions[i].Action.Limits, "Expected limit section to not be empty but found it empty") + assert.Equal(t, 60, *actions[i].Action.Limits.Timeout, "Failed to get Timeout") } else if actions[i].Action.Name == "hello2" { - assert.NotNil(t, actions[i].Action.Limits, "Expected limit section to be not empty but found it empty") + assert.NotNil(t, actions[i].Action.Limits, "Expected limit section to not be empty but found it empty") assert.Equal(t, 180, *actions[i].Action.Limits.Timeout, "Failed to get Timeout") assert.Equal(t, 128, *actions[i].Action.Limits.Memory, "Failed to get Memory") assert.Equal(t, 1, *actions[i].Action.Limits.Logsize, "Failed to get Logsize") diff --git a/specification/html/spec_actions.md b/specification/html/spec_actions.md index d3ad8e6..d35bc40 100644 --- a/specification/html/spec_actions.md +++ b/specification/html/spec_actions.md @@ -202,70 +202,72 @@ following file extensions are recognized and will be run on the latest version o - - Limit Keyname - Allowed values - Default value - Valid Range - Description - - - timeout - scalar-unit.time - 6 ms - [100 ms, 30 ms] - The per-invocation Action timeout. Default unit is assumed to be milliseconds (ms). - - + + Limit Keyname + Type + Default value 1 + Default Range 2 + Description + + + codeSize + scalar-unit.size + 48 MB + [1, 48] MB3 + The maximum size of the Action code. + + + concurrentActivations + integer + 1000 + [1, 1000] 3 + The maximum number of concurrent Action activations allowed (per-namespace). + + + logSize + scalar-unit.size + 10 MB + [0, 10] MB + The action log size. Default unit is assumed to be in megabytes (MB). + + memorySize scalar-unit.size 256 MB - [128 MB, 512 MB] + [128, 2048] MB The per-Action memory. Default unit is assumed to be in megabytes (MB). - - - logSize + + + parameterSize scalar-unit.size - 10 MB - [0 MB, 10 MB] - The action log size. Default unit is assumed to be in megabytes (MB). - - - concurrentActivations - integer - 1000 - See description - The maximum number of concurrent Action activations allowed (per-namespace). Note: This value is not changeable via APIs at this time. - - + 5 MB
[incubator-openwhisk-devtools] branch master updated: Enable knative stem runtime for separate init and activation data invocations (#238)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new f6856d1 Enable knative stem runtime for separate init and activation data invocations (#238) f6856d1 is described below commit f6856d1c61c15ec730cc3197e68706c7ad908de8 Author: Matt Rutkowski AuthorDate: Tue Apr 2 17:17:49 2019 -0500 Enable knative stem runtime for separate init and activation data invocations (#238) --- .../runtimes/javascript/platform/knative.js| 67 +- 1 file changed, 52 insertions(+), 15 deletions(-) diff --git a/knative-build/runtimes/javascript/platform/knative.js b/knative-build/runtimes/javascript/platform/knative.js index f1a69db..2582401 100644 --- a/knative-build/runtimes/javascript/platform/knative.js +++ b/knative-build/runtimes/javascript/platform/knative.js @@ -404,32 +404,69 @@ function PlatformKnativeImpl(platformFactory) { try { DEBUG.dumpObject(service.initialized(),"service.initialized()"); -// Process request and process env. variables to provide them in the manner -// an OpenWhisk Action expects them, as well as enable additional Http features. -preProcessRequest(req); - // Do not process requests with init. data if this is not a "stem" cell if (hasInitData(req) && !isStemCell(process.env)) throw ("Cannot initialize a runtime with a dedicated function."); -service.initCode(req).then(function () { +if(hasInitData(req) && hasActivationData(req)){ + +// Process request and process env. variables to provide them in the manner +// an OpenWhisk Action expects them, as well as enable additional Http features. +preProcessRequest(req); + +service.initCode(req).then(function () { +service.runCode(req).then(function (result) { +postProcessResponse(req, result, res) +}); +}).catch(function (error) { +console.error(error); +if (typeof error.code === "number" && typeof error.response !== "undefined") { +res.status(error.code).json(error.response); +} else { +console.error("[wrapEndpoint]", "invalid errored promise", JSON.stringify(error)); +res.status(500).json({ error: "Internal error during function execution." }); +} +}); +} else if(hasInitData(req)){ + +// Process request and process env. variables to provide them in the manner +// an OpenWhisk Action expects them, as well as enable additional Http features. +preProcessRequest(req); + +service.initCode(req).then(function () { +}).catch(function (error) { +console.error(error); +if (typeof error.code === "number" && typeof error.response !== "undefined") { +res.status(error.code).json(error.response); +} else { +console.error("[wrapEndpoint]", "invalid errored promise", JSON.stringify(error)); +res.status(500).json({ error: "Internal error during function execution." }); +} +}); +} else if(hasActivationData(req)){ +// Process request and process env. variables to provide them in the manner +// an OpenWhisk Action expects them, as well as enable additional Http features. +preProcessRequest(req); + service.runCode(req).then(function (result) { postProcessResponse(req, result, res) +}).catch(function (error) { +console.error(error); +if (typeof error.code === "number" && typeof error.response !== "undefined") { +res.status(error.code).json(error.response); +} else { +console.error("[wrapEndpoint]", "invalid errored promise", JSON.stringify(error)); +res.status(500).json({ error: "Internal error during function execution." }); +} }); -}).catch(function (error) { -console.error(error); -if (typeof error.code === "number" && typeof error.response !== "und
[incubator-openwhisk-devtools] branch master updated: Distinguish between dedicated versus stem cell runtimes (#237)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 072080e Distinguish between dedicated versus stem cell runtimes (#237) 072080e is described below commit 072080ee34883ed397a3c2d2b5a079df29f0e117 Author: Matt Rutkowski AuthorDate: Tue Apr 2 13:32:15 2019 -0500 Distinguish between dedicated versus stem cell runtimes (#237) --- .../runtimes/javascript/platform/knative.js| 107 +++-- .../runtimes/javascript/platform/platform.js | 5 +- knative-build/runtimes/javascript/src/service.js | 7 +- 3 files changed, 101 insertions(+), 18 deletions(-) diff --git a/knative-build/runtimes/javascript/platform/knative.js b/knative-build/runtimes/javascript/platform/knative.js index cf08873..f1a69db 100644 --- a/knative-build/runtimes/javascript/platform/knative.js +++ b/knative-build/runtimes/javascript/platform/knative.js @@ -22,6 +22,86 @@ const OW_ENV_PREFIX = "__OW_"; const CONTENT_TYPE = "Content-Type"; /** + * Determine if runtime is a "stem" cell, i.e., can be initialized with request init. data + * @param env + * @returns {boolean} + */ +function isStemCell(env) { +let actionCode = env.__OW_ACTION_CODE; +// It is a stem cell if valid code is "built into" the runtime's process environment. +return (typeof actionCode === 'undefined' || actionCode.length === 0); +} + +/** + * Determine if the request (body) contains valid activation data. + * @param req + * @returns {boolean} + */ +function hasActivationData(req) { +// it is a valid activation if the body contains an activation and value keys with data. +if (typeof req.body !== "undefined" && +typeof req.body.activation !== "undefined" && +typeof req.body.value !== "undefined") { +return true; +} +return false; +} + +/** + * Determine if the request (body) contains valid init data. + * @param req + * @returns {boolean} + */ +function hasInitData(req) { +// it is a valid init. if the body contains an init key with data. +if (typeof req.body !== "undefined" && +typeof req.body.init !== "undefined") { +return true; +} +return false; +} + +/** + * Determine if runtime is a "stem" cell, i.e., can be initialized with request init. data + * @param env + * @returns {boolean} + */ +function isStemCell(env) { +let actionCode = env.__OW_ACTION_CODE; +// It is a stem cell if valid code is "built into" the runtime's process environment. +return (typeof actionCode === 'undefined' || actionCode.length === 0); +} + +/** + * Determine if the request (body) contains valid activation data. + * @param req + * @returns {boolean} + */ +function hasActivationData(req) { +// it is a valid activation if the body contains an activation and value keys with data. +if (typeof req.body !== "undefined" && +typeof req.body.activation !== "undefined" && +typeof req.body.value !== "undefined") { +return true; +} +return false; +} + +/** + * Determine if the request (body) contains valid init data. + * @param req + * @returns {boolean} + */ +function hasInitData(req) { +// it is a valid init. if the body contains an init key with data. +if (typeof req.body !== "undefined" && +typeof req.body.init !== "undefined") { +return true; +} +return false; +} + +/** * Pre-process the incoming */ function preProcessInitData(env, initdata, valuedata, activationdata) { @@ -54,13 +134,19 @@ function preProcessInitData(env, initdata, valuedata, activationdata) { if (initdata.code && typeof initdata.code === 'string') { code = initdata.code; } -if (initdata.binary && typeof initdata.binary === 'boolean') { -// TODO: Throw error if BINARY is not 'true' or 'false' -binary = initdata.binary; +if (initdata.binary) { +if (typeof initdata.binary === 'boolean') { +binary = initdata.binary; +} else { +throw ("Invalid Init. data; expected boolean for key 'binary'."); +} } -if (initdata.raw && typeof initdata.raw === 'boolean') { -// TODO: Throw error if RAW is not 'true' or 'false' -raw = initdata.raw; +if (initdata.raw ) { +if (typeof initdata.raw === 'boolean') { +raw = initdata.raw; +} else { +throw ("Inva
[incubator-openwhisk-devtools] branch master updated: PlatformFactory with Knative and OW impls (#234)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 6c17bdf PlatformFactory with Knative and OW impls (#234) 6c17bdf is described below commit 6c17bdf03c839863ea819f5f71423e20eb94c6c7 Author: Matt Rutkowski AuthorDate: Mon Apr 1 12:25:30 2019 -0500 PlatformFactory with Knative and OW impls (#234) * PlatformFactory with Knative and OW impls * Get the knative impl working * Get the knative impl working * Get the knative impl working * Add OpenWhisk platform impl. * Add OpenWhisk platform impl. * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures * Clean up platform exports and method signatures --- .gitignore | 40 ++- README.md | 1 + knative-build/runtimes/javascript/app.js | 110 ++ .../platform/{platform.js => knative.js} | 62 ++-- .../runtimes/javascript/platform/openwhisk.js | 34 ++ .../runtimes/javascript/platform/platform.js | 400 +++-- knative-build/runtimes/javascript/src/service.js | 12 + .../helloworldwithparams/payload-knative-init.http | 13 + .../helloworldwithparams/payload-knative-run.http | 19 + 9 files changed, 301 insertions(+), 390 deletions(-) diff --git a/.gitignore b/.gitignore index 3d8fc6e..99782a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,39 @@ -openwhisk-src -.wskprops - -*.iml +# IDE .idea +*.iml +.project +.settings .vscode +*.code-workspace **/.sts4-cache + +# Go Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Kubernetes Secrets +docker-secret.yaml + +# Kubernetes ServiceAccount (customized with username) +build.yaml +service.yaml + +# NodeJS +node_modules/ +package-lock.json + +# Swift +Packages/ + +# OpenWhisk project-specific +openwhisk-src +.wskprops diff --git a/README.md b/README.md index 2903649..0f4a2eb 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ This repository is part of [Apache OpenWhisk](http://openwhisk.incubator.apache. * [java-action-archetype](java-action-archetype/README.md) This archetype helps to generate the Java Action template project. * [node-local](node-local/README.md) allows testing individual OpenWhisk functions locally, using only node.js. This is ideal if you are writing node.js functions to run in OpenWhisk, but need to emulate some of OpenWhisk's behavior in creating `params` and expecting promises. * [maven-java](maven-java/README.md) allows testing OpenWhisk Java Actions. This shows how to package the function dependencies e.g. external jar. +* [knative-build](knative-build/README.md) contains Knative Build Templates along with modified versions of their respective OpenWhisk Action Runtimes that can be used to Build and Serve Knative compatible applications on Kubernetes. ## Travis builds diff --git a/knative-build/runtimes/javascript/app.js b/knative-build/runtimes/javascript/app.js index 3f0eb26..b4714d3 100644 --- a/knative-build/runtimes/javascript/app.js +++ b/knative-build/runtimes/javascript/app.js @@ -16,7 +16,7 @@ */ var dbg = require('./utils/debug'); var DEBUG = new dbg(); -DEBUG.trace("Hello World from NodeJS runtime"); +DEBUG.trace("NodeJS runtime initializing..."); DEBUG.dumpObject(process.env, "process.env"); // __OW_ALLOW_CONCURRENT: see docs/concurrency.md @@ -27,11 +27,6 @@ var config = { 'requestBodyLimit': "48mb" }; -var runtime_platform = { -openwhisk: 'openwhisk', -knative: 'knative', -}; - var bodyParser = require('body-parser'); var express= require('express'); @@ -53,83 +48,52 @@ var service = require('./src/service').getService(config); app.use(bodyParser.json({ limit: config.requestBodyLimit })); // identify the target Serverless platform +const platformFactory = require('./platform/platform.js'); +const factory = new platformFactory(app, config, service); var targetPlatform = process.env.__OW_RUNTIME_PLATFORM; // default to "openwhisk" platform initialization if not defined -if( typeof targetPlatform === "undefined&
[incubator-openwhisk-website] branch master updated: Update contributor sections to example potential areas of interest (#366)
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 2737438 Update contributor sections to example potential areas of interest (#366) 2737438 is described below commit 27374387d2e6cd6adff36a5281f580998672958b Author: Matt Rutkowski AuthorDate: Mon Mar 25 13:25:25 2019 -0500 Update contributor sections to example potential areas of interest (#366) --- _layouts/documentation.html | 34 ++ 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 7657006..a1a27df 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -121,8 +121,9 @@ layout: default Contributors Project Structure - Resources - Adding Runtimes + Contributor Resources + What Can I Contribute? + Contributing Language Runtimes @@ -2079,7 +2080,7 @@ abcd locationUpdate official Contributor: - https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-how-to-contribute;>How to contribute? + https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-how-to-contribute;>How to Contribute? https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+Project+Wiki#OpenWhiskProjectWiki-becoming-a-contributor;>How do I become a Contributor or Committer? @@ -2432,7 +2433,7 @@ abcd locationUpdate -Contributor resources +Contributor Resources This section lists a number of resources for OpenWhisk Contributors: https://cwiki.apache.org/confluence/display/OPENWHISK/Proposals;>Proposals (Designs) @@ -2444,13 +2445,30 @@ abcd locationUpdate - + + + +What Can I Contribute? +Usually, contributors come because they want to fix or improve some part of the project. This can include the code itself in any of the project repositories under our project, project documentation, test cases, literally anything! +Here are some specific ideas to get you thinking ... + + Fix open issues: both bugs and feature issues in GitHub. + Improve Documentation: READMEs, Website Developer or Operator docs (Examples, How Tos), Medium blog articles, etc. + Testcases (any repo.): e.g., functional code coverage, performance, config. variants, parallelize test buckets, etc. + Add Operational Plug-ins: e.g., metrics, logging, artifact storage impls., etc.) + Add/Improve Language Runtimes: See Contributing new Action Language Runtimes below. e.g., new languages, additional framework variants), etc. + Improve tooling: Enhance CLI features, extend APIs for new use cases, etc. + Feature ideas, Use cases, Design proposals: Support new scenarios, deployments (platforms), schedulers, etc. Submit ideas via our developer email list and use our Confluence Wiki to develop your ideas. + + + + + -Contributing new Action Language Runtimes +Contributing Language Runtimes OpenWhisk supports several languages via its Action Runtimes, - but there may be other languages or runtimes that you may want - to contribute to the project. + but there may be other languages you would like supported or even language variants with different frameworks for languages we support today. OpenWhisk is all about making it easy for ANY developer, using any functional language they are comfortable with, to develop Actions for our platform! Read this guide on how to get started: https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-new.md;>Adding Action Language Runtimes
[incubator-openwhisk-devtools] branch master updated: sending http metadata as action arguments (#227)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 387ab50 sending http metadata as action arguments (#227) 387ab50 is described below commit 387ab501ff35d62dad1deb4f10cef4f522c07a4d Author: Priti Desai AuthorDate: Mon Mar 25 11:16:55 2019 -0700 sending http metadata as action arguments (#227) --- .../runtimes/javascript/platform/platform.js | 57 -- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/knative-build/runtimes/javascript/platform/platform.js b/knative-build/runtimes/javascript/platform/platform.js index c6a5389..9307c84 100644 --- a/knative-build/runtimes/javascript/platform/platform.js +++ b/knative-build/runtimes/javascript/platform/platform.js @@ -34,26 +34,32 @@ function preProcessInitData(env, initdata, valuedata, activationdata) { var binary = (typeof env.__OW_ACTION_BINARY === 'undefined') ? false : env.__OW_ACTION_BINARY.toLowerCase() === "true"; // TODO: deault to empty? var actionName = (typeof env.__OW_ACTION_NAME === 'undefined') ? "" : env.__OW_ACTION_NAME; +var raw = (typeof env.__OW_ACTION_RAW === 'undefined') ? false : env.__OW_ACTION_BINARY.toLowerCase() === "true"; + DEBUG.dumpObject(actionName, "Action name"); DEBUG.dumpObject(main, "Action main"); DEBUG.dumpObject(code, "Action code"); DEBUG.dumpObject(binary, "Action binary"); +DEBUG.dumpObject(raw, "Action Raw"); // Look for init data within the request (i.e., "stem cell" runtime, where code is injected by request) if (typeof(initdata) !== "undefined") { if (initdata.name && typeof initdata.name === 'string') { -// TODO: Throw error if BINARY is not 'true' or 'false' actionName = initdata.name; } if (initdata.main && typeof initdata.main === 'string') { -main = initdata.main +main = initdata.main; } if (initdata.code && typeof initdata.code === 'string') { -code = initdata.code +code = initdata.code; } if (initdata.binary && typeof initdata.binary === 'boolean') { // TODO: Throw error if BINARY is not 'true' or 'false' -binary = initdata.binary +binary = initdata.binary; +} +if (initdata.raw && typeof initdata.raw === 'boolean') { +// TODO: Throw error if RAW is not 'true' or 'false' +binary = initdata.raw; } } @@ -62,6 +68,7 @@ function preProcessInitData(env, initdata, valuedata, activationdata) { valuedata.main = main; valuedata.code = code; valuedata.binary = binary; +valuedata.raw = raw; // Action name is a special case, as we have a key collision on "name" between init. data and request // param. data (as they both appear within "body.value") so we must save it to its final location @@ -77,6 +84,7 @@ function preProcessInitData(env, initdata, valuedata, activationdata) { DEBUG.dumpObject(valuedata.main, "valuedata.main"); DEBUG.dumpObject(valuedata.code , "valuedata.code"); DEBUG.dumpObject(valuedata.binary, "valuedata.binary"); +DEBUG.dumpObject(valuedata.raw, "valuedata.raw"); } catch(e){ console.error(e); @@ -112,39 +120,35 @@ function preProcessActivationData(env, activationdata) { DEBUG.functionEnd(); } -/** - * helper function to set env variables for HTTP Context - */ -function httpContextEnv (key, value) { -if (typeof value === 'string') { -process.env[key] = value -DEBUG.dumpObject(process.env[key], key, "HTTPContext"); -} -} /** * Pre-process HTTP request details, send them as parameters to the action input argument * __ow_method, __ow_headers, __ow_path, __ow_user, __ow_body, and __ow_query */ -function preProcessHTTPContext(req) { +function preProcessHTTPContext(req, valueData) { DEBUG.functionStart() try { -httpContextEnv(OW_ENV_PREFIX + "METHOD", req.method) -httpContextEnv(OW_ENV_PREFIX + "HEADERS", JSON.stringify(req.headers)) -httpContextEnv(OW_ENV_PREFIX + "PATH", ""); +if (valueData.raw) { +if (typeof body === "string" && body !== undefined) { +valueData.__ow_body = body; +} else { +// TO
[incubator-openwhisk-devtools] branch master updated: making params (code and action name) optional (#226)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 0e7050a making params (code and action name) optional (#226) 0e7050a is described below commit 0e7050acb46d7e57373f807a40f67aa9388d5e06 Author: Priti Desai AuthorDate: Mon Mar 25 11:16:44 2019 -0700 making params (code and action name) optional (#226) * making code and main optional * adding reference to screen recoding in README * fixing typo * updating video link --- knative-build/runtimes/javascript/README.md | 6 +- knative-build/runtimes/javascript/buildtemplate.yaml | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/knative-build/runtimes/javascript/README.md b/knative-build/runtimes/javascript/README.md index a1da655..1a06374 100644 --- a/knative-build/runtimes/javascript/README.md +++ b/knative-build/runtimes/javascript/README.md @@ -74,7 +74,7 @@ kube-systemkube-scheduler-docker-desktop 1/1 Runni ``` -## Intall the BuildTemplate for the NodeJS runtime +## Install the BuildTemplate for the NodeJS runtime ``` $ kubectl apply --filename buildtemplate.yaml @@ -308,3 +308,7 @@ spec: ```bash kubectl apply -f service.yaml ``` + +### See Hello World Live in Action + +* [Screen Recording of Hello World](https://youtu.be/BG1t2t7UvUA) diff --git a/knative-build/runtimes/javascript/buildtemplate.yaml b/knative-build/runtimes/javascript/buildtemplate.yaml index c88d982..82de16e 100644 --- a/knative-build/runtimes/javascript/buildtemplate.yaml +++ b/knative-build/runtimes/javascript/buildtemplate.yaml @@ -21,8 +21,10 @@ spec: default: "knative" - name: OW_ACTION_NAME description: name of the action +default: "" - name: OW_ACTION_CODE description: JavaScript source code to be evaluated +default: "" - name: OW_ACTION_MAIN description: name of the function in the "__OW_ACTION_CODE" to call as the action handler default: "main"
[incubator-openwhisk-website] branch master updated: Alter prose and email to directyl leverage Apache reporting process. (#364)
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 515b546 Alter prose and email to directyl leverage Apache reporting process. (#364) 515b546 is described below commit 515b54660af155e42289d708a5ccef4dc7db2827 Author: Matt Rutkowski AuthorDate: Thu Mar 21 11:47:04 2019 -0500 Alter prose and email to directyl leverage Apache reporting process. (#364) --- _layouts/security.html | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/_layouts/security.html b/_layouts/security.html index 2bf6259..fd27298 100644 --- a/_layouts/security.html +++ b/_layouts/security.html @@ -32,17 +32,13 @@ layout: default Report a security vulnerability - It is strongly encouraged that security vulnerabilities be reported to our private mailing list first, rather than disclosing them in a public forum. The private security mailing address is: mailto:priv...@openwhisk.apache.org;>priv...@openwhisk.apache.org - Please note that this mailing list should only be used for reporting undisclosed security vulnerabilities for Apache OpenWhisk code or dependent libraries, runtimes and tooling. We do not accept regular bug reports or other queries at this address. - The OpenWhisk project management committee upon receiving the report will follow the Apache https://www.apache.org/security/committers.html#vulnerability-handling;>Vulnerability handling process as documented. - +We encourage following the Apache http://www.apache.org/security/#reporting-a-vulnerability;>Vulnerability Reporting process for reporting suspected security vulnerabilities rather than disclosing them in a public forum. +In short, the person discovering the issue, the reporter, should notify the Apache Security team with details of the suspected vulnerability by sending an email to mailto:secur...@apache.org;>secur...@apache.org. +The Apache security team will notify the Apache OpenWhisk Project Management Committee (PMC) and work with them and the submitter to address the issue as described by the Apache https://www.apache.org/security/committers.html#vulnerability-handling;>Vulnerability Handling process. +Please note that this mailing list should only be used for reporting undisclosed security vulnerabilities for Apache OpenWhisk code or dependent libraries, runtimes and tooling. Bug reporting should be done by opening a GitHib Issue within the corresponding project repository where a bug is suspected. - -Note: The Apache OpenWhisk community works in accordance with documented Apache security processes documented here: http://www.apache.org/security/;>Reporting a vulnerability - -
[incubator-openwhisk-devtools] branch master updated: Add slides that describe knative runtime support (#223)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 6c58d47 Add slides that describe knative runtime support (#223) 6c58d47 is described below commit 6c58d47b9bc405b1fbf7fb588fef5fbdd4ad8263 Author: Matt Rutkowski AuthorDate: Tue Mar 19 15:22:16 2019 -0500 Add slides that describe knative runtime support (#223) --- ...native Build for OpenWhisk Runtimes 2019-03-14.pdf | Bin 0 -> 2706323 bytes ...ative Build for OpenWhisk Runtimes 2019-03-14.pptx | Bin 0 -> 491839 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/knative-build/media/Knative Build for OpenWhisk Runtimes 2019-03-14.pdf b/knative-build/media/Knative Build for OpenWhisk Runtimes 2019-03-14.pdf new file mode 100644 index 000..b5a26c0 Binary files /dev/null and b/knative-build/media/Knative Build for OpenWhisk Runtimes 2019-03-14.pdf differ diff --git a/knative-build/media/Knative Build for OpenWhisk Runtimes 2019-03-14.pptx b/knative-build/media/Knative Build for OpenWhisk Runtimes 2019-03-14.pptx new file mode 100644 index 000..d67ee80 Binary files /dev/null and b/knative-build/media/Knative Build for OpenWhisk Runtimes 2019-03-14.pptx differ
[incubator-openwhisk-devtools] branch master updated: Removing outdated samples (#207)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 7570f8a Removing outdated samples (#207) 7570f8a is described below commit 7570f8ad53ee82ea2499fa067c84ff82d657b40b Author: Matt Rutkowski AuthorDate: Thu Mar 14 16:46:39 2019 -0500 Removing outdated samples (#207) --- knative-build/samples/helloworld-nodejs/Dockerfile | 24 - knative-build/samples/helloworld-nodejs/Readme.md | 80 .../samples/helloworld-nodejs/service.yaml | 18 - knative-build/samples/nodejs-runtime/Readme.md | 489 - knative-build/samples/nodejs-runtime/service.yaml | 19 - 5 files changed, 630 deletions(-) diff --git a/knative-build/samples/helloworld-nodejs/Dockerfile b/knative-build/samples/helloworld-nodejs/Dockerfile deleted file mode 100644 index 91cf874..000 --- a/knative-build/samples/helloworld-nodejs/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -# Use the official Node.js 10 image. -# https://hub.docker.com/_/node -FROM node:10 - -# Create and change to the app directory. -WORKDIR /usr/src/app - -# Copy application dependency manifests to the container image. -# A wildcard is used to ensure both package.json AND package-lock.json are copied. -# Copying this separately prevents re-running npm install on every code change. -COPY package*.json ./ - -# Install production dependencies. -RUN npm install --only=production - -# Copy local code to the container image. -COPY . . - -# Service must listen to $PORT environment variable. -# This default value facilitates local development. -ENV PORT 8080 - -# Run the web service on container startup. -CMD [ "npm", "start" ] diff --git a/knative-build/samples/helloworld-nodejs/Readme.md b/knative-build/samples/helloworld-nodejs/Readme.md deleted file mode 100644 index 95bb376..000 --- a/knative-build/samples/helloworld-nodejs/Readme.md +++ /dev/null @@ -1,80 +0,0 @@ - - -## Step 1: Install npm package `express` - -```bash -$ npm install express --save -``` - -## Build Docker Image - -Build the container on your local machine with: - -```bash -$ docker build -t {DOCKER_USERNAME}/helloworld-nodejs -``` - -## Push the container to docker registry - -```bash -$ docker push {DOCKER_USERNAME}/helloworld-nodejs -``` - -## Apply Service YAML - -```bash -$ kubectl apply -f service.yaml -``` - -## Access the service - -```bash -curl -H "Host: helloworld-nodejs.default.example.com" http://localhost -Hello Node.js Sample v1! -``` - -## Logging - -```bash -$ kubectl get pods helloworld-nodejs-1-deployment-69f788f64b-gtvrc -o yaml -``` - -```bash -$ kubectl logs helloworld-nodejs-1-deployment-69f788f64b-gtvrc --all-containers=true -``` - -```bash -$ kubectl logs helloworld-nodejs-1-deployment-69f788f64b-gtvrc -c user-container - -> knative-serving-helloworld-nodejs@1.0.0 start /usr/src/app -> node app.js - -Hello world listening on port 8080 -Hello world received a request. -``` - -```bash -$ kubectl logs helloworld-nodejs-1-deployment-69f788f64b-gtvrc -c istio-init -``` - -```bash -kubectl exec nodejs-10-action-3-deployment-65cd48975b-kbkwj -c istio-proxy -- ls -l -kubectl exec nodejs-10-action-3-deployment-65cd48975b-kbkwj -c istio-proxy -- curl localhost:8080 -``` diff --git a/knative-build/samples/helloworld-nodejs/service.yaml b/knative-build/samples/helloworld-nodejs/service.yaml deleted file mode 100644 index e7530b9..000 --- a/knative-build/samples/helloworld-nodejs/service.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more contributor -# license agreements; and to You under the Apache License, Version 2.0. - -apiVersion: serving.knative.dev/v1alpha1 -kind: Service -metadata: - name: helloworld-nodejs - namespace: default -spec: - runLatest: -configuration: - revisionTemplate: -spec: - container: -image: docker.io/{DOCKER_USERNAME}/helloworld-nodejs -env: - - name: TARGET -value: "Node.js Sample v1" diff --git a/knative-build/samples/nodejs-runtime/Readme.md b/knative-build/samples/nodejs-runtime/Readme.md deleted file mode 100644 index 7ce18e7..000 --- a/knative-build/samples/nodejs-runtime/Readme.md +++ /dev/null @@ -1,489 +0,0 @@ - - -```bash -kubectl apply -f service.yaml -service.serving.knative.dev/nodejs-10-runtime created -``` - -```bash -kubectl get pods -NAME READY STATUS RESTARTS AGE -nodejs-10-runtime-1-deployment-75744dbfd7-j5snf 2/3 Running 3 68s -``` - -```bash -kubectl get pods nodejs-10-runtime-1-deployment-75744dbfd7-j5snf -o yaml -apiVersion: v1 -kind: Pod -metadata: - annotations: -sidecar
[incubator-openwhisk-devtools] branch master updated: Fix Travis build for new Knative contrib. (#206)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new 79b8230 Fix Travis build for new Knative contrib. (#206) 79b8230 is described below commit 79b823086b9e28e1519657fee543572efc0bc385 Author: Matt Rutkowski AuthorDate: Thu Mar 14 15:48:18 2019 -0500 Fix Travis build for new Knative contrib. (#206) --- knative-build/README.md| 20 +- .../archive/app-deployment-with-knative-0.2.2.md | 32 +- knative-build/runtimes/javascript/README.md| 20 +- .../runtimes/javascript/buildtemplate.yaml | 2 + knative-build/runtimes/javascript/src/service.js | 2 +- knative-build/runtimes/javascript/tests/README.md | 58 ++-- knative-build/samples/helloworld-nodejs/Readme.md | 25 +- knative-build/samples/helloworld-nodejs/app.js | 14 - .../samples/helloworld-nodejs/package-lock.json| 358 - .../samples/helloworld-nodejs/package.json | 14 - .../samples/helloworld-nodejs/service.yaml | 3 + knative-build/samples/nodejs-runtime/Readme.md | 21 +- knative-build/samples/nodejs-runtime/service.yaml | 3 + knative-build/service-account.yaml | 3 + 14 files changed, 126 insertions(+), 449 deletions(-) diff --git a/knative-build/README.md b/knative-build/README.md index f8bc82e..69c6289 100644 --- a/knative-build/README.md +++ b/knative-build/README.md @@ -30,7 +30,7 @@ The general pre-requisites are as follows: - [x] kubectl - [x] Knative v0.3.0 -Specifically, for developement and testing on Mac OS, the following components and versions were used: +Specifically, for development and testing on Mac OS, the following components and versions were used: - [x] [Docker Desktop for Mac Docker Community Edition 2.0.1.0 2019-01-11](https://docs.docker.com/docker-for-mac/edge-release-notes/) which includes: - Docker 18.09.1 @@ -75,8 +75,8 @@ $ kubectl get pods --namespace kube-system ``` Sample output - -``` + +``` NAME READY STATUSRESTARTS AGE coredns-86c58d9df4-ms8qs 1/1 Running 0 4d22h coredns-86c58d9df4-x29vt 1/1 Running 0 4d22h @@ -105,8 +105,8 @@ $ kubectl get pods --namespace istio-system ``` Sample output - -``` + +``` NAME READY STATUS RESTARTS AGE cluster-local-gateway-547467ccf6-p8n72 1/1 Running 1 4d21h istio-citadel-7d64db8bcf-m7gsj 1/1 Running 0 4d21h @@ -125,16 +125,16 @@ knative-ingressgateway-75644679c7-c2kxj1/1 Running 1 4d21 ``` - Verify your default namespace uses Istio for all services + Verify your default namespace uses Istio for all services Check the `default` namespace has the label **istio-injection** and it is set to **enabled**: ```bash $ kubectl get namespace default -o yaml ``` - + Example output: -``` +``` apiVersion: v1 kind: Namespace metadata: @@ -157,7 +157,7 @@ status: # Building and Serving OpenWhisk Runtime Build Templates -All OpenWhisk Runtime Build Templates require a valid Kubernetes **Service Account** with access to a Kubernetes **Secret** that containst base64 encoded versions of your Docker Hub username and password. This credential will be used as part of the Knative Build process to "push" your Knative application image containing your OpenWhisk Action to Docker Hub. +All OpenWhisk Runtime Build Templates require a valid Kubernetes **Service Account** with access to a Kubernetes **Secret** that containst base64 encoded versions of your Docker Hub username and password. This credential will be used as part of the Knative Build process to "push" your Knative application image containing your OpenWhisk Action to Docker Hub. ## Clone this repository @@ -239,7 +239,7 @@ namespace "default" labeled -Sample output: Successful Knative resources creation +Sample output: Successful Knative resources creation ``` clusterrole "knative-build-admin" created diff --git a/knative-build/archive/app-deployment-with-knative-0.2.2.md b/knative-build/archive/app-deployment-with-knative-0.2.2.md index 0a12655..70e19ab 100644 --- a/knative-build/archive/app-deployment-with-knative-0.2.2.md +++ b/knative-build/archive/app-deployment-with-knative-0.2.2.md @@ -1,3 +1,22 @@ + + # App Deployment with Knative 0.2.2 on Docker for Desktop This guide walks us over the set of instructions we followed to get sample applications deployed on Knative. @@ -230,7 +249,7 @@ Hello Go Sample v1! Yay! We have `helloworld-go` application deployed and reachab
[incubator-openwhisk-devtools] branch master updated: Update repo. files to pass scancode tests/fix Travis (#205)
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-devtools.git The following commit(s) were added to refs/heads/master by this push: new ec09726 Update repo. files to pass scancode tests/fix Travis (#205) ec09726 is described below commit ec097266768ae49bba7343de5e2845ebf671bfa1 Author: Matt Rutkowski AuthorDate: Thu Mar 14 13:57:10 2019 -0500 Update repo. files to pass scancode tests/fix Travis (#205) * Update repo. files to pass scancode tests/fix Travis * Update repo. files to pass scancode tests/fix Travis --- .travis.yml| 3 +++ CONTRIBUTING.md| 31 +++--- README.md | 19 + docker-compose/.travis/build.sh| 2 ++ docker-compose/.travis/setup.sh| 3 +++ docker-compose/README.md | 31 +- .../env.conf/api-gateway-env-vars.server.conf | 19 - .../apigateway/env.conf/api-gateway-env.http.conf | 19 - .../env.conf/api-gateway-upstreams.http.conf | 18 - .../generated-conf.d/whisk-docker-compose.conf | 17 docker-compose/apigateway/rclone/rclone.conf | 19 - docker-compose/docker-compose.packages.yml | 4 ++- docker-compose/docker-compose.yml | 2 ++ java-action-archetype/.travis/build.sh | 2 ++ java-action-archetype/.travis/setup.sh | 3 +++ java-action-archetype/README.md| 25 ++--- .../resources/projects/basic/archetype.properties | 4 ++- java-local/README.md | 28 +++ .../gradle/wrapper/gradle-wrapper.properties | 3 +++ .../openwhisk/java/local/JavaCompilerLoader.java | 2 +- java-local/src/test/resources/aproject/App.java| 16 +++ maven-java/.mvn/wrapper/maven-wrapper.properties | 5 +++- maven-java/README.md | 25 ++--- node-local/README.md | 21 ++- node-local/runtest.sh | 2 ++ terraform-wskdeploy-plugin/README.md | 19 + terraform-wskdeploy-plugin/main.go | 17 terraform-wskdeploy-plugin/provider.go | 17 terraform-wskdeploy-plugin/resource_server.go | 17 tools/travis/scancode.sh | 4 ++- tools/travis/setupscan.sh | 3 ++- 31 files changed, 357 insertions(+), 43 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8748b27..301289e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + sudo: required env: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c32a97e..ab2f597 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,18 +1,19 @@ @@ -35,18 +36,18 @@ Instructions on how to do this can be found here: [http://www.apache.org/licenses/#clas](http://www.apache.org/licenses/#clas) Once submitted, you will receive a confirmation email from the Apache Software Foundation (ASF) and be added to -the following list: http://people.apache.org/unlistedclas.html. +the following list: http://people.apache.org/unlistedclas.html. Project committers will use this list to verify pull requests (PRs) come from contributors that have signed a CLA. -We look forward to your contributions! +We look forward to your contributions! ## Raising issues -Please raise any bug reports on the respective project repository's GitHub issue tracker. Be sure to search the +Please raise any bug reports on the respective project repository's GitHub issue tracker. Be sure to search the list to see if your issue has already been raised. -A good bug report is one that make it easy for us to understand what you were trying to do and what went wrong. +A good bug report is one that make it easy for us to understand what you were trying to do and what went wrong. Provide as much context as possible so we can try to recreate the issue. ### Discussion diff --git a/README.md b/README.md index fae5917..2903649 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,22 @@ + + # Developer tools for OpenWhisk [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) diff --git a/docker-compose/.travis/build.sh b/docker-compose/.travis/build.sh index 8dc41f2..91eda7c 100755 --- a/docker-compose/.travis/build.sh +++ b/docker-compose/.travis/build.sh @@ -1,4 +1,6 @@ #!/bin/bash +# Licensed
[incubator-openwhisk-website] branch master updated: Fix spacing issues caused by bad whitespace interp. in home page source (#362)
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 63c1524 Fix spacing issues caused by bad whitespace interp. in home page source (#362) 63c1524 is described below commit 63c1524c6538292311c8081cb8f37811b6d27d86 Author: Matt Rutkowski AuthorDate: Fri Mar 8 11:46:27 2019 -0600 Fix spacing issues caused by bad whitespace interp. in home page source (#362) --- _layouts/home.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/_layouts/home.html b/_layouts/home.html index 2163893..51f9a3d 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -35,9 +35,7 @@ layout: default https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#openwhisk-actions;>Actions), in any supported programming language, that can be dynamically scheduled and run in response to associated events (via -https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md#creating-triggers-and-rules;>Triggers) -from external sources ( -https://github.com/apache/incubator-openwhisk/blob/master/docs/feeds.md#implementing-feeds;>Feeds) +https://github.com/apache/incubator-openwhisk/blob/master/docs/triggers_rules.md#creating-triggers-and-rules;>Triggers) from external sources (https://github.com/apache/incubator-openwhisk/blob/master/docs/feeds.md#implementing-feeds;>Feeds) 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
[incubator-openwhisk-website] branch master updated: Update docs. to relect latest runtime language versions/support (#360)
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 09250cf Update docs. to relect latest runtime language versions/support (#360) 09250cf is described below commit 09250cfccd9e7899f5932c8789e60e27954da1f0 Author: Matt Rutkowski AuthorDate: Fri Feb 8 11:27:05 2019 -0600 Update docs. to relect latest runtime language versions/support (#360) * Update docs. to relect latest runtime language versions/support * Update docs. to add Ballerina runtime. --- _layouts/documentation.html | 7 --- _layouts/home.html | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 7bcd40d..7657006 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -200,11 +200,12 @@ layout: default + https://github.com/apache/incubator-openwhisk-runtime-ballerina#Apache-OpenWhisk-Runtime-for-Ballerina;>Ballerina - OpenWhisk runtime for Ballerina https://github.com/apache/incubator-openwhisk-runtime-go#apache-openwhisk-runtimes-for-go;>Go - OpenWhisk runtime for Go lang - https://github.com/apache/incubator-openwhisk-runtime-java#apache-openwhisk-runtimes-for-java;>Java - OpenWhisk runtime for Java 8 - https://github.com/apache/incubator-openwhisk-runtime-nodejs#apache-openwhisk-runtimes-for-nodejs;>JavaScript - OpenWhisk runtime for Node.js v6 and v8 + https://github.com/apache/incubator-openwhisk-runtime-java#apache-openwhisk-runtimes-for-java;>Java - OpenWhisk runtime for Java 8 (OpenJDK 8, JVM OpenJ9) + https://github.com/apache/incubator-openwhisk-runtime-nodejs#apache-openwhisk-runtimes-for-nodejs;>JavaScript - OpenWhisk runtime for Node.js v6, v8 and v10 https://github.com/apache/incubator-openwhisk-runtime-php#apache-openwhisk-runtimes-for-php;>PHP - OpenWhisk runtime for PHP 7.3, 7.2 and 7.1 - https://github.com/apache/incubator-openwhisk-runtime-python#apache-openwhisk-runtimes-for-python;>Python - OpenWhisk runtime for Python 2.7 and 3 + https://github.com/apache/incubator-openwhisk-runtime-python#apache-openwhisk-runtimes-for-python;>Python - OpenWhisk runtime for Python 2.7, 3 and a 3 runtime variant for AI/ML (including packages for Tensorflow and PyTorch) https://github.com/apache/incubator-openwhisk-runtime-ruby#apache-openwhisk-runtimes-for-ruby;>Ruby - OpenWhisk runtime for Ruby 2.5 https://github.com/apache/incubator-openwhisk-runtime-swift#apache-openwhisk-runtimes-for-swift;>Swift - OpenWhisk runtime for Swift 3.1.1, 4.1 and 4.2 diff --git a/_layouts/home.html b/_layouts/home.html index efd932c..2163893 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -90,8 +90,9 @@ layout: default https://github.com/apache/incubator-openwhisk-runtime-go;>Go, https://github.com/apache/incubator-openwhisk-runtime-java;>Scala, https://github.com/apache/incubator-openwhisk-runtime-python;>Python, -https://github.com/apache/incubator-openwhisk-runtime-php;>PHP and -https://github.com/apache/incubator-openwhisk-runtime-ruby;>Ruby. +https://github.com/apache/incubator-openwhisk-runtime-php;>PHP, +https://github.com/apache/incubator-openwhisk-runtime-ruby;>Ruby and +https://github.com/apache/incubator-openwhisk-runtime-ballerina;>Ballerina. If you need languages or libraries the current
[incubator-openwhisk-wskdeploy] branch master updated: fix got clone instructs (#1024)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new cc7ffc0 fix got clone instructs (#1024) cc7ffc0 is described below commit cc7ffc03d0d662ba6d7c808eea7229af825f136a Author: Matt Rutkowski AuthorDate: Wed Jan 9 15:32:28 2019 -0600 fix got clone instructs (#1024) --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b2cac5..728ff56 100644 --- a/README.md +++ b/README.md @@ -153,10 +153,11 @@ The Whisk deploy project is setup for development purposes and uses "go deps" fo - See: [https://github.com/tools/godep](https://github.com/tools/godep) -Specifically, for development please use: +Specifically, for development please use ```go build```: ``` -$ git clone g...@github.com:mrutkows/incubator-openwhisk-wskdeploy +$ git clone g...@github.com:/incubator-openwhisk-wskdeploy +$ cd incubator-openwhisk-wskdeploy $ go build ```
[incubator-openwhisk-cli] branch master updated: Integrating wskdeploy into wsk CLI (#394)
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-cli.git The following commit(s) were added to refs/heads/master by this push: new 34f1d89 Integrating wskdeploy into wsk CLI (#394) 34f1d89 is described below commit 34f1d89e3f1578efe906ae42a42ff836cb343cac Author: Priti Desai AuthorDate: Tue Dec 18 13:21:50 2018 -0800 Integrating wskdeploy into wsk CLI (#394) * introducing project management using wskdeploy * introducing project management using wskdeploy * integrating wskdeploy into wsk CLI * go fmt * fixing typo * updating deps * adding . after newline, introducing IDs * adding Ids into messages --- build.gradle | 9 ++-- commands/messages.go | 4 ++ commands/project.go | 98 commands/wsk.go | 1 + wski18n/resources/en_US.all.json | 16 +++ 5 files changed, 124 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index eca828e..f4d418c 100644 --- a/build.gradle +++ b/build.gradle @@ -44,20 +44,21 @@ dependencies { golang { // BEGIN - Imported from Godeps build(['name':'github.com/cloudfoundry/jibber_jabber', 'version':'bcc4c8345a21301bf47c032ff42dd1aae2fe3027', 'transitive':false]) -build(['name':'github.com/fatih/color', 'version':'87d4004f2ab62d0d255e0a38f1680aa534549fe3', 'transitive':false]) +build(['name':'github.com/fatih/color', 'version':'570b54cabe6b8eb0bc2dfce68d964677d63b5260', 'transitive':false]) build(['name':'github.com/google/go-querystring/query', 'version':'9235644dd9e52eeae6fa48efd539fdc351a0af53', 'transitive':false]) build(['name':'github.com/hokaccha/go-prettyjson', 'version':'f75235bd99dad4e98ff360db8372d5c0ef1d054a', 'transitive':false]) build(['name':'github.com/inconshreveable/mousetrap', 'version':'76626ae9c91c4f2a10f34cad8ce83ea42c93bb75', 'transitive':false]) build(['name':'github.com/mattn/go-colorable', 'version':'d228849504861217f796da67fae4f6e347643f15', 'transitive':false]) -build(['name':'github.com/mattn/go-isatty', 'version':'66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8', 'transitive':false]) +build(['name':'github.com/mattn/go-isatty', 'version':'a5cdd64afdee435007ee3e9f6ed4684af949d568', 'transitive':false]) build(['name':'github.com/mitchellh/go-homedir', 'version':'e456ffea841564ac0fa5f69c26ef44dafec9', 'transitive':false]) -build(['name':'github.com/nicksnyder/go-i18n/i18n/...', 'version':'37e5c2de3e03e4b82693e3fcb4a6aa2cc4eb07e3', 'transitive':false]) +build(['name':'github.com/nicksnyder/go-i18n/i18n/...', 'version':'991e81cc94f6c54209edb3192cb98e3995ad71c1', 'transitive':false]) build(['name':'github.com/spf13/cobra', 'version':'1238ba19d24b0b9ceee2094e1cb31947d45c3e86', 'transitive':false]) build(['name':'github.com/spf13/pflag', 'version':'367864438f1b1a3c7db4da06a2f55b144e6784e0', 'transitive':false]) build(['name':'golang.org/x/sys/unix', 'version':'7f918dd405547ecb864d14a8ecbbfe205b5f930f', 'transitive':false]) -build(['name':'gopkg.in/yaml.v2', 'version':'cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b', 'transitive':false]) +build(['name':'gopkg.in/yaml.v2', 'version':'eb3733d160e74a9c7e442f435eb3bea458e1d19f', 'transitive':false]) build(['name':'github.com/ghodss/yaml', 'version':'0ca9ea5df5451ffdf184b4428c902747c2c11cd7', 'transitive':false]) build(['name':'github.com/apache/incubator-openwhisk-client-go/whisk','version':'c7013c9f456f35be34b3bf166535aaa03b834331','transitive':false]) + build(['name':'github.com/apache/incubator-openwhisk-wskdeploy','version':'3bcc605a7f969f5b7f76f5990caa0ef562e3404a','transitive':false]) // END - Imported from Godeps test name:'github.com/stretchr/testify', version:'b91bfb9ebec76498946beb6af7c0230c7cc7ba6c', transitive:false //, tag: 'v1.2.0' test name:'github.com/spf13/viper', version:'aafc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5', transitive:false diff --git a/commands/messages.go b/commands/messages.go index 91b4f24..e04a14c 100644 --- a/commands/messages.go +++ b/commands/messages.go @@ -24,4 +24,8 @@ package commands */ const ( FEED_CONFIGURATION_FAILURE = "FEED_CONFIGURATION_FAILURE" + CMD_DESC_LONG_DEPLOY = "CMD_DESC_LONG_DEPLOY" + CMD_DESC_LONG_SYNC = "CMD_DESC_LONG_SYNC" + CMD_DESC_LONG_UNDEPLOY = "CMD_DESC_LONG_UNDEPLOY" + CMD_DESC_LONG_EXPORT = "CMD_DESC_LONG_EXPORT" ) diff --git a/commands/project.go b/commands/project.go new file mode 100644 index 000..c109e3f --- /dev/null +++ b/commands/project.go @@ -0,0 +1,98 @@ +/* + * Licensed
[incubator-openwhisk-website] branch master updated: Add link to ASF release policy (#355)
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 d87c024 Add link to ASF release policy (#355) d87c024 is described below commit d87c024216974900c816c2016f117ed92a293230 Author: Matt Rutkowski AuthorDate: Wed Dec 12 13:50:24 2018 -0600 Add link to ASF release policy (#355) * Add link to ASF release policy * Add link to ASF release policy --- _layouts/downloads.html | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/_layouts/downloads.html b/_layouts/downloads.html index c2a62b5..72ffece 100644 --- a/_layouts/downloads.html +++ b/_layouts/downloads.html @@ -62,7 +62,10 @@ layout: default Apache Releases The Apache OpenWhisk project provides official releases of source code, by component groupings, as TAR compressed - archives files denoted by the .tar.gz extension.) + archives files denoted by the .tar.gz extension) + in accordance with the Apache Software Foundation (ASF) + http://www.apache.org/legal/release-policy.html;> +release policy. Developers who wish to use nightly builds or interim builds should read about them below under
[incubator-openwhisk-website] branch master updated: Change to use term Apache Releases (#354)
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 6f2cf11 Change to use term Apache Releases (#354) 6f2cf11 is described below commit 6f2cf110109365860112e9df6e0f16d3b41ea914 Author: Matt Rutkowski AuthorDate: Wed Dec 12 12:11:26 2018 -0600 Change to use term Apache Releases (#354) * Change to use term Apache Releases * Change to use term Apache Releases --- _layouts/downloads.html | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_layouts/downloads.html b/_layouts/downloads.html index 8cd8c93..c2a62b5 100644 --- a/_layouts/downloads.html +++ b/_layouts/downloads.html @@ -16,7 +16,7 @@ layout: default Versioning -Official Releases +Apache Releases Verifying Keys @@ -58,8 +58,8 @@ layout: default - -Official Releases + +Apache Releases The Apache OpenWhisk project provides official releases of source code, by component groupings, as TAR compressed archives files denoted by the .tar.gz extension.) @@ -401,7 +401,7 @@ layout: default Most of the Apache OpenWhisk project component repositories are configured within GitHub to automatically generate interim builds (not -official release builds) +official release builds) for each merged Pull Request (PR) and/or on a nightly basis. These builds, by default, are tagged 'latest' and appear under their respective GitHub @@ -414,12 +414,12 @@ layout: default (RC) builds. However, any build tagged within GitHub with either 'latest' or any other tag do NOT have official Apache project release status. -All official Apache OpenWhisk builds +All official Apache OpenWhisk release builds undergo a rigorous process to be approved and are linked -above. +above. - To be clear, GitHub "releases" are not official Apache project -releases. + To be clear, GitHub "releases" are not official +Apache OpenWhisk project releases.
[incubator-openwhisk-website] branch master updated: Clarify GitHub nightly-interim releases tags from Apache releases. (#353)
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 dd75661 Clarify GitHub nightly-interim releases tags from Apache releases. (#353) dd75661 is described below commit dd75661f37e30df1cd2034b51be6770e7c3a84a3 Author: Matt Rutkowski AuthorDate: Tue Dec 11 16:15:06 2018 -0600 Clarify GitHub nightly-interim releases tags from Apache releases. (#353) * Clarify GitHub nightly-interim releases tags from Apache releases. * Clarify GitHub nightly-interim releases tags from Apache releases. * Clarify GitHub nightly-interim releases tags from Apache releases. --- _layouts/downloads.html | 56 +++-- 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/_layouts/downloads.html b/_layouts/downloads.html index df157c0..8cd8c93 100644 --- a/_layouts/downloads.html +++ b/_layouts/downloads.html @@ -16,12 +16,16 @@ layout: default Versioning -Releases +Official Releases Verifying Keys Versions + + +Developer Builds + @@ -40,7 +44,9 @@ layout: default Versioning -Apache OpenWhisk uses semantic versioning. Version numbers use the form major.minor.incremental-build and are incremented as follows: +Apache OpenWhisk uses semantic versioning. Version numbers + use the form major.minor.incremental-build and + are incremented as follows: major version: for incompatible API changes. minor version: for new functionality added in a backward-compatible manner. @@ -52,13 +58,21 @@ layout: default - -Releases -The Apache OpenWhisk project provides releases of source code, by component groupings, as TAR compressed archives files denoted by the .tar.gz extension.) + +Official Releases +The Apache OpenWhisk project provides official releases of + source code, by component groupings, as TAR compressed + archives files denoted by the .tar.gz extension.) + +Developers who wish to use nightly builds or interim builds + should read about them below under + Developer Builds. Verifying -As an Apache project, all downloaded files are signed by a project Release Manager and can be verified following these instructions: +As an Apache project, all downloaded files are signed by a + project Release Manager and can be verified following these + instructions: https://www.apache.org/info/verification;>How to verify downloaded files @@ -380,5 +394,35 @@ layout: default + + + + Developer Builds + Most of the Apache OpenWhisk project component repositories +are configured within GitHub to automatically generate interim +builds (not +official release builds) +for each merged Pull Request (PR) and/or on +a nightly basis. These builds, by default, are tagged +'latest' and appear under their respective GitHub +component's release tab and are intended for developer +evaluation and testing only. + + In some special cases, +Committers on the project may choose to use GitHub to tag +certain builds as they become closer to being Release Candidate +(RC) builds. However, any build tagged within GitHub with +either 'latest' or any other tag do NOT have +official Apache project release status. +All official Apache OpenWhisk builds +undergo a rigorous process to be approved and are linked +above. + + To be clear, GitHub "releases" are not official Apache project +releases. + + + +
[incubator-openwhisk-wskdeploy] branch master updated: dropping static data file on runtimes (#1017)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 3bcc605 dropping static data file on runtimes (#1017) 3bcc605 is described below commit 3bcc605a7f969f5b7f76f5990caa0ef562e3404a Author: Priti Desai AuthorDate: Tue Dec 11 11:28:15 2018 -0800 dropping static data file on runtimes (#1017) --- runtimes/runtimes.go | 283 + runtimes/runtimes.json | 256 2 files changed, 261 insertions(+), 278 deletions(-) diff --git a/runtimes/runtimes.go b/runtimes/runtimes.go index 190e114..73779e4 100644 --- a/runtimes/runtimes.go +++ b/runtimes/runtimes.go @@ -23,8 +23,6 @@ import ( "io/ioutil" "net/http" "net/url" - "path/filepath" - "runtime" "strings" "time" @@ -56,7 +54,6 @@ const ( HTTP_CONTENT_TYPE_VALUE = "application/json; charset=UTF-8" RUNTIME_NOT_SPECIFIED = "NOT SPECIFIED" BLACKBOX= "blackbox" - RUNTIMES_FILE_NAME = "runtimes.json" HTTPS = "https://; ) @@ -137,14 +134,11 @@ func ParseOpenWhisk(apiHost string) (op OpenWhiskInfo, err error) { if err != nil || !strings.Contains(HTTP_CONTENT_TYPE_VALUE, res.Header.Get(HTTP_CONTENT_TYPE_KEY)) { stdout := wski18n.T(wski18n.ID_MSG_UNMARSHAL_LOCAL) wskprint.PrintOpenWhiskInfo(stdout) - runtimeDetails := readRuntimes() - if runtimeDetails != nil { - err = json.Unmarshal(runtimeDetails, ) - if err != nil { - errMessage := wski18n.T(wski18n.ID_ERR_RUNTIME_PARSER_ERROR, - map[string]interface{}{wski18n.KEY_ERR: err.Error()}) - err = wskderrors.NewRuntimeParserError(errMessage) - } + err = json.Unmarshal(RUNTIME_DETAILS, ) + if err != nil { + errMessage := wski18n.T(wski18n.ID_ERR_RUNTIME_PARSER_ERROR, + map[string]interface{}{wski18n.KEY_ERR: err.Error()}) + err = wskderrors.NewRuntimeParserError(errMessage) } } else { b, _ := ioutil.ReadAll(res.Body) @@ -270,14 +264,259 @@ func ListOfSupportedRuntimes(runtimes map[string][]string) (rt []string) { return } -func readRuntimes() []byte { - _, b, _, _ := runtime.Caller(0) - basepath := filepath.Dir(b) - runtimesFileWithPath := filepath.Join(basepath, RUNTIMES_FILE_NAME) - file, readErr := ioutil.ReadFile(runtimesFileWithPath) - if readErr != nil { - wskprint.PrintlnOpenWhiskWarning(readErr.Error()) - return nil - } - return file -} +var RUNTIME_DETAILS = []byte(`{ +"support": { +"github": "https://github.com/apache/incubator-openwhisk/issues;, +"slack": "http://slack.openwhisk.org; +}, +"description": "OpenWhisk", +"api_paths": [ +"/api/v1" +], +"runtimes": { +"nodejs": [ +{ +"kind": "nodejs", +"image": { +"prefix": "openwhisk", +"name": "nodejsaction", +"tag": "latest" +}, +"deprecated": true, +"attached": { +"attachmentName": "codefile", +"attachmentType": "text/plain" +} +}, +{ +"kind": "nodejs:6", +"default": true, +"image": { +"prefix": "openwhisk", +"name": "nodejs6action", +"tag": "latest" +}, +"deprecated": false, +"attached": { +"attachmentName": "codefile", +"attachmentType": "text/plain" +}, +"stemCells": [{ +"count": 2, +"memory": "256 MB" +}] +}, +{ +
[incubator-openwhisk-website] branch master updated: Adjust Home page and add Swift Action examples (#350)
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 404c4af Adjust Home page and add Swift Action examples (#350) 404c4af is described below commit 404c4af6642266573407dc69a0a7440f0b109109 Author: Matt Rutkowski AuthorDate: Fri Nov 30 15:55:10 2018 -0600 Adjust Home page and add Swift Action examples (#350) * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples * Adjust Home page and add Swift Action examples --- _includes/code/hello.swift | 7 + _includes/code/manifest-for-helloSwift.yaml | 5 + _includes/index/index.js| 15 +- _layouts/community.html | 36 ++- _layouts/documentation.html | 454 ++-- _layouts/downloads.html | 24 +- _layouts/home.html | 91 -- _scss/_base.scss| 36 +++ _scss/_skin.scss| 1 + _scss/_variables.scss | 4 +- 10 files changed, 452 insertions(+), 221 deletions(-) diff --git a/_includes/code/hello.swift b/_includes/code/hello.swift new file mode 100644 index 000..8ccaf5f --- /dev/null +++ b/_includes/code/hello.swift @@ -0,0 +1,7 @@ +func main(args: [String:Any]) -> [String:Any] { +if let name = args["name"] as? String { +return [ "greeting" : "Hello \(name)!" ] +} else { +return [ "greeting" : "Hello swif4!" ] +} +} diff --git a/_includes/code/manifest-for-helloSwift.yaml b/_includes/code/manifest-for-helloSwift.yaml new file mode 100644 index 000..425c46d --- /dev/null +++ b/_includes/code/manifest-for-helloSwift.yaml @@ -0,0 +1,5 @@ +packages: +default: +actions: +helloSwift: +function: hello.swift diff --git a/_includes/index/index.js b/_includes/index/index.js index 1864aef..f1465dc 100644 --- a/_includes/index/index.js +++ b/_includes/index/index.js @@ -9,7 +9,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){ @@ -34,8 +34,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')){ @@ -87,7 +86,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"; } @@ -98,18 +97,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.b
[incubator-openwhisk-wskdeploy] branch master updated: Add fallback method to find wskprops when go-client fails (#1015)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 7bf2617 Add fallback method to find wskprops when go-client fails (#1015) 7bf2617 is described below commit 7bf2617461857e77642b3f82e99ffa1d9691d783 Author: Matt Rutkowski AuthorDate: Wed Nov 28 13:03:24 2018 -0600 Add fallback method to find wskprops when go-client fails (#1015) --- utils/misc.go | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/utils/misc.go b/utils/misc.go index 715db30..b32c092 100644 --- a/utils/misc.go +++ b/utils/misc.go @@ -60,10 +60,19 @@ type RuleRecord struct { Packagename string } +func fallbackHome() string { + if home := os.Getenv("HOME"); home != "" { + return home + } + // For Windows. + return os.Getenv("UserProfile") +} + func GetHomeDirectory() string { usr, err := user.Current() if err != nil { - return "" + + return fallbackHome() } return usr.HomeDir
[incubator-openwhisk-wskdeploy] branch master updated: add ruby to specifications file (#1012)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 97fe8c3 add ruby to specifications file (#1012) 97fe8c3 is described below commit 97fe8c31cff07bcfdf250270e1cae88ebfebae93 Author: TPei <4004343+t...@users.noreply.github.com> AuthorDate: Mon Nov 26 19:57:47 2018 +0100 add ruby to specifications file (#1012) --- runtimes/runtimes_test.go| 1 + specification/html/spec_actions.md | 6 tests/src/integration/runtimetests/manifest.yaml | 39 tests/src/integration/runtimetests/src/hello.rb | 9 ++ 4 files changed, 55 insertions(+) diff --git a/runtimes/runtimes_test.go b/runtimes/runtimes_test.go index 2f2ade0..3ea307f 100644 --- a/runtimes/runtimes_test.go +++ b/runtimes/runtimes_test.go @@ -36,6 +36,7 @@ func TestParseOpenWhisk(t *testing.T) { assert.Equal(t, 2, len(converted["php"]), "not expected length") assert.Equal(t, 1, len(converted["java"]), "not expected length") assert.Equal(t, 6, len(converted["python"]), "not expected length") + assert.Equal(t, 1, len(converted["ruby"]), "not expected length") assert.Equal(t, 2, len(converted["swift"]), "not expected length") // cannot pass this test until it is deployed in OpenWhisk //assert.Equal(t, 2, len(converted["go"]), "not expected length") diff --git a/specification/html/spec_actions.md b/specification/html/spec_actions.md index 0521675..13ee895 100644 --- a/specification/html/spec_actions.md +++ b/specification/html/spec_actions.md @@ -142,6 +142,7 @@ These packages may vary by OpenWhisk release; examples of supported runtimes as | php, php@7.1 | php:7.1 | openwhisk/action-php-v7.1:latest | Latest PHP (7.1) language runtime | | python@3 | python:3 | openwhisk/python3action:latest | Latest Python 3 language runtime | | python, python@2 | python:2 | openwhisk/python2action:latest | Latest Python 2 language runtime |s +| ruby | ruby:2.5 | openwhisk/action-ruby-v2.5:latest | Latest Ruby 2.5 language runtime | | swift@4.1 | swift | openwhisk/action-swift-v4.1:latest | Latest Swift 4.1 language runtime | | swift@3.1.1 | swift | openwhisk/action-swift-v3.1.1:latest | Latest Swift 3.1.1 language runtime | | language:default | N/A | N/A | Permit the OpenWhisk platform to select the correct default language runtime. | @@ -186,6 +187,11 @@ following file extensions are recognized and will be run on the latest version o php Latest PHP language runtime. + + .rb + ruby + Latest Ruby language runtime. + diff --git a/tests/src/integration/runtimetests/manifest.yaml b/tests/src/integration/runtimetests/manifest.yaml index 04539e1..32bebf2 100644 --- a/tests/src/integration/runtimetests/manifest.yaml +++ b/tests/src/integration/runtimetests/manifest.yaml @@ -76,6 +76,16 @@ packages: place: string outputs: payload: string +greetingruby25-with-explicit-runtime: +web-export: true +version: 1.0 +function: src/hello.rb +runtime: ruby:2.5 +inputs: +name: string +place: string +outputs: +payload: string greetingswift311-with-explicit-runtime: web-export: true version: 1.0 @@ -127,6 +137,15 @@ packages: place: string outputs: payload: string +greetingruby-without-explicit-runtime: +web-export: true +version: 1.0 +function: src/hello.rb +inputs: +name: string +place: string +outputs: +payload: string greetingswift-without-explicit-runtime: web-export: true version: 1.0 @@ -201,6 +220,26 @@ packages: place: string outputs: payload: string +greetingruby-with-php-explicit-runtime: +web-export: true +version: 1.0 +function: src/hello.rb +runtime: php +inputs: +name: string +place: string +outputs: +payload: string +greetingruby-with-random-explicit-runtime: +web-export: true +version: 1.0 +function: src/hello.rb +runtime:
[incubator-openwhisk-website] branch master updated: Improve instructs. for config. of CLI and Whisk Deploy (#347)
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 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 @@ - + 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 OpenWhisk Architecture OpenWhisk Deployment -Docker Compose Kubernetes +Docker Compose Mesos OpenShift Ansible @@ -122,674 +122,847 @@ layout: default - - - -Documentation - - 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. - - - + + + + Documentation + + 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. + + + - - - -Project Structure -OpenWhisk is comprised of multiple repositories that can be found in Apache GitHub (using a name query by repository): -https://github.com/apache?q=openwhisk;>https://github.com/apache?q=openwhisk -For convenience, here is a listing of current Apache OpenWhisk project repositories (by category). -Note: OpenWhisk repositories follow a naming convention where all repo starts with incubator, for example, openwhisk-cli GitHub repository is named incubator-openwhisk-cli. - - -Platform -Primary source code repositories including platform code, run books, tests and more. - -https://github.com/apache/incubator-openwhisk; -title="Core OpenWhisk repository including controller, invoker, run books, and more."> -openwhisk - - - -https://github.com/apache/incubator-openwhisk-cli; -title="P
[incubator-openwhisk-wskdeploy] branch master updated: Upload PDF of 0.9.3 spec. (#1008)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 90d1701 Upload PDF of 0.9.3 spec. (#1008) 90d1701 is described below commit 90d170197d976914bd88819591c3ea6102b4a86a Author: Matt Rutkowski AuthorDate: Tue Nov 6 12:29:36 2018 -0600 Upload PDF of 0.9.3 spec. (#1008) * Upload PDF of 0.9.3 spec. * Upload PDF of 0.9.3 spec. --- specification/archive/openwhisk_v0.9.3.pdf | Bin 0 -> 1622377 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/specification/archive/openwhisk_v0.9.3.pdf b/specification/archive/openwhisk_v0.9.3.pdf new file mode 100644 index 000..117c87e Binary files /dev/null and b/specification/archive/openwhisk_v0.9.3.pdf differ
[incubator-openwhisk-wskdeploy] branch master updated: Add version number to the bump (#1001)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 5daa7b8 Add version number to the bump (#1001) 5daa7b8 is described below commit 5daa7b804c9f5b6d37f85764b4dc8b564e957952 Author: Justin Halsall AuthorDate: Mon Oct 29 19:32:53 2018 -0400 Add version number to the bump (#1001) --- docs/creating_tagged_releases.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/creating_tagged_releases.md b/docs/creating_tagged_releases.md index 77d2f5d..02d8649 100644 --- a/docs/creating_tagged_releases.md +++ b/docs/creating_tagged_releases.md @@ -55,5 +55,6 @@ Update brew formula with the automation command `brew bump-formula-pr`: $ brew bump-formula-pr \ --url='https://github.com/apache/incubator-openwhisk-wskdeploy/archive/X.Y.Z.tar.gz' \ --sha256='PASTE THE SHA256 CHECKSUM HERE' \ + --version='X.Y.Z' \ wskdeploy ```
[incubator-openwhisk-wskdeploy] branch master updated: Upgrade the Go version to 1.9 (#997)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 83e2152 Upgrade the Go version to 1.9 (#997) 83e2152 is described below commit 83e2152519d685b339c7f30f6eb18e721943218a Author: Vincent AuthorDate: Wed Oct 24 19:05:30 2018 -0400 Upgrade the Go version to 1.9 (#997) --- .travis.yml | 2 +- Dockerfile| 2 +- Godeps/Godeps.json| 2 +- runtimes/runtimes_test.go | 5 - 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 657c98e..ef5aadd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ sudo: required language: go go: -- 1.8 +- 1.9 services: - docker git: diff --git a/Dockerfile b/Dockerfile index 2c5123b..66ab8b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ # limitations under the License. # -FROM golang:1.8 +FROM golang:1.9 # Install zip RUN apt-get -y update && \ diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 3d9d7c0..72715ee 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,6 +1,6 @@ { "ImportPath": "github.com/apache/incubator-openwhisk-wskdeploy", - "GoVersion": "go1.7", + "GoVersion": "go1.9", "GodepVersion": "v62", "Deps": [ { diff --git a/runtimes/runtimes_test.go b/runtimes/runtimes_test.go index f966e11..322882c 100644 --- a/runtimes/runtimes_test.go +++ b/runtimes/runtimes_test.go @@ -26,10 +26,13 @@ func TestParseOpenWhisk(t *testing.T) { openwhiskHost := "https://openwhisk.ng.bluemix.net; openwhisk, err := ParseOpenWhisk(openwhiskHost) assert.Equal(t, nil, err, "parse openwhisk info error happened.") + println(openwhisk.Runtimes) converted := ConvertToMap(openwhisk) + println(converted["nodejs"]) + println(converted["python"]) assert.Equal(t, 2, len(converted["nodejs"]), "not expected length") assert.Equal(t, 2, len(converted["php"]), "not expected length") assert.Equal(t, 1, len(converted["java"]), "not expected length") - assert.Equal(t, 4, len(converted["python"]), "not expected length") + assert.Equal(t, 6, len(converted["python"]), "not expected length") assert.Equal(t, 2, len(converted["swift"]), "not expected length") }
[incubator-openwhisk-wskdeploy] annotated tag 0.9.9 updated (3092f1f -> 936a6a7)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to annotated tag 0.9.9 in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-wskdeploy.git. *** WARNING: tag 0.9.9 was modified! *** from 3092f1f (commit) to 936a6a7 (tag) tagging 3092f1f2d7d591cbdc953876dca0cfaccb75e493 (commit) replaces 0.9.8-incubating by Priti Desai on Thu Oct 18 11:07:10 2018 -0700 - Log - Adding support for include and exclude in Zip Actions --- No new revisions were added by this update. Summary of changes:
[incubator-openwhisk-wskdeploy] branch master updated: Introducing include and exclude in zip action (#991)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 3092f1f Introducing include and exclude in zip action (#991) 3092f1f is described below commit 3092f1f2d7d591cbdc953876dca0cfaccb75e493 Author: Priti Desai AuthorDate: Tue Oct 16 14:33:53 2018 -0700 Introducing include and exclude in zip action (#991) * adding include in yaml parser * wip include * wip * wip - dir level include * wip - dir level include * wip - dir level include * wip * wip * wip * wip * wip * wip * wip * wip * wip * include * deleting debugging statement * cleaning up * adding unit test * adding unit test * wip * refactoring * wip * wip * wip * wip * adding more unit tests * fixing unit test * fixing unit test * fixing unit test * adding exclude * fixing unit test * adding warning * adding exclude * refactoring exclude code * adding exclude test case * exclude integration test * cleaning up * adding wski18 strings --- parsers/manifest_parser.go | 2 +- parsers/yamlparser.go | 4 +- tests/dat/manifest_validate_inputs.yaml| 13 + .../zipactionwithexclude/actions/common/utils.js | 9 + .../zipactionwithexclude/actions/greeting/index.js | 21 ++ .../actions/greeting/package.json | 6 + .../zipactionwithexclude/actions/index.js | 21 ++ .../actions/libs/lib1/utils.js | 9 + .../actions/libs/lib2/utils.js | 9 + .../actions/libs/lib3/utils.js | 9 + .../zipactionwithexclude/actions/package.json | 6 + .../integration/zipactionwithexclude/manifest.yml | 18 + .../zipactionwithexclude_test.go | 40 +++ .../zipactionwithinclude/actions/common/utils.js | 9 + .../actions/greeting1/index.js | 21 ++ .../actions/greeting1/package.json | 6 + .../actions/greeting10/index.js| 23 ++ .../actions/greeting10/package.json| 6 + .../actions/greeting2/index.js | 23 ++ .../actions/greeting2/package.json | 6 + .../actions/greeting3/index.js | 22 ++ .../actions/greeting3/package.json | 6 + .../actions/greeting4/index.js | 21 ++ .../actions/greeting4/package.json | 6 + .../actions/greeting5/index.js | 21 ++ .../actions/greeting5/package.json | 6 + .../actions/greeting6/index.js | 21 ++ .../actions/greeting6/package.json | 6 + .../actions/greeting7/index.js | 23 ++ .../actions/greeting7/package.json | 6 + .../actions/greeting8/index.js | 23 ++ .../actions/greeting8/package.json | 6 + .../actions/greeting9/index.js | 23 ++ .../actions/greeting9/package.json | 6 + .../actions/libs/lib1/utils.js | 9 + .../actions/libs/lib2/utils.js | 9 + .../actions/libs/lib3/utils.js | 9 + .../zipactionwithinclude/deployment.yml| 28 ++ .../integration/zipactionwithinclude/manifest.yml | 63 .../zipactionwithinclude_test.go | 40 +++ utils/file.go | 152 + utils/file_test.go | 85 + utils/misc.go | 59 utils/misc_test.go | 2 +- utils/zip.go | 363 + wski18n/i18n_ids.go| 18 +- wski18n/i18n_resources.go | 56 ++-- wski18n/resources/en_US.all.json | 28 ++ 48 files changed, 1283 insertions(+), 95 deletions(-) diff --git a/parsers/manifest_parser.go b/parsers/manifest_parser.go index ff2124b..619cf91 100644 --- a/parsers/manifest_parser.go +++ b/parsers/manifest_parser.go @@ -649,7 +649,7 @@ func (dm *YAMLParser) readActionFunction(manifestFilePath string, manifestFileNa if utils.IsDirectory(actionFilePath) { zipFileName = actionFilePath + "." + runtimes.ZIP_FILE_EXTENSION - err := utils.NewZipWritter(actionFilePath, zipFileName).Zip() + err := utils.New
[incubator-openwhisk-utilities] branch master updated: Add helper scripts used to test mutiple github repos. (#52)
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-utilities.git The following commit(s) were added to refs/heads/master by this push: new b02a322 Add helper scripts used to test mutiple github repos. (#52) b02a322 is described below commit b02a322c0d5a8fdeadd68e1f78aa22db8b1e0b72 Author: Matt Rutkowski AuthorDate: Tue Oct 16 12:41:10 2018 -0500 Add helper scripts used to test mutiple github repos. (#52) --- scancode/utils/clone_all.sh| 31 scancode/utils/openwhisk-repos.txt | 49 ++ scancode/utils/release-repos.txt | 13 ++ scancode/utils/repo_clone.sh | 47 scancode/utils/scan_all.sh | 16 + scancode/utils/update_all.sh | 16 + 6 files changed, 172 insertions(+) diff --git a/scancode/utils/clone_all.sh b/scancode/utils/clone_all.sh new file mode 100755 index 000..cc75383 --- /dev/null +++ b/scancode/utils/clone_all.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + +USAGE=$"USAGE: clone_all \n" + +if [ $1 ] +then +if [ $2 ] +then +if [ $3 ] +then +while read fn; do +printf "cloning:" $fn +source ./repo_clone.sh $fn $2 $3 +done < $1 +else +printf "ERROR: Did not add Github fork name for UPSTREAM. Did not add REMOTE\n" +printf "$USAGE" +exit 3 +fi +else +printf "ERROR: Argument not present: GitHub Organization Name\n" +printf "$USAGE" +exit 2 +fi +else +echo "ERROR: Argument not present: Repository Text listing (.txt)\n" +printf "$USAGE" +exit 1 +fi diff --git a/scancode/utils/openwhisk-repos.txt b/scancode/utils/openwhisk-repos.txt new file mode 100644 index 000..3076ff5 --- /dev/null +++ b/scancode/utils/openwhisk-repos.txt @@ -0,0 +1,49 @@ +incubator-openwhisk +incubator-openwhisk-apigateway +incubator-openwhisk-catalog +incubator-openwhisk-cli +incubator-openwhisk-client-go +incubator-openwhisk-client-js +incubator-openwhisk-client-python +incubator-openwhisk-client-swift +incubator-openwhisk-composer +incubator-openwhisk-debugger +incubator-openwhisk-deploy-kube +incubator-openwhisk-deploy-mesos +incubator-openwhisk-deploy-openshift +incubator-openwhisk-devtools +incubator-openwhisk-external-resources +incubator-openwhisk-GitHubSlackBot +incubator-openwhisk-package-alarms +incubator-openwhisk-package-cloudant +incubator-openwhisk-package-deploy +incubator-openwhisk-package-jira +incubator-openwhisk-package-kafka +incubator-openwhisk-package-pushnotifications +incubator-openwhisk-package-rss +incubator-openwhisk-package-template +incubator-openwhisk-playground +incubator-openwhisk-podspecs +incubator-openwhisk-release +incubator-openwhisk-runtime-docker +incubator-openwhisk-runtime-ballerina +incubator-openwhisk-runtime-dotnet +incubator-openwhisk-runtime-go +incubator-openwhisk-runtime-java +incubator-openwhisk-runtime-nodejs +incubator-openwhisk-runtime-php +incubator-openwhisk-runtime-python +incubator-openwhisk-runtime-ruby +incubator-openwhisk-runtime-swift +incubator-openwhisk-sample-matos +incubator-openwhisk-sample-slackbot +incubator-openwhisk-selfserve-test +incubator-openwhisk-slackinvite +incubator-openwhisk-test +incubator-openwhisk-tutorial +incubator-openwhisk-utilities +incubator-openwhisk-vscode +incubator-openwhisk-website +incubator-openwhisk-workshop +incubator-openwhisk-wskdeploy +incubator-openwhisk-xcode diff --git a/scancode/utils/release-repos.txt b/scancode/utils/release-repos.txt new file mode 100644 index 000..19ffd20 --- /dev/null +++ b/scancode/utils/release-repos.txt @@ -0,0 +1,13 @@ +incubator-openwhisk +incubator-openwhisk-apigateway +incubator-openwhisk-catalog +incubator-openwhisk-cli +incubator-openwhisk-client-go +incubator-openwhisk-deploy-kube +incubator-openwhisk-runtime-docker +incubator-openwhisk-runtime-java +incubator-openwhisk-runtime-nodejs +incubator-openwhisk-runtime-php +incubator-openwhisk-runtime-python +incubator-openwhisk-runtime-swift +incubator-openwhisk-wskdeploy diff --git a/scancode/utils/repo_clone.sh b/scancode/utils/repo_clone.sh new file mode 100755 index 000..8cd8873 --- /dev/null +++ b/scancode/utils/repo_clone.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + +USAGE="repo_clone " + +if [ $1 ] +then +: # $1 was given +REPO=$1 + +if [ $2 ] +then +
[incubator-openwhisk-wskdeploy] branch master updated: Fix the failure for golint (#995)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 4ad4b9c Fix the failure for golint (#995) 4ad4b9c is described below commit 4ad4b9c6183f636fe50e8ac9d8a59cf99482fbcb Author: Vincent AuthorDate: Fri Oct 12 12:11:39 2018 -0400 Fix the failure for golint (#995) --- .travis.yml | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index dc9f932..657c98e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ before_install: - "./tools/travis/cloneutils.sh" install: - export DEPLOY_BUILD_READY=false -- go get -u github.com/golang/lint/golint +- go get -u golang.org/x/lint/golint - go get -u github.com/stretchr/testify - go get -u github.com/tools/godep before_script: diff --git a/build.gradle b/build.gradle index 740271a..bd194b9 100644 --- a/build.gradle +++ b/build.gradle @@ -220,7 +220,7 @@ if (rootProject.hasProperty('buildPlatforms')) { The get step is needed to be sure a golint binary is available to run. */ task getGoLint(type: com.github.blindpirate.gogradle.Go) { -go 'get -u github.com/golang/lint/golint' +go 'get -u golang.org/x/lint/golint' } task goLint(type: com.github.blindpirate.gogradle.Go, dependsOn: getGoLint) {
[incubator-openwhisk-wskdeploy] branch master updated: Update programming_guide.md (#990)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 0e807ac Update programming_guide.md (#990) 0e807ac is described below commit 0e807ac63158abb75e5db3789a2d8b90a3e20a74 Author: Abhishek Kulkarni AuthorDate: Tue Oct 2 11:50:47 2018 -0700 Update programming_guide.md (#990) Fix typo --- docs/programming_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/programming_guide.md b/docs/programming_guide.md index 0f1704e..35bf0ee 100644 --- a/docs/programming_guide.md +++ b/docs/programming_guide.md @@ -45,7 +45,7 @@ Each example shows the "code", that is the Package Manifest, Deployment file and - [Creating a minimal Package](wskdeploy_package_minimal.md#packages) - creating a basic package manifest and deploying it. - Action examples - [The "Hello World" Action](wskdeploy_action_helloworld.md#actions) - deploy a "hello world" JavaScript function using a manifest. - - [Setting your Function's runtime](wskdeploy_action_runtime.md#actions) - explicitly set the runtime language and version to deplly your action onto. + - [Setting your Function's runtime](wskdeploy_action_runtime.md#actions) - explicitly set the runtime language and version to deploy your action onto. - [Adding fixed input parameters](wskdeploy_action_fixed_parms.md#actions) - bind fixed values to the input parameters of "hello world". - [Typed Parameters](wskdeploy_action_typed_parms.md#actions) - declare named input and output parameters on an Action with their types. - [Advanced Parameters](wskdeploy_action_advanced_parms.md#actions) - input and output parameter declarations with types, descriptions, defaults and more.
[incubator-openwhisk-website] branch master updated: Fix the wrong version number for the runtime nodejs (#341)
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 1b29fc7 Fix the wrong version number for the runtime nodejs (#341) 1b29fc7 is described below commit 1b29fc7cfdae482ca23dd33796f982471a620008 Author: Vincent AuthorDate: Thu Sep 27 11:53:26 2018 -0400 Fix the wrong version number for the runtime nodejs (#341) This PR changes the version into 1.12.0. --- _layouts/downloads.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_layouts/downloads.html b/_layouts/downloads.html index 9bbcec2..01a9131 100644 --- a/_layouts/downloads.html +++ b/_layouts/downloads.html @@ -79,7 +79,7 @@ layout: default OpenWhisk Runtime Node.js https://www.apache.org/dyn/closer.lua?filename=incubator/openwhisk/apache-openwhisk-1.12.0-incubating/openwhisk-runtime-nodejs-0.9.0-incubating-sources.tar.gz=download;> + 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=download;> Source code
[incubator-openwhisk-website] branch master updated: Correct the version order (#340)
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 fc3895b Correct the version order (#340) fc3895b is described below commit fc3895bdd370b4082a18ca1a6d8e3d1a120d5fc9 Author: Vincent AuthorDate: Tue Sep 25 16:06:48 2018 -0400 Correct the version order (#340) --- _layouts/downloads.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_layouts/downloads.html b/_layouts/downloads.html index 0bd5393..9bbcec2 100644 --- a/_layouts/downloads.html +++ b/_layouts/downloads.html @@ -71,7 +71,7 @@ layout: default Versions The following release versions are available. Please click on the version name to see its downloadable components: -0.9.x-incubating (2018-07-17) +1.12.x-incubating (2018-09-25) @@ -210,7 +210,7 @@ layout: default -1.12.x-incubating (2018-09-25) +0.9.x-incubating (2018-07-17)
[incubator-openwhisk-wskdeploy] branch master updated: fixes #797 (#989)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 01dafd8 fixes #797 (#989) 01dafd8 is described below commit 01dafd8916d1bc36baa62625bfa9399afff3a830 Author: Kautilya Tripathi AuthorDate: Sat Sep 22 02:27:31 2018 +0530 fixes #797 (#989) --- wskenv/environment.go| 35 ++--- wskenv/environment_test.go | 3 ++- wski18n/i18n_ids.go | 3 +++ wski18n/i18n_ids_test.go | 3 ++- wski18n/i18n_resources.go| 56 wski18n/resources/en_US.all.json | 5 +++- 6 files changed, 65 insertions(+), 40 deletions(-) diff --git a/wskenv/environment.go b/wskenv/environment.go index 6677c1b..0b36892 100644 --- a/wskenv/environment.go +++ b/wskenv/environment.go @@ -21,7 +21,10 @@ import ( "os" "reflect" "strings" -) + /** Fixes #797 + "github.com/apache/incubator-openwhisk-wskdeploy/wski18n" + "github.com/apache/incubator-openwhisk-wskdeploy/wskprint" + **/) // Test if a string func isValidEnvironmentVar(value string) bool { @@ -72,10 +75,17 @@ func InterpolateStringWithEnvVar(key interface{}) interface{} { thisValue = os.Getenv(substr) // TODO(920) disabling the warning for now, since we want to get rid of it eventually // TODO(920) please add/remove this based on what we decide in issue #920 - //if thisValue == "" { - // TODO(797) i18n - //wskprint.PrintlnOpenWhiskWarning("Missing Environment Variable " + substr + ".") - //} + + /** Fixes #797 + if thisValue == "" { + warningString := wski18n.T( + wski18n.ID_WARN_MISSING_ENVIRONMENT_VARIABLE, + map[string]interface{}{ + wski18n.KEY_VALUE: keystr}) + wskprint.PrintOpenWhiskWarning(warningString) + } + **/ + keystr = strings.Replace(keystr, "$"+substr, thisValue, -1) //if the substr is a ${ENV_VAR} // return interpolated string using env. variable @@ -83,10 +93,17 @@ func InterpolateStringWithEnvVar(key interface{}) interface{} { thisValue = os.Getenv(substr) // TODO(920) disabling the warning for now, since we want to get rid of it eventually // TODO(920) please add/remove this based on what we decide in issue #920 - //if thisValue == "" { - // TODO(797) i18n - //wskprint.PrintlnOpenWhiskWarning("Missing Environment Variable " + substr + ".") - //} + + /** Fixes #797 + if thisValue == "" { + warningString := wski18n.T( + wski18n.ID_WARN_MISSING_ENVIRONMENT_VARIABLE, + map[string]interface{}{ + wski18n.KEY_VALUE: keystr}) + wskprint.PrintOpenWhiskWarning(warningString) + } + **/ + keystr = strings.Replace(keystr, "${"+substr+"}", thisValue, -1) } } diff --git a/wskenv/environment_test.go b/wskenv/environment_test.go index bf73cc2..6a069ed 100644 --- a/wskenv/environment_test.go +++ b/wskenv/environment_test.go @@ -19,9 +19,10 @@ package wskenv import ( "fmt" - "github.com/stretchr/testify/assert" "os" "testing" + + "github.com/stretchr/testify/as
[incubator-openwhisk-wskdeploy] branch master updated: update integration test (#987)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 7b1f473 update integration test (#987) 7b1f473 is described below commit 7b1f4739abf19a57e459c4bb2539977d55253785 Author: Priti Desai AuthorDate: Thu Sep 13 13:54:12 2018 -0700 update integration test (#987) --- .../07-manifest-with-dependency.yaml | 20 ++--- .../managed-deployment/managed-deployment_test.go | 33 +++--- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/tests/src/integration/managed-deployment/07-manifest-with-dependency.yaml b/tests/src/integration/managed-deployment/07-manifest-with-dependency.yaml index 2ee9ccd..af613f4 100644 --- a/tests/src/integration/managed-deployment/07-manifest-with-dependency.yaml +++ b/tests/src/integration/managed-deployment/07-manifest-with-dependency.yaml @@ -2,26 +2,24 @@ # license agreements; and to You under the Apache License, Version 2.0. project: -name: MyManagedProjectWithDependency +name: MyManagedProjectWithMultipleDependency packages: Extension2: dependencies: -helloworlds: -location: github.com/apache/incubator-openwhisk-test/packages/helloworlds -custom-hellowhisk: +hellowhisk-with-managed-project: location: github.com/apache/incubator-openwhisk-test/packages/hellowhisk -custom-helloworlds: +helloworlds-with-managed-project: location: github.com/apache/incubator-openwhisk-test/packages/helloworlds sequences: helloworld-sequence: - actions: custom-helloworlds/hello-js, custom-hellowhisk/greeting, helloworlds/hello-js + actions: helloworlds-with-managed-project/hello-js, hellowhisk-with-managed-project/greeting triggers: -trigger1: -trigger2: +trigger1InMultipleDep: +trigger2InMultipleDep: rules: rule1: -trigger: trigger1 +trigger: trigger1InMultipleDep action: helloworld-sequence rule2: -trigger: trigger2 -action: custom-helloworlds/helloworld-js +trigger: trigger2InMultipleDep +action: helloworlds-with-managed-project/helloworld-js diff --git a/tests/src/integration/managed-deployment/managed-deployment_test.go b/tests/src/integration/managed-deployment/managed-deployment_test.go index c228f98..a455e95 100644 --- a/tests/src/integration/managed-deployment/managed-deployment_test.go +++ b/tests/src/integration/managed-deployment/managed-deployment_test.go @@ -56,8 +56,13 @@ func TestManagedDeployment(t *testing.T) { _, err = wskdeploy.ManagedDeployment(manifestPath, deploymentPath) assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.") - manifestPath = os.Getenv("GOPATH") + PATH + "05-manifest-headless.yaml" - _, err = wskdeploy.HeadlessManagedDeployment(manifestPath, deploymentPath, "Headless Managed") +} + +func TestHeadlessManagedDeployment(t *testing.T) { + manifestPath := os.Getenv("GOPATH") + PATH + "05-manifest-headless.yaml" + deploymentPath := "" + wskdeploy := common.NewWskdeploy() + _, err := wskdeploy.HeadlessManagedDeployment(manifestPath, deploymentPath, "HeadlessManaged") assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.") _, err = wskdeploy.Undeploy(manifestPath, deploymentPath) assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.") @@ -72,16 +77,24 @@ func TestManagedDeploymentWithDependency(t *testing.T) { assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.") _, err = wskdeploy.Undeploy(manifestPath, deploymentPath) assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.") +} - manifestPath = os.Getenv("GOPATH") + PATH + "07-manifest-with-dependency.yaml" - _, err = wskdeploy.ManagedDeployment(manifestPath, deploymentPath) +func TestManagedDeploymentWithMultipleDependency(t *testing.T) { + manifestPath := os.Getenv("GOPATH") + PATH + "07-manifest-with-dependency.yaml" + deploymentPath := "" + wskdeploy := common.NewWskdeploy() + _, err := wskdeploy.ManagedDeployment(manifestPath, deploymen
[incubator-openwhisk-wskdeploy] branch master updated (79ddf4a -> cce1877)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-wskdeploy.git. from 79ddf4a skipping response data in case of http request was successful (#981) add cce1877 adding ruby runtime (#983) No new revisions were added by this update. Summary of changes: parsers/manifest_parser.go | 4 +- runtimes/runtimes.go | 45 ++-- runtimes/runtimes.json | 257 ++--- runtimes/runtimes_test.go | 2 +- .../integration/helloworld/actions/hello.rb} | 12 +- tests/src/integration/helloworld/manifest.yaml | 13 +- 6 files changed, 227 insertions(+), 106 deletions(-) copy tests/{dat/deployment_data_packages.yaml => src/integration/helloworld/actions/hello.rb} (54%)
[incubator-openwhisk-wskdeploy] branch master updated: skipping response data in case of http request was successful (#981)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 79ddf4a skipping response data in case of http request was successful (#981) 79ddf4a is described below commit 79ddf4afab63f7383e92157cf151bbe2dd398acd Author: Priti Desai AuthorDate: Thu Sep 13 12:00:25 2018 -0700 skipping response data in case of http request was successful (#981) --- wskderrors/wskdeployerror.go | 9 - wskderrors/wskdeployerror_test.go | 16 +++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/wskderrors/wskdeployerror.go b/wskderrors/wskdeployerror.go index 978d1d3..207b1ad 100644 --- a/wskderrors/wskdeployerror.go +++ b/wskderrors/wskdeployerror.go @@ -196,7 +196,14 @@ func NewWhiskClientError(errorMessage string, code int, response *http.Response) if response != nil { responseData, _ := ioutil.ReadAll(response.Body) err.SetMessageFormat("%s: %d: %s: %s: %s %s: %s") - str = fmt.Sprintf(err.MessageFormat, STR_ERROR_CODE, code, errorMessage, STR_HTTP_STATUS, response.Status, STR_HTTP_BODY, string(responseData)) + // do not add body in case of a success + // when response.Status is 200, response.Body contains the entire action source code + // we should not expose the action source when the HTTP request was successful + if strings.Contains(response.Status, "200 OK") { + str = fmt.Sprintf(err.MessageFormat, STR_ERROR_CODE, code, errorMessage, STR_HTTP_STATUS, response.Status, "", "") + } else { + str = fmt.Sprintf(err.MessageFormat, STR_ERROR_CODE, code, errorMessage, STR_HTTP_STATUS, response.Status, STR_HTTP_BODY, string(responseData)) + } } err.SetMessage(str) return err diff --git a/wskderrors/wskdeployerror_test.go b/wskderrors/wskdeployerror_test.go index 57b8d74..44f7a8d 100644 --- a/wskderrors/wskdeployerror_test.go +++ b/wskderrors/wskdeployerror_test.go @@ -38,7 +38,8 @@ func TestCustomErrorOutputFormat(t *testing.T) { packageName := filepath.Base(fn) const TEST_DEFAULT_ERROR_MESSAGE = "Some bad error" const TEST_COMMAND string = "test" - const TEST_ERROR_CODE = 400 // Bad request + const TEST_ERROR_CODE = 400 // Bad request + const TEST_SUCCESS_CODE = 200 // Good request const TEST_EXISTANT_MANIFEST_FILE = "tests/dat/manifest_validate_multiline_params.yaml" const TEST_NONEXISTANT_MANIFEST_FILE = "tests/dat/missing_manifest.yaml" const TEST_INVALID_YAML_MANIFEST_FILE = "tests/dat/manifest_bad_yaml_invalid_comment.yaml" @@ -76,6 +77,19 @@ func TestCustomErrorOutputFormat(t *testing.T) { assert.Equal(t, expectedResult, actualResult) /* +* WhiskClientError +*/ + err21 := NewWhiskClientError("", TEST_SUCCESS_CODE, nil) + actualResult = strings.TrimSpace(err21.Error()) + expectedResult = fmt.Sprintf("%s [%d]: [%s]: %s: %d:", + packageName, + err21.LineNum, + ERROR_WHISK_CLIENT_ERROR, + STR_ERROR_CODE, + TEST_SUCCESS_CODE) + assert.Equal(t, expectedResult, actualResult) + + /* * WhiskClientInvalidConfigError */ err3 := NewWhiskClientInvalidConfigError(TEST_DEFAULT_ERROR_MESSAGE)
[incubator-openwhisk-wskdeploy] branch master updated: adding recursive call to interpolate JSON (#980)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 785d887 adding recursive call to interpolate JSON (#980) 785d887 is described below commit 785d8871f313b033fa322de1d3a8fc56e0be6abd Author: Priti Desai AuthorDate: Thu Sep 13 11:36:08 2018 -0700 adding recursive call to interpolate JSON (#980) --- parsers/manifest_parser_test.go | 30 +++- parsers/parameters.go| 14 +--- tests/dat/manifest_validate_json_params.yaml | 31 + wski18n/i18n_resources.go| 34 ++-- 4 files changed, 88 insertions(+), 21 deletions(-) diff --git a/parsers/manifest_parser_test.go b/parsers/manifest_parser_test.go index ec7dc24..87bda54 100644 --- a/parsers/manifest_parser_test.go +++ b/parsers/manifest_parser_test.go @@ -1254,7 +1254,7 @@ func TestParseManifestForJSONParams(t *testing.T) { assert.Equal(t, expectedResult, actualResult, TEST_MSG_ACTION_FUNCTION_RUNTIME_MISMATCH) // validate the number of inputs to this action - expectedResult = strconv.FormatInt(8, 10) + expectedResult = strconv.FormatInt(15, 10) actualResult = strconv.FormatInt(int64(len(action.Inputs)), 10) assert.Equal(t, expectedResult, actualResult, TEST_MSG_PARAMETER_NUMBER_MISMATCH) @@ -1295,6 +1295,34 @@ func TestParseManifestForJSONParams(t *testing.T) { actualResult8 := param.Value.(map[interface{}]interface{}) expectedResult8 := map[interface{}]interface{}{"name": "$${USERNAME}", "password": "$${PASSWORD}"} assert.Equal(t, expectedResult8, actualResult8, fmt.Sprintf(TEST_MSG_ACTION_PARAMETER_VALUE_MISMATCH, input)) + case "member9": + actualResult9 := param.Value.(map[interface{}]interface{}) + expectedResult9 := map[interface{}]interface{}{"data": map[interface{}]interface{}{"name": "$USERNAME"}} + assert.Equal(t, expectedResult9, actualResult9, fmt.Sprintf(TEST_MSG_ACTION_PARAMETER_VALUE_MISMATCH, input)) + case "member10": + actualResult10 := param.Value.(map[interface{}]interface{}) + expectedResult10 := map[interface{}]interface{}{"data": map[interface{}]interface{}{"auth": map[interface{}]interface{}{"username": "$USERNAME", "password": "$PASSWORD"}}} + assert.Equal(t, expectedResult10, actualResult10, fmt.Sprintf(TEST_MSG_ACTION_PARAMETER_VALUE_MISMATCH, input)) + case "member11": + actualResult11 := param.Value.(map[interface{}]interface{}) + expectedResult11 := map[interface{}]interface{}{"data": map[interface{}]interface{}{"auth": map[interface{}]interface{}{"username": "$${USERNAME}", "password": "$${PASSWORD}"}}} + assert.Equal(t, expectedResult11, actualResult11, fmt.Sprintf(TEST_MSG_ACTION_PARAMETER_VALUE_MISMATCH, input)) + case "member12": + actualResult12 := param.Value.(map[interface{}]interface{}) + expectedResult12 := map[interface{}]interface{}{"name": "${USERNAME}", "password": "${PASSWORD}"} + assert.Equal(t, expectedResult12, actualResult12, fmt.Sprintf(TEST_MSG_ACTION_PARAMETER_VALUE_MISMATCH, input)) + case "member13": + actualResult13 := param.Value.(map[interface{}]interface{}) + expectedResult13 := map[interface{}]interface{}{"data": map[interface{}]interface{}{"name": "$USERNAME"}} + assert.Equal(t, expectedResult13, actualResult13, fmt.Sprintf(TEST_MSG_ACTION_PARAMETER_VALUE_MISMATCH, input)) + case "member14": + actualResult14 := param.Value.(map[interface{}]interface{}) + expectedResult14 := map[interface{}]interface{}{"data": map[interface{}]interface{}{"name": map[interface{}]interface{}{"username": "$USERNAME"}}} + assert.Equal(t,
[incubator-openwhisk-website] branch master updated: Add support for collapsible sections (#337)
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 ba44815 Add support for collapsible sections (#337) ba44815 is described below commit ba448156176bf24757116c0dbdae84d3580d224b Author: Matt Rutkowski AuthorDate: Tue Sep 11 19:52:24 2018 -0500 Add support for collapsible sections (#337) * Add support for collapsible sections * Add support for collapsible sections * Add support for collapsible sections --- _includes/index/index.js | 108 + _layouts/community.html| 4 +- _layouts/documentation.html| 48 ++--- _layouts/downloads.html| 15 ++-- _scss/_base.scss | 74 ++-- _scss/_variables.scss | 2 +- images/elements/circle-minus.png | Bin 0 -> 19863 bytes images/elements/circle-plus.png| Bin 0 -> 19937 bytes images/elements/expand-collapse-circle.psd | Bin 0 -> 26136 bytes 9 files changed, 182 insertions(+), 69 deletions(-) diff --git a/_includes/index/index.js b/_includes/index/index.js index 50f8535..41fdae7 100644 --- a/_includes/index/index.js +++ b/_includes/index/index.js @@ -1,42 +1,90 @@ function applyCollapsible() { + addListenersToIndex(); + addListenersToSections(); +} + +function addListenersToIndex() +{ + var coll = document.getElementsByClassName("index-menu-toggle"); + var i; -var coll = document.getElementsByClassName("collapsible-toggle"); -var i; + // Apply exapandable (arrows) to all menuitems with a sibling + for (i = 0; i < coll.length; i++) { +var sibling = coll[i].nextElementSibling; -// Apply exapandable (arrows) to all menuitems with a sibling -for (i = 0; i < coll.length; i++) { - var sibling = coll[i].nextElementSibling; +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 +sibling.style.padding = "0px 0px 0px 20px"; +} +// Set "click" event listener on all menuitems +coll[i].addEventListener("click", function() { + var sibling = this.nextElementSibling; + // toggle menu open/close states if(sibling!==null){ - coll[i].style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; - // (top right bottom left) - sibling.style.padding = "0px 0px 0px 20px"; +if (sibling.style.display === "block") { + this.style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; + sibling.style.display = "none"; +} else { + this.style.listStyleImage = "url('../images/elements/arrow-down-12px.png')"; + sibling.style.display = "block"; +} } - // Set "click" event listener on all menuitems - coll[i].addEventListener("click", function() { -var sibling = this.nextElementSibling; -// toggle menu open/close states -if(sibling!==null){ - if (sibling.style.display === "block") { -this.style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; -sibling.style.display = "none"; - } else { -this.style.listStyleImage = "url('../images/elements/arrow-down-12px.png')"; -sibling.style.display = "block"; - } -} +}); + } +} + +function addListenersToSections() +{ + var coll = document.getElementsByClassName("section-toggle"); + var i; + + // Apply exapandable (arrows) to all menuitems with a sibling + for (i = 0; i < coll.length; i++) { +var sibling = coll[i].nextElementSibling; - }); +if(sibling!==null){ + sibling.setAttribute('data-display', sibling.style.display); + if(coll[i].classList.contains("section-toggle-start-open")){ +coll[i].style.backgroundImage = "url('../images/elements/circle-minus.png')"; + } else { +coll[i].style.backgroundImage = "url('../images/elements/circle-plus.png')"; + } } -} -function openIndex() { - console.log("openIndex") - document.getElementById("index").style.display = "block"; -} -function closeIndex() { -console.log("closeIndex") - document.getElementById("index").style.display = "none"; +// Set "click" event listener on all menuit
[incubator-openwhisk-release] branch master updated: Add document update based on the parameter UPDATE_DOC for release (#237)
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-release.git The following commit(s) were added to refs/heads/master by this push: new 90fd82f Add document update based on the parameter UPDATE_DOC for release (#237) 90fd82f is described below commit 90fd82fb8d4ee038fe4b505849e39e91e5eaec64 Author: Vincent AuthorDate: Mon Sep 10 15:12:46 2018 -0400 Add document update based on the parameter UPDATE_DOC for release (#237) --- tools/move_stage_to_release.sh | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/move_stage_to_release.sh b/tools/move_stage_to_release.sh index abc2d3e..2e5278d 100755 --- a/tools/move_stage_to_release.sh +++ b/tools/move_stage_to_release.sh @@ -47,8 +47,10 @@ do cp ${REMOTE_PATH}/${repo_name}-${version}-sources.tar.gz* ${REMOTE_PATH_RELEASE}/ done -# Copy the documents into the release folder -cp -R ${REMOTE_PATH}/doc ${REMOTE_PATH_RELEASE}/ +if [ "$UPDATE_DOC" == "true" ] ; then +# Copy the documents into the release folder +cp -R ${REMOTE_PATH}/doc ${REMOTE_PATH_RELEASE}/ +fi cd $REMOTE_PATH_RELEASE svn add --force * $CREDENTIALS
[incubator-openwhisk-wskdeploy] branch master updated: Bug fix. Export shouldn't fail when ApiGW missing (#979)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new a3efa2c Bug fix. Export shouldn't fail when ApiGW missing (#979) a3efa2c is described below commit a3efa2c9d5e99c7d38322d4bca61a4a414c6ef88 Author: Pavel Kravchenko AuthorDate: Mon Sep 10 21:00:06 2018 +0300 Bug fix. Export shouldn't fail when ApiGW missing (#979) * Bug fix. Export shouldn't fail when ApiGW missing * reverting unneeded formatting --- cmd/export.go| 92 ++-- wski18n/i18n_ids.go | 1 + wski18n/i18n_resources.go| 22 +- wski18n/resources/en_US.all.json | 4 ++ 4 files changed, 66 insertions(+), 53 deletions(-) diff --git a/cmd/export.go b/cmd/export.go index a894906..886344e 100644 --- a/cmd/export.go +++ b/cmd/export.go @@ -30,6 +30,7 @@ import ( "github.com/apache/incubator-openwhisk-wskdeploy/runtimes" "github.com/apache/incubator-openwhisk-wskdeploy/utils" "github.com/apache/incubator-openwhisk-wskdeploy/wski18n" + "github.com/apache/incubator-openwhisk-wskdeploy/wskprint" "github.com/spf13/cobra" ) @@ -274,68 +275,75 @@ func exportProject(projectName string, targetManifest string) error { } - // List API request query parameters - apiListReqOptions := new(whisk.ApiListRequestOptions) - apiListReqOptions.SpaceGuid = strings.Split(client.Config.AuthToken, ":")[0] - apiListReqOptions.AccessToken = client.Config.ApigwAccessToken + // API Gateway is an optional component. Export APIs only when ApigwAccessToken is configured + if len(client.ApigwAccessToken) == 0 { + warningString := wski18n.T(wski18n.ID_MSG_CONFIG_MISSING_APIGW_ACCESS_TOKEN) + wskprint.PrintOpenWhiskWarning(warningString) + } else { - // Get list of APIs from OW - retApiList, _, err := client.Apis.List(apiListReqOptions) - if err != nil { - return err - } + // List API request query parameters + apiListReqOptions := new(whisk.ApiListRequestOptions) + apiListReqOptions.SpaceGuid = strings.Split(client.Config.AuthToken, ":")[0] + apiListReqOptions.AccessToken = client.Config.ApigwAccessToken + + // Get list of APIs from OW + retApiList, _, err := client.Apis.List(apiListReqOptions) + if err != nil { + return err + } - // iterate over the list of APIs to determine whether any of them part of the managed project - retApiArray := (*whisk.RetApiArray)(retApiList) - for _, api := range retApiArray.Apis { + // iterate over the list of APIs to determine whether any of them part of the managed project + retApiArray := (*whisk.RetApiArray)(retApiList) + for _, api := range retApiArray.Apis { - apiName := api.ApiValue.Swagger.Info.Title - apiBasePath := strings.TrimPrefix(api.ApiValue.Swagger.BasePath, "/") + apiName := api.ApiValue.Swagger.Info.Title + apiBasePath := strings.TrimPrefix(api.ApiValue.Swagger.BasePath, "/") - // run over api paths looking for one pointing to an action belonging to the given project - for path := range api.ApiValue.Swagger.Paths { - for op, opv := range api.ApiValue.Swagger.Paths[path].MakeOperationMap() { - if len(opv.XOpenWhisk.Package) > 0 { - pkgName := opv.XOpenWhisk.Package + // run over api paths looking for one pointing to an action belonging to the given project + for path := range api.ApiValue.Swagger.Paths { + for op, opv := range api.ApiValue.Swagger.Paths[path].MakeOperationMap() { + if len(opv.XOpenWhisk.Package) > 0 { + pkgName := opv.XOpenWhisk.Package - if pkg, ok := maniyaml.Packages[pkgName]; ok { - if pkg.Namespace == opv.XOpenWhisk.Namespace { + if pkg, ok := maniyaml.Packages[pkgName]; ok { + if pkg.Namespace == opv.XOpenWhisk.Namespace { - // now adding the api to the maniyaml - if pkg.Apis == nil {
[incubator-openwhisk-website] branch master updated: Fix index collapsible for all browsers. (#335)
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 37c30c7 Fix index collapsible for all browsers. (#335) 37c30c7 is described below commit 37c30c7b01f33c961964cab667f71a442846873f Author: Matt Rutkowski AuthorDate: Mon Sep 10 12:41:31 2018 -0500 Fix index collapsible for all browsers. (#335) --- _scss/_base.scss | 3 --- 1 file changed, 3 deletions(-) diff --git a/_scss/_base.scss b/_scss/_base.scss index aacc213..3718759 100644 --- a/_scss/_base.scss +++ b/_scss/_base.scss @@ -121,9 +121,6 @@ footer { a { display: inline-flex; position: relative; -left: 20px; -top: -16px; -width: 100%; height: 100%; max-width: 180px; }
[incubator-openwhisk-website] branch revert-327-fixlist deleted (was 6431e09)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to branch revert-327-fixlist in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git. was 6431e09 Revert "move arrow to the anchor and nest the lists (#327)" The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[incubator-openwhisk-website] branch master updated: FIx index to allow full width click-select of list items (#333)
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 19f25d9 FIx index to allow full width click-select of list items (#333) 19f25d9 is described below commit 19f25d9c606a454802528e2de91cb55b1b7a677b Author: Matt Rutkowski AuthorDate: Fri Sep 7 16:06:37 2018 -0500 FIx index to allow full width click-select of list items (#333) --- _includes/index/index.js | 14 ++ _scss/_base.scss | 33 + _scss/_skin.scss | 4 ++-- 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/_includes/index/index.js b/_includes/index/index.js index a85cf49..50f8535 100644 --- a/_includes/index/index.js +++ b/_includes/index/index.js @@ -17,7 +17,7 @@ function applyCollapsible() { // Set "click" event listener on all menuitems coll[i].addEventListener("click", function() { var sibling = this.nextElementSibling; -// alternate menu open/close states +// toggle menu open/close states if(sibling!==null){ if (sibling.style.display === "block") { this.style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; @@ -27,21 +27,11 @@ function applyCollapsible() { sibling.style.display = "block"; } } + }); } } -// If sizing of arrows becomes an issue, we can use background approach instead -// li -// { -// background: url(../images/arrow_icon.gif) no-repeat 4px 4px transparent; -// background-image: url("x.png"); -// list-style-type: none; -// margin: 0; -// padding: 2px; -// vertical-align: middle; -// } - function openIndex() { console.log("openIndex") document.getElementById("index").style.display = "block"; diff --git a/_scss/_base.scss b/_scss/_base.scss index b7cabbb..aacc213 100644 --- a/_scss/_base.scss +++ b/_scss/_base.scss @@ -95,6 +95,39 @@ footer { width: $index-menu-width; border: $index-border; z-index: 6888; + +ul{ + display: flex-direction; +} + +li:not(.collapsible-toggle) { + a { +display: inline-flex; +width: 100%; +height: 100%; +padding-right: auto; + } +} + +li.collapsible-toggle { + + // TODO: try to render our own bullet/images so we can control layout + /** the image will be vertically aligned in the center **/ + //background: url(../img/bullet.png) left center no-repeat; + /** move the text to the right **/ + //padding-left: 20px; + + height: 24px; + a { +display: inline-flex; +position: relative; +left: 20px; +top: -16px; +width: 100%; +height: 100%; +max-width: 180px; + } +} } #whiskNodes { diff --git a/_scss/_skin.scss b/_scss/_skin.scss index 9925382..1d010ab 100644 --- a/_scss/_skin.scss +++ b/_scss/_skin.scss @@ -9,8 +9,8 @@ body { } h1, h2, h3, h4, h5, h6 { -font-weight: $font-weight-bold; -margin: 0; + font-weight: $font-weight-bold; + margin: 0; } h1 {
[incubator-openwhisk-website] branch master updated: Add anchors to home page; fix documentation index (#332)
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 3af9f4e Add anchors to home page; fix documentation index (#332) 3af9f4e is described below commit 3af9f4e6b29839504e55a6db145816983ce1b63c Author: Matt Rutkowski AuthorDate: Fri Sep 7 12:27:09 2018 -0500 Add anchors to home page; fix documentation index (#332) * Remove block style from index * Add anchors to home page; fix documentation index * Add anchors to home page; fix documentation index --- _layouts/documentation.html | 76 - _layouts/home.html | 7 + _scss/_skin.scss| 34 +++- _scss/_variables.scss | 5 ++- 4 files changed, 71 insertions(+), 51 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 45e4404..236a084 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -16,6 +16,7 @@ layout: default Operators +OpenWhisk Architecture OpenWhisk Deployment Docker Compose @@ -35,9 +36,12 @@ layout: default Pre-requisites Using OpenWhisk -Installing wsk CLI -Configuring wsk CLI -Deployment Tool - wskdeploy +OpenWhisk CLI (wsk) + +Installing +Configuring + +Whisk Deploy (wskdeploy) OpenWhisk REST API OpenWhisk Clients @@ -161,7 +165,7 @@ layout: default Runtimes -OpenWhisk supports several languages and runtimes. +OpenWhisk supports several languages via Docker runtime containers. https://github.com/apache/incubator-openwhisk-runtime-nodejs; @@ -304,7 +308,7 @@ layout: default Packages -Several packages are registered with OpenWhisk under /whisk.system/. These are the list of packages: +Several common service integrations are made available as packages. By default they are registered in the OpenWHisk catalog, under the /whisk.system/ namespace, and include: https://github.com/apache/incubator-openwhisk-package-alarms; @@ -493,8 +497,8 @@ layout: default - -OpenWhisk Deployment + +OpenWhisk Architecture https://raw.githubusercontent.com/apache/incubator-openwhisk/master/docs/images/OpenWhisk_flow_of_processing.png; alt="OpenWhisk Architecture"/> The above diagram depicts the high-level architecture of OpenWhisk. From Nginx to Kafka to Docker, @@ -502,9 +506,10 @@ layout: default You can read about the list of OpenWhisk components and its internal flow of processing https://github.com/apache/incubator-openwhisk/blob/master/docs/about.md#the-internal-flow-of-processing;>here. + +OpenWhisk Deployment -OpenWhisk supports different installation methods for core OpenWhisk components. -You can choose one of the following deployment methods based on your platform: +OpenWhisk supports different installation methods for core OpenWhisk platform components. You can choose one of the following deployment methods based on your platform: Docker Compose @@ -586,7 +591,7 @@ $ make quick-start -Operators Resources +Operator Resources 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 https://thenewstack.io/behind-scenes-apache-openwhisk-serverless-platform/;>An Architectural View of Apache OpenWhisk @@ -640,9 +645,14 @@ $ make quick-start + +OpenWhisk CLI (wsk) + +OpenWhisk offers the wsk Command Line Interface (CLI) to easily create, run, and manage OpenWhisk entities. + -Install the wsk CLI +Installing Install the wsk with Homebrew (Mac Linux) To easily install the OpenWhisk
[incubator-openwhisk-website] branch master updated: Remove block style from index (#331)
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 e2f59de Remove block style from index (#331) e2f59de is described below commit e2f59deab9277b2d6c6fad1fc24ab89f9f2c06c3 Author: Matt Rutkowski AuthorDate: Wed Sep 5 14:36:41 2018 -0700 Remove block style from index (#331) --- _scss/_base.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_scss/_base.scss b/_scss/_base.scss index da2ac1a..b7cabbb 100644 --- a/_scss/_base.scss +++ b/_scss/_base.scss @@ -337,7 +337,7 @@ a.indexable { a { color: $color-index-fg; text-decoration: none; - display: block; + //display: block; } a:hover { // use different color on index-item hover
[incubator-openwhisk-website] branch master updated: Revert "move arrow to the anchor and nest the lists" (#330)
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 7e6f25e Revert "move arrow to the anchor and nest the lists" (#330) 7e6f25e is described below commit 7e6f25ed816635553eab692b849b86a8bfa05ef5 Author: Priti Desai AuthorDate: Wed Sep 5 14:30:32 2018 -0700 Revert "move arrow to the anchor and nest the lists" (#330) * Revert "Revert "Fix documentation typos and adjust layout (#328)" (#329)" This reverts commit 38d350b3d0cfe2cc5658b5b3dc0f42b9983c585f. * Revert "Fix documentation typos and adjust layout (#328)" This reverts commit 01ae665ec571f04cb2a5f3ed575c5252ee467856. * Revert "move arrow to the anchor and nest the lists (#327)" This reverts commit 7628f735ba77a43da0d7b44bb92f472a2ffc04a2. --- _includes/index/index.js| 59 ++- _layouts/community.html | 24 +++--- _layouts/documentation.html | 173 +++- _layouts/downloads.html | 18 ++--- _scss/_base.scss| 44 +-- _scss/_desktop.scss | 4 +- _scss/_tablet.scss | 4 +- 7 files changed, 160 insertions(+), 166 deletions(-) diff --git a/_includes/index/index.js b/_includes/index/index.js index 69543d1..a85cf49 100644 --- a/_includes/index/index.js +++ b/_includes/index/index.js @@ -1,29 +1,52 @@ + function applyCollapsible() { - var coll = document.getElementsByClassName("collapsible-toggle"); - var i; - for (i = 0; i < coll.length; i++) { -// Set "click" event listener on all menuitems -coll[i].querySelector("a").addEventListener("click", function() { - var parent = this.parentElement; - var sibling = this.nextElementSibling; - // alternate menu open/close states - if (sibling !== null) { -if (parent.classList.contains("collapsible-toggle-toggled")) { - parent.classList.remove("collapsible-toggle-toggled"); -} else { - parent.classList.add("collapsible-toggle-toggled"); -} +var coll = document.getElementsByClassName("collapsible-toggle"); +var i; + +// Apply exapandable (arrows) to all menuitems with a sibling +for (i = 0; i < coll.length; i++) { + var sibling = coll[i].nextElementSibling; + + if(sibling!==null){ + coll[i].style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; + // (top right bottom left) + sibling.style.padding = "0px 0px 0px 20px"; } -}); - } + + // Set "click" event listener on all menuitems + coll[i].addEventListener("click", function() { +var sibling = this.nextElementSibling; +// alternate menu open/close states +if(sibling!==null){ + if (sibling.style.display === "block") { +this.style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; +sibling.style.display = "none"; + } else { +this.style.listStyleImage = "url('../images/elements/arrow-down-12px.png')"; +sibling.style.display = "block"; + } +} + }); +} } +// If sizing of arrows becomes an issue, we can use background approach instead +// li +// { +// background: url(../images/arrow_icon.gif) no-repeat 4px 4px transparent; +// background-image: url("x.png"); +// list-style-type: none; +// margin: 0; +// padding: 2px; +// vertical-align: middle; +// } + function openIndex() { - console.log("openIndex"); + console.log("openIndex") document.getElementById("index").style.display = "block"; } function closeIndex() { - console.log("closeIndex"); +console.log("closeIndex") document.getElementById("index").style.display = "none"; } diff --git a/_layouts/community.html b/_layouts/community.html index 31f94c0..a6fb6ed 100644 --- a/_layouts/community.html +++ b/_layouts/community.html @@ -6,25 +6,23 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Community - - Media - -GitHub -Slack -Twitter -YouTube -Stack Overflow -Slideshare - - + Media + +GitHub +Slack +Twitter +YouTube +Stack Overflow +Slideshare + Mailing Lists diff --git a/
[incubator-openwhisk-website] branch revert-327-fixlist created (now 6431e09)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to branch revert-327-fixlist in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git. at 6431e09 Revert "move arrow to the anchor and nest the lists (#327)" This branch includes the following new commits: new d538d85 Revert "Revert "Fix documentation typos and adjust layout (#328)" (#329)" new 8d9b968 Revert "Fix documentation typos and adjust layout (#328)" new 6431e09 Revert "move arrow to the anchor and nest the lists (#327)" The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[incubator-openwhisk-website] 01/03: Revert "Revert "Fix documentation typos and adjust layout (#328)" (#329)"
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a commit to branch revert-327-fixlist in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git commit d538d858f8aed3e54dd7c39fd7a2cea0e04d2b60 Author: Priti Desai AuthorDate: Wed Sep 5 14:06:38 2018 -0700 Revert "Revert "Fix documentation typos and adjust layout (#328)" (#329)" This reverts commit 38d350b3d0cfe2cc5658b5b3dc0f42b9983c585f. --- _layouts/documentation.html | 189 _layouts/home.html | 7 ++ _scss/_skin.scss| 34 +++- _scss/_variables.scss | 5 +- package.json| 3 + 5 files changed, 112 insertions(+), 126 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index f208877..17d3d18 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,115 +6,95 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure - -Operators +Operators + +OpenWhisk Architecture +OpenWhisk Deployment -OpenWhisk Deployment - -Docker Compose -Kubernetes -Mesos -OpenShift -Ansible -Vagrant - - -Administrative Operations -Operators Resources +Docker Compose +Kubernetes +Mesos +OpenShift +Ansible +Vagrant - +Administrative Operations +Operators Resources + - -Developers +Developers + +Pre-requisites +Using OpenWhisk -Pre-requisites - -Using OpenWhisk - -Installing wsk CLI -Configuring wsk CLI -Deployment Tool - wskdeploy -OpenWhisk REST API -OpenWhisk Clients - - - -Actions - - -NodeJS - -Creating and Invoking Sample Action -NodeJS Runtime -Additional Resources - - - -Python - -Creating and Invoking Sample Action -Python Runtime -Additional Resources - - - - -Go - -Creating and Invoking Action -Go Runtime -Additional Resources - - - -Java - -Creating and Invoking Action -Java Runtime -Additional Resources - - - -PHP - -Creating and Invoking Action -PHP Runtime -Additional Resources - - - - - -Managing Actions with OpenWhisk Packages -Connecting Actions to Event Sources -Using OpenWhisk Enabled Services - -Sample OpenWhisk Applications -Tutorial And Workshop -Development Tools +
[incubator-openwhisk-website] 03/03: Revert "move arrow to the anchor and nest the lists (#327)"
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a commit to branch revert-327-fixlist in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git commit 6431e09d6581e7b901c850625e238a0a0fe724d4 Author: Priti Desai AuthorDate: Wed Sep 5 14:06:38 2018 -0700 Revert "move arrow to the anchor and nest the lists (#327)" This reverts commit 7628f735ba77a43da0d7b44bb92f472a2ffc04a2. --- _includes/index/index.js| 59 ++- _layouts/community.html | 24 +++--- _layouts/documentation.html | 173 +++- _layouts/downloads.html | 18 ++--- _scss/_base.scss| 44 +-- _scss/_desktop.scss | 4 +- _scss/_tablet.scss | 4 +- 7 files changed, 160 insertions(+), 166 deletions(-) diff --git a/_includes/index/index.js b/_includes/index/index.js index 69543d1..a85cf49 100644 --- a/_includes/index/index.js +++ b/_includes/index/index.js @@ -1,29 +1,52 @@ + function applyCollapsible() { - var coll = document.getElementsByClassName("collapsible-toggle"); - var i; - for (i = 0; i < coll.length; i++) { -// Set "click" event listener on all menuitems -coll[i].querySelector("a").addEventListener("click", function() { - var parent = this.parentElement; - var sibling = this.nextElementSibling; - // alternate menu open/close states - if (sibling !== null) { -if (parent.classList.contains("collapsible-toggle-toggled")) { - parent.classList.remove("collapsible-toggle-toggled"); -} else { - parent.classList.add("collapsible-toggle-toggled"); -} +var coll = document.getElementsByClassName("collapsible-toggle"); +var i; + +// Apply exapandable (arrows) to all menuitems with a sibling +for (i = 0; i < coll.length; i++) { + var sibling = coll[i].nextElementSibling; + + if(sibling!==null){ + coll[i].style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; + // (top right bottom left) + sibling.style.padding = "0px 0px 0px 20px"; } -}); - } + + // Set "click" event listener on all menuitems + coll[i].addEventListener("click", function() { +var sibling = this.nextElementSibling; +// alternate menu open/close states +if(sibling!==null){ + if (sibling.style.display === "block") { +this.style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; +sibling.style.display = "none"; + } else { +this.style.listStyleImage = "url('../images/elements/arrow-down-12px.png')"; +sibling.style.display = "block"; + } +} + }); +} } +// If sizing of arrows becomes an issue, we can use background approach instead +// li +// { +// background: url(../images/arrow_icon.gif) no-repeat 4px 4px transparent; +// background-image: url("x.png"); +// list-style-type: none; +// margin: 0; +// padding: 2px; +// vertical-align: middle; +// } + function openIndex() { - console.log("openIndex"); + console.log("openIndex") document.getElementById("index").style.display = "block"; } function closeIndex() { - console.log("closeIndex"); +console.log("closeIndex") document.getElementById("index").style.display = "none"; } diff --git a/_layouts/community.html b/_layouts/community.html index 31f94c0..a6fb6ed 100644 --- a/_layouts/community.html +++ b/_layouts/community.html @@ -6,25 +6,23 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Community - - Media - -GitHub -Slack -Twitter -YouTube -Stack Overflow -Slideshare - - + Media + +GitHub +Slack +Twitter +YouTube +Stack Overflow +Slideshare + Mailing Lists diff --git a/_layouts/documentation.html b/_layouts/documentation.html index f208877..45e4404 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,115 +6,94 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure - -Operators +Operators + +OpenWhisk Deployment -
[incubator-openwhisk-website] 02/03: Revert "Fix documentation typos and adjust layout (#328)"
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a commit to branch revert-327-fixlist in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git commit 8d9b968a1e7164782d924e25207206e567b05440 Author: Priti Desai AuthorDate: Wed Sep 5 14:06:38 2018 -0700 Revert "Fix documentation typos and adjust layout (#328)" This reverts commit 01ae665ec571f04cb2a5f3ed575c5252ee467856. --- _layouts/documentation.html | 189 _layouts/home.html | 7 -- _scss/_skin.scss| 34 +--- _scss/_variables.scss | 5 +- package.json| 3 - 5 files changed, 126 insertions(+), 112 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 17d3d18..f208877 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,95 +6,115 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure -Operators - -OpenWhisk Architecture -OpenWhisk Deployment + +Operators -Docker Compose -Kubernetes -Mesos -OpenShift -Ansible -Vagrant +OpenWhisk Deployment + +Docker Compose +Kubernetes +Mesos +OpenShift +Ansible +Vagrant + + +Administrative Operations +Operators Resources -Administrative Operations -Operators Resources - + -Developers - -Pre-requisites -Using OpenWhisk + +Developers -Installing wsk CLI -OpenWhisk CLI (wsk) -Whisk Deploy (wskdeploy) -OpenWhisk REST API -OpenWhisk Clients (language) - -Actions - -NodeJS - -Creating and Invoking Sample Action -NodeJS Runtime -Additional Resources - -Python - -Creating and Invoking Sample Action -Python Runtime -Additional Resources - - -Go - -Creating and Invoking Action -Go Runtime -Additional Resources - -Java - -Creating and Invoking Action -Java Runtime -Additional Resources - -PHP - -Creating and Invoking Action -PHP Runtime -Additional Resources - - +Pre-requisites + +Using OpenWhisk + +Installing wsk CLI +Configuring wsk CLI +Deployment Tool - wskdeploy +OpenWhisk REST API +OpenWhisk Clients + + + +Actions + + +NodeJS + +Creating and Invoking Sample Action +NodeJS Runtime +Additional Resources + + + +Python + +Creating and Invoking Sample Action +Python Runtime +Additional Resources + + + + +
[incubator-openwhisk-website] branch master updated: Revert "Fix documentation typos and adjust layout (#328)" (#329)
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 38d350b Revert "Fix documentation typos and adjust layout (#328)" (#329) 38d350b is described below commit 38d350b3d0cfe2cc5658b5b3dc0f42b9983c585f Author: Priti Desai AuthorDate: Wed Sep 5 13:23:44 2018 -0700 Revert "Fix documentation typos and adjust layout (#328)" (#329) This reverts commit 01ae665ec571f04cb2a5f3ed575c5252ee467856. --- _layouts/documentation.html | 189 _layouts/home.html | 7 -- _scss/_skin.scss| 34 +--- _scss/_variables.scss | 5 +- package.json| 3 - 5 files changed, 126 insertions(+), 112 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 17d3d18..f208877 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,95 +6,115 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure -Operators - -OpenWhisk Architecture -OpenWhisk Deployment + +Operators -Docker Compose -Kubernetes -Mesos -OpenShift -Ansible -Vagrant +OpenWhisk Deployment + +Docker Compose +Kubernetes +Mesos +OpenShift +Ansible +Vagrant + + +Administrative Operations +Operators Resources -Administrative Operations -Operators Resources - + -Developers - -Pre-requisites -Using OpenWhisk + +Developers -Installing wsk CLI -OpenWhisk CLI (wsk) -Whisk Deploy (wskdeploy) -OpenWhisk REST API -OpenWhisk Clients (language) - -Actions - -NodeJS - -Creating and Invoking Sample Action -NodeJS Runtime -Additional Resources - -Python - -Creating and Invoking Sample Action -Python Runtime -Additional Resources - - -Go - -Creating and Invoking Action -Go Runtime -Additional Resources - -Java - -Creating and Invoking Action -Java Runtime -Additional Resources - -PHP - -Creating and Invoking Action -PHP Runtime -Additional Resources - - +Pre-requisites + +Using OpenWhisk + +Installing wsk CLI +Configuring wsk CLI +Deployment Tool - wskdeploy +OpenWhisk REST API +OpenWhisk Clients + + + +Actions + + +NodeJS + +Creating and Invoking Sample Action +NodeJS Runtime +Additional Resources + + + +Python + +Creating and Invoking Sample Action +Python Runtime +
[incubator-openwhisk-website] 01/01: Revert "Fix documentation typos and adjust layout (#328)"
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a commit to branch revert-328-docs1 in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git commit f337c0eee1be0b56635c0aab0f34534e25a63cbd Author: Priti Desai AuthorDate: Wed Sep 5 13:17:33 2018 -0700 Revert "Fix documentation typos and adjust layout (#328)" This reverts commit 01ae665ec571f04cb2a5f3ed575c5252ee467856. --- _layouts/documentation.html | 189 _layouts/home.html | 7 -- _scss/_skin.scss| 34 +--- _scss/_variables.scss | 5 +- package.json| 3 - 5 files changed, 126 insertions(+), 112 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 17d3d18..f208877 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,95 +6,115 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure -Operators - -OpenWhisk Architecture -OpenWhisk Deployment + +Operators -Docker Compose -Kubernetes -Mesos -OpenShift -Ansible -Vagrant +OpenWhisk Deployment + +Docker Compose +Kubernetes +Mesos +OpenShift +Ansible +Vagrant + + +Administrative Operations +Operators Resources -Administrative Operations -Operators Resources - + -Developers - -Pre-requisites -Using OpenWhisk + +Developers -Installing wsk CLI -OpenWhisk CLI (wsk) -Whisk Deploy (wskdeploy) -OpenWhisk REST API -OpenWhisk Clients (language) - -Actions - -NodeJS - -Creating and Invoking Sample Action -NodeJS Runtime -Additional Resources - -Python - -Creating and Invoking Sample Action -Python Runtime -Additional Resources - - -Go - -Creating and Invoking Action -Go Runtime -Additional Resources - -Java - -Creating and Invoking Action -Java Runtime -Additional Resources - -PHP - -Creating and Invoking Action -PHP Runtime -Additional Resources - - +Pre-requisites + +Using OpenWhisk + +Installing wsk CLI +Configuring wsk CLI +Deployment Tool - wskdeploy +OpenWhisk REST API +OpenWhisk Clients + + + +Actions + + +NodeJS + +Creating and Invoking Sample Action +NodeJS Runtime +Additional Resources + + + +Python + +Creating and Invoking Sample Action +Python Runtime +Additional Resources + + + + +
[incubator-openwhisk-website] branch revert-328-docs1 created (now f337c0e)
This is an automated email from the ASF dual-hosted git repository. pdesai pushed a change to branch revert-328-docs1 in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git. at f337c0e Revert "Fix documentation typos and adjust layout (#328)" This branch includes the following new commits: new f337c0e Revert "Fix documentation typos and adjust layout (#328)" The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[incubator-openwhisk-website] branch master updated: Fix documentation typos and adjust layout (#328)
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 01ae665 Fix documentation typos and adjust layout (#328) 01ae665 is described below commit 01ae665ec571f04cb2a5f3ed575c5252ee467856 Author: Matt Rutkowski AuthorDate: Wed Sep 5 13:05:56 2018 -0700 Fix documentation typos and adjust layout (#328) * Fix documentation typos and adjust layout * Fix documentation typos and adjust layout * Fix documentation typos and adjust layout * Fix documentation typos and adjust layout --- _layouts/documentation.html | 189 _layouts/home.html | 7 ++ _scss/_skin.scss| 34 +++- _scss/_variables.scss | 5 +- package.json| 3 + 5 files changed, 112 insertions(+), 126 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index f208877..17d3d18 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,115 +6,95 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure - -Operators +Operators + +OpenWhisk Architecture +OpenWhisk Deployment -OpenWhisk Deployment - -Docker Compose -Kubernetes -Mesos -OpenShift -Ansible -Vagrant - - -Administrative Operations -Operators Resources +Docker Compose +Kubernetes +Mesos +OpenShift +Ansible +Vagrant - +Administrative Operations +Operators Resources + - -Developers +Developers + +Pre-requisites +Using OpenWhisk -Pre-requisites - -Using OpenWhisk - -Installing wsk CLI -Configuring wsk CLI -Deployment Tool - wskdeploy -OpenWhisk REST API -OpenWhisk Clients - - - -Actions - - -NodeJS - -Creating and Invoking Sample Action -NodeJS Runtime -Additional Resources - - - -Python - -Creating and Invoking Sample Action -Python Runtime -Additional Resources - - - - -Go - -Creating and Invoking Action -Go Runtime -Additional Resources - - - -Java - -Creating and Invoking Action -Java Runtime -Additional Resources - - - -PHP - -Creating and Invoking Action -PHP Runtime -Additional Resources - - - - - -Managing Actions with OpenWhisk Packages -Connecting Actions to Event Sour
[incubator-openwhisk-website] branch master updated: move arrow to the anchor and nest the lists (#327)
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 7628f73 move arrow to the anchor and nest the lists (#327) 7628f73 is described below commit 7628f735ba77a43da0d7b44bb92f472a2ffc04a2 Author: Justin Halsall AuthorDate: Wed Sep 5 15:54:47 2018 -0400 move arrow to the anchor and nest the lists (#327) --- _includes/index/index.js| 59 +-- _layouts/community.html | 24 +++--- _layouts/documentation.html | 173 +--- _layouts/downloads.html | 18 +++-- _scss/_base.scss| 44 ++- _scss/_desktop.scss | 4 +- _scss/_tablet.scss | 4 +- 7 files changed, 166 insertions(+), 160 deletions(-) diff --git a/_includes/index/index.js b/_includes/index/index.js index a85cf49..69543d1 100644 --- a/_includes/index/index.js +++ b/_includes/index/index.js @@ -1,52 +1,29 @@ - function applyCollapsible() { + var coll = document.getElementsByClassName("collapsible-toggle"); + var i; -var coll = document.getElementsByClassName("collapsible-toggle"); -var i; - -// Apply exapandable (arrows) to all menuitems with a sibling -for (i = 0; i < coll.length; i++) { - var sibling = coll[i].nextElementSibling; - - if(sibling!==null){ - coll[i].style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; - // (top right bottom left) - sibling.style.padding = "0px 0px 0px 20px"; - } - - // Set "click" event listener on all menuitems - coll[i].addEventListener("click", function() { -var sibling = this.nextElementSibling; -// alternate menu open/close states -if(sibling!==null){ - if (sibling.style.display === "block") { -this.style.listStyleImage = "url('../images/elements/arrow-right-12px.png')"; -sibling.style.display = "none"; - } else { -this.style.listStyleImage = "url('../images/elements/arrow-down-12px.png')"; -sibling.style.display = "block"; - } + for (i = 0; i < coll.length; i++) { +// Set "click" event listener on all menuitems +coll[i].querySelector("a").addEventListener("click", function() { + var parent = this.parentElement; + var sibling = this.nextElementSibling; + // alternate menu open/close states + if (sibling !== null) { +if (parent.classList.contains("collapsible-toggle-toggled")) { + parent.classList.remove("collapsible-toggle-toggled"); +} else { + parent.classList.add("collapsible-toggle-toggled"); } - }); -} + } +}); + } } -// If sizing of arrows becomes an issue, we can use background approach instead -// li -// { -// background: url(../images/arrow_icon.gif) no-repeat 4px 4px transparent; -// background-image: url("x.png"); -// list-style-type: none; -// margin: 0; -// padding: 2px; -// vertical-align: middle; -// } - function openIndex() { - console.log("openIndex") + console.log("openIndex"); document.getElementById("index").style.display = "block"; } function closeIndex() { -console.log("closeIndex") + console.log("closeIndex"); document.getElementById("index").style.display = "none"; } diff --git a/_layouts/community.html b/_layouts/community.html index a6fb6ed..31f94c0 100644 --- a/_layouts/community.html +++ b/_layouts/community.html @@ -6,23 +6,25 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Community - Media - -GitHub -Slack -Twitter -YouTube -Stack Overflow -Slideshare - + + Media + +GitHub +Slack +Twitter +YouTube +Stack Overflow +Slideshare + + Mailing Lists diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 45e4404..f208877 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -6,94 +6,115 @@ layout: default # license agreements; and to You under the Apache License, Version 2.0. --> - + - + Documentation Project Structure -Operators - -OpenWhisk Deployment + +Operators -
[incubator-openwhisk-website] branch master updated: Update the `wsk` installation instructions (#321)
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 7323a13 Update the `wsk` installation instructions (#321) 7323a13 is described below commit 7323a13662ec90b13a84cb4c1979f3f17ffc96c8 Author: Justin Halsall AuthorDate: Tue Sep 4 15:55:01 2018 -0400 Update the `wsk` installation instructions (#321) * space elements in header equally * set terminal to not trigger horizontal scrollbar on lower screen resolutions * update CLI install docs and prepare for brew * Add seperate section for Windows * add styling for h6 * add installation to naviation * uncomment brew docs * break up installtion and config instructions --- _layouts/documentation.html | 59 +++--- _scss/_desktop.scss | 4 +- _scss/_skin.scss| 116 +--- _scss/_tablet.scss | 1 - _scss/_variables.scss | 43 5 files changed, 142 insertions(+), 81 deletions(-) diff --git a/_layouts/documentation.html b/_layouts/documentation.html index 22607f7..45e4404 100644 --- a/_layouts/documentation.html +++ b/_layouts/documentation.html @@ -35,6 +35,7 @@ layout: default Pre-requisites Using OpenWhisk +Installing wsk CLI Configuring wsk CLI Deployment Tool - wskdeploy OpenWhisk REST API @@ -633,6 +634,53 @@ $ make quick-start https://github.com/apache/incubator-openwhisk/blob/master/ansible/files/auth.guest;>https://github.com/apache/incubator-openwhisk/blob/master/ansible/files/auth.guest. Also, use the 192.168.33.13 address as the whisk API host. + + + + + + + + +Install the wsk CLI + +Install the wsk with Homebrew (Mac Linux) +To easily install the OpenWhisk CLI (wsk) you can use https://brew.sh;>Homebrew for Mac or http://linuxbrew.sh;>Homebrew for Linux. + +{% highlight bash %} +$ brew update +$ brew install wsk +{% endhighlight %} + +Then you can invoke the OpenWhisk CLI by just typing wsk. +Install the wsk CLI from a tar.gz (Mac Linux): +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. + +The latest files can be found on the Releases page at GitHub: https://github.com/apache/incubator-openwhisk-cli/releases;>https://github.com/apache/incubator-openwhisk-cli/releases +Download the file for your platform and uncompress it. Inside it you will have a wsk executable. +To make it simpler to use, you can move the binary into your PATH: + + +{% highlight bash %}$ sudo mv [full path to downloaded wsk] /usr/local/bin/wsk{% endhighlight %} + + +Then you can invoke the OpenWhisk CLI by just typing wsk. + +Install the wsk CLI from a tar.gz (Windows): + +The latest files can be found on the Releases page at GitHub: https://github.com/apache/incubator-openwhisk-cli/releases;>https://github.com/apache/incubator-openwhisk-cli/releases +Download the file for your platform and uncompress it. Inside it you will have a wsk.exe executable. +To make it simpler to use, you should https://www.computerhope.com/issues/ch000549.htm;>add it to your PATH. + +Then you can invoke the OpenWhisk CLI by just typing wsk. + + + + + + + + Configure the wsk CLI @@ -640,11 +688,6 @@ $ make quick-start -Download the wsk CLI: -Download wsk binary for your local environment into a location in your shell path from -https://github.com/apache/incubator-openwhisk-cli/releases;>here. - - CLI Help: To get the CLI command help, execute the following command: @@ -756,7 +799,7 @@ $ wsk list https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#languages-and-runtimes;>Here is the list of runtimes supported by OpenWhisk: - + JavaScript - OpenWhisk runtime for Node.js v6 and v8 https://github.com/apache/incubator-openwhisk-runtime-docker/blob/
[incubator-openwhisk-website] branch master updated: allow anchor to take up full space of li (#326)
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 65ae33d allow anchor to take up full space of li (#326) 65ae33d is described below commit 65ae33dab7f4367e0173df7148b9dfea21ddbac9 Author: Justin Halsall AuthorDate: Tue Sep 4 13:38:44 2018 -0400 allow anchor to take up full space of li (#326) --- _scss/_base.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/_scss/_base.scss b/_scss/_base.scss index 501d50d..da2ac1a 100644 --- a/_scss/_base.scss +++ b/_scss/_base.scss @@ -337,6 +337,7 @@ a.indexable { a { color: $color-index-fg; text-decoration: none; + display: block; } a:hover { // use different color on index-item hover
[incubator-openwhisk-wskdeploy] branch master updated: #975 Added HTTP response documentation (#976)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new e9b75ef #975 Added HTTP response documentation (#976) e9b75ef is described below commit e9b75efb177ed54020fc985ac8ea354d82baaffb Author: Bruno Girin AuthorDate: Fri Aug 31 20:14:29 2018 +0100 #975 Added HTTP response documentation (#976) * #975 Added documentation showing simple HTTP response example. * Changed the payload from message to greeting for consistency with other examples * Added missing license headers * Fixed typo in Js example and added link to new page in programming guide * Fixed indentation * Added page on sequences and HTTP response; fixed location of previous manifest --- .../manifest_hello_world_apigateway_http.yaml | 26 +++ ...nifest_hello_world_apigateway_http_sequence.yml | 26 +++ docs/examples/src/hello_http.js| 29 +++ docs/examples/src/hello_http_promise.js| 28 +++ docs/examples/src/hello_http_validate.js | 22 +++ docs/examples/src/hello_http_wrap.js | 14 ++ docs/programming_guide.md | 2 + docs/wskdeploy_apigateway_http.md | 194 + docs/wskdeploy_apigateway_http_sequence.md | 175 +++ docs/wskdeploy_apigateway_sequence.md | 4 +- 10 files changed, 518 insertions(+), 2 deletions(-) diff --git a/docs/examples/manifest_hello_world_apigateway_http.yaml b/docs/examples/manifest_hello_world_apigateway_http.yaml new file mode 100644 index 000..7016ecc --- /dev/null +++ b/docs/examples/manifest_hello_world_apigateway_http.yaml @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + +# Example: Hello World action with API and HTTP response +packages: + hello_world_package: +version: 1.0 +license: Apache-2.0 +actions: + hello_world: +function: src/hello_http.js +web-export: true + hello_world_promise: +function: src/hello_http_promise.js +web-export: true +apis: + hello-world: +hello: + world: +hello_world: + method: GET + response: http + world2: +hello_world_promise: + method: GET + response: http diff --git a/docs/examples/manifest_hello_world_apigateway_http_sequence.yml b/docs/examples/manifest_hello_world_apigateway_http_sequence.yml new file mode 100644 index 000..94a2dec --- /dev/null +++ b/docs/examples/manifest_hello_world_apigateway_http_sequence.yml @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + +# Example: Hello World sequence with API and HTTP response +packages: + hello_world_package: +version: 1.0 +license: Apache-2.0 +actions: + hello_validate: +function: src/hello_http_validate.js + hello: +function: src/hello.js + hello_wrap: +function: src/hello_http_wrap.js +sequences: + hello_world: +actions: hello_validate, hello, hello_wrap +web: true +apis: + hello-world: +hello: + world: +hello_world: + method: GET + response: http diff --git a/docs/examples/src/hello_http.js b/docs/examples/src/hello_http.js new file mode 100644 index 000..ea547c7 --- /dev/null +++ b/docs/examples/src/hello_http.js @@ -0,0 +1,29 @@ +// Licensed to the Apache Software Foundation (ASF) under one or more contributor +// license agreements; and to You under the Apache License, Version 2.0. + +/* + * This action returns a greeting wrapped into a HTTP response that can be used + * by the API Gateway. It also checks for mandatory attributes and returns a + * HTTP error response when any attribute is missing. + */ +function main(params) { +if(params.name && params.place) { +return { +body: { +greeting: `Hello ${params.name} from ${params.place}!` +}, +statusCode: 200, +headers: {'Content-Type': 'application/json'} +}; +} else { +return { +error: { +body: { +message: 'Attributes name and place are mandatory' +}, +statusCode: 400, +headers: {'Content-Type': 'application/json'} +} +} +} +} diff --git a/docs/examples/src/hello_http_promise.js b/docs/examples/src/hello_http_promise.js new file mode 100644 index 000.
[incubator-openwhisk-wskdeploy] branch master updated: #956 Fixed apigateway docs and example manifests (#974)
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-wskdeploy.git The following commit(s) were added to refs/heads/master by this push: new 4aae200 #956 Fixed apigateway docs and example manifests (#974) 4aae200 is described below commit 4aae2005b565300f08601cbb366b1b05f9a923a3 Author: Bruno Girin AuthorDate: Fri Aug 31 20:05:07 2018 +0100 #956 Fixed apigateway docs and example manifests (#974) --- docs/examples/manifest_hello_world_apigateway.yaml | 3 ++- docs/examples/manifest_hello_world_apigateway_sequence.yml | 3 ++- docs/wskdeploy_apigateway_helloworld.md| 3 ++- docs/wskdeploy_apigateway_sequence.md | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/examples/manifest_hello_world_apigateway.yaml b/docs/examples/manifest_hello_world_apigateway.yaml index f5fb29b..eb8c65d 100644 --- a/docs/examples/manifest_hello_world_apigateway.yaml +++ b/docs/examples/manifest_hello_world_apigateway.yaml @@ -14,4 +14,5 @@ packages: hello-world: hello: world: -hello_world: GET +hello_world: + method: GET diff --git a/docs/examples/manifest_hello_world_apigateway_sequence.yml b/docs/examples/manifest_hello_world_apigateway_sequence.yml index bf28266..8a27a4b 100644 --- a/docs/examples/manifest_hello_world_apigateway_sequence.yml +++ b/docs/examples/manifest_hello_world_apigateway_sequence.yml @@ -19,4 +19,5 @@ packages: hello-world: hello: world: -hello_world: GET +hello_world: + method: GET diff --git a/docs/wskdeploy_apigateway_helloworld.md b/docs/wskdeploy_apigateway_helloworld.md index e2ea220..29dbab3 100644 --- a/docs/wskdeploy_apigateway_helloworld.md +++ b/docs/wskdeploy_apigateway_helloworld.md @@ -42,7 +42,8 @@ packages: hello-world: hello: world: -hello_world: GET +hello_world: + method: GET ``` There are two key changes to this file: diff --git a/docs/wskdeploy_apigateway_sequence.md b/docs/wskdeploy_apigateway_sequence.md index 898108d..8c03fe5 100644 --- a/docs/wskdeploy_apigateway_sequence.md +++ b/docs/wskdeploy_apigateway_sequence.md @@ -47,7 +47,8 @@ packages: hello-world: hello: world: -hello_world: GET +hello_world: + method: GET ``` There are two key changes to this file:
[incubator-openwhisk-release] branch master updated: Add Swift Runtime for 1.12.0 (#235)
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-release.git The following commit(s) were added to refs/heads/master by this push: new eae1206 Add Swift Runtime for 1.12.0 (#235) eae1206 is described below commit eae120698d405e004171480faefbf06b938ac0b7 Author: Vincent AuthorDate: Wed Aug 29 19:57:33 2018 -0400 Add Swift Runtime for 1.12.0 (#235) --- tools/config.json | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/config.json b/tools/config.json index 7e880de..042be8f 100644 --- a/tools/config.json +++ b/tools/config.json @@ -12,7 +12,8 @@ "openwhisk-runtime-java", "openwhisk-runtime-docker", "openwhisk-runtime-php", -"openwhisk-runtime-python" +"openwhisk-runtime-python", +"openwhisk-runtime-swift" ], "openwhisk_runtime_nodejs": { "hash": "fcd42de", @@ -38,5 +39,10 @@ "hash": "ae1f013", "repository": "https://github.com/apache/incubator-openwhisk-runtime-python.git;, "branch": "master" + }, + "openwhisk_runtime_swift": { +"hash": "2b9bad5", +"repository": "https://github.com/apache/incubator-openwhisk-runtime-swift.git;, +"branch": "master" } }