feat(v5): sync server status and ingress access

Add Flux agent token issuing, open and revoke Caddy ingress firewall
rules, broadcast server-scoped application status updates, and update
the dashboard to show unreachable servers as unknown.
This commit is contained in:
Andras Bacsai committed 2026-06-22 11:56:26 +02:00
1 parent 75cbcad240
commit e3e91b7741
14 files changed
+557 -47

No files matched your search

@@ -119,6 +119,18 @@ it('applies caddy ingress configuration through flux instead of ssh', function (
[]
)
->andReturn('Caddy ingress applied.');
$fluxClient
->shouldReceive('applyFirewallRule')
->once()
->with('100.64.0.10', [
'id' => 'v5-caddy-ingress:80',
'namespace' => 'default',
'src' => '0.0.0.0/0',
'dst' => 'coolify-v5-caddy',
'proto' => 'tcp',
'port' => 80,
])
->andReturn('Firewall rule applied.');
app()->instance(FluxClient::class, $fluxClient);
$result = StartCaddyIngress::run($server);
@@ -149,6 +161,11 @@ it('stops caddy ingress through flux instead of ssh', function () {
->once()
->with('100.64.0.10', 'caddy')
->andReturn('Caddy ingress stopped.');
$fluxClient
->shouldReceive('revokeFirewallRule')
->once()
->with('100.64.0.10', 'v5-caddy-ingress:80')
->andReturn('Firewall rule removed.');
app()->instance(FluxClient::class, $fluxClient);
$result = StopCaddyIngress::run($server);