-
Azure AD App Registration — portal.azure.com → App registrations → New registration
- Copier l'Application (client) ID →
ms_app_id - Créer un client secret →
ms_app_password(ouexport TF_VAR_ms_app_password="...")
- Copier l'Application (client) ID →
-
Domaine public pointé sur l'IP de la VM
- Exemple :
openclaw.example.com→teams_bot_domain - TLS Let's Encrypt automatique via Traefik si
teams_acme_emailest fourni
- Exemple :
- Remplir
terraform.tfvars:enable_teams = true ms_app_id = "<client-id>" teams_bot_domain = "openclaw.example.com" teams_acme_email = "admin@example.com"
-
export TF_VAR_ms_app_password="<client-secret>" -
make apply→ crée l'Azure Bot + Teams channel + NSG 80/443 + Traefik ACME
-
make teams-manifest→ génèreteams-manifest/manifest.json - Ajouter
color.png(192×192) etoutline.png(32×32) dansteams-manifest/ -
cd teams-manifest && zip -r ../teams-app.zip manifest.json color.png outline.png - Uploader
teams-app.zipdans Teams Admin Center ou Developer Portal
- Valider le nouveau cloud-init avec la VM de test (
test.tfdéjà prêt)terraform apply -target=azurerm_public_ip.test -target=azurerm_network_interface.test \ -target=azurerm_linux_virtual_machine.test -target=azurerm_role_assignment.test_kv_secrets_user # vérifier logs, puis : terraform destroy -target=azurerm_linux_virtual_machine.test \ -target=azurerm_role_assignment.test_kv_secrets_user \ -target=azurerm_network_interface.test -target=azurerm_public_ip.test # puis : rm test.tf
- Passer le Bot SKU de
F0(gratuit) àS1si > 10 000 messages/mois (modifierteams.tf) - Ajouter le provider
azureadpour créer l'App Registration via Terraform - Azure Monitor / Log Analytics sur le Key Vault (
azurerm_monitor_diagnostic_setting) - Azure Backup pour la VM (
azurerm_backup_protected_vm) - Let's Encrypt sans domaine : remplacer par Azure Application Gateway ou ngrok pour les tests