Azure / Azure/aks-desktop

Fast Path Pipeline: State machine + orchestration hook

Open
#553 0 comments 0 reactions 0 assignees View on GitHub
documentation triage
Dominant language
TypeScript
Stars
102
Forks
25
Avg merge
1d 4h
Merged PRs (30d)
22

Description

Part of #557

## Problem

The existing pipeline orchestration (`useGitHubPipelineOrchestration`) is tightly coupled to the agent flow: setup PR → wait → agent trigger → wait → agent PR → wait → deploy. The fast path needs a fundamentally different flow: generate files → single PR → deploy. Trying to add fast path states to the existing 16-state machine would make it hard to reason about.

## Changes

Create a parallel orchestration path:

- **`useFastPathPipelineState.ts`** — simpler reducer with ~10 states: `Configured` → `DockerfileDetected` → `FastPathGenerating` → `FastPathPRCreating` → `FastPathPRAwaitingMerge` → `PipelineRunning` → `Deployed`. Shares terminal states with the agent path.
- **`fastPathOrchestration.ts`** — `createFastPathPR()` creates a single branch and pushes all deployment files (workflow + manifests) in one PR, following the same error handling patterns as the existing `createSetupPR` (branch cleanup on failure).
- **`useFastPathOrchestration.ts`** — main orchestration hook. Composes shared sub-hooks (auth, PR polling, workflow polling, deployment health) with the fast path state machine. Key callback: `handleDeploy()` generates templates, creates PR, dispatches workflow.

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing createSetupPR error-handling flow and the current pipeline orchestration hook. Then trace the shared auth, PR polling, workflow polling, and deployment-health hooks before implementing the three named fast-path files. Done means the fast path can generate deployment files, create one PR with branch cleanup on failure, dispatch the workflow, and reach the shared terminal states.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, kubernetes, typescript
Domain
desktop, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.