Skip to content

Latest commit

 

History

History
96 lines (64 loc) · 1.78 KB

README.md

File metadata and controls

96 lines (64 loc) · 1.78 KB

Dyno code

Description

Dyno code est un service web qui permet de compiler et d'exécuter du code en ligne. Il est écrit en Rust et utilise le framework web actix-web.

Fonctionnalités

  • Compilation et exécution de code en ligne
  • Support des langages de programmation suivants:
    • Python
    • Lua
    • Rust
    • JavaScript

Déploiement sur Google Cloud

Voir Déploiement sur Google Cloud.

Développement

Prérequis

  • Rust
  • Docker

Attention, si vous souhaitez le lancer sans Docker, vous devez installer les dépendances suivantes:

  • Python3 (voir ici)
  • Lua (voir ici)
  • Rutc (voir ici)
  • Node.js (voir ici)

Lancer le serveur

cargo run

Lancer le serveur avec Docker

docker build -t dyno_code .
docker run -p 8080:8080 dyno_code

Pour déployer sur K8s

Avant de déployer sur K8s veuillez lire la documentation ici.

./deploy_k8s.sh
kubectl get pods -l app=dyno-code
kubectl logs -f <pod_name>

Se connecter en shell dans le pod :

kubectl exec --stdin --tty <the pod name> -- sh

Le formattage

cargo fmt

Si vous avez des problèmes avec le formattage tel que :

unstable features are only available in nightly channel.

Vous pouvez utiliser la commande suivante :

rustup toolchain install nightly
rustup override set nightly

Delete all Input from /mnt/shared

rm -v ????????-????-????-*

Delete all Output from /mnt/shared/output

find . -name 'output*' -exec rm {} \;

Auteurs