Move authConfig from runtime to registry
							parent
							
								
									4a0228fd8e
								
							
						
					
					
						commit
						0933aa4424
					
				|  | @ -174,41 +174,6 @@ func (r *Registry) GetRemoteTags(registries []string, repository string, token [ | ||||||
| 	return nil, fmt.Errorf("Could not reach any registry endpoint") | 	return nil, fmt.Errorf("Could not reach any registry endpoint") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (r *Registry) getImageForTag(tag, remote, registry string, token []string) (string, error) { |  | ||||||
| 	if !strings.Contains(remote, "/") { |  | ||||||
| 		remote = "library/" + remote |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	registryEndpoint := "https://" + registry + "/v1" |  | ||||||
| 	repositoryTarget := registryEndpoint + "/repositories/" + remote + "/tags/" + tag |  | ||||||
| 
 |  | ||||||
| 	req, err := http.NewRequest("GET", repositoryTarget, nil) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 	req.Header.Set("Authorization", "Token "+strings.Join(token, ", ")) |  | ||||||
| 	res, err := r.client.Do(req) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", fmt.Errorf("Error while retrieving repository info: %s", err) |  | ||||||
| 	} |  | ||||||
| 	defer res.Body.Close() |  | ||||||
| 	if res.StatusCode == 403 { |  | ||||||
| 		return "", fmt.Errorf("You aren't authorized to access this resource") |  | ||||||
| 	} else if res.StatusCode != 200 { |  | ||||||
| 		return "", fmt.Errorf("HTTP code: %d", res.StatusCode) |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	var imgId string |  | ||||||
| 	rawJson, err := ioutil.ReadAll(res.Body) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 	if err := json.Unmarshal(rawJson, &imgId); err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 	return imgId, nil |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (r *Registry) GetRepositoryData(remote string) (*RepositoryData, error) { | func (r *Registry) GetRepositoryData(remote string) (*RepositoryData, error) { | ||||||
| 	utils.Debugf("Pulling repository %s from %s\r\n", remote, auth.IndexServerAddress()) | 	utils.Debugf("Pulling repository %s from %s\r\n", remote, auth.IndexServerAddress()) | ||||||
| 	repositoryTarget := auth.IndexServerAddress() + "/repositories/" + remote + "/images" | 	repositoryTarget := auth.IndexServerAddress() + "/repositories/" + remote + "/images" | ||||||
|  | @ -464,6 +429,13 @@ func (r *Registry) ResetClient(authConfig *auth.AuthConfig) { | ||||||
| 	r.client.Jar = cookiejar.NewCookieJar() | 	r.client.Jar = cookiejar.NewCookieJar() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func (r *Registry) GetAuthConfig() *auth.AuthConfig { | ||||||
|  | 	return &auth.AuthConfig{ | ||||||
|  | 		Username: r.authConfig.Username, | ||||||
|  | 		Email:    r.authConfig.Password, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| type SearchResults struct { | type SearchResults struct { | ||||||
| 	Query      string              `json:"query"` | 	Query      string              `json:"query"` | ||||||
| 	NumResults int                 `json:"num_results"` | 	NumResults int                 `json:"num_results"` | ||||||
|  | @ -487,7 +459,10 @@ type Registry struct { | ||||||
| 	authConfig *auth.AuthConfig | 	authConfig *auth.AuthConfig | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func NewRegistry(authConfig *auth.AuthConfig) *Registry { | func NewRegistry(root string) *Registry { | ||||||
|  | 	// If the auth file does not exist, keep going
 | ||||||
|  | 	authConfig, _ := auth.LoadConfig(root) | ||||||
|  | 
 | ||||||
| 	r := &Registry{ | 	r := &Registry{ | ||||||
| 		authConfig: authConfig, | 		authConfig: authConfig, | ||||||
| 		client:     &http.Client{}, | 		client:     &http.Client{}, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue