public object Bootstrap(Drone drone) { using (var ssh = new SshClient(ChefHost, "root", "0953acb")) { ssh.Connect(); var cmd = ssh.RunCommand(string.Format("knife bootstrap {0} -x root -P 0953acb --sudo -N {1} --run-list speedymailer-drone -E xomixfuture", drone.Id, Guid.NewGuid().ToString().Replace("-", ""))); // very long list ssh.Disconnect(); return new { Drone = drone, Data = cmd.Result.Replace("\n", "<br>") }; } }
public object Deploy(Drone drone) { return SendCommandToDrone(drone, "chef-client"); }
private static object SendCommandToDrone(Drone drone, string commandText) { using (var ssh = new SshClient(drone.Id, "root", "0953acb")) { ssh.Connect(); var cmd = ssh.RunCommand(commandText); // very long list ssh.Disconnect(); if (cmd.ExitStatus > 0) return new { Drone = drone, Data = cmd.Result.Replace("\n", "<br>") }; return new { Drone = drone, Data = "OK" }; } }
public object Stop(Drone drone) { return SendCommandToDrone(drone, "/deploy/utils/drone-admin.rb stop"); }