private static void UpdateContainer() { QuickRun qr = new QuickRun("docker.exe", "pull " + dockerImageTag); qr = new QuickRun("docker.exe", "image ls --format {{.ID}} " + dockerImageTag); if (qr.stdout != dockerImageId) { Console.WriteLine("New grima available!"); } }
private static string GetPort() { Console.WriteLine("Finding docker port"); QuickRun qr = new QuickRun("docker.exe", "port grima"); dockerInstalled = qr.ran; if (!dockerInstalled) { return(""); } try { string addr = qr.stdout.Split(' ')[2]; return(addr.Replace("0.0.0.0", "127.0.0.1")); // not currently needed, but fixes --publish-all } catch { return(""); } }
public QuickRunItem(QuickRun parent, string progName, string fullpath) { m_progName = progName; m_fullpath = fullpath; m_parent = parent; }
private static void HandleConfig(string file) { Console.WriteLine("Handling config from " + file); /********************************************************************** * * Read config file, create if necessary, ask for values if necessary, * save changed config if necessary. */ Boolean dirty = !System.IO.File.Exists(file); XElement doc = dirty ? new XElement("grima") : XElement.Load(file); try { server = doc.Element("server").Value; } catch { } try { apikey = doc.Element("apikey").Value; } catch { } try { dockerImageId = doc.Element("dockerImageId").Value; } catch { } try { dockerImageTag = doc.Element("dockerImageTag").Value; } catch { } if (server == "") { Console.WriteLine("Asking for the Alma Server address (in a message box)"); server = Microsoft.VisualBasic.Interaction.InputBox( "Enter your Alma Server's web address", "Alma Server", "https://api-na.hosted.exlibrisgroup.com"); dirty = true; } if (apikey == "") { Console.WriteLine("Asking for the Alma API key (in a message box)"); apikey = Microsoft.VisualBasic.Interaction.InputBox( "Enter your Alma API Key", "Alma API Key", ""); dirty = true; } if (dockerImageTag == "") { Console.WriteLine("Asking which Docker Image to use (in a message box)"); dockerImageTag = Microsoft.VisualBasic.Interaction.InputBox( "Which docker image should we get grima updates from?", "Docker Image Tag", "rdeiser/krima"); dirty = true; if (dockerImageTag != "") { QuickRun qr = new QuickRun("docker.exe", "pull " + dockerImageTag); } } if (dockerImageId == "") { QuickRun qr = new QuickRun("docker.exe", "image ls --format {{.ID}} " + dockerImageTag); dockerImageId = qr.stdout; dirty = true; } Console.WriteLine("Server: " + server); Console.WriteLine("APIKey: " + apikey); Console.WriteLine("Docker: " + dockerImageTag); Console.WriteLine("DockID: " + dockerImageId); if (dirty) { doc.SetElementValue("server", server); doc.SetElementValue("apikey", apikey); doc.SetElementValue("dockerImageTag", dockerImageTag); doc.SetElementValue("dockerImageId", dockerImageId); doc.Save(file); } }