Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .env.dist
Original file line number Diff line number Diff line change
@@ -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.
#
# github user, used to derive the default local image names
GITHUB_USER=github: put here your github user

Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,15 @@ jobs:
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
task tag
task ci
echo "IMG_TAG=$(git describe --tags --abbrev=0)" >> "$GITHUB_ENV"
- name: Assign TAG from push
if: ${{ github.event_name == 'push' }}
run: echo "IMG_TAG=${{ github.ref_name }}" >> "$GITHUB_ENV"
- name: Set up JDK 11
uses: actions/setup-java@v6
with:
distribution: 'temurin'
java-version: '11'
- name: Assign TAG from push
run: echo "IMG_TAG=$(git describe --tags --abbrev=0)" >> "$GITHUB_ENV"
- name: Use ghcr.io repo
if: ${{ github.repository_owner != 'apache'}}
run: |
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ standalone/lib/
standalone/exe/
export/
results/
openwhisk-*/
/openwhisk/
/openwhisk-orig/
.env
.git-hooks/
.tag
Expand All @@ -39,3 +40,8 @@ playground.*
.DS_Store
standalone/dist/openwhisk*
standalone/dist/reports

# gradle wrapper jar is a binary - downloaded by "task gradle-wrapper"
openwhisk/gradle/wrapper/gradle-wrapper.jar

/.task/
54 changes: 31 additions & 23 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,32 +21,40 @@ header:
copyright-owner: Apache Software Foundation

paths-ignore:
- '**/.vscode/**'
- '.git-hooks/*'
- '**/LICENSE'
- '**/DISCLAIMER'
- '**/NOTICE'
- 'openwhisk/**'
- 'openwhisk-*/**'
- '**/*.patch'
- 'launch.json'
- 'go.sum'
- '**/auth.*'
- '_*'
- '.env.dist'
- '.tag'
- 'Chart.lock'
- '.helmignore'
- '.gitkeep'
- '**/*.md.gotmpl'
# - '**/.vscode/**'
# - '.git-hooks/*'
- '**/LICENSE*'
- '**/DISCLAIMER*'
- '**/NOTICE*'
- openwhisk/gradlew.bat
- openwhisk/gradlew
- 'openwhisk/tests/**'
- 'openwhisk/tools/**'
- 'openwhisk/ansible/**'
- 'openwhisk/.github/**'
- 'openwhisk/docs/**'
- 'openwhisk/docs/**'
- '**/*.json'
- '**/default.conf'
- '**/*.txt'
- '.gitmodules'

#- '**/*.patch'
#- 'launch.json'
#- 'go.sum'
#- '**/auth.*'
#- '_*'
#- '.env.dist'
#- '.tag'
#- 'Chart.lock'
#- '.helmignore'
#- '.gitkeep'
#- '**/*.md.gotmpl'
#- '**/*.json'
#- '**/default.conf'
#- '**/*.txt'
#- '.gitmodules'




dependency:
files:
- go.mod
- package.json
- package.json
1 change: 0 additions & 1 deletion DISCLAIMER
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness
or stability of the code, it does indicate that the project has yet to be
fully endorsed by the ASF.

16 changes: 0 additions & 16 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -200,19 +200,3 @@
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.


========================================================================
Apache License 2.0
========================================================================

