Appwrite configuration for Cloud Function runtimes settings 🌩

Related tags

API appwrite
Overview

Appwrite Runtimes

Build Status Total Downloads Discord

Appwrite repository for Cloud Function runtimes that contains the configurations and tests for all of the Appwrite runtime environments. This library is maintained by the Appwrite team.

Getting Started

Install using composer:

composer require appwrite/php-runtimes
<?php

require_once '../vendor/autoload.php';

use Appwrite\Runtimes\Runtimes;

$runtimes = new Runtime();

// returns all supported cloud function runtimes
Runtimes::getAll();

Adding a new Runtime

1. Docker

The first thing to do is to create a Dockerfile under runtimes/.

Important features for a base image are small sizes (Alpine preferred), multi-architecture (x86, ARM, PPC) and active maintenance.

Example for a Dockerfile looks like this:

# Base image
FROM mcr.microsoft.com/dotnet/runtime:5.0-alpine
# Maintainer label
LABEL maintainer="[email protected]"
# Add tar (required for uncompressing functions)
RUN apk add tar
# Set working directory to /usr/local/src/
WORKDIR /usr/local/src/

After that the build command must be added to the build.sh script.

2. Add Runtime

After the Docker image is created, this must be added to the main class of this library.

References to this must be added to the constructor of src/Runtimes/Runtimes.php.

Example:

$dotnet = new Runtime('dotnet', '.NET');
$dotnet->addVersion('5.0', 'mcr.microsoft.com/dotnet/runtime:5.0-alpine', 'appwrite/env-dotnet-5.0:1.0.0', [System::X86, System::ARM]);
$runtimes[] = $dotnet;

3. Add Tests

First of all, a script for the runtime environment must be created. Plenty of examples can be found under tests/resources.

After that start options must be added to the setUp() method found in tests/Runtimes/RuntimesTest.php.

Authors

Torsten Dittmann

Copyright and license

BSD 3-Clause License https://opensource.org/licenses/BSD-3-Clause

