-
Notifications
You must be signed in to change notification settings - Fork 610
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2631 from canidam/add-bootstrap-git-pass-from-std…
…in-and-env bootstrap git: Allow the password to be specified with GIT_PASSWORD env var
- Loading branch information
Showing
1 changed file
with
20 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -53,6 +53,9 @@ command will perform an upgrade if needed.`, | |
# Run bootstrap for a Git repository and authenticate using a password | ||
flux bootstrap git --url=https://example.com/repository.git --password=<password> | ||
# Run bootstrap for a Git repository and authenticate using a password from environment variable | ||
GIT_PASSWORD=<password> && flux bootstrap git --url=https://example.com/repository.git | ||
# Run bootstrap for a Git repository with a passwordless private key | ||
flux bootstrap git --url=ssh://[email protected]/repository.git --private-key-file=<path/to/private.key> | ||
|
@@ -71,6 +74,10 @@ type gitFlags struct { | |
silent bool | ||
} | ||
|
||
const ( | ||
gitPasswordEnvVar = "GIT_PASSWORD" | ||
) | ||
|
||
var gitArgs gitFlags | ||
|
||
func init() { | ||
|
@@ -85,6 +92,19 @@ func init() { | |
} | ||
|
||
func bootstrapGitCmdRun(cmd *cobra.Command, args []string) error { | ||
gitPassword := os.Getenv(gitPasswordEnvVar) | ||
if gitPassword != "" && gitArgs.password == "" { | ||
gitArgs.password = gitPassword | ||
} | ||
if bootstrapArgs.tokenAuth && gitArgs.password == "" { | ||
var err error | ||
gitPassword, err = readPasswordFromStdin("Please enter your Git repository password: ") | ||
if err != nil { | ||
return fmt.Errorf("could not read token: %w", err) | ||
} | ||
gitArgs.password = gitPassword | ||
} | ||
|
||
if err := bootstrapValidate(); err != nil { | ||
return err | ||
} | ||
|