This distribution bundles the following components, which are available under an Apache License 2.0 (https://opensource.org/licenses/Apache-2.0).
Spray Caching 1.3.4 (io.spray:spray-caching_2.11:1.3.4 - http://spray.io/documentation/1.2.4/spray-caching/)
ConcurrentMapBackedCache.scala under common/scala/src/main/scala/org/apache/openwhisk/core/database/ contains implementation
from Spray's [[spray.caching.Cache]] and [[spray.caching.SimpleLruCache]] respectively.
License included at licenses/LICENSE-spray.txt, or https://github.com/spray/spray/blob/master/LICENSE
Copyright (C) 2011-2015 the spray project <http://spray.io>

This product bundles the files gradlew and gradlew.bat from Gradle v5.5
which are distributed under the Apache License, Version 2.0.
For details see ./gradlew and ./gradlew.bat.
16 changes: 14 additions & 2 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
Apache OpenServerless (Incubating)
Copyright 2024 The Apache Software Foundation
Copyright 2024-2026 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
The Apache Software Foundation (https://www.apache.org/).

---

The files under openwhisk-patch/ are modified versions of files from
Apache OpenWhisk, which are overlaid on an upstream Apache OpenWhisk checkout
at build time.

Apache OpenWhisk
Copyright 2016-2026 The Apache Software Foundation

The Apache OpenWhisk code was originally created, designed and developed
(under an IBM copyright dated 2015-2016) and donated to The Apache Software
Foundation by the IBM Corporation (https://www.ibm.com/).
48 changes: 44 additions & 4 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ vars:
COMMON_IMAGE: openserverless-wsk-scala
ACT: "nothing"
S: ""
GRADLE_VERSION: 6.9.1
GRADLE_WRAPPER_JAR: openwhisk/gradle/wrapper/gradle-wrapper.jar
GRADLE_WRAPPER_URL: https://raw.githubusercontent.com/gradle/gradle/v6.9.1/gradle/wrapper/gradle-wrapper.jar
GRADLE_WRAPPER_SHA256: e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637
OPENWHISK_HASH: "a7ed8b5"

tasks:

Expand All @@ -83,14 +88,39 @@ tasks:

ensure-openwhisk:
silent: true
env:
HASH: "{{.OPENWHISK_HASH}}"
cmds:
- git clone https://github.com/apache/openwhisk
- git -C openwhisk checkout $HASH -b openserverless
- cd openwhisk-patch && tar cvf ../openwhisk-patch.tar *
- cd openwhisk && tar xvf ../openwhisk-patch.tar
status:
- test -d openwhisk

gradle-wrapper:
desc: |
Download the Gradle wrapper jar (not distributed in source form) and
verify its SHA-256 against the official Gradle {{.GRADLE_VERSION}} release.
silent: true
status:
- test -f "{{.GRADLE_WRAPPER_JAR}}"
- test "$(shasum -a 256 "{{.GRADLE_WRAPPER_JAR}}" | cut -d' ' -f1)" = "{{.GRADLE_WRAPPER_SHA256}}"
cmds:
- mkdir -p "$(dirname "{{.GRADLE_WRAPPER_JAR}}")"
- |
if ! test -d openwhisk/common/scala; then
echo "ERROR: openwhisk directory is missing or incomplete."
echo "This branch vendors openwhisk as a regular directory, not as a submodule."
echo "Refresh the build checkout and make sure the build-local branch includes openwhisk/common/scala."
echo "Downloading gradle-wrapper.jar {{.GRADLE_VERSION}}..."
curl -fsSL -o "{{.GRADLE_WRAPPER_JAR}}.tmp" "{{.GRADLE_WRAPPER_URL}}"
ACTUAL="$(shasum -a 256 "{{.GRADLE_WRAPPER_JAR}}.tmp" | cut -d' ' -f1)"
if test "$ACTUAL" != "{{.GRADLE_WRAPPER_SHA256}}"; then
rm -f "{{.GRADLE_WRAPPER_JAR}}.tmp"
echo "ERROR: checksum mismatch for gradle-wrapper.jar"
echo " expected: {{.GRADLE_WRAPPER_SHA256}}"
echo " actual: $ACTUAL"
exit 1
fi
mv "{{.GRADLE_WRAPPER_JAR}}.tmp" "{{.GRADLE_WRAPPER_JAR}}"
echo "OK: {{.GRADLE_WRAPPER_JAR}}"

# deprecated - use task tag
image-tag:
Expand Down Expand Up @@ -132,27 +162,35 @@ tasks:
- echo "standalone:" ${MY_STANDALONE_IMAGE:-{{.STANDALONE_IMAGE}}}:{{.TAG}}

compile:controller:
deps:
- gradle-wrapper
dir: openwhisk
cmds:
- ./gradlew :core:controller:distTar
status:
- test -f core/controller/build/distributions/controller.tar

compile:invoker:
deps:
- gradle-wrapper
dir: openwhisk
cmds:
- ./gradlew :core:invoker:distTar
status:
- test -f core/invoker/build/distributions/invoker.tar

compile:scheduler:
deps:
- gradle-wrapper
dir: openwhisk
cmds:
- ./gradlew :core:scheduler:distTar
status:
- test -f core/scheduler/build/distributions/scheduler.tar

compile:standalone:
deps:
- gradle-wrapper
dir: openwhisk
cmds:
- ./gradlew :core:standalone:build
Expand All @@ -163,6 +201,7 @@ tasks:

native:standalone-libs:
deps:
- gradle-wrapper
- compile:standalone
dir: openwhisk
cmds:
Expand Down Expand Up @@ -512,6 +551,7 @@ tasks:
distdocker:local:
deps:
- ensure-openwhisk
- gradle-wrapper
dir: openwhisk
cmds:
- ./gradlew distDocker -PdockerMultiArchBuild=true {{.DIST_DOCKER_REGISTRY_ARG}} -PdockerImagePrefix=openwhisk2 -PdockerImageTag={{.TAG}}
Expand Down
File renamed without changes.
24 changes: 24 additions & 0 deletions openwhisk-patch/common/scala/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# 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.
#
*
!transformEnvironment.sh
!copyJMXFiles.sh
!build/distributions
!LICENSE
!NOTICE
!DISCLAIMER
10 changes: 10 additions & 0 deletions openwhisk-patch/common/scala/DISCLAIMER
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Apache OpenServerless (Incubating) is an effort undergoing incubation at the Apache
Software Foundation (ASF), sponsored by the Apache Incubator PMC.

Incubation is required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects.

While incubation status is not necessarily a reflection of the completeness
or stability of the code, it does indicate that the project has yet to be
fully endorsed by the ASF.
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ aarch64="https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11
arch=$(arch) ; JDK=${!arch} ; curl -sL $JDK | tar xzvf - -C /usr/local ;\
ln -sf /usr/local/jdk-*/bin/java /usr/bin/java'

ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8

RUN mkdir /logs

Expand All @@ -40,3 +40,6 @@ RUN chmod +x transformEnvironment.sh

COPY copyJMXFiles.sh /
RUN chmod +x copyJMXFiles.sh

# Legal files for the convenience binary (inherited by all derived images)
COPY LICENSE NOTICE DISCLAIMER /
Loading
Loading