This is an automated email from the ASF dual-hosted git repository.
sciabarracom pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/openserverless-runtimes.git
The following commit(s) were added to refs/heads/main by this push:
new fcf25e0 update runtimes
fcf25e0 is described below
commit fcf25e0e88a0c333ca85794fb165ba00f88b9d36
Author: Trustable User <[email protected]>
AuthorDate: Sat May 9 23:57:24 2026 +0100
update runtimes
---
runtime/go/v1.20/Dockerfile | 3 +-
runtime/go/v1.21/Dockerfile | 3 +-
runtime/go/v1.22/Dockerfile | 3 +-
runtime/go/v1.22proxy/Dockerfile | 3 +-
runtime/php/v8.0/Dockerfile | 97 ---------------------
runtime/php/v8.0/compile.php | 115 -------------------------
runtime/php/v8.0/composer.json | 12 ---
runtime/php/v8.0/php.ini | 37 --------
runtime/php/v8.0/runner.php | 91 --------------------
runtime/php/v8.1/CHANGELOG.md | 42 ----------
runtime/php/v8.1/Dockerfile | 97 ---------------------
runtime/php/v8.1/build.gradle | 19 -----
runtime/php/v8.1/compile.php | 110 ------------------------
runtime/php/v8.1/composer.json | 13 ---
runtime/php/v8.1/php.ini | 37 --------
runtime/php/v8.1/runner.php | 92 --------------------
runtime/php/v8.2/composer.json | 2 +-
runtime/php/v8.3/composer.json | 2 +-
runtime/python/v3.10/Dockerfile | 55 ------------
runtime/python/v3.10/bin/compile | 141 -------------------------------
runtime/python/v3.10/lib/launcher.py | 73 ----------------
runtime/python/v3.10/requirements.txt | 29 -------
runtimes.json.tpl | 154 ++--------------------------------
23 files changed, 13 insertions(+), 1217 deletions(-)
diff --git a/runtime/go/v1.20/Dockerfile b/runtime/go/v1.20/Dockerfile
index c2ad2ba..3a57aaf 100644
--- a/runtime/go/v1.20/Dockerfile
+++ b/runtime/go/v1.20/Dockerfile
@@ -19,7 +19,7 @@ ARG COMMON=missing:missing
FROM ${COMMON} AS builder
FROM golang:1.20-bookworm
ENV OW_EXECUTION_ENV=apacheopenserverless/runtime-golang-v1.20
-COPY --from=builder /go/bin/proxy /bin/proxy
+COPY --from=builder /go/bin/proxy /bin/proxy
RUN \
echo 'debconf debconf/frontend select Noninteractive' |
debconf-set-selections &&\
@@ -37,7 +37,6 @@ RUN \
librdkafka++1 \
librdkafka-dev &&\
apt-get clean && rm -rf /var/lib/apt/lists/* &&\
- go install github.com/go-delve/delve/cmd/dlv@latest &&\
mkdir /action
ADD bin/compile /bin/compile
diff --git a/runtime/go/v1.21/Dockerfile b/runtime/go/v1.21/Dockerfile
index 9d9cae9..c21a548 100644
--- a/runtime/go/v1.21/Dockerfile
+++ b/runtime/go/v1.21/Dockerfile
@@ -20,7 +20,7 @@ ARG COMMON=missing:missing
FROM ${COMMON} AS builder
FROM golang:1.21-bookworm
ENV OW_EXECUTION_ENV=apacheopenserverless/runtime-golang-v1.21
-COPY --from=builder /go/bin/proxy /bin/proxy
+COPY --from=builder /go/bin/proxy /bin/proxy
RUN \
echo 'debconf debconf/frontend select Noninteractive' |
debconf-set-selections &&\
@@ -38,7 +38,6 @@ RUN \
librdkafka++1 \
librdkafka-dev &&\
apt-get clean && rm -rf /var/lib/apt/lists/* &&\
- go install github.com/go-delve/delve/cmd/dlv@latest &&\
mkdir /action
ADD bin/compile /bin/compile
diff --git a/runtime/go/v1.22/Dockerfile b/runtime/go/v1.22/Dockerfile
index 61b0f70..539eebf 100644
--- a/runtime/go/v1.22/Dockerfile
+++ b/runtime/go/v1.22/Dockerfile
@@ -20,7 +20,7 @@ ARG COMMON=missing:missing
FROM ${COMMON} AS builder
FROM golang:1.22-bookworm
ENV OW_EXECUTION_ENV=apacheopenserverless/runtime-golang-v1.22
-COPY --from=builder /go/bin/proxy /bin/proxy
+COPY --from=builder /go/bin/proxy /bin/proxy
RUN \
echo 'debconf debconf/frontend select Noninteractive' |
debconf-set-selections &&\
@@ -39,7 +39,6 @@ RUN \
librdkafka-dev &&\
# Cleanup apt data, we do not need them later on.
apt-get clean && rm -rf /var/lib/apt/lists/* &&\
- go install github.com/go-delve/delve/cmd/dlv@latest &&\
mkdir /action
ADD bin/compile /bin/compile
diff --git a/runtime/go/v1.22proxy/Dockerfile b/runtime/go/v1.22proxy/Dockerfile
index ed14842..bf29244 100644
--- a/runtime/go/v1.22proxy/Dockerfile
+++ b/runtime/go/v1.22proxy/Dockerfile
@@ -23,7 +23,7 @@ FROM apache/openserverless-runtime-common:common1.18.4 AS
builder
FROM golang:1.22-bookworm
ENV OW_EXECUTION_ENV=apacheopenserverless/runtime-golang-v1.22
-COPY --from=builder /go/bin/proxy /bin/proxy
+COPY --from=builder /go/bin/proxy /bin/proxy
RUN \
echo 'debconf debconf/frontend select Noninteractive' |
debconf-set-selections &&\
@@ -42,7 +42,6 @@ RUN \
librdkafka-dev &&\
# Cleanup apt data, we do not need them later on.
apt-get clean && rm -rf /var/lib/apt/lists/* &&\
- go install github.com/go-delve/delve/cmd/dlv@latest &&\
mkdir /action
ADD bin/compile /bin/compile
diff --git a/runtime/php/v8.0/Dockerfile b/runtime/php/v8.0/Dockerfile
deleted file mode 100644
index dc37d0b..0000000
--- a/runtime/php/v8.0/Dockerfile
+++ /dev/null
@@ -1,97 +0,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.
-#
-
-
-# rely on nuvolaris common runtime image
-ARG COMMON=missing:missing
-FROM ${COMMON} AS builder
-
-FROM php:8.0-cli-buster
-ADD --chmod=0755
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions
/usr/local/bin/
-
-# install PHP extensions
-RUN apt-get -y update \
- # Upgrade installed packages to get latest security fixes if the base
image does not contain them already.
- && apt-get upgrade -y --no-install-recommends \
- && apt-get -y install --no-install-recommends \
- unzip \
- libfreetype6 \
- libicu63 \
- libjpeg62-turbo \
- libpng16-16 \
- libssl1.1 \
- libxml2 \
- libzip4 \
- libpq5 \
- zip \
- libfreetype6-dev \
- libicu-dev \
- libjpeg-dev \
- libpng-dev \
- libssl-dev \
- libxml2-dev \
- libzip-dev \
- postgresql-server-dev-11 \
- \
- && install-php-extensions \
- bcmath \
- gd \
- intl \
- mysqli \
- mongodb \
- opcache \
- pgsql \
- pdo_mysql \
- pdo_pgsql \
- redis \
- soap \
- zip \
- \
- && apt-get purge -y --auto-remove $PHPIZE_DEPS \
- && apt-get purge -y --autoremove libfreetype6-dev \
- libjpeg-dev \
- libpng-dev \
- libssl-dev \
- libzip-dev \
- && apt-get purge -y --auto-remove libclang-common-7-dev clang-7 llvm-7
llvm-7-dev \
- && apt-get autoremove -y \
- && apt-get clean -y \
- && rm -rf /usr/src/php
-
-COPY php.ini /usr/local/etc/php
-
-# install composer
-RUN curl -s -f -L -o /tmp/installer.php https://getcomposer.org/installer \
- && php /tmp/installer.php --no-ansi --install-dir=/usr/bin
--filename=composer \
- && composer --ansi --version --no-interaction --no-plugins --no-scripts
-
-# install default Composer dependencies
-RUN mkdir -p /phpAction/composer
-COPY composer.json /phpAction/composer
-RUN cd /phpAction/composer && /usr/bin/composer install --no-plugins
--no-scripts --prefer-dist --no-dev -o && rm composer.lock
-
-# install proxy binary along with compile and launcher scripts
-RUN mkdir -p /phpAction/action
-WORKDIR /phpAction
-COPY --from=builder /go/bin/proxy /bin/proxy
-ADD compile.php /bin/compile.php
-ADD runner.php /bin/runner.php
-ENV OW_COMPILER=/bin/compile.php
-# using the runtime name to identify the execution environment
-ENV OW_EXECUTION_ENV=apacheopenserverless/action-php-v8.0
-
-ENTRYPOINT [ "/bin/proxy" ]
diff --git a/runtime/php/v8.0/compile.php b/runtime/php/v8.0/compile.php
deleted file mode 100755
index d598508..0000000
--- a/runtime/php/v8.0/compile.php
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env php
-<?php
-/*
- * 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.
- */
-
-/**
- * compile
- *
- * This file is launched by the action proxy.
- * It copies runner.php to right source directory and creates a bash exec
script
- * that the action proxy will call to start everything off
- */
-
-main($argc, $argv);
-exit;
-
-function main($argc, $argv)
-{
- if ($argc < 4) {
- print ("usage: <main-function-name> <source-dir> <target-dir>");
- exit(1);
- }
- $main = $argv[1];
- $src = realpath($argv[2]);
- $bin = realpath($argv[3]);
-
- $shim = $bin.'/exec';
-
- sources($src);
- build($shim, $src, $main);
-}
-
-function write_file(string $filename, mixed $content, bool $executable = false)
-{
- try {
- $dir = dirname($filename);
- if (!is_dir($dir)) {
- mkdir($dir, 0755, true);
- }
- } catch (\Exception $ex) {
- }
- file_put_contents($filename, $content);
- if ($executable) {
- chmod($filename, 0755);
- }
-}
-
-
-/**
- * Sort out the source code
- *
- * 1. Copy src/exec to src/index.php if necessary
- * 2. Ensure vendor directory exists
- */
-function sources(string $src)
-{
- // If the file uploaded by the user is a plain PHP file, then
- // the filename will be called exec by the action proxy.
- // Rename it to index.php
- if (file_exists($src . '/exec')) {
- rename($src . '/exec', $src . '/index.php');
- }
-
- if (file_exists($src . '/composer.json')) {
- // Run composer if exists locally composer.json
- exec("export HOME=$src; cd $src; composer install --no-progress
--no-dev -o -q");
- }
-
- // put vendor in the right place if it doesn't exist
- if (!is_dir($src . '/vendor')) {
- exec('cp -a /phpAction/composer/vendor ' . escapeshellarg($src .
'/vendor'));
- }
-}
-
-/**
- * Create bin/exec shim
- */
-function build(string $shim, string $src, string $main) : void
-{
- $shim_env_file = sprintf("%s.env", $shim);
- $contents = <<<EOT
-#!/bin/bash
-
-if [[ "\$__OW_EXECUTION_ENV" == "" || "\$(cat $shim_env_file)" ==
"\$__OW_EXECUTION_ENV" ]]
-then cd $src
- exec php -f /bin/runner.php -- "$main"
-else echo "Execution Environment Mismatch"
- echo "Expected: \$(cat $shim_env_file)"
- echo "Actual: \$__OW_EXECUTION_ENV"
- exit 1
-fi
-EOT;
-
- write_file($shim, $contents, true);
-
- $ow_exec_env = getenv('__OW_EXECUTION_ENV');
- if ($ow_exec_env!==false) {
- // write shim env file
- write_file($shim_env_file, $ow_exec_env);
- }
-}
\ No newline at end of file
diff --git a/runtime/php/v8.0/composer.json b/runtime/php/v8.0/composer.json
deleted file mode 100644
index 122249a..0000000
--- a/runtime/php/v8.0/composer.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "config": {
- "platform": {
- "php": "8.0"
- }
- },
- "require": {
- "guzzlehttp/guzzle": "7.2.0",
- "ramsey/uuid": "4.1.1",
- "aws/aws-sdk-php": "3.209.31 || 3.210.0"
- }
-}
diff --git a/runtime/php/v8.0/php.ini b/runtime/php/v8.0/php.ini
deleted file mode 100644
index bee173d..0000000
--- a/runtime/php/v8.0/php.ini
+++ /dev/null
@@ -1,37 +0,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.
-
-[PHP]
-short_open_tag = Off
-output_buffering = Off
-expose_php = Off
-max_execution_time = 0
-memory_limit = -1
-error_reporting = E_ALL
-display_errors = Off
-log_errors = On
-log_errors_max_len = 0
-html_errors = Off
-variables_order = "EGPCS"
-request_order = "GP"
-post_max_size = 0
-enable_dl = Off
-zend.assertions = -1
-
-[opcache]
-opcache.enable=1
-opcache.enable_cli=1
-opcache.max_accelerated_files=7963
-opcache.validate_timestamps=0
diff --git a/runtime/php/v8.0/runner.php b/runtime/php/v8.0/runner.php
deleted file mode 100755
index 1fc569e..0000000
--- a/runtime/php/v8.0/runner.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-/*
- * 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.
- */
-
-// open fd/3 as that's where we send the result
-$fd3 = fopen('php://fd/3', 'wb');
-
-// Register a shutdown function so that we can fail gracefully when a fatal
error occurs
-register_shutdown_function(static function () use ($fd3) {
- $error = error_get_last();
- if ($error && in_array($error['type'], [E_ERROR, E_CORE_ERROR,
E_COMPILE_ERROR, E_USER_ERROR], true)) {
- file_put_contents('php://stderr', "An error occurred running the
action.\n");
- fwrite($fd3, "An error occurred running the action.\n");
- }
- fclose($fd3);
-});
-
-require 'vendor/autoload.php';
-require 'index.php';
-
-// retrieve main function
-$__functionName = $argv[1] ?? 'main';
-
-
-// read stdin
-while ($f = fgets(STDIN)) {
- // call the function
- $data = json_decode($f ?? '', true);
- if (!is_array($data)) {
- $data = [];
- }
-
- // convert all parameters other than value to environment variables
- foreach ($data as $key => $value) {
- if ($key !== 'value') {
- $envKeyName = '__OW_' . strtoupper($key);
- $_ENV[$envKeyName] = $value;
- putenv($envKeyName . '=' . $value);
- }
- }
-
- $values = $data['value'] ?? [];
- try {
- $result = $__functionName($values);
-
- // convert result to an array if we can
- if (is_object($result)) {
- if (method_exists($result, 'getArrayCopy')) {
- $result = $result->getArrayCopy();
- } elseif ($result instanceof stdClass) {
- $result = (array)$result;
- }
- } elseif ($result === null) {
- $result = [];
- }
-
- // process the result
- if (!is_array($result)) {
- file_put_contents('php://stderr', 'Result must be an array but has
type "'
- . gettype($result) . '": ' . $result);
- file_put_contents('php://stdout', 'The action did not return a
dictionary or array.');
- $result = (string)$result;
- } else {
- $result = json_encode((object)$result);
- }
- } catch (Throwable $e) {
- file_put_contents('php://stderr', (string)$e);
- $result = 'An error occurred running the action.';
- }
-
- // ensure that the sentinels will be on their own lines
- file_put_contents('php://stderr', "\n");
- file_put_contents('php://stdout', "\n");
-
- // cast result to an object for json_encode to ensure that an empty array
becomes "{}" & send to fd/3
- fwrite($fd3, $result . "\n");
-}
diff --git a/runtime/php/v8.1/CHANGELOG.md b/runtime/php/v8.1/CHANGELOG.md
deleted file mode 100644
index dfba315..0000000
--- a/runtime/php/v8.1/CHANGELOG.md
+++ /dev/null
@@ -1,42 +0,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.
-#
--->
-
-## Apache 1.19.0
- - No change
-
-## Apache 1.18.0
-Initial release
-
-- Added: PHP: 8.1.9
-- Added: PHP extensions in addition to the standard ones:
- - bcmath
- - curl
- - gd
- - intl
- - mbstring
- - mysqli
- - pdo_mysql
- - pdo_pgsql
- - pdo_sqlite
- - soap
- - zip
- - mongo
-- Added: Composer packages:
- - [guzzlehttp/guzzle](https://packagist.org/packages/guzzlehttp/guzzle):
7.4.5
- - [ramsey/uuid](https://packagist.org/packages/ramsey/uuid): 4.4.0
diff --git a/runtime/php/v8.1/Dockerfile b/runtime/php/v8.1/Dockerfile
deleted file mode 100644
index 0eed829..0000000
--- a/runtime/php/v8.1/Dockerfile
+++ /dev/null
@@ -1,97 +0,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.
-#
-
-# rely on nuvolaris common runtime image
-ARG COMMON=missing:missing
-FROM ${COMMON} AS builder
-
-FROM php:8.1-cli-bullseye
-ADD --chmod=0755
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions
/usr/local/bin/
-
-# install PHP extensions
-RUN apt-get -y update \
- # Upgrade installed packages to get latest security fixes if the base
image does not contain them already.
- && apt-get upgrade -y --no-install-recommends \
- && apt-get -y install --no-install-recommends \
- unzip \
- libfreetype6 \
- libicu67 \
- libjpeg62-turbo \
- libpng16-16 \
- libssl1.1 \
- libxml2 \
- libzip4 \
- libpq5 \
- zip \
- libfreetype6-dev \
- libicu-dev \
- libjpeg-dev \
- libpng-dev \
- libssl-dev \
- libxml2-dev \
- libzip-dev \
- postgresql-server-dev-13 \
- \
- && install-php-extensions \
- bcmath \
- gd \
- intl \
- mysqli \
- mongodb \
- opcache \
- pgsql \
- pdo_mysql \
- pdo_pgsql \
- redis \
- soap \
- zip \
- \
- && apt-get purge -y --auto-remove $PHPIZE_DEPS \
- && apt-get purge -y --auto-remove libfreetype6-dev \
- libicu-dev \
- libjpeg-dev \
- libpng-dev \
- libssl-dev \
- libxml2-dev \
- libzip-dev \
- postgresql-server-dev-13 \
- && apt-get autoremove -y \
- && apt-get clean -y \
- && rm -rf /usr/src/php
-
-COPY php.ini /usr/local/etc/php
-
-# install composer
-RUN curl -s -f -L -o /tmp/installer.php https://getcomposer.org/installer \
- && php /tmp/installer.php --no-ansi --install-dir=/usr/bin
--filename=composer \
- && composer --ansi --version --no-interaction --no-plugins --no-scripts
-
-# install default Composer dependencies
-RUN mkdir -p /phpAction/composer
-COPY composer.json /phpAction/composer
-RUN cd /phpAction/composer && /usr/bin/composer install --no-plugins
--no-scripts --prefer-dist --no-dev -o && rm composer.lock
-
-# install proxy binary along with compile and launcher scripts
-RUN mkdir -p /phpAction/action
-WORKDIR /phpAction
-COPY --from=builder /go/bin/proxy /bin/proxy
-ADD compile.php /bin/compile.php
-ADD runner.php /bin/runner.php
-ENV OW_COMPILER=/bin/compile.php
-ENV OW_EXECUTION_ENV=apacheopenserverless/action-php-v8.1
-
-ENTRYPOINT [ "/bin/proxy" ]
diff --git a/runtime/php/v8.1/build.gradle b/runtime/php/v8.1/build.gradle
deleted file mode 100644
index bbb6681..0000000
--- a/runtime/php/v8.1/build.gradle
+++ /dev/null
@@ -1,19 +0,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.
- */
-
-ext.dockerImageName = 'action-php-v8.1'
-apply from: '../../gradle/docker.gradle'
diff --git a/runtime/php/v8.1/compile.php b/runtime/php/v8.1/compile.php
deleted file mode 100755
index 2c274f2..0000000
--- a/runtime/php/v8.1/compile.php
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env php
-<?php
-/*
- * 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.
- */
-
-/**
- * compile
- *
- * This file is launched by the action proxy.
- * It copies runner.php to right source directory and creates a bash exec
script
- * that the action proxy will call to start everything off
- */
-
-main($argc, $argv);
-exit;
-
-function main($argc, $argv)
-{
- if ($argc < 4) {
- print ("usage: <main-function-name> <source-dir> <target-dir>");
- exit(1);
- }
- $main = $argv[1];
- $src = realpath($argv[2]);
- $bin = realpath($argv[3]);
-
- $shim = $bin.'/exec';
-
- sources($src);
- build($shim, $src, $main);
-}
-
-function write_file(string $filename, mixed $content, bool $executable = false)
-{
- try {
- $dir = dirname($filename);
- if (!is_dir($dir)) {
- mkdir($dir, 0755, true);
- }
- } catch (\Exception $ex) {
- }
- file_put_contents($filename, $content);
- if ($executable) {
- chmod($filename, 0755);
- }
-}
-
-
-/**
- * Sort out the source code
- *
- * 1. Copy src/exec to src/index.php if necessary
- * 2. Ensure vendor directory exists
- */
-function sources(string $src)
-{
- // If the file uploaded by the user is a plain PHP file, then
- // the filename will be called exec by the action proxy.
- // Rename it to index.php
- if (file_exists($src . '/exec')) {
- rename($src . '/exec', $src . '/index.php');
- }
-
- // put vendor in the right place if it doesn't exist
- if (!is_dir($src . '/vendor')) {
- exec('cp -a /phpAction/composer/vendor ' . escapeshellarg($src .
'/vendor'));
- }
-}
-
-/**
- * Create bin/exec shim
- */
-function build(string $shim, string $src, string $main) : void
-{
- $shim_env_file = sprintf("%s.env", $shim);
- $contents = <<<EOT
-#!/bin/bash
-
-if [[ "\$__OW_EXECUTION_ENV" == "" || "\$(cat $shim_env_file)" ==
"\$__OW_EXECUTION_ENV" ]]
-then cd $src
- exec php -f /bin/runner.php -- "$main"
-else echo "Execution Environment Mismatch"
- echo "Expected: \$(cat $shim_env_file)"
- echo "Actual: \$__OW_EXECUTION_ENV"
- exit 1
-fi
-EOT;
-
- write_file($shim, $contents, true);
-
- $ow_exec_env = getenv('__OW_EXECUTION_ENV');
- if ($ow_exec_env!==false) {
- // write shim env file
- write_file($shim_env_file, $ow_exec_env);
- }
-}
\ No newline at end of file
diff --git a/runtime/php/v8.1/composer.json b/runtime/php/v8.1/composer.json
deleted file mode 100644
index b38dea1..0000000
--- a/runtime/php/v8.1/composer.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "config": {
- "platform": {
- "php": "8.1"
- }
- },
- "require": {
- "guzzlehttp/guzzle": "7.4.5",
- "ramsey/uuid": "4.4.0",
- "openai-php/client": "v0.8.5",
- "aws/aws-sdk-php": "3.306.7"
- }
-}
diff --git a/runtime/php/v8.1/php.ini b/runtime/php/v8.1/php.ini
deleted file mode 100644
index bee173d..0000000
--- a/runtime/php/v8.1/php.ini
+++ /dev/null
@@ -1,37 +0,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.
-
-[PHP]
-short_open_tag = Off
-output_buffering = Off
-expose_php = Off
-max_execution_time = 0
-memory_limit = -1
-error_reporting = E_ALL
-display_errors = Off
-log_errors = On
-log_errors_max_len = 0
-html_errors = Off
-variables_order = "EGPCS"
-request_order = "GP"
-post_max_size = 0
-enable_dl = Off
-zend.assertions = -1
-
-[opcache]
-opcache.enable=1
-opcache.enable_cli=1
-opcache.max_accelerated_files=7963
-opcache.validate_timestamps=0
diff --git a/runtime/php/v8.1/runner.php b/runtime/php/v8.1/runner.php
deleted file mode 100755
index 3bfe34b..0000000
--- a/runtime/php/v8.1/runner.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/*
- * 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.
- */
-
-// open fd/3 as that's where we send the result
-$fd3 = fopen('php://fd/3', 'wb');
-
-// Register a shutdown function so that we can fail gracefully when a fatal
error occurs
-register_shutdown_function(static function () use ($fd3) {
- $error = error_get_last();
- if ($error && in_array($error['type'], [E_ERROR, E_CORE_ERROR,
E_COMPILE_ERROR, E_USER_ERROR], true)) {
- file_put_contents('php://stderr', "An error occurred running the
action.\n");
- fwrite($fd3, "An error occurred running the action.\n");
- }
- fclose($fd3);
-});
-
-require 'vendor/autoload.php';
-require 'index.php';
-
-// retrieve main function
-$__functionName = $argv[1] ?? 'main';
-
-
-// read stdin
-while ($f = fgets(STDIN)) {
- // call the function
- $data = json_decode($f ?? '', true);
- if (!is_array($data)) {
- $data = [];
- }
-
- // convert all parameters other than value to environment variables
- foreach ($data as $key => $value) {
- if ($key !== 'value') {
- $envKeyName = '__OW_' . strtoupper($key);
- $_ENV[$envKeyName] = $value;
- putenv($envKeyName . '=' . $value);
- }
- }
-
- $values = $data['value'] ?? [];
- try {
- $result = $__functionName($values);
-
- // convert result to an array if we can
- if (is_object($result)) {
- if (method_exists($result, 'getArrayCopy')) {
- $result = $result->getArrayCopy();
- } elseif ($result instanceof stdClass) {
- $result = (array)$result;
- }
- } elseif ($result === null) {
- $result = [];
- }
-
- // process the result
- if (!is_array($result)) {
- file_put_contents('php://stderr', 'Result must be an array but has
type "'
- . gettype($result) . '": ' . $result);
- file_put_contents('php://stdout', 'The action did not return a
dictionary or array.');
- $result = (string)$result;
- } else {
- // cast result to an object for json_encode to ensure that an
empty array becomes "{}
- $result = json_encode((object)$result);
- }
- } catch (Throwable $e) {
- file_put_contents('php://stderr', (string)$e);
- $result = 'An error occurred running the action.';
- }
-
- // ensure that the sentinels will be on their own lines
- file_put_contents('php://stderr', "\n");
- file_put_contents('php://stdout', "\n");
-
- // send result to fd/3
- fwrite($fd3, $result . "\n");
-}
diff --git a/runtime/php/v8.2/composer.json b/runtime/php/v8.2/composer.json
index ea6025a..417cbf2 100644
--- a/runtime/php/v8.2/composer.json
+++ b/runtime/php/v8.2/composer.json
@@ -8,6 +8,6 @@
"guzzlehttp/guzzle": "7.7.0",
"ramsey/uuid": "4.7.4",
"openai-php/client": "v0.8.5",
- "aws/aws-sdk-php": "3.306.7"
+ "aws/aws-sdk-php": "3.380.3"
}
}
diff --git a/runtime/php/v8.3/composer.json b/runtime/php/v8.3/composer.json
index e829c82..84e20ee 100644
--- a/runtime/php/v8.3/composer.json
+++ b/runtime/php/v8.3/composer.json
@@ -8,6 +8,6 @@
"guzzlehttp/guzzle": "7.8.1",
"ramsey/uuid": "4.7.5",
"openai-php/client": "v0.8.5",
- "aws/aws-sdk-php": "3.306.7"
+ "aws/aws-sdk-php": "3.380.3"
}
}
\ No newline at end of file
diff --git a/runtime/python/v3.10/Dockerfile b/runtime/python/v3.10/Dockerfile
deleted file mode 100644
index 55f9969..0000000
--- a/runtime/python/v3.10/Dockerfile
+++ /dev/null
@@ -1,55 +0,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.
-#
-
-ARG COMMON=missing:missing
-FROM ${COMMON} AS builder
-
-FROM python:3.10.13-bookworm
-ENV OW_EXECUTION_ENV=apacheopenserverless/runtmie-python-v3.10.13
-
-COPY --from=builder /go/bin/proxy /bin/proxy
-
-# install zip
-RUN apt-get update && apt-get install -y zip python3-lxml python3-psycopg2
xpdf \
- && rm -rf /var/lib/apt/lists/*
-
-# Install common modules for python
-COPY requirements.txt requirements.txt
-
-RUN pip3 install --upgrade pip six wheel virtualenv
-RUN pip3 install --no-cache-dir -r requirements.txt
-
-RUN mkdir -p /action
-WORKDIR /
-
-ADD bin/compile /bin/compile
-ADD lib/launcher.py /lib/launcher.py
-
-# log initialization errors
-ENV OW_LOG_INIT_ERROR=1
-# the launcher must wait for an ack
-ENV OW_WAIT_FOR_ACK=1
-# compiler script
-ENV OW_COMPILER=/bin/compile
-# home directory
-ENV HOME=/tmp
-
-WORKDIR /action
-RUN chown nobody:root /action ; chmod 0775 /action
-USER nobody
-
-ENTRYPOINT ["/bin/proxy"]
diff --git a/runtime/python/v3.10/bin/compile b/runtime/python/v3.10/bin/compile
deleted file mode 100755
index 052f2c4..0000000
--- a/runtime/python/v3.10/bin/compile
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/usr/bin/env python3
-"""Python Action Builder
-#
-# 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 __future__ import print_function
-import os, os.path, sys, ast, shutil, subprocess, traceback
-import importlib, virtualenv
-from os.path import abspath, exists, dirname
-
-# write a file creating intermediate directories
-def write_file(file, body, executable=False):
- try: os.makedirs(dirname(file), mode=0o755)
- except: pass
- with open(file, mode="wb") as f:
- f.write(body.encode("utf-8"))
- if executable:
- os.chmod(file, 0o755)
-
-# copy a file eventually replacing a substring
-def copy_replace(src, dst, match=None, replacement=""):
- with open(src, 'rb') as s:
- body = s.read()
- if match:
- body = body.decode("utf-8").replace(match, replacement)
- write_file(dst, body)
-
-# assemble sources
-def sources(launcher, main, src_dir):
- # move exec in the right place if exists
- src_file = "%s/exec" % src_dir
- if exists(src_file):
- os.rename(src_file, "%s/__main__.py" % src_dir)
- if exists("%s/__main__.py" % src_dir):
- os.rename("%s/__main__.py" % src_dir, "%s/main__.py" % src_dir)
-
- # write the boilerplate in a temp dir
- copy_replace(launcher, "%s/exec__.py" % src_dir,
- "from main__ import main as main",
- "from main__ import %s as main" % main )
-
-# build virtualenv if there is a requirements.txt
-def virtualenv(tgt_dir):
- # check virtualenv
- virtualenv_dir = abspath('%s/virtualenv' % tgt_dir)
- requirements_txt = abspath("%s/requirements.txt" % tgt_dir)
- if exists(requirements_txt):
- if not os.path.isdir(virtualenv_dir):
- cmd = "python -m virtualenv %s >/tmp/err 2>/tmp/err" %
virtualenv_dir
- if os.system(cmd) != 0:
- with open("/tmp/err", "r") as f:
- sys.stderr.write(f.read())
- else:
- cmd = ". %s/bin/activate && python -m pip install -r %s
>/tmp/err 2>/tmp/err" % (virtualenv_dir, requirements_txt)
- if os.system(cmd) != 0:
- with open("/tmp/err", "r") as f:
- sys.stderr.write(f.read())
- sys.stderr.flush()
-
-# compile sources
-def build(src_dir, tgt_dir):
- # in general, compile your program into an executable format
- # for scripting languages, move sources and create a launcher
- # move away the action dir and replace with the new
- shutil.rmtree(tgt_dir)
- shutil.move(src_dir, tgt_dir)
- tgt_file = "%s/exec" % tgt_dir
- write_file(tgt_file, """#!/bin/bash
-export PYTHONIOENCODING=UTF-8
-if [[ "$__OW_EXECUTION_ENV" == "" || "$(cat $0.env)" == "$__OW_EXECUTION_ENV"
]]
-then cd "$(dirname $0)"
- exec /usr/local/bin/python exec__.py "$@"
-else echo "Execution Environment Mismatch"
- echo "Expected: $(cat $0.env)"
- echo "Actual: $__OW_EXECUTION_ENV"
- exit 1
-fi
-""", True)
- if os.environ.get("__OW_EXECUTION_ENV"):
- write_file("%s.env"%tgt_file, os.environ['__OW_EXECUTION_ENV'])
- return tgt_file
-
-#check if a module exists
-def check(tgt_dir, module_name):
- # activate virtualenv if any
- path_to_virtualenv = abspath('%s/virtualenv' % tgt_dir)
- if os.path.isdir(path_to_virtualenv):
- activate_this_file = path_to_virtualenv + '/bin/activate_this.py'
- if not os.path.exists(activate_this_file):
- # check if this was packaged for windows
- activate_this_file = path_to_virtualenv +
'/Scripts/activate_this.py'
- if os.path.exists(activate_this_file):
- with open(activate_this_file) as f:
- code = compile(f.read(), activate_this_file, 'exec')
- exec(code, dict(__file__=activate_this_file))
- else:
- sys.stderr.write("Invalid virtualenv. Zip file does not include
'activate_this.py'.\n")
- # check module
- try:
- sys.path.append(tgt_dir)
- mod = importlib.util.find_spec(module_name)
- if mod:
- with open(mod.origin, "rb") as f:
- ast.parse(f.read().decode("utf-8"))
- else:
- sys.stderr.write("Zip file does not include %s\n" % module_name)
- except SyntaxError as er:
- sys.stderr.write(er.msg)
- except Exception as ex:
- sys.stderr.write(ex)
- sys.stderr.flush()
-
-if __name__ == '__main__':
- if len(sys.argv) < 4:
- sys.stdout.write("usage: <main-function> <source-dir> <target-dir>\n")
- sys.stdout.flush()
- sys.exit(1)
- launcher = "%s/lib/launcher.py" % dirname(dirname(sys.argv[0]))
- src_dir = abspath(sys.argv[2])
- tgt_dir = abspath(sys.argv[3])
- sources(launcher, sys.argv[1], src_dir)
- build(abspath(sys.argv[2]), tgt_dir)
- virtualenv(tgt_dir)
- check(tgt_dir, "main__")
- sys.stdout.flush()
- sys.stderr.flush()
diff --git a/runtime/python/v3.10/lib/launcher.py
b/runtime/python/v3.10/lib/launcher.py
deleted file mode 100755
index ccf0c68..0000000
--- a/runtime/python/v3.10/lib/launcher.py
+++ /dev/null
@@ -1,73 +0,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.
-#
-from __future__ import print_function
-from sys import stdin
-from sys import stdout
-from sys import stderr
-from os import fdopen
-import sys, os, json, traceback, warnings
-
-try:
- # if the directory 'virtualenv' is extracted out of a zip file
- path_to_virtualenv = os.path.abspath('./virtualenv')
- if os.path.isdir(path_to_virtualenv):
- # activate the virtualenv using activate_this.py contained in the
virtualenv
- activate_this_file = path_to_virtualenv + '/bin/activate_this.py'
- if not os.path.exists(activate_this_file): # try windows path
- activate_this_file = path_to_virtualenv + '/Scripts/activate_this.py'
- if os.path.exists(activate_this_file):
- with open(activate_this_file) as f:
- code = compile(f.read(), activate_this_file, 'exec')
- exec(code, dict(__file__=activate_this_file))
- else:
- sys.stderr.write("Invalid virtualenv. Zip file does not include
'activate_this.py'.\n")
- sys.exit(1)
-except Exception:
- traceback.print_exc(file=sys.stderr, limit=0)
- sys.exit(1)
-
-# now import the action as process input/output
-from main__ import main as main
-
-out = fdopen(3, "wb")
-if os.getenv("__OW_WAIT_FOR_ACK", "") != "":
- out.write(json.dumps({"ok": True}, ensure_ascii=False).encode('utf-8'))
- out.write(b'\n')
- out.flush()
-
-env = os.environ
-while True:
- line = stdin.readline()
- if not line: break
- args = json.loads(line)
- payload = {}
- for key in args:
- if key == "value":
- payload = args["value"]
- else:
- env["__OW_%s" % key.upper()]= args[key]
- res = {}
- try:
- res = main(payload)
- except Exception as ex:
- print(traceback.format_exc(), file=stderr)
- res = {"error": str(ex)}
- out.write(json.dumps(res, ensure_ascii=False).encode('utf-8'))
- out.write(b'\n')
- stdout.flush()
- stderr.flush()
- out.flush()
diff --git a/runtime/python/v3.10/requirements.txt
b/runtime/python/v3.10/requirements.txt
deleted file mode 100644
index 8a3d713..0000000
--- a/runtime/python/v3.10/requirements.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-# default packages available across all runtimes
-beautifulsoup4==4.10.0
-httplib2==0.19.1
-kafka_python==2.0.2
-python-dateutil==2.8.2
-requests==2.31.0
-scrapy==2.5.0
-simplejson==3.17.5
-twisted==21.7.0
-netifaces==0.11.0
-pyyaml==6.0
-redis==4.4.2
-boto3==1.28.25
-psycopg==3.1.10
-pymongo==4.4.1
-minio==7.1.16
-openai==1.7.1
-auth0-python==4.6.0
-langchain==0.1.0
-farm-haystack==1.23.0
-nltk==3.8.1
-langdetect==1.0.9
-ollama==0.1.9
-joblib==1.4.2
-lightgbm==4.5.0
-feedparser==6.0.11
-numpy==1.26.4
-scikit-learn==1.5.2
-bcrypt==4.2.1
diff --git a/runtimes.json.tpl b/runtimes.json.tpl
index 892ad43..3706112 100644
--- a/runtimes.json.tpl
+++ b/runtimes.json.tpl
@@ -26,7 +26,7 @@
"attached": {
"attachmentName": "codefile",
"attachmentType": "text/plain"
- },
+ },
"stemCells": [
{
"initialCount": 1,
@@ -40,7 +40,7 @@
}
}
]
- },
+ },
{
"kind": "nodejs:20",
"default": false,
@@ -68,7 +68,7 @@
"attachmentName": "codefile",
"attachmentType": "text/plain"
}
- }
+ }
],
"python": [
{
@@ -139,34 +139,6 @@
"attachmentName": "codefile",
"attachmentType": "text/plain"
}
- },
- {
- "kind": "python:3.11ca",
- "default": false,
- "image": {
- "prefix": "$OPS_RUNTIME_PREFIX",
- "name": "openserverless-runtime-python",
- "tag": "$OPS_RUNTIME_TAG_PYTHON_V3_11CA"
- },
- "deprecated": false,
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
- },
- {
- "kind": "python:310",
- "default": false,
- "image": {
- "prefix": "$OPS_RUNTIME_PREFIX",
- "name": "openserverless-runtime-python",
- "tag": "$OPS_RUNTIME_TAG_PYTHON_V3_10"
- },
- "deprecated": false,
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
}
],
"go": [
@@ -211,20 +183,6 @@
"name": "openserverless-runtime-go",
"tag": "$OPS_RUNTIME_TAG_GO_V1_20"
}
- },
- {
- "kind": "go:1.20mf",
- "default": false,
- "deprecated": false,
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- },
- "image": {
- "prefix": "ghcr.io/nuvolaris",
- "name": "go-nuvolaris-metaflow",
- "tag": "bc86ab6"
- }
},
{
"kind": "go:1.22proxy",
@@ -239,7 +197,7 @@
"name": "openserverless-runtime-go",
"tag": "$OPS_RUNTIME_TAG_GO_V1_22PROXY"
}
- }
+ }
],
"java": [
{
@@ -301,7 +259,7 @@
"attachmentType": "text/plain"
},
"requireMain": true
- }
+ }
],
"php": [
{
@@ -317,7 +275,7 @@
"attachmentName": "codefile",
"attachmentType": "text/plain"
}
- },
+ },
{
"kind": "php:8.2",
"default": false,
@@ -331,106 +289,8 @@
"attachmentName": "codefile",
"attachmentType": "text/plain"
}
- },
- {
- "kind": "php:8.1",
- "default": false,
- "deprecated": false,
- "image": {
- "prefix": "$OPS_RUNTIME_PREFIX",
- "name": "openserverless-runtime-php",
- "tag": "$OPS_RUNTIME_TAG_PHP_V8_1"
- },
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
- },
- {
- "kind": "php:8.0",
- "default": false,
- "deprecated": false,
- "image": {
- "prefix": "$OPS_RUNTIME_PREFIX",
- "name": "openserverless-runtime-php",
- "tag": "$OPS_RUNTIME_TAG_PHP_V8_0"
- },
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
- }
- ],
- "ruby": [
- {
- "kind": "ruby:2.5",
- "default": true,
- "deprecated": false,
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- },
- "image": {
- "prefix": "openwhisk",
- "name": "action-ruby-v2.5",
- "tag": "nightly"
- }
- }
- ],
- "dotnet": [
- {
- "kind": "dotnet:2.2",
- "default": true,
- "deprecated": false,
- "requireMain": true,
- "image": {
- "prefix": "openwhisk",
- "name": "action-dotnet-v2.2",
- "tag": "nightly"
- },
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
- },
- {
- "kind": "dotnet:3.1",
- "default": false,
- "deprecated": false,
- "requireMain": true,
- "image": {
- "prefix": "openwhisk",
- "name": "action-dotnet-v3.1",
- "tag": "nightly"
- },
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
- }
- ],
- "rust": [
- {
- "kind": "rust:1.34",
- "default": true,
- "image": {
- "prefix": "openwhisk",
- "name": "action-rust-v1.34",
- "tag": "nightly"
- },
- "deprecated": false,
- "attached": {
- "attachmentName": "codefile",
- "attachmentType": "text/plain"
- }
}
]
},
- "blackboxes": [
- {
- "prefix": "openwhisk",
- "name": "dockerskeleton",
- "tag": "nightly"
- }
- ]
+ "blackboxes": [ ]
}
\ No newline at end of file