Skip to content

Commit

Permalink
Merge pull request #455 from dgageot/kaniko-home
Browse files Browse the repository at this point in the history
Support ~ in secret path for Kaniko
  • Loading branch information
tejal29 committed May 16, 2018
2 parents 64b44b3 + 313b3b5 commit 762c3ad
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 4 deletions.
2 changes: 1 addition & 1 deletion examples/kaniko/skaffold.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ build:
- imageName: gcr.io/k8s-skaffold/skaffold-example
kaniko:
gcsBucket: k8s-skaffold
pullSecret: /a/secret/path/kaniko.json
pullSecret: ~/secrets/kaniko/kaniko.json
deploy:
kubectl:
manifests:
Expand Down
26 changes: 23 additions & 3 deletions pkg/skaffold/schema/v1alpha2/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"fmt"

"github.com/GoogleContainerTools/skaffold/pkg/skaffold/constants"
homedir "github.com/mitchellh/go-homedir"

"github.com/pkg/errors"
"github.com/sirupsen/logrus"
Expand Down Expand Up @@ -163,18 +164,21 @@ func (c *SkaffoldConfig) Parse(contents []byte, useDefaults bool) error {
}

if useDefaults {
c.setDefaultValues()
if err := c.setDefaultValues(); err != nil {
return errors.Wrap(err, "applying default values")
}
}

return nil
}

func (c *SkaffoldConfig) setDefaultValues() {
func (c *SkaffoldConfig) setDefaultValues() error {
c.defaultToLocalBuild()
c.defaultToDockerArtifacts()
c.setDefaultTagger()
c.setDefaultDockerfiles()
c.setDefaultWorkspaces()
return c.expandKanikoSecretPath()
}

func (c *SkaffoldConfig) defaultToLocalBuild() {
Expand Down Expand Up @@ -222,6 +226,20 @@ func (c *SkaffoldConfig) setDefaultWorkspaces() {
}
}

func (c *SkaffoldConfig) expandKanikoSecretPath() error {
if c.Build.KanikoBuild == nil || c.Build.KanikoBuild.PullSecret == "" {
return nil
}

absPath, err := homedir.Expand(c.Build.KanikoBuild.PullSecret)
if err != nil {
return fmt.Errorf("unable to expand pullSecret %s", c.Build.KanikoBuild.PullSecret)
}

c.Build.KanikoBuild.PullSecret = absPath
return nil
}

// ApplyProfiles returns configuration modified by the application
// of a list of profiles.
func (c *SkaffoldConfig) ApplyProfiles(profiles []string) error {
Expand All @@ -240,8 +258,10 @@ func (c *SkaffoldConfig) ApplyProfiles(profiles []string) error {
}
}

c.setDefaultValues()
c.Profiles = nil
if err := c.setDefaultValues(); err != nil {
return errors.Wrap(err, "applying default values")
}

return nil
}
Expand Down

0 comments on commit 762c3ad

Please sign in to comment.