-
Notifications
You must be signed in to change notification settings - Fork 8
/
buildcluster.go
31 lines (26 loc) · 971 Bytes
/
buildcluster.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2022 Namespace Labs Inc; All rights reserved.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
package nscloud
import (
"context"
"namespacelabs.dev/foundation/internal/build/buildkit"
"namespacelabs.dev/foundation/internal/fnerrors"
"namespacelabs.dev/foundation/internal/providers/nscloud/api"
)
func EnsureBuildCluster(ctx context.Context, x api.API) (*buildkit.Overrides, error) {
cfg, err := api.CreateAndWaitCluster(ctx, x, "16x32", false, "build machine", []string{"BUILD_CLUSTER"})
if err != nil {
return nil, err
}
if cfg.BuildCluster != nil {
return &buildkit.Overrides{
HostedBuildCluster: &buildkit.HostedBuildCluster{
ClusterId: cfg.BuildCluster.Colocated.ClusterId,
TargetPort: cfg.BuildCluster.Colocated.TargetPort,
},
}, nil
} else {
return nil, fnerrors.InternalError("%s: expected build machine", cfg.ClusterId)
}
}