feat: load buildkit config from string instead of file (#37)

This commit is contained in:
Robert Kaussow
2021-07-25 14:28:33 +02:00
committed by GitHub
parent 8f25682501
commit a5a561fd91
5 changed files with 19 additions and 21 deletions

View File

@@ -2,7 +2,6 @@ package plugin
import (
"fmt"
"io/ioutil"
"os"
"os/exec"
"path/filepath"
@@ -27,7 +26,7 @@ type Daemon struct {
MTU string // Docker daemon mtu setting
IPv6 bool // Docker daemon IPv6 networking
Experimental bool // Docker daemon enable experimental mode
BuildkitConfig string // Docker buildkit config file
BuildkitConfig string // Docker buildkit config
}
// Login defines Docker login parameters.
@@ -78,12 +77,6 @@ func (p *Plugin) Validate() error {
p.settings.Build.Ref = p.pipeline.Commit.Ref
p.settings.Daemon.Registry = p.settings.Login.Registry
if p.settings.Daemon.BuildkitConfig != "" {
if _, err := os.Stat(p.settings.Daemon.BuildkitConfig); err != nil && os.IsNotExist(err) {
return fmt.Errorf("given buildkit config file not found")
}
}
if p.settings.Build.TagsAuto {
// return true if tag event or default branch
if UseDefaultTag(
@@ -131,7 +124,7 @@ func (p *Plugin) Execute() error {
os.MkdirAll(dockerHome, 0600)
path := filepath.Join(dockerHome, "config.json")
err := ioutil.WriteFile(path, []byte(p.settings.Login.Config), 0600)
err := os.WriteFile(path, []byte(p.settings.Login.Config), 0600)
if err != nil {
return fmt.Errorf("error writing config.json: %s", err)
}
@@ -146,6 +139,13 @@ func (p *Plugin) Execute() error {
}
}
if p.settings.Daemon.BuildkitConfig != "" {
err := os.WriteFile(buildkitConfig, []byte(p.settings.Daemon.BuildkitConfig), 0600)
if err != nil {
return fmt.Errorf("error writing buildkit.json: %s", err)
}
}
switch {
case p.settings.Login.Password != "":
fmt.Println("Detected registry credentials")