From 415e0bf114c70f6a6c527bec863d267c28fc402e Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 8 Jan 2018 16:46:16 +0100 Subject: [PATCH] shell: Honor SSH_PRIVATE_KEY environment variable Signed-off-by: Daniel Wagner --- kas/shell.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kas/shell.py b/kas/shell.py index af580bf..16cc5cc 100644 --- a/kas/shell.py +++ b/kas/shell.py @@ -25,6 +25,7 @@ """ import subprocess +import os from kas.libkas import kasplugin from kas.config import Config from kas.libcmds import (Macro, Command, SetupDir, SetupProxy, SetupEnviron, @@ -77,21 +78,29 @@ class Shell: macro = Macro() + # Prepare if not args.keep_config_unchanged: macro.add(SetupDir()) macro.add(SetupProxy()) macro.add(SetupEnviron()) + if 'SSH_PRIVATE_KEY' in os.environ: + macro.add(SetupSSHAgent()) + if not args.keep_config_unchanged: macro.add(ReposFetch()) macro.add(ReposCheckout()) macro.add(SetupEnviron()) macro.add(WriteConfig()) + # Shell macro.add(SetupHome()) macro.add(ShellCommand(args.command)) + if 'SSH_PRIVATE_KEY' in os.environ: + macro.add(CleanupSSHAgent()) + macro.run(cfg, args.skip) return True