Allow the machines file to specify host public keys
[?]
Aug 26, 2015, 11:43 AM
4VYY2ADPFENPAC36FJCSEMEHOPL6E2T4RPXJKYVF47DFKAO6PLIACDependencies
- [2]
WJTP6VZIFix building against the latest Nix - [3]
N4IROACVMove buildRemote() into State - [4]
7VQ4ALFYUpdate "make check" for the new queue runner - [5]
FV2M6MOThydra: use autoconf/-make - [6]
GS4BE6TBAsynchronously compress build logs - [7]
24BMQDZAStart of single-process hydra-queue-runner - [8]
SODOV2CMAutomatically reload $NIX_REMOTE_SYSTEMS when it changes - [9]
NAYQT2GThydra-queue-runner: Use cmdBuildDerivation - [10]
5AIYUMTBBasic remote building - [11]
SK6WHODMSupport preferLocalBuild - [12]
WKJFPR77hydra-queue-runner: Maintain count of active build steps - [13]
5Q7X5FPJhydra-queue-runner: Improve SSH flags - [14]
LE4VZIY5More stats - [15]
ZSBPKI2PPass ssh key - [*]
HJOEIMLRRefactor
Change contents
- replacement in configure.ac at line 13
CXXFLAGS+=" -std=c++0x"CXXFLAGS+=" -std=c++11" - replacement in src/hydra-queue-runner/build-remote.cc at line 29
static void openConnection(const string & sshName, const string & sshKey,int stderrFD, Child & child)static void openConnection(Machine::ptr machine, Path tmpDir, int stderrFD, Child & child) - replacement in src/hydra-queue-runner/build-remote.cc at line 47
if (sshName == "localhost")if (machine->sshName == "localhost") - replacement in src/hydra-queue-runner/build-remote.cc at line 50
argv = {"ssh", sshName};if (sshKey != "" && sshKey != "-") append(argv, {"-i", sshKey});argv = {"ssh", machine->sshName};if (machine->sshKey != "") append(argv, {"-i", machine->sshKey});if (machine->sshPublicHostKey != "") {Path fileName = tmpDir + "/host-key";auto p = machine->sshName.find("@");string host = p != string::npos ? string(machine->sshName, p + 1) : machine->sshName;writeFile(fileName, host + " " + machine->sshPublicHostKey + "\n");append(argv, {"-oUserKnownHostsFile=" + fileName});} - edit in src/hydra-queue-runner/build-remote.cc at line 145
nix::Path tmpDir = createTempDir();AutoDelete tmpDirDel(tmpDir, true); - replacement in src/hydra-queue-runner/build-remote.cc at line 149
openConnection(machine->sshName, machine->sshKey, logFD, child);openConnection(machine, tmpDir, logFD, child); - edit in src/hydra-queue-runner/build-remote.cc at line 289
- replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 43
tokens.resize(7);tokens.resize(8); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 48
machine->sshKey = tokens[2];machine->sshKey = tokens[2] == "-" ? string("") : tokens[2]; - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 60
if (tokens[7] != "" && tokens[7] != "-")machine->sshPublicHostKey = base64Decode(tokens[7]); - edit in src/hydra-queue-runner/state.hh at line 208[17.3495][17.3495]
std::string sshPublicHostKey;