summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Allom <yeled@github.com>2018-03-12 15:23:53 -0400
committerGitHub <noreply@github.com>2018-03-12 15:23:53 -0400
commit46904076bcdfed94db5b0932f378442a348eea08 (patch)
tree2e36910921d18a63723f832d198323b02f1d542c
parent3457db1f8a454a5a62fec04510e244274d92a667 (diff)
parente7c002423c44bba0e05ebb3c3cad4250c161736c (diff)
Merge pull request #1208 from wk/ssh-key-passphrase
Introduce support for OXIDIZED_SSH_PASSPHRASE for githubrepo hook
-rw-r--r--docs/Hooks.md2
-rw-r--r--lib/oxidized/hook/githubrepo.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/docs/Hooks.md b/docs/Hooks.md
index d52ee08..1d263fb 100644
--- a/docs/Hooks.md
+++ b/docs/Hooks.md
@@ -72,6 +72,8 @@ This hook configures the repository `remote` and _push_ the code when the specif
* `publickey`: publickey for repository auth.
* `privatekey`: privatekey for repository auth.
+It is also possible to set the environment variable `OXIDIZED_SSH_PASSPHRASE` to a passphrase if your keypair requires it.
+
When using groups repositories, each group must have its own `remote` in the `remote_repo` config.
```yaml
diff --git a/lib/oxidized/hook/githubrepo.rb b/lib/oxidized/hook/githubrepo.rb
index d33e54e..f74b22a 100644
--- a/lib/oxidized/hook/githubrepo.rb
+++ b/lib/oxidized/hook/githubrepo.rb
@@ -51,7 +51,7 @@ class GithubRepo < Oxidized::Hook
else
if cfg.has_key?('publickey') && cfg.has_key?('privatekey')
log "Using ssh auth with key", :debug
- Rugged::Credentials::SshKey.new(username: 'git', publickey: File.expand_path(cfg.publickey), privatekey: File.expand_path(cfg.privatekey))
+ Rugged::Credentials::SshKey.new(username: 'git', publickey: File.expand_path(cfg.publickey), privatekey: File.expand_path(cfg.privatekey), passphrase: ENV["OXIDIZED_SSH_PASSPHRASE"])
else
log "Using ssh auth with agentforwarding", :debug
Rugged::Credentials::SshKeyFromAgent.new(username: 'git')