Comments
  • Upgrade our issue templates to use GitHub issue forms ✍️

    Upgrade our issue templates to use GitHub issue forms ✍️

    Introduction

    GitHub has recently rolled out a public beta for their issue forms feature. This would allow you to create interactive issue templates and validate them 🤯.

    Appwrite currently uses the older issue template format. Your task is to create GitHub issue forms for this repository. Please use Appwrite's issue templates as a reference for this PR.

    Tasks summary:

    • [ ] Fork & clone this repository
    • [ ] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
    • [ ] Prepare documentation issue form in .github/ISSUE_TEMPLATE/documentation.yaml
    • [ ] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
    • [ ] Push changes to master and test issue forms on your fork
    • [ ] Submit pull request

    If you need any help, reach out to us on our Discord server.

    Are you ready to work on this issue? 🤔 Let us know, and we will assign it to you 😊

    Happy Appwriting!

    good first issue hacktoberfest 
    opened by Meldiron 6
  • Add issue template forms

    Add issue template forms

    Closes #18

    • [x] Fork & clone this repository
    • [x] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
    • [x] Prepare documentation issue form in .github/ISSUE_TEMPLATE/documentation.yaml
    • [x] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
    • [x] Push changes to master and test issue forms on your fork
    • [x] Submit pull request
    hacktoberfest-accepted 
    opened by Sven65 5
  • Update the runtimes

    Update the runtimes

    What does this PR do?

    • Updates to use the new runtimes

    Test Plan

    (Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

    Related PRs and Issues

    • https://github.com/open-runtimes/open-runtimes/pull/74

    Have you read the Contributing Guidelines on issues?

    YES

    opened by lohanidamodar 1
  • Functions Refactor Runtimes

    Functions Refactor Runtimes

    This PR contains all the new rewritten runtimes, tests and documentation for the new runtime style defined within the runtimes refactor RFC seen here: https://github.com/appwrite/rfc/pull/29 for the new functions refactor.

    Notes: Currently we are missing both the Java runtime and ~~the Swift runtime~~ since they are still currently being worked on.

    Edit: Swift runtime has been created.

    opened by PineappleIOnic 1
  • Feat: Increase lib version

    Feat: Increase lib version

    What does this PR do?

    Bumps up a library version to be compatible dependency of Appwrite

    Test Plan

    • [x] Current tests must pass

    Related PRs and Issues

    x

    Have you read the Contributing Guidelines on issues?

    Yes

    opened by Meldiron 0
  • 🚀 Feature: Rust support

    🚀 Feature: Rust support

    🔖 Feature description

    Support for Rust runtime for Cloud Functions.

    🎤 Pitch

    Rust is totally trending and the most loved language in the developer's community. It would be nice to have an option to write functions with the use of it.

    I would love to work on this by myself!

    👀 Have you spent some time to check if this issue has been raised before?

    • [X] I checked and didn't find similar issue

    🏢 Have you read the Code of Conduct?

    opened by shtelzerartem 1
  • 🚀 Feature: Golang support

    🚀 Feature: Golang support

    🔖 Feature description

    Support for Go runtime for Cloud Functions.

    🎤 Pitch

    Go, as you most likely already know, is a very nice modern language. Easy to write like Lua, Python, HTML. But with the performance of a compiled language like Java, C, etc. It's official docker images can be found here: https://hub.docker.com/_/golang/.

    I just think it would be a cool option to have...

    Thanks peeps

    👀 Have you spent some time to check if this issue has been raised before?

    • [X] I checked and didn't find similar issue

    🏢 Have you read the Code of Conduct?

    opened by janga1 3
  • Implemented custom runtimes

    Implemented custom runtimes

    This PR is relared to PR in Appwrite. This change is required so we can know which runtimes are custom so we can show correct icon on frontend.

    Related PR: https://github.com/appwrite/appwrite/pull/1284

    opened by Meldiron 0
Releases(0.11.1)
  • 0.11.1(Nov 7, 2022)

    What's Changed

    • Feat: Increase lib version by @Meldiron in https://github.com/appwrite/runtimes/pull/57

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.11.0...0.11.1

    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Aug 15, 2022)

    What's Changed

    • Add Function Runtimes Checklist by @adityaoberai in https://github.com/appwrite/runtimes/pull/53
    • Update the runtimes by @lohanidamodar in https://github.com/appwrite/runtimes/pull/55

    New Contributors

    • @adityaoberai made their first contribution in https://github.com/appwrite/runtimes/pull/53

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.10.0...0.11.0

    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Jun 28, 2022)

    What's Changed

    • new runtimes by @lohanidamodar in https://github.com/appwrite/runtimes/pull/52

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.9.1...0.10.0

    Source code(tar.gz)
    Source code(zip)
  • 0.9.1(May 19, 2022)

  • 0.9.0(May 16, 2022)

    What's Changed

    • Runtimes version support by @lohanidamodar in https://github.com/appwrite/runtimes/pull/51

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.8.0...0.9.0

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(May 9, 2022)

    What's Changed

    • 0.14.x by @abnegate in https://github.com/appwrite/runtimes/pull/50

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.7.4...0.8.0

    Source code(tar.gz)
    Source code(zip)
  • 0.7.4(Mar 2, 2022)

    What's Changed

    • Feat: Dart 2.16 from OPR by @Meldiron in https://github.com/appwrite/runtimes/pull/45

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.7.3...0.7.4

    Source code(tar.gz)
    Source code(zip)
  • 0.7.3(Feb 22, 2022)

    What's Changed

    • Enable swift by @abnegate in https://github.com/appwrite/runtimes/pull/44

    New Contributors

    • @abnegate made their first contribution in https://github.com/appwrite/runtimes/pull/44

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.7.2...0.7.3

    Source code(tar.gz)
    Source code(zip)
  • 0.7.2(Feb 20, 2022)

    What's Changed

    • fix: ruby runtime version by @christyjacob4 in https://github.com/appwrite/runtimes/pull/43

    New Contributors

    • @christyjacob4 made their first contribution in https://github.com/appwrite/runtimes/pull/43

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.7.1...0.7.2

    Source code(tar.gz)
    Source code(zip)
  • 0.7.1(Feb 20, 2022)

  • 0.7.0(Feb 19, 2022)

    What's Changed

    • Feat-new-runtimes by @lohanidamodar in https://github.com/appwrite/runtimes/pull/33
    • Migrate to Open-Runtimes by @eldadfux in https://github.com/appwrite/runtimes/pull/42

    New Contributors

    • @eldadfux made their first contribution in https://github.com/appwrite/runtimes/pull/42

    Full Changelog: https://github.com/appwrite/runtimes/compare/0.6.2...0.7.0

    Source code(tar.gz)
    Source code(zip)
  • 0.6.2(Dec 31, 2021)

    What's Changed

    • Update README.md by @raihan71 in https://github.com/appwrite/php-runtimes/pull/25
    • Add issue template forms by @Sven65 in https://github.com/appwrite/php-runtimes/pull/19
    • Feat php 8.1 by @lohanidamodar in https://github.com/appwrite/php-runtimes/pull/30
    • Feat-node-17 by @lohanidamodar in https://github.com/appwrite/php-runtimes/pull/29
    • Fix: Maintain the variable define order of runtimes by @PineappleIOnic in https://github.com/appwrite/php-runtimes/pull/32

    New Contributors

    • @raihan71 made their first contribution in https://github.com/appwrite/php-runtimes/pull/25
    • @Sven65 made their first contribution in https://github.com/appwrite/php-runtimes/pull/19

    Full Changelog: https://github.com/appwrite/php-runtimes/compare/0.6.1...0.6.2

    Source code(tar.gz)
    Source code(zip)
  • 0.6.1(Oct 21, 2021)

  • 0.6.0(Oct 14, 2021)

    • Fix Dart runtimes using old docker repositories
    • added runtime for swift-5.5
    • added runtime for java-17
    • added runtime for python-3.10
    • added runtime for deno-1.12, deno-1.13, deno-1.14
    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Jul 5, 2021)

  • 0.4.0(Jul 2, 2021)

  • 0.3.0(Jun 15, 2021)

  • 0.2.0(Apr 22, 2021)

  • 0.1.0(Apr 22, 2021)

