1
0
Fork 0
mirror of https://github.com/imjasonh/kontain.me synced 2026-07-08 09:04:54 +00:00

Auth fixes

This commit is contained in:
Jason Hall 2019-05-16 08:17:56 -04:00
parent f1d8a3388f
commit d1adfb1479
2 changed files with 3 additions and 23 deletions

View file

@ -244,7 +244,7 @@ func (s *server) prepareWorkspace(tok string) (string, string, error) {
} }
os.Setenv("HOME", home) os.Setenv("HOME", home)
// Write Docker config. // Write Docker config with user credentials.
auth := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("oauth2accesstoken:%s", tok))) auth := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("oauth2accesstoken:%s", tok)))
configJSON := fmt.Sprintf(`{ configJSON := fmt.Sprintf(`{
"auths": { "auths": {
@ -279,7 +279,6 @@ func (s *server) fetchAndBuild(src, layers, tok string, req *gcb.Build) error {
fmt.Sprintf("chown -R %d:%d %s", os.Geteuid(), os.Getgid(), src), fmt.Sprintf("chown -R %d:%d %s", os.Geteuid(), os.Getgid(), src),
fmt.Sprintf("chown -R %d:%d %s", os.Geteuid(), os.Getgid(), layers), fmt.Sprintf("chown -R %d:%d %s", os.Geteuid(), os.Getgid(), layers),
fmt.Sprintf("wget -qO- %s | tar xz -C %s", source, src), fmt.Sprintf("wget -qO- %s | tar xz -C %s", source, src),
fmt.Sprintf("cat $HOME/.docker/config.json"),
fmt.Sprintf("/lifecycle/detector -app=%s -group=%s/group.toml -plan=%s/plan.toml", src, layers, layers), fmt.Sprintf("/lifecycle/detector -app=%s -group=%s/group.toml -plan=%s/plan.toml", src, layers, layers),
fmt.Sprintf("/lifecycle/analyzer -layers=%s -helpers=false -group=%s/group.toml %s", layers, layers, image), fmt.Sprintf("/lifecycle/analyzer -layers=%s -helpers=false -group=%s/group.toml %s", layers, layers, image),
fmt.Sprintf("/lifecycle/builder -layers=%s -app=%s -group=%s/group.toml -plan=%s/plan.toml", layers, src, layers, layers), fmt.Sprintf("/lifecycle/builder -layers=%s -app=%s -group=%s/group.toml -plan=%s/plan.toml", layers, src, layers, layers),
@ -293,7 +292,7 @@ func (s *server) fetchAndBuild(src, layers, tok string, req *gcb.Build) error {
} }
func (s *server) getImage(image string) (v1.Image, error) { func (s *server) getImage(image string) (v1.Image, error) {
ref, err := name.NewTag(image, name.WeakValidation) ref, err := name.NewTag(image)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -3,7 +3,6 @@ package main
import ( import (
"bytes" "bytes"
"context" "context"
"encoding/base64"
"encoding/json" "encoding/json"
"fmt" "fmt"
"io" "io"
@ -24,7 +23,6 @@ import (
"github.com/google/go-containerregistry/pkg/v1/types" "github.com/google/go-containerregistry/pkg/v1/types"
"github.com/imjasonh/kontain.me/pkg/run" "github.com/imjasonh/kontain.me/pkg/run"
"github.com/imjasonh/kontain.me/pkg/serve" "github.com/imjasonh/kontain.me/pkg/serve"
"golang.org/x/oauth2/google"
) )
var projectID = "" var projectID = ""
@ -211,23 +209,6 @@ func (s *server) resolveCommit(repo, ref string) (string, error) {
} }
func (s *server) prepareWorkspace() (string, string, error) { func (s *server) prepareWorkspace() (string, string, error) {
// Write Docker config.
tok, err := google.ComputeTokenSource("").Token()
if err != nil {
return "", "", fmt.Errorf("getting access token from metadata: %v", err)
}
auth := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("oauth2accesstoken:%s", tok.AccessToken)))
configJSON := fmt.Sprintf(`{
"auths": {
"https://gcr.io": {
"auth": %q
}
}
}`, auth)
if err := run.Do(s.info.Writer(), "mkdir -p ~/.docker/ && cat << EOF > ~/.docker/config.json\n"+string(configJSON)+"\nEOF"); err != nil {
return "", "", err
}
// Create tempdir to store app source. // Create tempdir to store app source.
src, err := ioutil.TempDir("", "") src, err := ioutil.TempDir("", "")
if err != nil { if err != nil {
@ -240,7 +221,7 @@ func (s *server) prepareWorkspace() (string, string, error) {
return "", "", err return "", "", err
} }
// Create and set $HOME. // Create and set $HOME, which is otherwise not writable.
home, err := ioutil.TempDir("", "") home, err := ioutil.TempDir("", "")
if err != nil { if err != nil {
return "", "", err return "", "", err