public IHttpActionResult Index(string handle) { var container = containerService.GetContainerByHandle(handle); var properties = container.GetProperties(); return(Json(properties)); }
public ContainerInfo GetInfoByHandle(string handle) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(null); } var rawInfo = container.GetInfo(); var portMappings = rawInfo.Properties.Where(x => x.Key.Contains("ContainerPort:")). Select(x => new PortMappingApiModel { ContainerPort = int.Parse(x.Key.Split(':')[1]), HostPort = int.Parse(x.Value), }); return(new ContainerInfo { MappedPorts = portMappings.ToList(), Properties = rawInfo.Properties, ExternalIP = options.MachineIp, ContainerIP = options.MachineIp, }); }
public IHttpActionResult Stop(string handle) { var container = containerService.GetContainerByHandle(handle); if (container != null) { container.Stop(true); return(Ok()); } return(NotFound()); }
public IHttpActionResult Index(string handle) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(ResponseMessage(Request.CreateResponse(System.Net.HttpStatusCode.NotFound, string.Format("unknown handle: {0}", handle)))); } var properties = container.GetProperties(); return(Json(properties)); }
public IHttpActionResult CurrentMemoryLimit(string handle) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(NotFound()); } var limit = container.CurrentMemoryLimit(); return(Json(new MemoryLimits { LimitInBytes = limit })); }
public void StreamInFile(Stream stream, string handle, string destination) { IContainer container = containerService.GetContainerByHandle(handle); var path = container.Directory.MapUserPath(destination); tarStreamService.WriteTarStreamToPath(stream, container, path); }
public override void OnOpen() { var handle = Arguments["handle"]; logger.Info("onOpen: {0}", handle); runService.container = containerService.GetContainerByHandle(handle); }
public Stream StreamOutFile(string handle, string source) { IContainer container = containerService.GetContainerByHandle(handle); string path = container.Directory.MapUserPath(source); Stream stream = tarStreamService.WriteTarToStream(path); return(stream); }
public override void OnOpen() { var handle = Arguments["handle"]; logger.Info("ContainerProcessHandler.OnOpen", new Dictionary <string, object> { { "handle", handle } }); runService.container = containerService.GetContainerByHandle(handle); }
public IHttpActionResult SetGraceTime(string handle, GraceTime graceTime) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(NotFound()); } if (graceTime.GraceTimeInNanoSeconds != null) { container.SetProperty("GraceTime", graceTime.GraceTimeInNanoSeconds.Value.ToString()); } else { container.SetProperty("GraceTime", null); } return(Ok()); }
public IHttpActionResult NetIn(string handle, NetInRequest request) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(NotFound()); } try { var returnedPort = container.ReservePort(request.HostPort); container.SetProperty("ContainerPort:" + request.ContainerPort, returnedPort.ToString()); return(Json(new NetInResponse { HostPort = returnedPort })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Stop(string handle, int pid) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(NotFound()); } var process = container.FindProcessById(pid); if (process == null) { return(NotFound()); } process.Kill(); return(Ok()); }
public IHttpActionResult LimitMemory(string handle, MemoryLimits limits) { var container = containerService.GetContainerByHandle(handle); if (container == null) { return(NotFound()); } if (limits.LimitInBytes != null) { container.LimitMemory(limits.LimitInBytes.Value); } return(Ok()); }