@@ -24,10 +24,18 @@ class SwarmTaskController extends Controller
24
24
{
25
25
public function initCluster (InitClusterFormRequest $ request )
26
26
{
27
- DB ::transaction (function () use ($ request ) {
27
+ $ currentTeam = auth ()->user ()->currentTeam ;
28
+
29
+ if ($ currentTeam ->quotas ()->swarms ->quotaReached ()) {
30
+ return redirect ()->route ('nodes.index ' );
31
+ }
32
+
33
+ $ node = Node::find ($ request ->node_id );
34
+
35
+ DB ::transaction (function () use ($ request , $ node ) {
28
36
$ swarm = Swarm::create ([
29
37
'name ' => $ request ->name ,
30
- 'team_id ' => auth ()->user ()->current_team_id ,
38
+ 'team_id ' => auth ()->user ()->currentTeam -> id ,
31
39
'data ' => SwarmData::validateAndCreate ([
32
40
'registriesRev ' => 0 ,
33
41
'registries ' => [],
@@ -41,14 +49,12 @@ public function initCluster(InitClusterFormRequest $request)
41
49
]),
42
50
]);
43
51
44
- $ node = Node::find ($ request ->node_id );
45
-
46
52
$ node ->swarm_id = $ swarm ->id ;
47
53
$ node ->saveQuietly ();
48
54
49
55
$ network = Network::create ([
50
56
'swarm_id ' => $ swarm ->id ,
51
- 'team_id ' => auth ()->user ()->current_team_id ,
57
+ 'team_id ' => auth ()->user ()->currentTeam -> id ,
52
58
'name ' => dockerize_name ('ptah-net ' ),
53
59
]);
54
60
@@ -57,7 +63,7 @@ public function initCluster(InitClusterFormRequest $request)
57
63
'swarm_id ' => $ swarm ->id ,
58
64
'node_id ' => $ request ->node_id ,
59
65
'invoker_id ' => auth ()->user ()->id ,
60
- 'team_id ' => auth ()->user ()->current_team_id ,
66
+ 'team_id ' => auth ()->user ()->currentTeam -> id ,
61
67
]);
62
68
63
69
$ tasks = [
@@ -120,11 +126,11 @@ public function initCluster(InitClusterFormRequest $request)
120
126
121
127
$ caddyService = $ swarm ->services ()->create ([
122
128
'name ' => 'caddy ' ,
123
- 'team_id ' => auth ()->user ()->current_team_id ,
129
+ 'team_id ' => auth ()->user ()->currentTeam -> id ,
124
130
]);
125
131
126
132
$ deployment = $ caddyService ->deployments ()->create ([
127
- 'team_id ' => auth ()->user ()->current_team_id ,
133
+ 'team_id ' => auth ()->user ()->currentTeam -> id ,
128
134
'data ' => DeploymentData::validateAndCreate ([
129
135
'networkName ' => $ network ->docker_name ,
130
136
'internalDomain ' => 'caddy.ptah.local ' ,
@@ -195,7 +201,7 @@ public function initCluster(InitClusterFormRequest $request)
195
201
],
196
202
]),
197
203
]);
198
- $ deployment ->team_id = auth ()->user ()->current_team_id ;
204
+ $ deployment ->team_id = auth ()->user ()->currentTeam -> id ;
199
205
$ deployment ->save ();
200
206
201
207
foreach ($ deployment ->asNodeTasks () as $ task ) {
@@ -204,6 +210,8 @@ public function initCluster(InitClusterFormRequest $request)
204
210
205
211
$ taskGroup ->tasks ()->createMany ($ tasks );
206
212
});
213
+
214
+ return redirect ()->route ('nodes.show ' , ['node ' => $ node ]);
207
215
}
208
216
209
217
public function joinCluster (JoinClusterFormRequest $ request )
@@ -212,7 +220,7 @@ public function joinCluster(JoinClusterFormRequest $request)
212
220
$ taskGroup = NodeTaskGroup::create ([
213
221
'type ' => NodeTaskGroupType::JoinSwarm,
214
222
'swarm_id ' => $ request ->swarm_id ,
215
- 'team_id ' => auth ()->user ()->current_team_id ,
223
+ 'team_id ' => auth ()->user ()->currentTeam -> id ,
216
224
'node_id ' => $ request ->node_id ,
217
225
'invoker_id ' => auth ()->user ()->id ,
218
226
]);
0 commit comments