2
0
mirror of synced 2025-01-09 16:15:51 +00:00

53 lines
1.5 KiB
C#
Raw Normal View History

2023-09-14 15:26:46 +02:00
using KubernetesWorkflow;
using KubernetesWorkflow.Types;
2023-09-14 15:26:46 +02:00
namespace Core
{
public sealed class CoreInterface
{
private readonly EntryPoint entryPoint;
internal CoreInterface(EntryPoint entryPoint)
{
this.entryPoint = entryPoint;
}
public T GetPlugin<T>() where T : IProjectPlugin
{
return entryPoint.GetPlugin<T>();
}
2023-09-14 15:26:46 +02:00
2023-09-25 08:47:19 +02:00
public IKnownLocations GetKnownLocations()
{
return entryPoint.Tools.CreateWorkflow().GetAvailableLocations();
}
2023-09-14 15:26:46 +02:00
public IDownloadedLog DownloadLog(IHasContainer containerSource, int? tailLines = null)
{
return DownloadLog(containerSource.Container, tailLines);
}
public IDownloadedLog DownloadLog(RunningContainer container, int? tailLines = null)
{
var workflow = entryPoint.Tools.CreateWorkflow();
return workflow.DownloadContainerLog(container, tailLines);
2023-09-14 15:26:46 +02:00
}
2023-09-15 12:25:10 +02:00
2023-09-15 12:36:35 +02:00
public string ExecuteContainerCommand(IHasContainer containerSource, string command, params string[] args)
{
return ExecuteContainerCommand(containerSource.Container, command, args);
}
2023-09-15 12:25:10 +02:00
public string ExecuteContainerCommand(RunningContainer container, string command, params string[] args)
{
var workflow = entryPoint.Tools.CreateWorkflow();
return workflow.ExecuteCommand(container, command, args);
}
2023-09-14 15:26:46 +02:00
}
public interface IHasContainer
{
RunningContainer Container { get; }
}
}