[GH-ISSUE #759] Feature Request: Procedure Task "StackUpdate" #6297

Open
opened 2026-04-24 19:27:32 -05:00 by GiteaMirror · 8 comments
Owner

Originally created by @marrobHD on GitHub (Aug 22, 2025).
Original GitHub issue: https://github.com/moghtech/komodo/issues/759

Hi,

the last release v1.19.0 changed the auto update behaviour.

Now there is a procedure task GlobalAutoUpdate.

It would be nice, if there was a task like StackUpdate, which checks if there is a newer stack image available, pulls it and redeploys the specified stack(s).

This would add more control over which stacks get updated when and how often, instead of all at the same time.

Thanks!

Originally created by @marrobHD on GitHub (Aug 22, 2025). Original GitHub issue: https://github.com/moghtech/komodo/issues/759 Hi, the last release v1.19.0 changed the auto update behaviour. Now there is a procedure task GlobalAutoUpdate. It would be nice, if there was a task like StackUpdate, which checks if there is a newer stack image available, pulls it and redeploys the specified stack(s). This would add more control over which stacks get updated when and how often, instead of all at the same time. Thanks!
GiteaMirror added the enhancement label 2026-04-24 19:27:32 -05:00
Author
Owner

@undefinedid commented on GitHub (Aug 25, 2025):

Maybe you can take example from the samples dropped on the Discord Server by @mbecker20 :

Custom daily auto update Stacks / Deployments

const SKIP_STACKS = [];

// Pull Stacks
const stacks = (await komodo.read("ListStacks", {})).filter(
  (stack) =>
    !SKIP_STACKS.includes(stack.name) &&
    stack.info.state === Types.StackState.Running,
);
for (const stack of stacks) {
  await komodo.execute_and_poll("PullStack", { stack: stack.name });
}

// Update Stacks
const stacks_with_update = (
  await komodo.read("ListStacks", {
    query: { specific: { update_available: true } },
  })
).filter(
  (stack) =>
    !SKIP_STACKS.includes(stack.name) &&
    stack.info.state === Types.StackState.Running,
);
for (const stack of stacks_with_update) {
  console.log("Updating Stack:", stack.name);
  await komodo.execute("DeployStack", { stack: stack.name });
}

// Pull Deployments
const deployments = (await komodo.read("ListDeployments", {})).filter(
  (deployment) => deployment.info.state === Types.DeploymentState.Running,
);
for (const deployment of deployments) {
  await komodo.execute_and_poll("PullDeployment", { deployment: deployment.name });
}

// Update Deployments
const deployments_with_update = (
  await komodo.read("ListDeployments", {
    query: { specific: { update_available: true } },
  })
).filter(
  (deployment) => deployment.info.state === Types.DeploymentState.Running,
);
for (const deployment of deployments_with_update) {
  console.log("Updating Deployment:", deployment.name);
  await komodo.execute("Deploy", { deployment: deployment.name });
}

You'll find more scripted actions here: https://discord.com/channels/1272479750065094760/1283197688292048949/1391082533491572816

<!-- gh-comment-id:3218951171 --> @undefinedid commented on GitHub (Aug 25, 2025): Maybe you can take example from the samples dropped on the Discord Server by @mbecker20 : _Custom daily auto update Stacks / Deployments_ ``` const SKIP_STACKS = []; // Pull Stacks const stacks = (await komodo.read("ListStacks", {})).filter( (stack) => !SKIP_STACKS.includes(stack.name) && stack.info.state === Types.StackState.Running, ); for (const stack of stacks) { await komodo.execute_and_poll("PullStack", { stack: stack.name }); } // Update Stacks const stacks_with_update = ( await komodo.read("ListStacks", { query: { specific: { update_available: true } }, }) ).filter( (stack) => !SKIP_STACKS.includes(stack.name) && stack.info.state === Types.StackState.Running, ); for (const stack of stacks_with_update) { console.log("Updating Stack:", stack.name); await komodo.execute("DeployStack", { stack: stack.name }); } // Pull Deployments const deployments = (await komodo.read("ListDeployments", {})).filter( (deployment) => deployment.info.state === Types.DeploymentState.Running, ); for (const deployment of deployments) { await komodo.execute_and_poll("PullDeployment", { deployment: deployment.name }); } // Update Deployments const deployments_with_update = ( await komodo.read("ListDeployments", { query: { specific: { update_available: true } }, }) ).filter( (deployment) => deployment.info.state === Types.DeploymentState.Running, ); for (const deployment of deployments_with_update) { console.log("Updating Deployment:", deployment.name); await komodo.execute("Deploy", { deployment: deployment.name }); } ``` You'll find more scripted actions here: https://discord.com/channels/1272479750065094760/1283197688292048949/1391082533491572816
Author
Owner

@mbecker20 commented on GitHub (Aug 30, 2025):

Makes sense, it's feasible. I'm just struggling with the name.

This would be next to the other Stack executions, DeployStack, RestartStack, StopStack, PullStack etc... StackUpdate breaks the pattern.

The obvious one UpdateStack could easily be confused with /write/UpdateStack, so isn't great either.

Any ideas?

<!-- gh-comment-id:3239000854 --> @mbecker20 commented on GitHub (Aug 30, 2025): Makes sense, it's feasible. I'm just struggling with the name. This would be next to the other Stack executions, `DeployStack`, `RestartStack`, `StopStack`, `PullStack` etc... `StackUpdate` breaks the pattern. The obvious one `UpdateStack` could easily be confused with `/write/UpdateStack`, so isn't great either. Any ideas?
Author
Owner

@ChrispyBacon-dev commented on GitHub (Aug 30, 2025):

I recently updated to latest. I was first confused as I'm a developer and the automatic updater is not working anymore. Is it not possible anymore to have a checkbox for automatic updates of my stacks? When I push an update for an image usually komodo picked this up and redeployed it which is a huge helper when updating 6 instances on several VPS...

furthermore the feature to show that there is a new docker image available broke as well.

<!-- gh-comment-id:3239087434 --> @ChrispyBacon-dev commented on GitHub (Aug 30, 2025): I recently updated to latest. I was first confused as I'm a developer and the automatic updater is not working anymore. Is it not possible anymore to have a checkbox for automatic updates of my stacks? When I push an update for an image usually komodo picked this up and redeployed it which is a huge helper when updating 6 instances on several VPS... furthermore the feature to show that there is a new docker image available broke as well.
Author
Owner

@marrobHD commented on GitHub (Aug 30, 2025):

Makes sense, it's feasible. I'm just struggling with the name.

This would be next to the other Stack executions, DeployStack, RestartStack, StopStack, PullStack etc... StackUpdate breaks the pattern.

The obvious one UpdateStack could easily be confused with /write/UpdateStack, so isn't great either.

Any ideas?

Maybe AutoUpdateStack?

<!-- gh-comment-id:3239099781 --> @marrobHD commented on GitHub (Aug 30, 2025): > Makes sense, it's feasible. I'm just struggling with the name. > > This would be next to the other Stack executions, `DeployStack`, `RestartStack`, `StopStack`, `PullStack` etc... `StackUpdate` breaks the pattern. > > The obvious one `UpdateStack` could easily be confused with `/write/UpdateStack`, so isn't great either. > > Any ideas? Maybe AutoUpdateStack?
Author
Owner

@mbecker20 commented on GitHub (Aug 30, 2025):

@ChrispyBacon-dev the feature was moved from the background into the foreground, and now requires you to schedule it, see https://komo.do/docs/resources/auto-update

<!-- gh-comment-id:3239340811 --> @mbecker20 commented on GitHub (Aug 30, 2025): @ChrispyBacon-dev the feature was moved from the background into the foreground, and now requires you to schedule it, see https://komo.do/docs/resources/auto-update
Author
Owner

@ChrispyBacon-dev commented on GitHub (Aug 30, 2025):

Yes, I saw that, and to be honest, I don't like it. I develop applications, and it used to be that with auto-update, Komodo immediately picked up the new Docker image and pulled the latest image and redeployed my stacks, which was very convenient. Now I need to create a scheduled task, which is a step back, to be honest. The whole idea of having automated stacks goes out the window.

<!-- gh-comment-id:3239343921 --> @ChrispyBacon-dev commented on GitHub (Aug 30, 2025): Yes, I saw that, and to be honest, I don't like it. I develop applications, and it used to be that with auto-update, Komodo immediately picked up the new Docker image and pulled the latest image and redeployed my stacks, which was very convenient. Now I need to create a scheduled task, which is a step back, to be honest. The whole idea of having automated stacks goes out the window.
Author
Owner

@mbecker20 commented on GitHub (Aug 30, 2025):

@ChrispyBacon-dev maybe try using Build Deployment flow? Anyways it's off topic, please open another thread to discuss your concerns

<!-- gh-comment-id:3239353399 --> @mbecker20 commented on GitHub (Aug 30, 2025): @ChrispyBacon-dev maybe try using Build Deployment flow? Anyways it's off topic, please open another thread to discuss your concerns
Author
Owner

@rafo commented on GitHub (Sep 30, 2025):

Makes sense, it's feasible. I'm just struggling with the name.

This would be next to the other Stack executions, DeployStack, RestartStack, StopStack, PullStack etc... StackUpdate breaks the pattern.

The obvious one UpdateStack could easily be confused with /write/UpdateStack, so isn't great either.

Any ideas?

Maybe UpgradeStack?

<!-- gh-comment-id:3350871858 --> @rafo commented on GitHub (Sep 30, 2025): > Makes sense, it's feasible. I'm just struggling with the name. > > This would be next to the other Stack executions, `DeployStack`, `RestartStack`, `StopStack`, `PullStack` etc... `StackUpdate` breaks the pattern. > > The obvious one `UpdateStack` could easily be confused with `/write/UpdateStack`, so isn't great either. > > Any ideas? Maybe UpgradeStack?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/komodo#6297