Add root team + localhost (coolify host) in prod seeder

This commit is contained in:
Andras Bacsai
2023-04-14 12:54:29 +02:00
parent 06e00ffccb
commit ff5ff7f310
14 changed files with 82 additions and 28 deletions

View File

@@ -15,7 +15,7 @@ class GithubAppSeeder extends Seeder
*/
public function run(): void
{
$root_team = Team::find(1);
$root_team = Team::find(0);
$private_key_1 = PrivateKey::find(1);
$private_key_2 = PrivateKey::find(2);
GithubApp::create([

View File

@@ -15,7 +15,7 @@ class GitlabAppSeeder extends Seeder
*/
public function run(): void
{
$root_team = Team::find(1);
$root_team = Team::find(0);
$private_key_3 = PrivateKey::find(3);
GitlabApp::create([
'id' => 1,

View File

@@ -4,6 +4,7 @@ namespace Database\Seeders;
use App\Models\PrivateKey;
use App\Models\Project;
use App\Models\Server;
use App\Models\Team;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Storage;
@@ -12,6 +13,7 @@ class ProductionSeeder extends Seeder
{
public function run(): void
{
// Save SSH Keys for the Coolify Host
$coolify_key_name = "id.root@host.docker.internal";
$coolify_key = Storage::disk('local')->get("ssh-keys/{$coolify_key_name}");
$coolify_key_in_database = PrivateKey::where('name', 'Coolify Host');
@@ -21,10 +23,32 @@ class ProductionSeeder extends Seeder
}
if ($coolify_key && !$coolify_key_in_database->exists()) {
PrivateKey::create([
'name' => 'Coolify Host',
'description' => 'The private key for the Coolify host machine.',
'id' => 0,
'name' => 'localhost\'s key',
'description' => 'The private key for the Coolify host machine (localhost).',
'private_key' => $coolify_key,
]);
}
// Add first Team if it doesn't exist
if (Team::find(0) == null) {
Team::create([
'id' => 0,
'name' => "Root's Team",
'personal_team' => true,
]);
}
// Add Coolify host (localhost) as Server if it doesn't exist
if (Server::find(0) == null) {
Server::create([
'id' => 0,
'name' => "localhost",
'description' => "This is the local machine",
'user' => 'root',
'ip' => "host.docker.internal",
'team_id' => 0,
'private_key_id' => 0,
]);
}
}
}

View File

@@ -10,7 +10,7 @@ class ProjectSeeder extends Seeder
{
public function run(): void
{
$root_team = Team::find(1);
$root_team = Team::find(0);
Project::create([
'id' => 1,
'name' => "My first project",

View File

@@ -14,10 +14,10 @@ class ServerSeeder extends Seeder
*/
public function run(): void
{
$root_team = Team::find(1);
$root_team = Team::find(0);
$private_key_1 = PrivateKey::find(1);
Server::create([
'id' => 1,
'id' => 0,
'name' => "localhost",
'description' => "This is the local machine",
'user' => 'root',
@@ -26,7 +26,7 @@ class ServerSeeder extends Seeder
'private_key_id' => $private_key_1->id,
]);
Server::create([
'id' => 2,
'id' => 1,
'name' => "testing-local-docker-container",
'description' => "This is a test docker container",
'ip' => "coolify-testing-host",
@@ -34,7 +34,7 @@ class ServerSeeder extends Seeder
'private_key_id' => $private_key_1->id,
]);
Server::create([
'id' => 3,
'id' => 2,
'name' => "testing-local-docker-container-2",
'description' => "This is a test docker container",
'ip' => "coolify-testing-host-2",

View File

@@ -15,11 +15,11 @@ class StandaloneDockerSeeder extends Seeder
*/
public function run(): void
{
$server_1 = Server::find(1);
$server_0 = Server::find(0);
StandaloneDocker::create([
'id' => 1,
'network' => 'coolify',
'server_id' => $server_1->id,
'server_id' => $server_0->id,
]);
}
}

View File

@@ -16,10 +16,10 @@ class SwarmDockerSeeder extends Seeder
*/
public function run(): void
{
$server_2 = Server::find(2);
$server_1 = Server::find(1);
SwarmDocker::create([
'id' => 1,
'server_id' => $server_2->id,
'server_id' => $server_1->id,
]);
}
}

View File

@@ -15,6 +15,7 @@ class TeamSeeder extends Seeder
$normal_user = User::find(2);
$root_user_personal_team = Team::create([
'id' => 0,
'name' => "Root Team",
'personal_team' => true,
]);
@@ -27,7 +28,7 @@ class TeamSeeder extends Seeder
'personal_team' => true,
]);
DB::table('team_user')->insert([
'team_id' => $root_user_personal_team->id,
'team_id' => $root_user_personal_team->id,
'user_id' => $root_user->id,
'role' => 'admin',
]);