Skip to content

Commit 2842e3e

Browse files
committed
feat: #19 allow to expose services via caddy
1 parent 0c87788 commit 2842e3e

18 files changed

+440
-151
lines changed

Diff for: app/Events/NodeTasks/LoadCaddyConfig/LoadCaddyConfigCompleted.php

-9
This file was deleted.

Diff for: app/Events/NodeTasks/LoadCaddyConfig/LoadCaddyConfigFailed.php

-9
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
namespace App\Events\NodeTasks\RebuildCaddyConfig;
4+
5+
use App\Events\NodeTasks\BaseTaskEvent;
6+
7+
class RebuildCaddyConfigCompleted extends BaseTaskEvent
8+
{
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
namespace App\Events\NodeTasks\RebuildCaddyConfig;
4+
5+
use App\Events\NodeTasks\BaseTaskEvent;
6+
7+
class RebuildCaddyConfigFailed extends BaseTaskEvent
8+
{
9+
}

Diff for: app/Http/Controllers/SwarmTaskController.php

+31
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
use App\Models\Node;
99
use App\Models\NodeTaskGroup;
1010
use App\Models\NodeTaskGroupType;
11+
use App\Models\NodeTasks\CreateConfig\CreateConfigMeta;
1112
use App\Models\NodeTasks\CreateNetwork\CreateNetworkMeta;
1213
use App\Models\NodeTasks\InitSwarm\InitSwarmMeta;
1314
use App\Models\NodeTaskType;
1415
use App\Models\Swarm;
16+
use Illuminate\Database\Eloquent\Casts\Json;
1517

1618
class SwarmTaskController extends Controller
1719
{
@@ -132,6 +134,35 @@ public function initCluster(InitClusterFormRequest $request)
132134
]),
133135
]);
134136

137+
$caddyJson = Json::encode([
138+
'apps' => [
139+
'tls' => [
140+
!!111
141+
]
142+
]
143+
]);
144+
145+
$tasks[] = [
146+
'type' => NodeTaskType::CreateConfig,
147+
'meta' => CreateConfigMeta::from([
148+
'deploymentId' => $deployment->id,
149+
'path' => 'caddy base config',
150+
'hash' => md5($caddyJson),
151+
]),
152+
'payload' => [
153+
'SwarmConfigSpec' => [
154+
'Name' => $caddyService->makeResourceName('caddy_base'),
155+
'Data' => base64_encode($caddyJson),
156+
'Labels' => dockerize_labels([
157+
'service.id' => $caddyService->id,
158+
'deployment.id' => $deployment->id,
159+
"content.hash" => md5($caddyJson),
160+
"kind" => 'caddy',
161+
]),
162+
],
163+
],
164+
];
165+
135166
foreach ($deployment->asNodeTasks() as $task) {
136167
$tasks[] = $task;
137168
}

0 commit comments

Comments
 (0)