Skip to content

Harden cook stability: graceful shutdown, preheat race, PID guards - #20

Merged
CamSoper merged 1 commit into
mainfrom
claude/focused-fermat-cqmw6d
Jun 15, 2026
Merged

Harden cook stability: graceful shutdown, preheat race, PID guards#20
CamSoper merged 1 commit into
mainfrom
claude/focused-fermat-cqmw6d

Harden cook stability: graceful shutdown, preheat race, PID guards

0826138
Select commit
Loading
Failed to load commit list.
Pulumi / inferno-deploy/main - Update (preview) succeeded Jun 15, 2026 in 4s

Update (preview)

🚀 The Update (preview) for CamSoper-org/inferno-deploy/main was successful.

Visit the Pulumi Service for more information.

Details

Resource Changes

    Name          Type                    Operation
+-  restart-api   command:remote:Command  replaced
+-  publish-api   command:local:Command   replaced
+-  publish-cli   command:local:Command   replaced
+-  publish-mqtt  command:local:Command   replaced
+-  restart-mqtt  command:remote:Command  replaced

Detailed Diff

View diff
running 'dotnet build -nologo'
  Determining projects to restore...

  All projects are up-to-date for restore.

  Inferno.Deploy -> /deployment/Inferno.Deploy/bin/Debug/net8.0/Inferno.Deploy.dll



Build succeeded.

    0 Warning(s)
    0 Error(s)



Time Elapsed 00:00:00.94

