Paillasse/portail/config/openstack.php
Adam Belkacemi 67a754f733 ajoute la liaison Laravel-OpenStack et le modèle Heat du lab 08
Un gabarit Heat généré depuis chaque lab.yaml, une stack par session de
lab (création à l'admission, suppression à l'expiration via des jobs
Redis et un worker systemd dédié). Passage du compte de service à une
authentification par mot de passe : Heat refuse de créer un trust à
partir d'un jeton d'application credential (voir ADR 0002).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-08 10:14:24 +02:00

23 lines
1.2 KiB
PHP

<?php
return [
// Utilisé par NovaClient (étape 9) et HeatClient (étape 10) pour parler
// à OpenStack au nom du compte de service `paillasse-service` (étape 6).
//
// Authentification par mot de passe, pas par application credential :
// Heat a besoin de créer un "trust" Keystone pour gérer le cycle de vie
// d'une stack, et Keystone refuse explicitement ("Delegated tokens
// cannot manage trusts") qu'un jeton issu d'une application credential
// en crée un — ce n'est pas un bug, l'application credential elle-même
// est déjà une délégation, et Keystone empêche d'en déléguer une autre
// à partir de là. Constaté le 2026-10-08, voir docs/journal.md.
//
// Identifiants lus depuis /etc/kolla/clouds-paillasse.yaml et injectés
// une seule fois dans .env par le rôle Ansible `portail` — jamais dans Git.
'auth_url' => env('OS_AUTH_URL', 'http://10.10.0.1:5000'),
'username' => env('OS_USERNAME', 'paillasse-service'),
'password' => env('OS_PASSWORD'),
'project_name' => env('OS_PROJECT_NAME', 'paillasse'),
'nova_url' => env('OS_NOVA_URL', 'http://10.10.0.1:8774/v2.1'),
'heat_url' => env('OS_HEAT_URL', 'http://10.10.0.1:8004/v1'),
];