diff --git a/Functions/Functions.csproj b/Functions/Functions.csproj index ff565f2..778170a 100644 --- a/Functions/Functions.csproj +++ b/Functions/Functions.csproj @@ -25,6 +25,9 @@ appsettings.json + + appsettings.json + diff --git a/Functions/Services/DockerManager.cs b/Functions/Services/DockerManager.cs index 7d1c6dc..02d1460 100644 --- a/Functions/Services/DockerManager.cs +++ b/Functions/Services/DockerManager.cs @@ -13,18 +13,7 @@ public class DockerManager : IDockerManager public DockerManager(ILogger 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> GetContainers() @@ -91,6 +80,8 @@ public class DockerManager : IDockerManager { Force = true }; + + await _docker.Containers.RemoveContainerAsync(containerId, parameters); } diff --git a/Functions/Services/FunctionManager.cs b/Functions/Services/FunctionManager.cs index 0e09757..ced9401 100644 --- a/Functions/Services/FunctionManager.cs +++ b/Functions/Services/FunctionManager.cs @@ -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"; } diff --git a/Functions/appsettings.Production.json b/Functions/appsettings.Production.json index ff154f2..306882e 100644 --- a/Functions/appsettings.Production.json +++ b/Functions/appsettings.Production.json @@ -8,7 +8,7 @@ "AllowedHosts": "*", "AppConfig": { "DB": { - "Server": "db", + "Server": "simplefunctions-db-1", "Port": "3306", "User": "root", "Password": "testPW",