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">
<DependentUpon>appsettings.json</DependentUpon>
</Content>
<Content Update="appsettings.Production.json">
<DependentUpon>appsettings.json</DependentUpon>
</Content>
</ItemGroup>
</Project>

View File

@ -13,18 +13,7 @@ public class DockerManager : IDockerManager
public DockerManager(ILogger<DockerManager> logger)
{
_logger = logger;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
_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");
}
_docker = new DockerClientConfiguration().CreateClient();
}
public async Task<IList<ContainerListResponse>> GetContainers()
@ -91,6 +80,8 @@ public class DockerManager : IDockerManager
{
Force = true
};
await _docker.Containers.RemoveContainerAsync(containerId, parameters);
}

View File

@ -63,9 +63,16 @@ public class FunctionManager
if (message.Equals("error"))
{
_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;
}
if (method.Equals(HttpMethod.Get))
@ -74,9 +81,16 @@ public class FunctionManager
if (message.Equals("error"))
{
_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;
}
if (method.Equals(HttpMethod.Patch))
@ -85,14 +99,22 @@ public class FunctionManager
if (message.Equals("error"))
{
_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 "";
return "Failed to send Message to Container";
}

View File

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