Merge pull request #1831 from crazy-max/fix-ctn-certs-path

driver(docker-container): fix incorrect path when writing certs
This commit is contained in:
CrazyMax 2023-05-26 16:15:21 +02:00 committed by GitHub
commit 17bdbbd3c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 1 deletions

View File

@ -5,6 +5,7 @@ import (
"io" "io"
"os" "os"
"path" "path"
"regexp"
"github.com/pelletier/go-toml" "github.com/pelletier/go-toml"
"github.com/pkg/errors" "github.com/pkg/errors"
@ -19,6 +20,8 @@ const (
DefaultBuildKitConfigDir = "/etc/buildkit" DefaultBuildKitConfigDir = "/etc/buildkit"
) )
var reInvalidCertsDir = regexp.MustCompile(`[^a-zA-Z0-9.-]+`)
// LoadConfigFiles creates a temp directory with BuildKit config and // LoadConfigFiles creates a temp directory with BuildKit config and
// registry certificates ready to be copied to a container. // registry certificates ready to be copied to a container.
func LoadConfigFiles(bkconfig string) (map[string][]byte, error) { func LoadConfigFiles(bkconfig string) (map[string][]byte, error) {
@ -60,7 +63,7 @@ func LoadConfigFiles(bkconfig string) (map[string][]byte, error) {
if regConf == nil { if regConf == nil {
continue continue
} }
pfx := path.Join("certs", regName) pfx := path.Join("certs", reInvalidCertsDir.ReplaceAllString(regName, "_"))
if regConf.Has("ca") { if regConf.Has("ca") {
regCAs := regConf.GetArray("ca").([]string) regCAs := regConf.GetArray("ca").([]string)
if len(regCAs) > 0 { if len(regCAs) > 0 {