1
0
Fork 0
mirror of synced 2024-05-19 12:12:36 +12:00
appwrite/app/config/environments.php

138 lines
4.8 KiB
PHP
Raw Normal View History

2020-05-10 10:12:00 +12:00
<?php
2021-01-22 01:37:59 +13:00
2021-01-25 03:49:36 +13:00
use Utopia\App;
use Utopia\System\System;
2021-01-22 01:37:59 +13:00
2021-01-04 11:33:23 +13:00
/**
* List of Appwrite Cloud Functions supported environments
*/
2021-01-22 01:37:59 +13:00
$environments = [
2021-01-19 10:17:11 +13:00
'node-14.5' => [
2020-07-15 04:13:18 +12:00
'name' => 'Node.js',
2020-07-16 01:34:28 +12:00
'version' => '14.5',
2020-07-16 16:30:08 +12:00
'base' => 'node:14.5-alpine',
2020-12-08 20:26:57 +13:00
'image' => 'appwrite/env-node-14.5:1.0.0',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/node-14.5',
2020-05-10 10:12:00 +12:00
'logo' => 'node.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-05-10 10:12:00 +12:00
],
2021-01-19 11:09:42 +13:00
'node-15.5' => [
2021-01-19 10:17:11 +13:00
'name' => 'Node.js',
2021-01-19 11:09:42 +13:00
'version' => '15.5',
'base' => 'node:15.5-alpine',
'image' => 'appwrite/env-node-15.5:1.0.0',
'build' => '/usr/src/code/docker/environments/node-15.5',
2021-01-19 10:17:11 +13:00
'logo' => 'node.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2021-01-19 10:17:11 +13:00
],
2020-07-15 04:13:18 +12:00
'php-7.4' => [
'name' => 'PHP',
'version' => '7.4',
2020-07-16 16:30:08 +12:00
'base' => 'php:7.4-cli-alpine',
2020-12-08 20:26:57 +13:00
'image' => 'appwrite/env-php-7.4:1.0.0',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/php-7.4',
2020-12-08 20:26:57 +13:00
'logo' => 'php.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-12-08 20:26:57 +13:00
],
'php-8.0' => [
'name' => 'PHP',
'version' => '8.0',
'base' => 'php:8.0-cli-alpine',
'image' => 'appwrite/env-php-8.0:1.0.0',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/php-8.0',
2020-05-10 10:12:00 +12:00
'logo' => 'php.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-05-10 10:12:00 +12:00
],
2020-07-15 04:13:18 +12:00
'ruby-2.7' => [
'name' => 'Ruby',
'version' => '2.7',
2020-07-16 16:30:08 +12:00
'base' => 'ruby:2.7-alpine',
2020-12-12 08:40:51 +13:00
'image' => 'appwrite/env-ruby-2.7:1.0.2',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/ruby-2.7',
2020-05-10 10:12:00 +12:00
'logo' => 'ruby.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-05-10 10:12:00 +12:00
],
2021-01-19 18:27:00 +13:00
'ruby-3.0' => [
'name' => 'Ruby',
'version' => '3.0',
'base' => 'ruby:3.0-alpine',
'image' => 'appwrite/env-ruby-3.0:1.0.0',
'build' => '/usr/src/code/docker/environments/ruby-3.0',
'logo' => 'ruby.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2021-01-19 18:27:00 +13:00
],
2020-07-15 04:13:18 +12:00
'python-3.8' => [
'name' => 'Python',
'version' => '3.8',
2020-07-16 16:30:08 +12:00
'base' => 'python:3.8-alpine',
2020-12-08 20:26:57 +13:00
'image' => 'appwrite/env-python-3.8:1.0.0',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/python-3.8',
2020-05-10 10:12:00 +12:00
'logo' => 'python.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-05-10 10:12:00 +12:00
],
2020-07-20 02:43:59 +12:00
'deno-1.2' => [
'name' => 'Deno',
'version' => '1.2',
'base' => 'hayd/deno:alpine-1.2.0',
2020-12-08 20:26:57 +13:00
'image' => 'appwrite/env-deno-1.2:1.0.0',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/deno-1.2',
2020-12-08 20:26:57 +13:00
'logo' => 'deno.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-12-08 20:26:57 +13:00
],
'deno-1.5' => [
'name' => 'Deno',
'version' => '1.5',
'base' => 'hayd/deno:alpine-1.5.0',
'image' => 'appwrite/env-deno-1.5:1.0.0',
2021-01-02 12:48:10 +13:00
'build' => '/usr/src/code/docker/environments/deno-1.5',
2020-07-20 02:43:59 +12:00
'logo' => 'deno.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2020-07-20 02:43:59 +12:00
],
2021-01-19 10:05:33 +13:00
'deno-1.6' => [
'name' => 'Deno',
'version' => '1.6',
'base' => 'hayd/deno:alpine-1.6.0',
'image' => 'appwrite/env-deno-1.6:1.0.0',
'build' => '/usr/src/code/docker/environments/deno-1.6',
'logo' => 'deno.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86, System::PPC, System::ARM],
2021-01-19 10:05:33 +13:00
],
2021-01-24 20:51:09 +13:00
'dart-2.10' => [
2021-01-21 04:28:45 +13:00
'name' => 'Dart',
2021-01-24 20:51:09 +13:00
'version' => '2.10',
'base' => 'google/dart:2.10',
2021-01-24 21:19:04 +13:00
'image' => 'appwrite/env-dart-2.10:1.0.0',
2021-01-24 20:51:09 +13:00
'build' => '/usr/src/code/docker/environments/dart-2.10',
2021-01-21 04:28:45 +13:00
'logo' => 'dart.png',
2021-01-25 03:49:36 +13:00
'supports' => [System::X86],
2021-01-21 04:28:45 +13:00
],
2021-01-26 23:29:53 +13:00
'dotnet-3.1' => [
'name' => '.NET',
'version' => '3.1',
'base' => 'mcr.microsoft.com/dotnet/runtime:3.1-alpine',
'image' => 'appwrite/env-dotnet-3.1:1.0.0',
'build' => '/usr/src/code/docker/environments/dotnet-3.1',
'logo' => 'dotnet.png',
'supports' => [System::X86, System::ARM],
],
'dotnet-5.0' => [
'name' => '.NET',
'version' => '5.0',
'base' => 'mcr.microsoft.com/dotnet/runtime:5.0-alpine',
'image' => 'appwrite/env-dotnet-5.0:1.0.0',
'build' => '/usr/src/code/docker/environments/dotnet-5.0',
'logo' => 'dotnet.png',
'supports' => [System::X86, System::ARM],
],
2021-01-22 01:37:59 +13:00
];
2021-01-25 03:49:36 +13:00
$allowList = empty(App::getEnv('_APP_FUNCTIONS_ENVS', null)) ? false : \explode(',', App::getEnv('_APP_FUNCTIONS_ENVS', null));
$environments = array_filter($environments, function ($environment, $key) use ($allowList) {
$isAllowed = $allowList && in_array($key, $allowList);
$isSupported = in_array(System::getArchEnum(), $environment["supports"]);
2021-01-22 01:37:59 +13:00
2021-01-25 03:49:36 +13:00
return $allowList ? ($isAllowed && $isSupported) : $isSupported;
}, ARRAY_FILTER_USE_BOTH);
2021-01-22 01:37:59 +13:00
return $environments;