commit
d83338e372
|
|
@ -176,7 +176,9 @@ If you are using Azure Blob Storage for context file, you will need to pass [Azu
|
||||||
You can use `Personal Access Tokens` for Build Contexts from Private Repositories from [GitHub](https://blog.github.com/2012-09-21-easier-builds-and-deployments-using-git-over-https-and-oauth/).
|
You can use `Personal Access Tokens` for Build Contexts from Private Repositories from [GitHub](https://blog.github.com/2012-09-21-easier-builds-and-deployments-using-git-over-https-and-oauth/).
|
||||||
|
|
||||||
You can either pass this in as part of the git URL (e.g., `git://TOKEN@github.com/acme/myproject.git#refs/heads/mybranch`)
|
You can either pass this in as part of the git URL (e.g., `git://TOKEN@github.com/acme/myproject.git#refs/heads/mybranch`)
|
||||||
or using the environment variable `GIT_USERNAME`.
|
or using the environment variable `GIT_TOKEN`.
|
||||||
|
|
||||||
|
You can also pass `GIT_USERNAME` and `GIT_PASSWORD` (password being the token) if you want to be explicit about the username.
|
||||||
|
|
||||||
### Using Standard Input
|
### Using Standard Input
|
||||||
If running kaniko and using Standard Input build context, you will need to add the docker or kubernetes `-i, --interactive` flag.
|
If running kaniko and using Standard Input build context, you will need to add the docker or kubernetes `-i, --interactive` flag.
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ const (
|
||||||
|
|
||||||
gitAuthUsernameEnvKey = "GIT_USERNAME"
|
gitAuthUsernameEnvKey = "GIT_USERNAME"
|
||||||
gitAuthPasswordEnvKey = "GIT_PASSWORD"
|
gitAuthPasswordEnvKey = "GIT_PASSWORD"
|
||||||
|
gitAuthTokenEnvKey = "GIT_TOKEN"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
@ -65,6 +66,11 @@ func (g *Git) UnpackTarFromBuildContext() (string, error) {
|
||||||
func getGitAuth() transport.AuthMethod {
|
func getGitAuth() transport.AuthMethod {
|
||||||
username := os.Getenv(gitAuthUsernameEnvKey)
|
username := os.Getenv(gitAuthUsernameEnvKey)
|
||||||
password := os.Getenv(gitAuthPasswordEnvKey)
|
password := os.Getenv(gitAuthPasswordEnvKey)
|
||||||
|
token := os.Getenv(gitAuthTokenEnvKey)
|
||||||
|
if token != "" {
|
||||||
|
username = token
|
||||||
|
password = ""
|
||||||
|
}
|
||||||
if username != "" || password != "" {
|
if username != "" || password != "" {
|
||||||
return &http.BasicAuth{
|
return &http.BasicAuth{
|
||||||
Username: username,
|
Username: username,
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,28 @@ func TestGetGitAuth(t *testing.T) {
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
testName: "withToken",
|
||||||
|
setEnv: func() (expectedValue transport.AuthMethod) {
|
||||||
|
token := "some-other-token"
|
||||||
|
_ = os.Setenv(gitAuthTokenEnvKey, token)
|
||||||
|
expectedValue = &http.BasicAuth{Username: token}
|
||||||
|
return
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
testName: "withTokenUsernamePassword",
|
||||||
|
setEnv: func() (expectedValue transport.AuthMethod) {
|
||||||
|
username := "foo-user"
|
||||||
|
token := "some-token-45678"
|
||||||
|
pass := "some-password-12345"
|
||||||
|
_ = os.Setenv(gitAuthUsernameEnvKey, username)
|
||||||
|
_ = os.Setenv(gitAuthPasswordEnvKey, pass)
|
||||||
|
_ = os.Setenv(gitAuthTokenEnvKey, token)
|
||||||
|
expectedValue = &http.BasicAuth{Username: token}
|
||||||
|
return
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue