diff --git a/app/Actions/Servers/SyncWireguardRules.php b/app/Actions/Servers/SyncWireguardRules.php index 1b2b4cf..ecb536c 100644 --- a/app/Actions/Servers/SyncWireguardRules.php +++ b/app/Actions/Servers/SyncWireguardRules.php @@ -27,11 +27,16 @@ class SyncWireguardRules $output = $result->getOutput(); $commands = collect(); - $server->organisation->servers()->where('id', '!=', $server->id)->each(function ($organisationServer) use (&$commands, $output) { + $server->organisation->servers()->where('id', '!=', $server->id)->each(function ($organisationServer) use (&$commands, $output, $server) { if (Str::contains($output, $organisationServer->internal_public_key)) { $commands->push("wg set wg0 peer {$organisationServer->internal_public_key} remove"); } - $commands->push("wg set wg0 peer {$organisationServer->internal_public_key} allowed-ips {$organisationServer->internal_ip}/32"); + + if ($organisationServer->external_network_id === $server->external_network_id) { + $commands->push("wg set wg0 peer {$organisationServer->internal_public_key} allowed-ips {$organisationServer->internal_ip}/32"); + } else { + $commands->push("wg set wg0 peer {$organisationServer->internal_public_key} allowed-ips {$organisationServer->ipv4}/32,{$organisationServer->ipv6}/128"); + } }); $result = $ssh->execute($commands->toArray()); diff --git a/app/Models/Provider.php b/app/Models/Provider.php index 2b9c386..e74a962 100644 --- a/app/Models/Provider.php +++ b/app/Models/Provider.php @@ -15,6 +15,7 @@ class Provider extends Model use HasFactory; protected $guarded = []; + protected $hidden = ['token']; protected function casts(): array diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index aab5bb6..f7c2123 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -43,7 +43,7 @@ class DatabaseSeeder extends Seeder 'name' => 'keystone', 'external_id' => 'net-12345', 'provider_id' => $provider->id, - 'ip_range' => fake()->ipv4() . '/24', + 'ip_range' => fake()->ipv4().'/24', ]); $servers = Server::factory(40) diff --git a/resources/js/pages/Applications/Index.vue b/resources/js/pages/Applications/Index.vue index 4bc8135..79c8915 100644 --- a/resources/js/pages/Applications/Index.vue +++ b/resources/js/pages/Applications/Index.vue @@ -35,7 +35,7 @@ const props = defineProps({