feat : add application, environment, logfile fixtures

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 13:33:36 +02:00
parent 467c2fcef8
commit 3ffe7904b3

View File

@@ -4,6 +4,9 @@ declare(strict_types=1);
namespace App\DataFixtures;
use App\Entity\Application;
use App\Entity\Environment;
use App\Entity\LogFile;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
@@ -16,6 +19,14 @@ class AppFixtures extends Fixture
) {}
public function load(ObjectManager $manager): void
{
$this->loadUsers($manager);
$this->loadApplications($manager);
$manager->flush();
}
private function loadUsers(ObjectManager $manager): void
{
$admin = new User();
$admin->setUsername('admin');
@@ -34,7 +45,77 @@ class AppFixtures extends Fixture
$userBob->setRoles(['ROLE_USER']);
$userBob->setPassword($this->passwordHasher->hashPassword($userBob, 'bob'));
$manager->persist($userBob);
}
$manager->flush();
private function loadApplications(ObjectManager $manager): void
{
$sirh = new Application();
$sirh->setName('SIRH');
$sirh->setSlug('sirh');
$sirh->setRegistryImage('gitea.malio.fr/malio-dev/sirh');
$sirh->setDescription('Application de gestion des absences');
$sirh->setGiteaUrl('https://gitea.malio.fr/malio-dev/sirh');
$sirhProd = new Environment();
$sirhProd->setName('production');
$sirhProd->setContainerName('sirh-app');
$sirhProd->setDeployScriptPath('/home/m-tristan/workspace/SIRH/deploy/docker/deploy.sh');
$sirhProd->setMaintenanceFilePath('/home/m-tristan/workspace/SIRH/deploy/docker/maintenance.on');
$sirhProd->setAppUrl('https://sirh.malio-dev.fr');
$sirh->addEnvironment($sirhProd);
$sirhProdLog = new LogFile();
$sirhProdLog->setLabel('prod');
$sirhProdLog->setPath('/home/m-tristan/workspace/SIRH/var/log/prod.log');
$sirhProd->addLogFile($sirhProdLog);
$sirhCronLog = new LogFile();
$sirhCronLog->setLabel('cron');
$sirhCronLog->setPath('/home/m-tristan/workspace/SIRH/var/log/cron.log');
$sirhProd->addLogFile($sirhCronLog);
$manager->persist($sirh);
$lesstime = new Application();
$lesstime->setName('Lesstime');
$lesstime->setSlug('lesstime');
$lesstime->setRegistryImage('gitea.malio.fr/malio-dev/lesstime');
$lesstime->setDescription('Application de gestion du temps');
$lesstime->setGiteaUrl('https://gitea.malio.fr/malio-dev/lesstime');
$lesstimeProd = new Environment();
$lesstimeProd->setName('production');
$lesstimeProd->setContainerName('lesstime-app');
$lesstimeProd->setDeployScriptPath('/home/m-tristan/workspace/lesstime/deploy/docker/deploy.sh');
$lesstimeProd->setMaintenanceFilePath('/home/m-tristan/workspace/lesstime/deploy/docker/maintenance.on');
$lesstimeProd->setAppUrl('https://lesstime.malio-dev.fr');
$lesstime->addEnvironment($lesstimeProd);
$manager->persist($lesstime);
$inventory = new Application();
$inventory->setName('Inventory');
$inventory->setSlug('inventory');
$inventory->setRegistryImage('gitea.malio.fr/malio-dev/inventory');
$inventory->setDescription('Application de gestion des inventaires');
$inventory->setGiteaUrl('https://gitea.malio.fr/malio-dev/inventory');
$inventoryProd = new Environment();
$inventoryProd->setName('production');
$inventoryProd->setContainerName('inventory-app');
$inventoryProd->setDeployScriptPath('/home/m-tristan/workspace/inventory/deploy/docker/deploy.sh');
$inventoryProd->setMaintenanceFilePath('/home/m-tristan/workspace/inventory/deploy/docker/maintenance.on');
$inventoryProd->setAppUrl('https://inventory.malio-dev.fr');
$inventory->addEnvironment($inventoryProd);
$inventoryRecette = new Environment();
$inventoryRecette->setName('recette');
$inventoryRecette->setContainerName('inventory-test-app');
$inventoryRecette->setDeployScriptPath('/home/m-tristan/workspace/inventory/deploy/docker/deploy-test.sh');
$inventoryRecette->setMaintenanceFilePath('/home/m-tristan/workspace/inventory/deploy/docker/maintenance-test.on');
$inventoryRecette->setAppUrl('https://inventory-test.malio-dev.fr');
$inventory->addEnvironment($inventoryRecette);
$manager->persist($inventory);
}
}