Spring Boot Rolling Deployments
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Switches blue/green rolling deployments on or off, or changes their strategy, in a repository whose scaffold came from Setup Java Spring Boot. It owns one manifest block and delegates every generated file to the sub-skills that already own them.
Purpose
iru-springboot-rolling-deployments turns every deployment of an existing Spring Boot service into a staged rollout,
or turns that back off, without re-running the whole iru-setup-java-springboot interview. With rolling deployments
the new version ("green") deploys at 0 % traffic, is smoke-tested on a candidate URL, and is shifted per the chosen
strategy while the old version ("blue") stays for rollback. The workflow drives the shifting, and the rollout state
lives in the cloud, never in GitHub.
-
strategyiscanaryorlinear(throughsteps),blue-green(one cutover), orrolling(the runtime’s native in-place update, no traffic split). -
advanceisauto(metric gate only),manual(a human through the generatedpromote.ymlfor every step), orhybrid(the gate must pass, then a human confirms onprod;devauto-advances; a failing gate rolls back automatically).
Five rules govern the skill:
-
Never apply infrastructure. It edits the manifest and runs generators; it never runs
tofu applyortofu destroy, never makes cloud mutations, and never triggers a workflow. Reads are fine. -
Never replace live-resource configuration unattended. Sub-skills run with
on-existing: update, neverreplace, unless the user explicitly picks Replace for a specific file. -
Never leave a rollout orphaned. Changing the strategy or disabling while the cloud split is not 100 % stable stops the skill; it checks read-only against ECS (ALB listener weights), Cloud Run (candidate-tagged traffic) or Kubernetes (
Rolloutstatus), and says "could not verify" rather than assuming. -
Never delete without asking. Removing
promote.ymlneeds an explicit confirmation. -
No credentials, ever.
Disabling restores the single-job deploy.yml, removes promote.yml after confirmation, and warns that the rollout
infrastructure (second target group, traffic pinning, Rollout resources, alarms) stays in infra/ and in the cloud
until a reviewed tofu plan and an apply by the user remove it.
Plugin
Shipped by the iru-springboot plugin of the ai-catalog marketplace (install with /plugin install iru-springboot@ai-catalog; see Plugins).
Invocation
/iru-springboot-rolling-deployments enable
/iru-springboot-rolling-deployments disable
/iru-springboot-rolling-deployments
With no action it reports the detected state and asks whether to enable, change or disable.
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
|
Asked |
|
No |
|
Canary (asked) |
|
No |
|
Hybrid (asked) |
|
No |
|
|
|
No |
|
|
|
No |
|
|
|
No |
|
|
Enabling requires ci.enabled: true in the manifest, because rolling deployments are driven by the generated
workflows. On ECS every strategy other than rolling needs an ALB; the platform skill flags and stops without one.
Outputs
-
The
deploy.rollingblock ofspringboot-stack.yml(enabled,strategy,advance,steps,bakeMinutes), edited in place after the user approves the diff. Disabling keeps the other keys so re-enabling remembers them. -
Through the sub-skills: a staged
.github/workflows/deploy.yml(or the single-job template again on disable), apromote.ymlworkflow, and therollout_*resources and outputs ininfra/. -
A report stating the mode (enabled, disabled, changed from one shape to another, or no change), the final values and runtime, the action per file (
springboot-stack.yml,deploy.yml,promote.ymlcreated / updated / replaced / kept as is / removed / not generated,undeploy.yml, theinfra/file groups), and manual follow-ups: new environment variables to set, reviewing and runningtofu plan/applyyourself, alarm thresholds, the deployment-branch rule onprod, who may promote, the cost note (blue/green temporarily doubles capacity), the leftover infrastructure after a disable, and a first real exercise (adevdeploy, one promote, one deliberate rollback).
Execution flow
Dependencies
Invokes
-
Setup Java Spring Boot Platform — updates the rollout infrastructure and
rollout_*outputs ininfra/(skipped on disable unless requested). -
Setup Java Spring Boot GitHub Workflows — generates the staged
deploy.ymlandpromote.yml, or restores the single-jobdeploy.yml.
Both run via the iru-isolated-skill-executor agent.
Invoked by
None; it runs standalone (/iru-springboot-rolling-deployments). It is the follow-up to
Setup Java Spring Boot, whose rolling-deployments choice it can change later.
Related agents
-
iru-isolated-skill-executor— runs each sub-skill in a fresh context.
Source
SKILL.md on GitHub — the file this page was generated from.