@@ -16,8 +16,6 @@ import (
16
16
"syscall"
17
17
"time"
18
18
19
- "github.com/docker/docker/api/types"
20
- "github.com/docker/docker/api/types/network"
21
19
"github.com/docker/docker/client"
22
20
"github.com/pkg/errors"
23
21
"github.com/rs/xid"
@@ -76,57 +74,13 @@ func main() {
76
74
log .Err ("hostname is empty" )
77
75
}
78
76
79
- networkID := "network_" + instanceID
80
-
81
- internalNetwork , err := dockerCLI .NetworkCreate (ctx , networkID , types.NetworkCreate {
82
- Labels : map [string ]string {
83
- "instance" : instanceID ,
84
- "app" : networks .DLEApp ,
85
- "type" : networks .InternalType ,
86
- },
87
- Attachable : true ,
88
- Internal : true ,
89
- })
77
+ internalNetwork , err := networks .Setup (ctx , dockerCLI , instanceID , hostname )
90
78
if err != nil {
91
79
log .Errf (err .Error ())
92
80
return
93
81
}
94
82
95
- defer func () {
96
- networkInspect , err := dockerCLI .NetworkInspect (context .Background (), internalNetwork .ID , types.NetworkInspectOptions {})
97
- if err != nil {
98
- log .Errf (err .Error ())
99
- return
100
- }
101
-
102
- for _ , resource := range networkInspect .Containers {
103
- log .Dbg ("Disconnecting container: " , resource .Name )
104
-
105
- if err := dockerCLI .NetworkDisconnect (context .Background (), internalNetwork .ID , resource .Name , true ); err != nil {
106
- log .Errf (err .Error ())
107
- return
108
- }
109
- }
110
-
111
- if err := dockerCLI .NetworkRemove (context .Background (), internalNetwork .ID ); err != nil {
112
- log .Errf (err .Error ())
113
- return
114
- }
115
- }()
116
-
117
- log .Dbg ("New network: " , internalNetwork .ID )
118
-
119
- if err := dockerCLI .NetworkConnect (ctx , internalNetwork .ID , hostname , & network.EndpointSettings {}); err != nil {
120
- log .Errf (err .Error ())
121
- return
122
- }
123
-
124
- defer func () {
125
- if err := dockerCLI .NetworkDisconnect (context .Background (), internalNetwork .ID , hostname , true ); err != nil {
126
- log .Errf (err .Error ())
127
- return
128
- }
129
- }()
83
+ defer networks .Stop (dockerCLI , internalNetwork .ID )
130
84
131
85
// Create a platform service to make requests to Platform.
132
86
platformSvc , err := platform .New (ctx , cfg .Platform )
@@ -181,23 +135,10 @@ func main() {
181
135
go removeObservingClones (obsCh , obs )
182
136
183
137
server := srv .NewServer (& cfg .Server , & cfg .Global , obs , cloningSvc , platformSvc , dockerCLI , est , pm )
184
-
185
- reloadCh := setReloadListener ()
186
-
187
- go func () {
188
- for range reloadCh {
189
- log .Msg ("Reloading configuration" )
190
-
191
- if err := reloadConfig (ctx , instanceID , provisionSvc , retrievalSvc , pm , cloningSvc , platformSvc , est , server ); err != nil {
192
- log .Err ("Failed to reload configuration" , err )
193
- }
194
-
195
- log .Msg ("Configuration has been reloaded" )
196
- }
197
- }()
198
-
199
138
shutdownCh := setShutdownListener ()
200
139
140
+ go setReloadListener (ctx , instanceID , provisionSvc , retrievalSvc , pm , cloningSvc , platformSvc , est , server )
141
+
201
142
server .InitHandlers ()
202
143
203
144
go func () {
@@ -273,11 +214,20 @@ func reloadConfig(ctx context.Context, instanceID string, provisionSvc *provisio
273
214
return nil
274
215
}
275
216
276
- func setReloadListener () chan os.Signal {
277
- c := make (chan os.Signal , 1 )
278
- signal .Notify (c , syscall .SIGHUP )
217
+ func setReloadListener (ctx context.Context , instanceID string , provisionSvc * provision.Provisioner , retrievalSvc * retrieval.Retrieval ,
218
+ pm * pool.Manager , cloningSvc cloning.Cloning , platformSvc * platform.Service , est * estimator.Estimator , server * srv.Server ) {
219
+ reloadCh := make (chan os.Signal , 1 )
220
+ signal .Notify (reloadCh , syscall .SIGHUP )
279
221
280
- return c
222
+ for range reloadCh {
223
+ log .Msg ("Reloading configuration" )
224
+
225
+ if err := reloadConfig (ctx , instanceID , provisionSvc , retrievalSvc , pm , cloningSvc , platformSvc , est , server ); err != nil {
226
+ log .Err ("Failed to reload configuration" , err )
227
+ }
228
+
229
+ log .Msg ("Configuration has been reloaded" )
230
+ }
281
231
}
282
232
283
233
func setShutdownListener () chan os.Signal {
0 commit comments