Owner
Appwrite
End to end backend server for frontend and mobile developers. 👩‍💻👨‍💻
Appwrite
Generates OpenApi specification for Laravel, Lumen or Dingo using a configuration array and cebe/php-openapi

OpenApi Generator for Laravel, Lumen and Dingo. About The openapi-gen package provides a convenient way to create OpenApi specifications for Laravel,

Jean Dormehl 5 Jan 25, 2022
Alibaba Cloud SDK for PHP

English | 简体中文 Alibaba Cloud SDK for PHP Alibaba Cloud SDK for PHP is a development kit that supports quick access to products, dependency on Alibaba

Alibaba Cloud 493 Dec 16, 2022
Qiniu Resource (Cloud) Storage SDK for PHP

Qiniu Cloud SDK for PHP 安装 推荐使用 composer 进行安装。可以使用 composer.json 声明依赖,或者运行下面的命令。SDK 包已经放到这里 qiniu/php-sdk 。 $ composer require qiniu/php-sdk 直接下载安装,SD

Qiniu Cloud 804 Dec 19, 2022
This package makes it easy for developers to access WhatsApp Cloud API service in their PHP code.

The first PHP API to send and receive messages using a cloud-hosted version of the WhatsApp Business Platform

NETFLIE 135 Dec 29, 2022
Supermeteor is PHP SDK use to create cloud message: whatsapp, sms and email etc

Supermeteor Supermeteor is PHP SDK use to create cloud message: whatsapp, sms and email etc How to use install using composer composer require superme

null 0 Jul 15, 2022
A simple HTTP server behaving as proxy between webhooks and Appwrite Functions.

