feat: add s3 storages

This commit is contained in:
Andras Bacsai
2023-08-07 15:31:42 +02:00
parent 2a7e7e978b
commit f6e888ecf9
24 changed files with 916 additions and 35 deletions

View File

@@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('s3_storages', function (Blueprint $table) {
$table->id();
$table->string('uuid')->unique();
$table->string('name')->nullable();
$table->longText('description')->nullable();
$table->string('region')->default('us-east-1');
$table->longText('key');
$table->longText('secret');
$table->longText('bucket');
$table->longText('endpoint')->nullable();
$table->foreignId('team_id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('s3_storages');
}
};

View File

@@ -31,6 +31,7 @@ class DatabaseSeeder extends Seeder
ServiceSeeder::class,
EnvironmentVariableSeeder::class,
LocalPersistentVolumeSeeder::class,
S3StorageSeeder::class,
]);
}
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\S3Storage;
class S3StorageSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
S3Storage::create([
'name' => 'Local MinIO',
'description' => 'Local MinIO S3 Storage',
'key' => 'minioadmin',
'secret' => 'minioadmin',
'bucket' => 'local',
'endpoint' => 'http://coolify-minio:9000',
'team_id' => 0,
]);
S3Storage::create([
'name' => 'DO Spaces',
'description' => 'DO S3 Storage',
'key' => 'DO003UBFTACPQGUXUANY',
'secret' => 'eXDSco/04+5RHti19X8O/QE1aWIhZHAyyuOEs4J1JWA',
'bucket' => 'files',
'endpoint' => 'https://test-coolify.ams3.digitaloceanspaces.com',
'team_id' => 0,
]);
}
}