'dotnet build -nologo' completed successfully
  pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:main::inferno-deploy::pulumi:pulumi:Stack::inferno-deploy-main]
    --outputs:--
    piHost    : "inferno"
    remotePath: "~/inferno"
    services  : [
        [0]: "api"
        [1]: "mqtt"
        [2]: "cli"
    ]
    ++command:local:Command: (create-replacement)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-mqtt]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
          ~ [0]: "79951EBCD982088A3943A609E289B35C8B1FA1BE0FAC7F0709D87E2C5283CB01" => "B403BB0397AE08A135295E10C07DF41DD82AB23AA9E40F1F81EA6DDF17B0542A"
        ]
        --outputs:--
      + stderr  : [unknown]
      ~ stdout  : "  Determining projects to restore...\n  All projects are up-to-date for restore.\n  Inferno.Common -> /home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Mqtt -> /home/camsoper/src/camsoper/inferno/Inferno.Mqtt/bin/Release/net8.0/Inferno.Mqtt.dll\n  Inferno.Mqtt -> /home/camsoper/src/camsoper/inferno/publish/mqtt/" => [unknown]
    +-command:local:Command: (replace)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-mqtt]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
          ~ [0]: "79951EBCD982088A3943A609E289B35C8B1FA1BE0FAC7F0709D87E2C5283CB01" => "B403BB0397AE08A135295E10C07DF41DD82AB23AA9E40F1F81EA6DDF17B0542A"
        ]
        --outputs:--
      + stderr  : [unknown]
      ~ stdout  : "  Determining projects to restore...\n  All projects are up-to-date for restore.\n  Inferno.Common -> /home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Mqtt -> /home/camsoper/src/camsoper/inferno/Inferno.Mqtt/bin/Release/net8.0/Inferno.Mqtt.dll\n  Inferno.Mqtt -> /home/camsoper/src/camsoper/inferno/publish/mqtt/" => [unknown]
    ++command:local:Command: (create-replacement)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-api]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
          ~ [0]: "7F96BC6669B05AA62A7EB3C95EE4BCC1AEB3EAC2153C6AE59D33D320181DF8DC" => "6B89AAFB1FB769084961E3BD3BAE995FB5BA324F6EF27A47947EB9F8B0B0AB87"
        ]
        --outputs:--
      + stderr  : [unknown]
      ~ stdout  : "  Determining projects to restore...\n  Restored /deployment/Inferno.Common/Inferno.Common.csproj (in 67 ms).\n  Restored /deployment/Inferno.Api/Inferno.Api.csproj (in 1.55 sec).\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'fr-ca'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'nb-no'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'ru-ru'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'zh-cn'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n  Inferno.Common -> /deployment/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Api -> /deployment/Inferno.Api/bin/Release/net8.0/Inferno.Api.dll\n  Inferno.Api -> /deployment/publish/api/" => [unknown]
    +-command:local:Command: (replace)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-api]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
          ~ [0]: "7F96BC6669B05AA62A7EB3C95EE4BCC1AEB3EAC2153C6AE59D33D320181DF8DC" => "6B89AAFB1FB769084961E3BD3BAE995FB5BA324F6EF27A47947EB9F8B0B0AB87"
        ]
        --outputs:--
      + stderr  : [unknown]
      ~ stdout  : "  Determining projects to restore...\n  Restored /deployment/Inferno.Common/Inferno.Common.csproj (in 67 ms).\n  Restored /deployment/Inferno.Api/Inferno.Api.csproj (in 1.55 sec).\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'fr-ca'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'nb-no'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'ru-ru'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'zh-cn'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n  Inferno.Common -> /deployment/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Api -> /deployment/Inferno.Api/bin/Release/net8.0/Inferno.Api.dll\n  Inferno.Api -> /deployment/publish/api/" => [unknown]
    ++command:local:Command: (create-replacement)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-cli]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
          ~ [0]: "CD7EBE682997405A22A30793C12A5E58D9D45FFE97F08424CB04FAE8C4B9CB62" => "0038714A6A357BE0FCAF1E82D0C8F81CE1062F2E557C3D0AC5969AD2A55183DB"
        ]
        --outputs:--
      + stderr  : [unknown]
      ~ stdout  : "  Determining projects to restore...\n  All projects are up-to-date for restore.\n/usr/lib/dotnet/sdk/10.0.104/Microsoft.Common.CurrentVersion.targets(4903,5): warning MSB3026: Could not copy \"obj/Release/net8.0/Inferno.Common.dll\" to \"bin/Release/net8.0/Inferno.Common.dll\". Beginning retry 1 in 1000ms. The process cannot access the file '/home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll' because it is being used by another process.  [/home/camsoper/src/camsoper/inferno/Inferno.Common/Inferno.Common.csproj]\n  Inferno.Common -> /home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Cli -> /home/camsoper/src/camsoper/inferno/Inferno.Cli/bin/Release/net8.0/Inferno.Cli.dll\n  Inferno.Cli -> /home/camsoper/src/camsoper/inferno/publish/cli/" => [unknown]
    +-command:local:Command: (replace)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-cli]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
          ~ [0]: "CD7EBE682997405A22A30793C12A5E58D9D45FFE97F08424CB04FAE8C4B9CB62" => "0038714A6A357BE0FCAF1E82D0C8F81CE1062F2E557C3D0AC5969AD2A55183DB"
        ]
        --outputs:--
      + stderr  : [unknown]
      ~ stdout  : "  Determining projects to restore...\n  All projects are up-to-date for restore.\n/usr/lib/dotnet/sdk/10.0.104/Microsoft.Common.CurrentVersion.targets(4903,5): warning MSB3026: Could not copy \"obj/Release/net8.0/Inferno.Common.dll\" to \"bin/Release/net8.0/Inferno.Common.dll\". Beginning retry 1 in 1000ms. The process cannot access the file '/home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll' because it is being used by another process.  [/home/camsoper/src/camsoper/inferno/Inferno.Common/Inferno.Common.csproj]\n  Inferno.Common -> /home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Cli -> /home/camsoper/src/camsoper/inferno/Inferno.Cli/bin/Release/net8.0/Inferno.Cli.dll\n  Inferno.Cli -> /home/camsoper/src/camsoper/inferno/publish/cli/" => [unknown]
    ++command:remote:Command: (create-replacement)
        [urn=urn:pulumi:main::inferno-deploy::command:remote:Command::restart-mqtt]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
        ]
    +-command:remote:Command: (replace)
        [urn=urn:pulumi:main::inferno-deploy::command:remote:Command::restart-mqtt]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
        ]
    ++command:remote:Command: (create-replacement)
        [urn=urn:pulumi:main::inferno-deploy::command:remote:Command::restart-api]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
        ]
    +-command:remote:Command: (replace)
        [urn=urn:pulumi:main::inferno-deploy::command:remote:Command::restart-api]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
      ~ triggers: [
        ]
    --command:local:Command: (delete-replaced)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-mqtt]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
        create  : "dotnet publish ../Inferno.Mqtt -c Release -o ../publish/mqtt"
        triggers: [
            [0]: "79951EBCD982088A3943A609E289B35C8B1FA1BE0FAC7F0709D87E2C5283CB01"
        ]
    --command:local:Command: (delete-replaced)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-cli]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
        create  : "dotnet publish ../Inferno.Cli -c Release -o ../publish/cli"
        triggers: [
            [0]: "CD7EBE682997405A22A30793C12A5E58D9D45FFE97F08424CB04FAE8C4B9CB62"
        ]
    --command:local:Command: (delete-replaced)
        [urn=urn:pulumi:main::inferno-deploy::command:local:Command::publish-api]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
        create  : "dotnet publish ../Inferno.Api -c Release -o ../publish/api"
        triggers: [
            [0]: "7F96BC6669B05AA62A7EB3C95EE4BCC1AEB3EAC2153C6AE59D33D320181DF8DC"
        ]
    --command:remote:Command: (delete-replaced)
        [urn=urn:pulumi:main::inferno-deploy::command:remote:Command::restart-api]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
    --command:remote:Command: (delete-replaced)
        [urn=urn:pulumi:main::inferno-deploy::command:remote:Command::restart-mqtt]
        [provider=urn:pulumi:main::inferno-deploy::pulumi:providers:command::default_1_2_1::45cf09b1-f13f-4844-81d9-d25b618a3adb]
        --outputs:--
      - create  : "dotnet publish ../Inferno.Mqtt -c Release -o ../publish/mqtt"
      - stderr  : ""
      - stdout  : "  Determining projects to restore...\n  All projects are up-to-date for restore.\n  Inferno.Common -> /home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Mqtt -> /home/camsoper/src/camsoper/inferno/Inferno.Mqtt/bin/Release/net8.0/Inferno.Mqtt.dll\n  Inferno.Mqtt -> /home/camsoper/src/camsoper/inferno/publish/mqtt/"
      - triggers: [
      -     [0]: "79951EBCD982088A3943A609E289B35C8B1FA1BE0FAC7F0709D87E2C5283CB01"
        ]
        --outputs:--
      - create  : "dotnet publish ../Inferno.Api -c Release -o ../publish/api"
      - stderr  : ""
      - stdout  : "  Determining projects to restore...\n  Restored /deployment/Inferno.Common/Inferno.Common.csproj (in 67 ms).\n  Restored /deployment/Inferno.Api/Inferno.Api.csproj (in 1.55 sec).\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'fr-ca'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'nb-no'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'ru-ru'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n/usr/local/share/dotnet/sdk/9.0.312/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(266,5): warning NETSDK1188: Package UnitsNet 5.31.0 has a resource with the locale 'zh-cn'. This locale is not recognized by .NET. Consider notifying the package author that it appears to be using an invalid locale. [/deployment/Inferno.Api/Inferno.Api.csproj]\n  Inferno.Common -> /deployment/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Api -> /deployment/Inferno.Api/bin/Release/net8.0/Inferno.Api.dll\n  Inferno.Api -> /deployment/publish/api/"
      - triggers: [
      -     [0]: "7F96BC6669B05AA62A7EB3C95EE4BCC1AEB3EAC2153C6AE59D33D320181DF8DC"
        ]
        --outputs:--
      - create  : "dotnet publish ../Inferno.Cli -c Release -o ../publish/cli"
      - stderr  : ""
      - stdout  : "  Determining projects to restore...\n  All projects are up-to-date for restore.\n/usr/lib/dotnet/sdk/10.0.104/Microsoft.Common.CurrentVersion.targets(4903,5): warning MSB3026: Could not copy \"obj/Release/net8.0/Inferno.Common.dll\" to \"bin/Release/net8.0/Inferno.Common.dll\". Beginning retry 1 in 1000ms. The process cannot access the file '/home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll' because it is being used by another process.  [/home/camsoper/src/camsoper/inferno/Inferno.Common/Inferno.Common.csproj]\n  Inferno.Common -> /home/camsoper/src/camsoper/inferno/Inferno.Common/bin/Release/net8.0/Inferno.Common.dll\n  Inferno.Cli -> /home/camsoper/src/camsoper/inferno/Inferno.Cli/bin/Release/net8.0/Inferno.Cli.dll\n  Inferno.Cli -> /home/camsoper/src/camsoper/inferno/publish/cli/"
      - triggers: [
      -     [0]: "CD7EBE682997405A22A30793C12A5E58D9D45FFE97F08424CB04FAE8C4B9CB62"
        ]
    --outputs:--
    piHost    : "inferno"
    remotePath: "~/inferno"
    services  : [
        [0]: "api"
        [1]: "mqtt"
        [2]: "cli"
    ]