Skip to content

Commit 9e3775c

Browse files
helltschien
andauthored
Use bond agent (#7)
* Fix gnmic compilation issues and import bond * Update srl image to 24.3.3 * Add initial changes to use bond * use go workspaces and update the deps * move app name/root to the greeter package * put in a workaround for a doubled module path * use app root const * add bond get req helper * using bond 0.1.0.rc1 * delete metadata from the app's code, as it is handled by bond * added read all permissions for a log file * fix start marker * Fix greeter constant marker * call compress before packaging * build app before compress * remove log file creation and let the app create it * added goreleaser * added v2 goreleaser * gate with the v tag action * fix deprecated field * remove permissions scope and use project variable in the nfpms * remove upx for quick tests * added missing template step * use the right gemfury url * bring back upx * added postinstall script * added run.sh formatting and build without race when no debug is used * added golangi lint and handle update State error * added goimports * update gofumpt * added lint step * added build depends on lint * use race always when building locally * calculate uptime * fix greeting msg --------- Co-authored-by: schien <[email protected]>
1 parent 99e2a51 commit 9e3775c

File tree

14 files changed

+407
-668
lines changed

14 files changed

+407
-668
lines changed

.github/workflows/cicd.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Test, Build and Publish NDK app
2+
3+
"on":
4+
push:
5+
branches: ["main"]
6+
tags:
7+
- "v*"
8+
pull_request:
9+
10+
env:
11+
GO_VER: "1.22.6"
12+
GORELEASER_VER: v2.3.2
13+
14+
jobs:
15+
lint:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Set up Go
24+
uses: WillAbides/[email protected]
25+
with:
26+
go-version: ${{ env.GO_VER }}
27+
28+
- name: Cache go modules
29+
uses: actions/cache@v4
30+
with:
31+
# In order:
32+
# * Module download cache
33+
# * Build cache (Linux)
34+
path: |
35+
~/go/pkg/mod
36+
~/.cache/go-build
37+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
38+
restore-keys: |
39+
${{ runner.os }}-go-
40+
41+
- name: Lint
42+
run: |
43+
./run.sh golangci-lint
44+
45+
build-release:
46+
runs-on: ubuntu-latest
47+
if: startsWith(github.ref, 'refs/tags/v')
48+
needs: lint
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
with:
53+
fetch-depth: 0
54+
55+
- name: Set up Go
56+
uses: WillAbides/[email protected]
57+
with:
58+
go-version: ${{ env.GO_VER }}
59+
60+
- name: Cache go modules
61+
uses: actions/cache@v4
62+
with:
63+
# In order:
64+
# * Module download cache
65+
# * Build cache (Linux)
66+
path: |
67+
~/go/pkg/mod
68+
~/.cache/go-build
69+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
70+
restore-keys: |
71+
${{ runner.os }}-go-
72+
73+
- name: Template app yaml
74+
run: |
75+
./run.sh template-app
76+
77+
- name: Run GoReleaser
78+
uses: goreleaser/goreleaser-action@v6
79+
with:
80+
version: ${{ env.GORELEASER_VER }}
81+
args: release --clean --verbose
82+
env:
83+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
84+
FURY_TOKEN: ${{ secrets.FURY_PUSH_TOKEN }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ build
3737
debug/apt.log
3838
# hard-linked dlv binary
3939
debug/dlv
40+
41+
# go workspaces
42+
go.work*

go.mod

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
11
module github.com/srl-labs/ndk-greeter-go
22

3-
go 1.20
3+
go 1.21.1
44

55
require (
66
github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91
7-
github.com/nokia/srlinux-ndk-go v0.2.0
8-
github.com/openconfig/gnmic/pkg/api v0.1.1
9-
github.com/openconfig/gnmic/pkg/target v0.1.1
10-
github.com/rs/zerolog v1.31.0
11-
google.golang.org/grpc v1.59.0
12-
google.golang.org/protobuf v1.33.0
7+
github.com/openconfig/gnmic/pkg/api v0.1.8
8+
github.com/rs/zerolog v1.33.0
9+
github.com/srl-labs/bond v0.1.0-rc1
1310
gopkg.in/natefinch/lumberjack.v2 v2.2.1
1411
)
1512

1613
require (
17-
cloud.google.com/go/compute v1.23.0 // indirect
18-
cloud.google.com/go/compute/metadata v0.2.3 // indirect
14+
cloud.google.com/go/compute/metadata v0.5.1 // indirect
1915
github.com/AlekSi/pointer v1.2.0 // indirect
20-
github.com/bufbuild/protocompile v0.6.0 // indirect
21-
github.com/golang/protobuf v1.5.3 // indirect
22-
github.com/jhump/protoreflect v1.15.3 // indirect
16+
github.com/bufbuild/protocompile v0.14.1 // indirect
17+
github.com/golang/protobuf v1.5.4 // indirect
18+
github.com/jhump/protoreflect v1.17.0 // indirect
2319
github.com/mattn/go-colorable v0.1.13 // indirect
24-
github.com/mattn/go-isatty v0.0.19 // indirect
25-
github.com/openconfig/gnmi v0.10.0 // indirect
26-
github.com/openconfig/gnmic/pkg/path v0.1.1 // indirect
27-
github.com/openconfig/gnmic/pkg/types v0.1.1 // indirect
28-
github.com/openconfig/gnmic/pkg/utils v0.1.0 // indirect
20+
github.com/mattn/go-isatty v0.0.20 // indirect
21+
github.com/nokia/srlinux-ndk-go v0.4.0-rc1 // indirect
22+
github.com/openconfig/gnmi v0.11.0 // indirect
2923
github.com/openconfig/grpctunnel v0.1.0 // indirect
30-
golang.org/x/net v0.23.0 // indirect
31-
golang.org/x/oauth2 v0.13.0 // indirect
32-
golang.org/x/sys v0.18.0 // indirect
33-
golang.org/x/text v0.14.0 // indirect
34-
google.golang.org/appengine v1.6.7 // indirect
35-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
24+
golang.org/x/net v0.29.0 // indirect
25+
golang.org/x/oauth2 v0.23.0 // indirect
26+
golang.org/x/sys v0.25.0 // indirect
27+
golang.org/x/text v0.18.0 // indirect
28+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
29+
google.golang.org/grpc v1.66.2 // indirect
30+
google.golang.org/protobuf v1.34.2 // indirect
3631
)
32+
33+
// this is a fix to a weird deps issue
34+
// cloud.google.com/go/compute/metadata in multiple modules:
35+
// cloud.google.com/go v0.26.0
36+
// cloud.google.com/go/compute/metadata v0.5.1
37+
// not quite sure who is relient on v0.26.0 in the build cache, but this old package had a metadata module,
38+
// and after v0.100 it has been moved to a separate module, so this is a workaround to force the correct version selection
39+
replace cloud.google.com/go => cloud.google.com/go v0.115.1
40+
41+
// same thing for google.golang.org/genproto https://github.com/googleapis/go-genproto/issues/1015
42+
replace google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1

go.sum

Lines changed: 45 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,65 @@
1-
cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY=
2-
cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
3-
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
4-
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
1+
cloud.google.com/go/compute/metadata v0.5.1 h1:NM6oZeZNlYjiwYje+sYFjEpP0Q0zCan1bmQW/KmIrGs=
2+
cloud.google.com/go/compute/metadata v0.5.1/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
53
github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w=
64
github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0=
75
github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91 h1:vX+gnvBc56EbWYrmlhYbFYRaeikAke1GL84N4BEYOFE=
86
github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91/go.mod h1:cDLGBht23g0XQdLjzn6xOGXDkLK182YfINAaZEQLCHQ=
9-
github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY=
10-
github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE=
7+
github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw=
8+
github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c=
119
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
10+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
11+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1212
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
13-
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
14-
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
15-
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
16-
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
17-
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
13+
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
14+
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
1815
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
19-
github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
20-
github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k=
16+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
17+
github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=
18+
github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8=
2119
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
2220
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
2321
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
24-
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
2522
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
26-
github.com/nokia/srlinux-ndk-go v0.2.0 h1:ivQDPuBD2nFcei2sKCldJuEijouvUT3KozSpqeIq2og=
27-
github.com/nokia/srlinux-ndk-go v0.2.0/go.mod h1:PHN67Ovo1q6rpt00S2TD2h9CR4qaP13zPwApUXuGl2Y=
28-
github.com/openconfig/gnmi v0.10.0 h1:kQEZ/9ek3Vp2Y5IVuV2L/ba8/77TgjdXg505QXvYmg8=
29-
github.com/openconfig/gnmi v0.10.0/go.mod h1:Y9os75GmSkhHw2wX8sMsxfI7qRGAEcDh8NTa5a8vj6E=
30-
github.com/openconfig/gnmic/pkg/api v0.1.1 h1:9d7mhVdoz9k+73h9qoWvwcTpmWvLhjavHg1jyuRGq6Y=
31-
github.com/openconfig/gnmic/pkg/api v0.1.1/go.mod h1:kX1bJnTRTuYyvceHLcs8JDkLL3QzTpaeYVfQGphYWE4=
32-
github.com/openconfig/gnmic/pkg/path v0.1.1 h1:C6vZTC0NsMOGyre7ueXRS8vmYvCW9sdHKQ5cqWYiNPw=
33-
github.com/openconfig/gnmic/pkg/path v0.1.1/go.mod h1:Z2Ejm3UIO7WDxlXsnJmzE7/lnWe/0neCuXW6QDwmYHQ=
34-
github.com/openconfig/gnmic/pkg/target v0.1.1 h1:/XA3cFs3FTb2Bli4TdvLYf0b/ifMX1gDOMY+f8LcTr0=
35-
github.com/openconfig/gnmic/pkg/target v0.1.1/go.mod h1:5NF5rtYCt7e7wygyi5kUUU6YsrFLD62kDB2jaCwFUbk=
36-
github.com/openconfig/gnmic/pkg/testutils v0.1.0 h1:Mw6LKGqzXQnrI9fCtaCAp3pFDy2B0+rKQFtjCqQWJwM=
37-
github.com/openconfig/gnmic/pkg/types v0.1.1 h1:LczdQ/eTsnMkHJvOdu2Q5UpNqdjnzNPsjAL0fhCK410=
38-
github.com/openconfig/gnmic/pkg/types v0.1.1/go.mod h1:Gwc9suBy/s17bP8BaCrp3dE5E+RkcHqVIkFqdXopog4=
39-
github.com/openconfig/gnmic/pkg/utils v0.1.0 h1:MqRhW8oJdPpBb1UprbnpDxciBJVjl/Gw97xuNoBG3Vs=
40-
github.com/openconfig/gnmic/pkg/utils v0.1.0/go.mod h1:DQm/e8cdRwdmUORjODWteDU0HG0CWNYBAhLWqnPQegE=
23+
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
24+
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
25+
github.com/nokia/srlinux-ndk-go v0.4.0-rc1 h1:Hjps8uWMLIXheghyyEDTMu9f03pt9ImKal8CT5YLc9M=
26+
github.com/nokia/srlinux-ndk-go v0.4.0-rc1/go.mod h1:PHN67Ovo1q6rpt00S2TD2h9CR4qaP13zPwApUXuGl2Y=
27+
github.com/openconfig/gnmi v0.11.0 h1:H7pLIb/o3xObu3+x0Fv9DCK7TH3FUh7mNwbYe+34hFw=
28+
github.com/openconfig/gnmi v0.11.0/go.mod h1:9oJSQPPCpNvfMRj8e4ZoLVAw4wL8HyxXbiDlyuexCGU=
29+
github.com/openconfig/gnmic/pkg/api v0.1.8 h1:3N9oFduU204Ta3g7r3dC4pcYdT/Dr7PrSC13Lyc7Ymc=
30+
github.com/openconfig/gnmic/pkg/api v0.1.8/go.mod h1:WbME6stT7zcYzQnCwQO42a23WgZRqFQVGVsp0C4FHtc=
4131
github.com/openconfig/grpctunnel v0.1.0 h1:EN99qtlExZczgQgp5ANnHRC/Rs62cAG+Tz2BQ5m/maM=
4232
github.com/openconfig/grpctunnel v0.1.0/go.mod h1:G04Pdu0pml98tdvXrvLaU+EBo3PxYfI9MYqpvdaEHLo=
4333
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
34+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
35+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
4436
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
45-
github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A=
46-
github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
47-
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
48-
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
49-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
50-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
51-
golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY=
52-
golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
53-
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
54-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
37+
github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
38+
github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
39+
github.com/srl-labs/bond v0.1.0-rc1 h1:rUe4vY2czf9g6wmdYKjA0VlBtuoIDM/IQWaALe8j18w=
40+
github.com/srl-labs/bond v0.1.0-rc1/go.mod h1:6n1azbfvG156cifOgPvNuDfFB3/PYjwELtaxKiK4JDA=
41+
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
42+
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
43+
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
44+
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
45+
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
46+
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
47+
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
48+
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
5549
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
5650
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
5751
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
58-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
59-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
60-
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
61-
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
62-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
63-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
64-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
65-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
66-
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
67-
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
68-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
69-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
70-
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
71-
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
72-
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
73-
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
74-
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
75-
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
52+
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
53+
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
54+
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
55+
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
56+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ=
57+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
58+
google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo=
59+
google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
60+
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
61+
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
7662
gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
7763
gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
64+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
65+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

goreleaser.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
version: 2
2+
project_name: greeter
3+
builds:
4+
- id: bin
5+
env:
6+
- CGO_ENABLED=0
7+
flags:
8+
- -trimpath
9+
ldflags:
10+
- -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}}
11+
gcflags:
12+
- all=-N -l
13+
goos:
14+
- linux
15+
goarch:
16+
- amd64
17+
18+
upx:
19+
- enabled: true
20+
compress: best
21+
22+
archives:
23+
- name_template: '{{ .ProjectName }}_{{ replace .Version "v" "" }}_{{ .Os }}_{{ .Arch }}'
24+
files:
25+
- yang/**/*
26+
- "{{ .ProjectName }}.yml"
27+
28+
checksum:
29+
name_template: checksums.txt
30+
31+
snapshot:
32+
version_template: "{{ .Tag }}-next"
33+
34+
publishers:
35+
- name: fury.io deb/rpm packages
36+
ids:
37+
- greeter-nfpms # this id belongs to nfpm section and is used to only upload artifacts from nfpm
38+
dir: "{{ dir .ArtifactPath }}"
39+
cmd: curl -F package=@{{ .ArtifactName }} https://{{ .Env.FURY_TOKEN }}@push.fury.io/srlinux/
40+
41+
release:
42+
prerelease: auto
43+
44+
changelog:
45+
use: github-native
46+
47+
nfpms:
48+
- id: greeter-nfpms
49+
file_name_template: '{{ .ProjectName }}_{{ replace .Version "v" "" }}_{{ .Os }}_{{ .Arch }}'
50+
package_name: ndk-{{ .ProjectName }}-go
51+
maintainer: Roman Dodin <[email protected]>
52+
homepage: https://learn.srlinux.dev
53+
description: |
54+
Greeter NDK app
55+
vendor: Nokia
56+
license: GNU GPLv3
57+
formats:
58+
- deb
59+
scripts:
60+
postinstall: postinstall.sh
61+
bindir: /usr/local/bin
62+
contents:
63+
- src: ./yang
64+
dst: /opt/{{ .ProjectName }}/yang
65+
- src: ./{{ .ProjectName }}.yml
66+
dst: /etc/opt/srlinux/appmgr/

0 commit comments

Comments
 (0)