Skip to content

Commit 8136bec

Browse files
committed
removing username being mandatory with password in source secret with test
1 parent 4d76ff4 commit 8136bec

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

cmd/flux/create_secret_git.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ func createSecretGitCmdRun(cmd *cobra.Command, args []string) error {
151151
opts.ECDSACurve = secretGitArgs.ecdsaCurve.Curve
152152
opts.Password = secretGitArgs.password
153153
case "http", "https":
154-
if (secretGitArgs.username == "" || secretGitArgs.password == "") && secretGitArgs.bearerToken == "" {
154+
if secretGitArgs.password == "" && secretGitArgs.bearerToken == "" {
155155
return fmt.Errorf("for Git over HTTP/S the username and password, or a bearer token is required")
156156
}
157157
opts.Username = secretGitArgs.username
158158
opts.Password = secretGitArgs.password
159159
opts.BearerToken = secretGitArgs.bearerToken
160-
if secretGitArgs.username != "" && secretGitArgs.password != "" && secretGitArgs.bearerToken != "" {
160+
if secretGitArgs.password != "" && secretGitArgs.bearerToken != "" {
161161
return fmt.Errorf("user credentials and bearer token cannot be used together")
162162
}
163163
if secretGitArgs.caFile != "" {

cmd/flux/create_secret_git_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ func TestCreateGitSecret(t *testing.T) {
4040
args: "create secret git podinfo-auth --url=https://github.com/stefanprodan/podinfo --username=aaa --password=zzzz --bearer-token=aaaa --namespace=my-namespace --export",
4141
assert: assertError("user credentials and bearer token cannot be used together"),
4242
},
43+
{
44+
name: "git authentication with basic auth consisting of only one password without a username",
45+
args: "create secret git podinfo-auth --url=https://github.com/stefanprodan/podinfo --password=my-password --namespace=my-namespace --export",
46+
assert: assertGoldenFile("./testdata/create_secret/git/secret-git-only-pwd.yaml"),
47+
},
4348
}
4449

4550
for _, tt := range tests {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: podinfo-auth
6+
namespace: my-namespace
7+
stringData:
8+
password: my-password
9+

pkg/manifestgen/sourcesecret/sourcesecret.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,10 @@ func buildSecret(keypair *ssh.KeyPair, hostKey, caFile, certFile, keyFile, docke
148148
return
149149
}
150150

151-
if options.Username != "" && options.Password != "" {
152-
secret.StringData[UsernameSecretKey] = options.Username
151+
if options.Password != "" {
152+
if options.Username != "" {
153+
secret.StringData[UsernameSecretKey] = options.Username
154+
}
153155
secret.StringData[PasswordSecretKey] = options.Password
154156
}
155157
if options.BearerToken != "" {

0 commit comments

Comments
 (0)