@@ -3,6 +3,7 @@ package main
3
3
import (
4
4
"bufio"
5
5
"context"
6
+ "encoding/base64"
6
7
"encoding/json"
7
8
"errors"
8
9
"log"
@@ -85,7 +86,7 @@ func (docker *DockerClient) UpdateContainer(containerId string) (err error) {
85
86
docker .panic (name , "Error while fetching container" , err )
86
87
}
87
88
//Pulling Image
88
- authToken := getContainerCredsToken (& containerInfos )
89
+ authToken := docker . getContainerCredsToken (& containerInfos )
89
90
reader , err := docker .cli .ImagePull (ctx , containerInfos .Config .Image , types.ImagePullOptions {All : false , RegistryAuth : authToken })
90
91
if err != nil {
91
92
docker .panic (name , "Error while pulling image:" , err )
@@ -170,13 +171,16 @@ func (docker *DockerClient) print(name string, args ...interface{}) {
170
171
}
171
172
172
173
//Read auth config from container labels and return a base64 encoded string for docker.
173
- func getContainerCredsToken (container * types.ContainerJSON ) string {
174
+ func ( docker * DockerClient ) getContainerCredsToken (container * types.ContainerJSON ) string {
174
175
serveraddress := container .Config .Labels ["docker-ci.auth-server" ]
175
176
password := container .Config .Labels ["docker-ci.password" ]
176
177
username := container .Config .Labels ["docker-ci.username" ]
177
- var auth []byte
178
178
if serveraddress != "" && username != "" && password != "" {
179
- auth , _ = json .Marshal (DockerAuth {Username : username , Password : password , Serveraddress : serveraddress })
179
+ data , err := json .Marshal (DockerAuth {Username : username , Password : password , Serveraddress : serveraddress })
180
+ if err != nil {
181
+ docker .panic (container .Name [1 :], "Error while marshalling auth config:" , err )
182
+ }
183
+ auth := base64 .StdEncoding .EncodeToString (data )
180
184
return string (auth )
181
185
} else {
182
186
return ""
0 commit comments