@@ -15,6 +15,7 @@ import (
15
15
"github.com/overmindtech/cli/tfutils"
16
16
"github.com/overmindtech/cli/discovery"
17
17
"github.com/overmindtech/cli/sdp-go"
18
+ gcpproc "github.com/overmindtech/workspace/sources/gcp/proc"
18
19
stdlibSource "github.com/overmindtech/cli/stdlib-source/adapters"
19
20
"github.com/overmindtech/cli/tracing"
20
21
"github.com/pkg/browser"
@@ -49,6 +50,7 @@ func StartLocalSources(ctx context.Context, oi sdp.OvermindInstance, token *oaut
49
50
}()
50
51
stdlibSpinner , _ := pterm .DefaultSpinner .WithWriter (multi .NewWriter ()).Start ("Starting stdlib source engine" )
51
52
awsSpinner , _ := pterm .DefaultSpinner .WithWriter (multi .NewWriter ()).Start ("Starting AWS source engine" )
53
+ gcpSpinner , _ := pterm .DefaultSpinner .WithWriter (multi .NewWriter ()).Start ("Starting GCP source engine" )
52
54
statusArea := pterm .DefaultParagraph .WithWriter (multi .NewWriter ())
53
55
54
56
natsOptions := natsOptions (ctx , oi , token )
@@ -167,6 +169,39 @@ func StartLocalSources(ctx context.Context, oi sdp.OvermindInstance, token *oaut
167
169
return awsEngine , nil
168
170
})
169
171
172
+ p .Go (func () (* discovery.Engine , error ) {
173
+ ec := discovery.EngineConfig {
174
+ EngineType : "cli-gcp" ,
175
+ Version : fmt .Sprintf ("cli-%v" , tracing .Version ()),
176
+ SourceName : fmt .Sprintf ("gcp-source-%v" , hostname ),
177
+ SourceUUID : uuid .New (),
178
+ App : oi .ApiUrl .Host ,
179
+ ApiKey : token .AccessToken ,
180
+ MaxParallelExecutions : 2_000 ,
181
+ NATSOptions : & natsOptions ,
182
+ HeartbeatOptions : heartbeatOptions ,
183
+ }
184
+
185
+ gcpEngine , err := gcpproc .Initialize (ctx , & ec )
186
+ if err != nil {
187
+ gcpSpinner .Fail ("Failed to initialize GCP source engine" , err .Error ())
188
+ // TODO: return the actual error when we have a company-wide GCP setup
189
+ // https://github.com/overmindtech/workspace/issues/1337
190
+ return nil , nil
191
+ }
192
+
193
+ err = gcpEngine .Start () //nolint:contextcheck
194
+ if err != nil {
195
+ gcpSpinner .Fail ("Failed to start GCP source engine" , err .Error ())
196
+ // TODO: return the actual error when we have a company-wide GCP setup
197
+ // https://github.com/overmindtech/workspace/issues/1337
198
+ return nil , nil
199
+ }
200
+
201
+ gcpSpinner .Success ("GCP source engine started" )
202
+ return gcpEngine , nil
203
+ })
204
+
170
205
engines , err := p .Wait ()
171
206
if err != nil {
172
207
return func () {}, fmt .Errorf ("error starting sources: %w" , err )
0 commit comments