A simple HTTP server behaving as proxy between webhooks and Appwrite Functions, allowing for instance Stripe payments integration into Appwrite.

Matej Bačo 21 Nov 30, 2022
Making multiple identical function calls has the same effect as making a single function call.

Making multiple identical function calls has the same effect as making a single function call.

李铭昕 4 Oct 16, 2021
Simple user settings facade for Hyperf. Settings are stored as JSON in a single database column, so you can easily add it to an existing table.

hyperf-user-settings Simple user settings util for hyperf Settings are stored as JSON in a single database column, so you can easily add it to an exis

lysice 1 Oct 15, 2021
Installable com_content/category overrides with configuration settings to create card layouts

Installable com_content/caregory overrides with configuration settings to create card layouts. Uses default bootstrap css only.

Brian Teeman 10 Jan 5, 2023
Cipi is a Laravel based cloud server control panel that supports Digital Ocean, AWS, Vultr, Google Cloud, Linode, Azure and other VPS.

Cipi is a Laravel based cloud server control panel that supports Digital Ocean, AWS, Vultr, Google Cloud, Linode, Azure and other VPS. It comes with nginx, Mysql, multi PHP-FPM versions, multi users, Supervisor, Composer, npm, free Let's Encrypt certificates, Git deployment, backups, ffmpeg, fail2ban, Redis, API and with a simple graphical interface useful to manage Laravel, Codeigniter, Symfony, WordPress or other PHP applications. With Cipi you don’t need to be a Sys Admin to deploy and manage websites and PHP applications powered by cloud VPS.

Andrea Pollastri 907 Jan 8, 2023
Function composition.

igorw/compose Function composition. Allows you to stitch functions together to form a pipeline. This can be useful if you have to transform data in ma

Igor 81 Apr 5, 2022
The VarDumper component provides mechanisms for walking through any arbitrary PHP variable. It provides a better dump() function that you can use instead of var_dump().

VarDumper Component The VarDumper component provides mechanisms for walking through any arbitrary PHP variable. It provides a better dump() function t

Symfony 7.1k Dec 23, 2022
Validates passwords against PHP's password_hash function using PASSWORD_DEFAULT. Will rehash when needed, and will upgrade legacy passwords with the Upgrade decorator.

Password Validator Password Validator validates password_hash generated passwords, rehashes passwords as necessary, and will upgrade legacy passwords.

Jeremy Kendall 142 Dec 25, 2022
The VarDumper component provides mechanisms for walking through any arbitrary PHP variable. It provides a better dump() function that you can use instead of var_dump().

VarDumper Component The VarDumper component provides mechanisms for walking through any arbitrary PHP variable. It provides a better dump() function t

Symfony 7.1k Jan 1, 2023
Zen Cart® is a full-function e-commerce application for your website.

Zen Cart® - The Art of E-Commerce Zen Cart® was the first Open Source e-Commerce web application to be fully PA-DSS Certified. Zen Cart® v1.5.8 is an

Zen Cart 304 Jan 6, 2023
Search PHP source code for function & method calls, variables, and more from PHP.

Searching PHP source code made easy Search PHP source code for function & method calls, variable assignments, classes and more directly from PHP. Inst

Permafrost Software 22 Nov 24, 2022
A php sharex uploader with discord embed function/twitter card support

Sharex Uploader Simple Sharex Uploader with Discord embed function Download replace your data and upload to your sevrer

Clynt 4 Jan 9, 2022
To run time/IO related unit tests (e.g., sleep function calls, database queries, API calls, etc) faster using Swoole.

To run time/IO related unit tests (e.g., sleep function calls, database queries, API calls, etc) faster using Swoole.

Demin Yin 11 Sep 9, 2022
WordPress core test suite function and class declaration stubs for static analysis by PHPStan

WordPress Core Test Suite Stubs This package provides stub declarations for the WordPress Core Test Suite functions, classes and interfaces. These stu

PHP Stubs Library 5 Dec 14, 2022