This commit is contained in:
Elias Stepanik 2023-05-30 22:36:00 +02:00
parent cd23fbe4a9
commit 5057c541a4
4 changed files with 33 additions and 17 deletions

View File

@ -25,6 +25,9 @@
<Content Update="appsettings.Development.json"> <Content Update="appsettings.Development.json">
<DependentUpon>appsettings.json</DependentUpon> <DependentUpon>appsettings.json</DependentUpon>
</Content> </Content>
<Content Update="appsettings.Production.json">
<DependentUpon>appsettings.json</DependentUpon>
</Content>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -13,18 +13,7 @@ public class DockerManager : IDockerManager
public DockerManager(ILogger<DockerManager> logger) public DockerManager(ILogger<DockerManager> logger)
{ {
_logger = logger; _logger = logger;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) _docker = new DockerClientConfiguration().CreateClient();
{
_docker = new DockerClientConfiguration(new Uri("npipe://./pipe/docker_engine")).CreateClient();
}
else if(RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
_docker = new DockerClientConfiguration(new Uri("unix:///var/run/dockerManager.sock")).CreateClient();
}
else
{
throw new Exception("This Platform is not Supported");
}
} }
public async Task<IList<ContainerListResponse>> GetContainers() public async Task<IList<ContainerListResponse>> GetContainers()
@ -91,6 +80,8 @@ public class DockerManager : IDockerManager
{ {
Force = true Force = true
}; };
await _docker.Containers.RemoveContainerAsync(containerId, parameters); await _docker.Containers.RemoveContainerAsync(containerId, parameters);
} }

View File

@ -63,9 +63,16 @@ public class FunctionManager
if (message.Equals("error")) if (message.Equals("error"))
{ {
_dockerManager.DeleteContainer(instance.InstanceId); _dockerManager.DeleteContainer(instance.InstanceId);
return ""; var i = db.Instances.First(s => s.InstanceId.Equals(instance.InstanceId));
db.Instances.Remove(i);
await db.SaveChangesAsync();
return "Failed to send Message to Container";
} }
_dockerManager.DeleteContainer(instance.InstanceId);
var temp_i = db.Instances.First(s => s.InstanceId.Equals(instance.InstanceId));
db.Instances.Remove(temp_i);
await db.SaveChangesAsync();
return message; return message;
} }
if (method.Equals(HttpMethod.Get)) if (method.Equals(HttpMethod.Get))
@ -74,9 +81,16 @@ public class FunctionManager
if (message.Equals("error")) if (message.Equals("error"))
{ {
_dockerManager.DeleteContainer(instance.InstanceId); _dockerManager.DeleteContainer(instance.InstanceId);
return ""; var i = db.Instances.First(s => s.InstanceId.Equals(instance.InstanceId));
db.Instances.Remove(i);
await db.SaveChangesAsync();
return "Failed to send Message to Container";
} }
_dockerManager.DeleteContainer(instance.InstanceId);
var temp_i = db.Instances.First(s => s.InstanceId.Equals(instance.InstanceId));
db.Instances.Remove(temp_i);
await db.SaveChangesAsync();
return message; return message;
} }
if (method.Equals(HttpMethod.Patch)) if (method.Equals(HttpMethod.Patch))
@ -85,14 +99,22 @@ public class FunctionManager
if (message.Equals("error")) if (message.Equals("error"))
{ {
_dockerManager.DeleteContainer(instance.InstanceId); _dockerManager.DeleteContainer(instance.InstanceId);
return ""; var i = db.Instances.First(s => s.InstanceId.Equals(instance.InstanceId));
db.Instances.Remove(i);
await db.SaveChangesAsync();
return "Failed to send Message to Container";
} }
_dockerManager.DeleteContainer(instance.InstanceId);
var temp_i = db.Instances.First(s => s.InstanceId.Equals(instance.InstanceId));
db.Instances.Remove(temp_i);
await db.SaveChangesAsync();
return message; return message;
} }
return ""; return "Failed to send Message to Container";
} }

View File

@ -8,7 +8,7 @@
"AllowedHosts": "*", "AllowedHosts": "*",
"AppConfig": { "AppConfig": {
"DB": { "DB": {
"Server": "db", "Server": "simplefunctions-db-1",
"Port": "3306", "Port": "3306",
"User": "root", "User": "root",
"Password": "testPW", "Password": "testPW",