clupilot/app/database/factories/ServerFactory.php

36 lines
1.4 KiB
PHP

<?php
namespace Database\Factories;
use App\Models\Workspace;
use App\Models\Cluster;
use App\Models\Server;
use Illuminate\Database\Eloquent\Factories\Factory;
class ServerFactory extends Factory
{
protected $model = Server::class;
public function definition(): array
{
$env = $this->faker->randomElement(['prod', 'staging', 'edge']);
return [
'workspace_id' => Workspace::factory(),
'cluster_id' => Cluster::factory(),
'name' => $env . '-' . $this->faker->unique()->numerify('node-##'),
'region' => $this->faker->randomElement(['eu-central-1', 'eu-west-1', 'us-east-1', 'ap-south-1']),
'country_flag' => $this->faker->randomElement(['🇩🇪', '🇳🇱', '🇮🇪', '🇺🇸', '🇮🇳']),
'env' => $env,
'cpu_cores' => $this->faker->randomElement([4, 8, 16]),
'ram_gb' => $this->faker->randomElement([16, 32, 64, 128]),
'disk_gb' => $this->faker->randomElement([160, 320, 640, 1280]),
'cpu_load_pct' => $this->faker->numberBetween(8, 78),
'ram_used_pct' => $this->faker->numberBetween(15, 80),
'disk_used_pct' => $this->faker->numberBetween(20, 75),
'status' => $this->faker->randomElement(['ok', 'ok', 'ok', 'warn']),
'ip' => $this->faker->ipv4(),
];
}
}