job/osbuild: move utility the container package

Extract a helper method that parses the reference and applies
defaults, i.e. registry and path, and move it to the contaier
package.
This commit is contained in:
Ygal Blum 2022-07-27 09:09:19 +03:00 committed by Tom Gundersen
parent 3231aabbc0
commit 64a3aac895
2 changed files with 21 additions and 14 deletions

View file

@ -208,25 +208,13 @@ func uploadToS3(a *awscloud.AWS, outputDirectory, exportPath, bucket, key, filen
}
func (impl *OSBuildJobImpl) getContainerClient(destination string, targetOptions *target.ContainerTargetOptions) (*container.Client, error) {
useImpl := false
i := strings.IndexRune(destination, '/')
if i == -1 || (!strings.ContainsAny(destination[:i], ".:") && destination[:i] != "localhost") {
if impl.ContainersConfig.Domain != "" {
base := impl.ContainersConfig.Domain
if impl.ContainersConfig.Account != "" {
base = fmt.Sprintf("%s/%s", base, impl.ContainersConfig.Account)
}
destination = fmt.Sprintf("%s/%s", base, destination)
useImpl = true
}
}
destination, appliedDefaults := container.ApplyDefaultDomainPath(destination, impl.ContainersConfig.Domain, impl.ContainersConfig.Account)
client, err := container.NewClient(destination)
if err != nil {
return nil, err
}
if useImpl {
if appliedDefaults {
if impl.ContainersConfig.CertPath != "" {
client.SetDockerCertPath(impl.ContainersConfig.CertPath)
}