Skip to content

Commit f4a53cc

Browse files
committed
Update provider to use explicitly version v0.1.0
1 parent ac46d4d commit f4a53cc

81 files changed

Lines changed: 1209 additions & 238 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ toolchain go1.22.3
66

77
require (
88
github.com/BurntSushi/toml v1.2.1
9-
github.com/cloudbase/garm-provider-common v0.1.3
9+
github.com/cloudbase/garm-provider-common v0.1.4-0.20240906095211-57315d4ac8ae
1010
github.com/google/uuid v1.6.0
1111
github.com/gophercloud/gophercloud v1.11.0
1212
github.com/gophercloud/utils v0.0.0-20230324070755-05e9e7f5ea4d
@@ -29,9 +29,9 @@ require (
2929
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
3030
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
3131
github.com/xeipuuv/gojsonschema v1.2.0
32-
golang.org/x/crypto v0.25.0 // indirect
33-
golang.org/x/sys v0.22.0 // indirect
34-
golang.org/x/text v0.16.0 // indirect
32+
golang.org/x/crypto v0.26.0 // indirect
33+
golang.org/x/sys v0.24.0 // indirect
34+
golang.org/x/text v0.17.0 // indirect
3535
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
3636
gopkg.in/yaml.v3 v3.0.1 // indirect
3737
)

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
22
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
3-
github.com/cloudbase/garm-provider-common v0.1.3 h1:8pHSRs2ljwLHgtDrge68dZ7ILUW97VF5h2ZA2fQubGQ=
4-
github.com/cloudbase/garm-provider-common v0.1.3/go.mod h1:VIJzbcg5iwyD4ac99tnnwcActfwibn/VOt2MYOFjf2c=
3+
github.com/cloudbase/garm-provider-common v0.1.4-0.20240906095211-57315d4ac8ae h1:GDcVb/ForsCtpGj2kFH+iPu6/IIj0b5pV/h27qL6+GI=
4+
github.com/cloudbase/garm-provider-common v0.1.4-0.20240906095211-57315d4ac8ae/go.mod h1:sK26i2NpjjAjhanNKiWw8iPkqt+XeohTKpFnEP7JdZ4=
55
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
66
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
77
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -45,8 +45,8 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t
4545
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
4646
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
4747
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
48-
golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
49-
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
48+
golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
49+
golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
5050
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
5151
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
5252
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
@@ -62,17 +62,17 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
6262
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
6363
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
6464
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
65-
golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
66-
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
65+
golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
66+
golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
6767
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
6868
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
6969
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
7070
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
7171
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
7272
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
7373
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
74-
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
75-
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
74+
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
75+
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
7676
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
7777
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
7878
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

main.go

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"syscall"
2424

2525
"github.com/cloudbase/garm-provider-common/execution"
26+
commonExecution "github.com/cloudbase/garm-provider-common/execution/common"
2627

2728
"github.com/cloudbase/garm-provider-openstack/provider"
2829
)
@@ -32,21 +33,7 @@ var signals = []os.Signal{
3233
syscall.SIGTERM,
3334
}
3435

35-
var (
36-
// Version is the version of the application
37-
Version = "v0.0.0-unknown"
38-
)
39-
4036
func main() {
41-
// This is an unofficial command. It will be added into future versions of the
42-
// external provider interface. For now we manually hardcode it here. This is not
43-
// used by GARM itself. It is informative for the user to be able to check the version
44-
// of the provider.
45-
garmCommand := os.Getenv("GARM_COMMAND")
46-
if garmCommand == "GetVersion" {
47-
fmt.Println(Version)
48-
os.Exit(0)
49-
}
5037

5138
ctx, stop := signal.NotifyContext(context.Background(), signals...)
5239
defer stop()
@@ -61,10 +48,10 @@ func main() {
6148
log.Fatal(err)
6249
}
6350

64-
result, err := execution.Run(ctx, prov, executionEnv)
51+
result, err := executionEnv.Run(ctx, prov)
6552
if err != nil {
6653
fmt.Fprintf(os.Stderr, "failed to run command: %s", err)
67-
os.Exit(execution.ResolveErrorToExitCode(err))
54+
os.Exit(commonExecution.ResolveErrorToExitCode(err))
6855
}
6956
if len(result) > 0 {
7057
fmt.Fprint(os.Stdout, result)

provider/provider.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ import (
2121
"github.com/cloudbase/garm-provider-openstack/client"
2222
"github.com/cloudbase/garm-provider-openstack/config"
2323

24-
"github.com/cloudbase/garm-provider-common/execution"
24+
execution "github.com/cloudbase/garm-provider-common/execution/v0.1.0"
2525
"github.com/cloudbase/garm-provider-common/params"
2626
)
2727

2828
var _ execution.ExternalProvider = &openstackProvider{}
2929

30+
var Version = "v0.0.0-unknown"
31+
3032
const (
3133
controllerIDTagName = "garm-controller-id"
3234
poolIDTagName = "garm-pool-id"
@@ -235,3 +237,8 @@ func (a *openstackProvider) Start(ctx context.Context, instance string) error {
235237
}
236238
return nil
237239
}
240+
241+
// GetVersion returns the version of the provider.
242+
func (a *openstackProvider) GetVersion(ctx context.Context) string {
243+
return Version
244+
}

scripts/build-static.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@ cd $GARM_SOURCE
3131
GOOS=linux GOARCH=amd64 go build -mod vendor \
3232
-o $BUILD_DIR/linux/amd64/$GARM_PROVIDER_NAME \
3333
-tags osusergo,netgo,sqlite_omit_load_extension \
34-
-ldflags "-extldflags '-static' -s -w -X main.Version=$VERSION" .
34+
-ldflags "-extldflags '-static' -s -w -X github.com/cloudbase/garm-provider-openstack/provider.Version=$VERSION" .
3535
GOOS=linux GOARCH=arm64 CC=aarch64-linux-musl-gcc go build \
3636
-mod vendor \
3737
-o $BUILD_DIR/linux/arm64/$GARM_PROVIDER_NAME \
3838
-tags osusergo,netgo,sqlite_omit_load_extension \
39-
-ldflags "-extldflags '-static' -s -w -X main.Version=$VERSION" .
39+
-ldflags "-extldflags '-static' -s -w -X github.com/cloudbase/garm-provider-openstack/provider.Version=$VERSION" .
4040

4141
# Windows
4242
GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-cc go build -mod vendor \
4343
-o $BUILD_DIR/windows/amd64/$GARM_PROVIDER_NAME.exe \
4444
-tags osusergo,netgo,sqlite_omit_load_extension \
45-
-ldflags "-s -w -X main.Version=$VERSION" .
45+
-ldflags "-s -w -X github.com/cloudbase/garm-provider-openstack/provider.Version=$VERSION" .
4646

4747
git checkout $CURRENT_BRANCH || true
4848
chown $USER_ID:$USER_GROUP -R "$OUTPUT_DIR"

vendor/github.com/cloudbase/garm-provider-common/execution/common/commands.go

Lines changed: 99 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/cloudbase/garm-provider-common/execution/interface.go renamed to vendor/github.com/cloudbase/garm-provider-common/execution/common/interface.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/cloudbase/garm-provider-common/execution/commands.go renamed to vendor/github.com/cloudbase/garm-provider-common/execution/common/versions.go

Lines changed: 5 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)