Skip to content

feat(stack): add stack set-update-schedule and stack unset-update-schedule commands#1938

Merged
martin-helmich merged 10 commits into
masterfrom
copilot/add-stack-set-update-schedule-command
Jun 25, 2026
Merged

feat(stack): add stack set-update-schedule and stack unset-update-schedule commands#1938
martin-helmich merged 10 commits into
masterfrom
copilot/add-stack-set-update-schedule-command

Conversation

Copilot AI commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This adds CLI support for configuring container stack update schedules via the existing container-set-stack-update-schedule API operation. It also supports unsetting schedules by sending updateSchedule: null, matching API behavior.

  • New stack commands

    • Added mw stack set-update-schedule STACK-ID SCHEDULE [--timezone=<timezone>]
    • Added mw stack unset-update-schedule STACK-ID
    • Both commands call apiClient.container.setStackUpdateSchedule(...) with the appropriate payload.
    • Both commands now inherit from ExecRenderBaseCommand.
  • Schedule payload handling

    • set-update-schedule sends:
      • updateSchedule.cron from SCHEDULE
      • optional updateSchedule.timezone from --timezone
    • unset-update-schedule sends:
      • updateSchedule: null
  • Command output behavior

    • Both commands now use the standard process renderer flow used by other ExecRenderBaseCommand commands.
    • Added progress step output while applying/removing schedules.
    • Added explicit success completion messages.
    • Added support for --quiet process output behavior via processFlags.
  • CLI docs

    • Regenerated stack docs so docs/stack.md includes both new commands and their arguments/flags.
    • Removed the “validated by API” hint text from schedule/timezone descriptions.
await this.apiClient.container.setStackUpdateSchedule({
  stackId,
  data: {
    updateSchedule: {
      cron: args.schedule,
      timezone: flags.timezone,
    },
  },
});

// unset
await this.apiClient.container.setStackUpdateSchedule({
  stackId,
  data: { updateSchedule: null },
});

Copilot AI changed the title [WIP] Add a stack set-update-schedule command Add stack set-update-schedule and stack unset-update-schedule commands Jun 24, 2026
Copilot AI requested a review from martin-helmich June 24, 2026 19:59
@martin-helmich martin-helmich changed the title Add stack set-update-schedule and stack unset-update-schedule commands feat(stack): add stack set-update-schedule and stack unset-update-schedule commands Jun 24, 2026

@martin-helmich martin-helmich left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Both command should inherit from ExecRenderBaseCommand

Copilot AI commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Both command should inherit from ExecRenderBaseCommand

Done in 939a69c. Both stack set-update-schedule and stack unset-update-schedule now inherit from ExecRenderBaseCommand and use exec()/render().

@martin-helmich martin-helmich left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Have a look at other commands inheriting ExecRenderBaseCommand. Print progress ans success messages like all the other commands do.

Copilot AI commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Have a look at other commands inheriting ExecRenderBaseCommand. Print progress ans success messages like all the other commands do.

Implemented in 47e87b8. Both commands now use processFlags + makeProcessRenderer, include progress steps, and emit explicit success messages on completion.

Copilot AI changed the title feat(stack): add stack set-update-schedule and stack unset-update-schedule commands Resolve release config lint drift and add explicit task wrap-up checklist Jun 24, 2026
Copilot AI changed the title Resolve release config lint drift and add explicit task wrap-up checklist Tighten release config formatting and harden agent guidance for task completion Jun 24, 2026
@martin-helmich martin-helmich changed the title Tighten release config formatting and harden agent guidance for task completion feat(stack): add stack set-update-schedule and stack unset-update-schedule commands Jun 24, 2026
@martin-helmich martin-helmich marked this pull request as ready for review June 25, 2026 07:07
Rename the stack update schedule commands from .ts to .tsx and replace
createElement with JSX for the success output.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@martin-helmich martin-helmich merged commit d58f217 into master Jun 25, 2026
11 checks passed
@martin-helmich martin-helmich deleted the copilot/add-stack-set-update-schedule-command branch June 25, 2026 07:52
mittwald-machine added a commit that referenced this pull request Jun 25, 2026
# [1.18.0](v1.17.2...v1.18.0) (2026-06-25)

### Bug Fixes

* **release:** formatting in release.config.cjs ([7aad175](7aad175))

### Features

* **stack:** add stack set-update-schedule and stack unset-update-schedule commands ([#1938](#1938)) ([d58f217](d58f217))
* **stack:** show update schedule in stack list ([#1939](#1939)) ([a5d990d](a5d990d))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants