Skip to content
This repository was archived by the owner on Aug 2, 2021. It is now read-only.

Commit 427c918

Browse files
committed
advertise worker version in /info and /workers
/info endpoint will show required worker version, /workers now show current worker versions concourse/concourse#1048
1 parent e390fcc commit 427c918

File tree

8 files changed

+21
-8
lines changed

8 files changed

+21
-8
lines changed

api/api_suite_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ var _ = BeforeEach(func() {
204204

205205
cliDownloadsDir,
206206
"1.2.3",
207+
"4.5.6",
207208
)
208209
Expect(err).NotTo(HaveOccurred())
209210

api/handler.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ func NewHandler(
7474

7575
cliDownloadsDir string,
7676
version string,
77+
workerVersion string,
7778
) (http.Handler, error) {
7879
absCLIDownloadsDir, err := filepath.Abs(cliDownloadsDir)
7980
if err != nil {
@@ -128,7 +129,7 @@ func NewHandler(
128129

129130
teamServer := teamserver.NewServer(logger, dbTeamFactory)
130131

131-
infoServer := infoserver.NewServer(logger, version)
132+
infoServer := infoserver.NewServer(logger, version, workerVersion)
132133

133134
handlers := map[string]http.Handler{
134135
atc.ListAuthMethods: http.HandlerFunc(authServer.ListAuthMethods),

api/info_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ var _ = Describe("Pipelines API", func() {
2424
Expect(err).NotTo(HaveOccurred())
2525

2626
Expect(body).To(MatchJSON(`{
27-
"version": "1.2.3"
27+
"version": "1.2.3",
28+
"worker_version": "4.5.6"
2829
}`))
2930
})
3031
})

api/infoserver/info.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ import (
88
)
99

1010
func (s *Server) Info(w http.ResponseWriter, r *http.Request) {
11-
json.NewEncoder(w).Encode(atc.Info{Version: s.version})
11+
json.NewEncoder(w).Encode(atc.Info{Version: s.version, WorkerVersion: s.workerVersion})
1212
}

api/infoserver/server.go

+7-4
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@ package infoserver
33
import "code.cloudfoundry.org/lager"
44

55
type Server struct {
6-
logger lager.Logger
7-
version string
6+
logger lager.Logger
7+
version string
8+
workerVersion string
89
}
910

1011
func NewServer(
1112
logger lager.Logger,
1213
version string,
14+
workerVersion string,
1315
) *Server {
1416
return &Server{
15-
logger: logger,
16-
version: version,
17+
logger: logger,
18+
version: version,
19+
workerVersion: workerVersion,
1720
}
1821
}

api/present/worker.go

+5
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ func Worker(workerInfo dbng.Worker) atc.Worker {
1414
if workerInfo.BaggageclaimURL() != nil {
1515
baggageclaimURL = *workerInfo.BaggageclaimURL()
1616
}
17+
version := ""
18+
if workerInfo.Version() != nil {
19+
version = *workerInfo.Version()
20+
}
1721

1822
return atc.Worker{
1923
GardenAddr: gardenAddr,
@@ -28,5 +32,6 @@ func Worker(workerInfo dbng.Worker) atc.Worker {
2832
Name: workerInfo.Name(),
2933
Team: workerInfo.TeamName(),
3034
State: string(workerInfo.State()),
35+
Version: version,
3136
}
3237
}

atccmd/command.go

+1
Original file line numberDiff line numberDiff line change
@@ -940,6 +940,7 @@ func (cmd *ATCCommand) constructAPIHandler(
940940

941941
cmd.CLIArtifactsDir.Path(),
942942
Version,
943+
WorkerVersion,
943944
)
944945
}
945946

info.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package atc
22

33
type Info struct {
4-
Version string `json:"version"`
4+
Version string `json:"version"`
5+
WorkerVersion string `json:"worker_version"`
56
}

0 commit comments

Comments
 (0)