Moteur Lambda / Applications / CGI / serveur sans serveur.
voir les documents
Caractéristiques:
Ps
Il existe une version minimale de TrustEd-CGI: nano-run. Vérifiez-le - il est convivial avec une approche de configuration d'abord (c'est-à-dire plus facile à utiliser pour l'infrastructure-as-a-code).
Depuis 0.3.3 Linux, Darwin et même Windows OS pris en charge: les binaires pré-construits ont pu être trouvés dans les versions
Tl; dr;
apt.reddec.dev (voir les documents)docker run --rm -p 3434:3434 reddec/trusted-cgi )Voir Manuel d'installation
Le flux de processus est assez simple: un démon léger en arrière-plan écoute les demandes et lance des scripts / applications à la demande. Un exécutable doit lire l'entrée standard (STDIN) pour les données de demande et écrire une réponse à la sortie standard (stdout).
Techniquement, tout script / application qui peut analyser STDIN et écrire quelque chose à STDOUT doit être capable de l'exécution.
Conçu de confiance en gardant à l'esprit que les données d'entrée et de sortie sont assez petites et contient des données structurées (JSON / XML), cependant, il n'y a aucune restriction sur la plate-forme elle-même.
Différences clés avec CGI classique:
En raison des modifications, il est possible de créer le script le plus simple avec une entrée et une sortie JSON comme ceci:
import sys
import json
request = json . load ( sys . stdin ) # read and parse request
response = [ 'hello' , 'world' ] # do some logic and make response
json . dump ( response , sys . stdout ) # send it to clientGardez à l'esprit que la plate-forme ajoute également un nombre croissant de nouvelles fonctionnalités - voir les fonctionnalités.
public cible
C'est mieux (mais sans limité) pour
Cependant, si vos projets ont envahi les limitations de la plate-forme, il devrait être assez facile de migrer vers toutes les autres solutions, car la plupart des détails de bas niveau sont cachés et pourraient être remplacés en quelques jours (fondamentalement - il suffit d'envelopper le script vers le service HTTP)
En outre, il est possible d'étendre les performances de la plate-forme en lançant simplement les mêmes instances de la plate-forme avec un système de fichiers partagé (ou des images Docker) avec un équilibreur devant lui.
La plate-forme est un projet Golang assez simple avec Vue + Quasar Frontend et devrait être facile pour les nouveaux arrivants. Mises en garde et conseils pour vérifier le backend ici
Pour UI Check Sub-Repo
Tous les PR (documents, code, styles, fonctionnalités, ...) seront très utiles!
Veuillez noter que Linux (y compris WSL2) ou Darwin est principalement utilisé pour le développement, donc la plupart des scripts auxiliaires conçus pour ces systèmes d'exploitation.
Exigences:
go.mod )Pour la construction multiplateforme, vous pouvez avoir besoin de bintools:
docker run --privileged --rm tonistiigi/binfmt --install all