Skip to content

betagouv/euphrosyne-tools-api

Folders and files

NameName
Last commit message
Last commit date
Dec 7, 2023
Oct 28, 2024
Nov 22, 2024
Jul 23, 2024
Oct 21, 2024
Jul 26, 2024
Oct 23, 2024
May 9, 2022
Oct 28, 2024
May 9, 2022
May 9, 2022
Jun 6, 2022
Oct 19, 2022
Oct 28, 2024
Mar 12, 2024
Jul 10, 2023
Oct 21, 2024
Apr 15, 2024
Oct 28, 2024
May 1, 2024
Jan 20, 2025
Apr 13, 2023

Repository files navigation

Euphrosyne Tools API

Un micro service dédié à la gestion de Machines Virtuelles sur Azure et des connections (RDP) via Apache Guacamole.

DĂ©veloppement

Ce projet utilise FastAPI.

uvicorn main:app --reload

Configuration des variables d'environnement

Nom de la variable Description Requis
AZURE_SUBSCRIPTION_ID ID de la souscription. Azure
AZURE_CLIENT_ID ID de l'application Azure (voir section Générer les clés pour s'authentifier auprès d'Azure).
AZURE_CLIENT_SECRET Secret de l'application Azure (voir section Générer les clés pour s'authentifier auprès d'Azure).
AZURE_TENANT_ID Tenant de l'application Azure (voir section Générer les clés pour s'authentifier auprès d'Azure).
AZURE_RESOURCE_GROUP_NAME Nom du Resource group où sont regroupées les ressources sur le compte Azure.
AZURE_TEMPLATE_SPECS_NAME Nom du Template specs utilisé pour déployer les machines virtuelles. Voir le projet euphrosyne-tools-infra.
AZURE_RESOURCE_PREFIX Optionnel. Préfixe utilisé pour éviter les collisions de nom lors de la création de ressources sur Azure. Doit être le même que dans la configuration Terraform (projet euphrosyne-tools-infra).
AZURE_STORAGE_ACCOUNT Nom du Storage account Azure.
AZURE_STORAGE_FILESHARE Nom du Fileshare contenant les fichiers de données sur le Storage account Azure.
AZURE_STORAGE_PROJECTS_LOCATION_PREFIX Optionnel. Prefixe lorsque le dossier contenant les fichiers de données sur le Fileshare Azure n'est pas à la racine.
AZURE_IMAGE_GALLERY Nom de la Azure compute gallery qui stock les différentes images
AZURE_IMAGE_DEFINITION Nom de la VM image definition qui est l'image pré-configurée pour les VM Euphrosyne
CORS_ALLOWED_ORIGIN Origines des frontends autorisées à utiliser l'API. Séparer les origines par des espaces.
GUACAMOLE_ROOT_URL URL du service guacamole. Ajouter /guacamole Ă  la fin si besoin.
GUACAMOLE_ADMIN_USERNAME Nom d'un utilisateur qui peut gérer les connections sur le service Guacamole.
GUACAMOLE_ADMIN_PASSWORD Mot de passe de l'utilisateur Guacamole.
GUACAMOLE_SECRET_KEY Clé secrète utilisée pour encrypter les mots de passe des utilisateurs créés à la volée.
JWT_SECRET_KEY Clé secrète utilisée pour lire les tokens JWT reçus depuis le backend euphrosyne. Doit être la même que l'application Django Euphrosyne.
VM_LOGIN Nom d'utilisateur utilisé pour se connecter aux machines virtuelles.
VM_PASSWORD Mot de passe utilisé pour se connecter aux machines virtuelles.

Générer les clés pour s'authentifier auprès d'Azure

https://docs.microsoft.com/en-us/azure/developer/python/sdk/authentication-local-development-service-principal?tabs=azure-portal