@ -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" , re gName)
pfx := path . Join ( "certs" , re InvalidCertsDir. ReplaceAllString ( re gName, "_" ) )
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 {