Skip to content

feat: add safe daemon rollout controls - #480

Open
alongubkin wants to merge 1 commit into
mainfrom
alon/alien-565-safe-daemon-rollouts
Open

feat: add safe daemon rollout controls#480
alongubkin wants to merge 1 commit into
mainfrom
alon/alien-565-safe-daemon-rollouts

Conversation

@alongubkin

Copy link
Copy Markdown
Member

Summary

  • add generic daemon rollout progress to resource heartbeat schemas
  • add deployment-level CLI controls for guarded and parallel daemon updates
  • serialize guarded mode as maxUnavailable: 1
  • keep the generated Platform Rust API input in sync
  • preserve the current parallel behavior unless explicitly enabled

CLI

  • alien deployments daemon-updates DEPLOYMENT --max-unavailable 1
  • alien deployments daemon-updates DEPLOYMENT --parallel

Validation

  • targeted alien-cli parser and request serialization test
  • cargo check -p alien-cli --features platform
  • pnpm --dir packages/core build
  • generated schema artifacts refreshed
  • OSS boundary audit
  • git diff --check

Part of ALIEN-565.

@alongubkin

Copy link
Copy Markdown
Member Author

Related ALIEN-565 PRs:

Suggested review and merge order: Horizon, Alien, then Platform.

@greptile-apps

greptile-apps Bot commented Aug 24, 2026

Copy link
Copy Markdown

Greptile Summary

The PR adds deployment-level CLI controls for guarded or parallel daemon updates and extends provider daemon heartbeats with optional rollout progress.

  • Adds deployments daemon-updates with explicit guarded and parallel modes.
  • Sends guarded mode as maxUnavailable: 1 and parallel mode as a nullable policy.
  • Adds shared rollout and per-machine status types to daemon heartbeat schemas.
  • Refreshes the Platform OpenAPI inputs and corresponding Rust API usage.

Confidence Score: 5/5

The PR appears safe to merge with no concrete blocking or independently actionable non-blocking issue identified.

The CLI request shapes match the nullable Platform API contract, explicit validation limits guarded mode to the supported value, and the heartbeat additions remain backward compatible through optional serde fields.

Important Files Changed

Filename Overview
crates/alien-cli/src/commands/deployments.rs Adds parsing, validation, deployment resolution, request serialization, output handling, and tests for guarded and parallel daemon-update modes.
crates/alien-cli/src/commands/deploy.rs Updates deployment-request construction to match the regenerated Platform Rust API input.
crates/alien-core/src/heartbeat.rs Adds backward-compatible optional rollout data and typed rollout states to provider daemon heartbeats.
crates/alien-core/src/bin/schema_exporter.rs Registers the new daemon rollout types for exported OpenAPI and schema artifacts.
client-sdks/platform/openapi.json Updates the Platform API contract with the nullable daemon-update policy and rollout-related API shapes.

Sequence Diagram

sequenceDiagram
    participant U as Operator
    participant C as Alien CLI
    participant P as Platform API
    participant D as Deployment
    participant H as Daemon heartbeat producer
    U->>C: daemon-updates DEPLOYMENT --max-unavailable 1 or --parallel
    C->>P: Resolve deployment
    C->>P: PATCH daemon update settings
    P->>D: Persist rollout policy
    H-->>P: Heartbeat with optional rollout progress
    P-->>U: Updated setting and observable rollout state
Loading

Reviews (1): Last reviewed commit: "feat: add safe daemon rollout controls" | Re-trigger Greptile

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.

1 participant