Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
Reviewed-on: #3 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
122 lines
4.6 KiB
PHP
122 lines
4.6 KiB
PHP
<?php
|
|
|
|
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;
|
|
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
|
|
|
|
class AppFixtures extends Fixture
|
|
{
|
|
public function __construct(
|
|
private readonly UserPasswordHasherInterface $passwordHasher,
|
|
) {}
|
|
|
|
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');
|
|
$admin->setRoles(['ROLE_ADMIN']);
|
|
$admin->setPassword($this->passwordHasher->hashPassword($admin, 'admin'));
|
|
$manager->persist($admin);
|
|
|
|
$userAlice = new User();
|
|
$userAlice->setUsername('alice');
|
|
$userAlice->setRoles(['ROLE_USER']);
|
|
$userAlice->setPassword($this->passwordHasher->hashPassword($userAlice, 'alice'));
|
|
$manager->persist($userAlice);
|
|
|
|
$userBob = new User();
|
|
$userBob->setUsername('bob');
|
|
$userBob->setRoles(['ROLE_USER']);
|
|
$userBob->setPassword($this->passwordHasher->hashPassword($userBob, 'bob'));
|
|
$manager->persist($userBob);
|
|
}
|
|
|
|
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('php-sirh-fpm');
|
|
$sirhProd->setDeployScriptPath('/SIRH/deploy/docker/deploy.sh');
|
|
$sirhProd->setMaintenanceFilePath('/SIRH/deploy/docker/maintenance.on');
|
|
$sirhProd->setAppUrl('http://sirh.malio-dev.fr');
|
|
$sirh->addEnvironment($sirhProd);
|
|
|
|
$sirhProdLog = new LogFile();
|
|
$sirhProdLog->setLabel('dev');
|
|
$sirhProdLog->setPath('/SIRH/var/log/dev.log');
|
|
$sirhProd->addLogFile($sirhProdLog);
|
|
|
|
$sirhCronLog = new LogFile();
|
|
$sirhCronLog->setLabel('cron');
|
|
$sirhCronLog->setPath('/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('/lesstime/deploy/docker/deploy.sh');
|
|
$lesstimeProd->setMaintenanceFilePath('/lesstime/deploy/docker/maintenance.on');
|
|
$lesstimeProd->setAppUrl('http://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('/inventory/deploy/docker/deploy.sh');
|
|
$inventoryProd->setMaintenanceFilePath('/inventory/deploy/docker/maintenance.on');
|
|
$inventoryProd->setAppUrl('http://inventory.malio-dev.fr');
|
|
$inventory->addEnvironment($inventoryProd);
|
|
|
|
$inventoryRecette = new Environment();
|
|
$inventoryRecette->setName('recette');
|
|
$inventoryRecette->setContainerName('inventory-test-app');
|
|
$inventoryRecette->setDeployScriptPath('/inventory/deploy/docker/deploy-test.sh');
|
|
$inventoryRecette->setMaintenanceFilePath('/inventory/deploy/docker/maintenance-test.on');
|
|
$inventoryRecette->setAppUrl('http://inventory-test.malio-dev.fr');
|
|
$inventory->addEnvironment($inventoryRecette);
|
|
|
|
$manager->persist($inventory);
|
|
}
|
|
}
|